ETH Price: $3,476.49 (+1.70%)

Contract

0xcb3123f81b2F3e7fBE0C1d9455a158ad1c217a8b
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Payout From Cont...54387252018-04-14 11:11:512446 days ago1523704311IN
0xcb3123f8...d1c217a8b
0 ETH0.00003011
Change Kitty52080682018-03-06 18:04:192485 days ago1520359459IN
0xcb3123f8...d1c217a8b
0.02 ETH0.000681773
Purchase52080492018-03-06 17:59:482485 days ago1520359188IN
0xcb3123f8...d1c217a8b
0.0075 ETH0.000345984
Change Kitty51777162018-03-01 14:40:172490 days ago1519915217IN
0xcb3123f8...d1c217a8b
0.02 ETH0.000568142.5
Purchase51776962018-03-01 14:34:052490 days ago1519914845IN
0xcb3123f8...d1c217a8b
0.0075 ETH0.000259483
Payout From Cont...51732162018-02-28 20:11:422491 days ago1519848702IN
0xcb3123f8...d1c217a8b
0 ETH0.00009033
Purchase51705612018-02-28 9:21:202491 days ago1519809680IN
0xcb3123f8...d1c217a8b
0.045 ETH0.001729920
Change Kitty51692942018-02-28 4:17:492491 days ago1519791469IN
0xcb3123f8...d1c217a8b
0.02 ETH0.000909024
Change Kitty51692802018-02-28 4:14:172491 days ago1519791257IN
0xcb3123f8...d1c217a8b
0.02 ETH0.000909024
Purchase51688582018-02-28 2:33:062491 days ago1519785186IN
0xcb3123f8...d1c217a8b
0.01 ETH0.0007149710
Change Kitty51666362018-02-27 17:31:472492 days ago1519752707IN
0xcb3123f8...d1c217a8b
0.02 ETH0.000681773
Purchase51666182018-02-27 17:28:302492 days ago1519752510IN
0xcb3123f8...d1c217a8b
0.01 ETH0.000225734
Change Kitty51665992018-02-27 17:23:152492 days ago1519752195IN
0xcb3123f8...d1c217a8b
0.02 ETH0.000908774
Purchase51665902018-02-27 17:21:192492 days ago1519752079IN
0xcb3123f8...d1c217a8b
0.01 ETH0.000285734
Change Kitty51665122018-02-27 17:03:032492 days ago1519750983IN
0xcb3123f8...d1c217a8b
0.02 ETH0.001590797
Change Kitty51665112018-02-27 17:02:572492 days ago1519750977IN
0xcb3123f8...d1c217a8b
0.02 ETH0.001590797
Purchase51664902018-02-27 16:57:072492 days ago1519750627IN
0xcb3123f8...d1c217a8b
0.03 ETH0.0004899610
Purchase51664692018-02-27 16:53:022492 days ago1519750382IN
0xcb3123f8...d1c217a8b
0.03 ETH0.0014698830
Change Kitty51664522018-02-27 16:49:362492 days ago1519750176IN
0xcb3123f8...d1c217a8b
0.02 ETH0.0024089210.6
Change Kitty51664292018-02-27 16:43:142492 days ago1519749794IN
0xcb3123f8...d1c217a8b
0.02 ETH0.0022725710
Change Kitty51664252018-02-27 16:42:132492 days ago1519749733IN
0xcb3123f8...d1c217a8b
0.02 ETH0.0022725710
Purchase51664252018-02-27 16:42:132492 days ago1519749733IN
0xcb3123f8...d1c217a8b
0.30375 ETH0.0007578410.6
Purchase51664222018-02-27 16:41:332492 days ago1519749693IN
0xcb3123f8...d1c217a8b
0.045 ETH0.005189760
Change Kitty51664162018-02-27 16:40:032492 days ago1519749603IN
0xcb3123f8...d1c217a8b
0.02 ETH0.001590797
Change Kitty51664162018-02-27 16:40:032492 days ago1519749603IN
0xcb3123f8...d1c217a8b
0.02 ETH0.001590797
View all transactions

Latest 24 internal transactions

Advanced mode:
Parent Transaction Hash Block
From
To
54387252018-04-14 11:11:512446 days ago1523704311
0xcb3123f8...d1c217a8b
0.0415 ETH
52080492018-03-06 17:59:482485 days ago1520359188
0xcb3123f8...d1c217a8b
0.00075 ETH
52080492018-03-06 17:59:482485 days ago1520359188
0xcb3123f8...d1c217a8b
0.006 ETH
51776962018-03-01 14:34:052490 days ago1519914845
0xcb3123f8...d1c217a8b
0.00075 ETH
51776962018-03-01 14:34:052490 days ago1519914845
0xcb3123f8...d1c217a8b
0.006 ETH
51732162018-02-28 20:11:422491 days ago1519848702
0xcb3123f8...d1c217a8b
0.923375 ETH
51705612018-02-28 9:21:202491 days ago1519809680
0xcb3123f8...d1c217a8b
0.0045 ETH
51705612018-02-28 9:21:202491 days ago1519809680
0xcb3123f8...d1c217a8b
0.036 ETH
51664902018-02-27 16:57:072492 days ago1519750627
0xcb3123f8...d1c217a8b
0.024 ETH
51664692018-02-27 16:53:022492 days ago1519750382
0xcb3123f8...d1c217a8b
0.024 ETH
51664252018-02-27 16:42:132492 days ago1519749733
0xcb3123f8...d1c217a8b
0.030375 ETH
51664252018-02-27 16:42:132492 days ago1519749733
0xcb3123f8...d1c217a8b
0.243 ETH
51664222018-02-27 16:41:332492 days ago1519749693
0xcb3123f8...d1c217a8b
0.0045 ETH
51664222018-02-27 16:41:332492 days ago1519749693
0xcb3123f8...d1c217a8b
0.036 ETH
51664042018-02-27 16:37:452492 days ago1519749465
0xcb3123f8...d1c217a8b
0.024 ETH
51663762018-02-27 16:31:122492 days ago1519749072
0xcb3123f8...d1c217a8b
0.024 ETH
51663692018-02-27 16:28:042492 days ago1519748884
0xcb3123f8...d1c217a8b
0.072 ETH
51663682018-02-27 16:27:502492 days ago1519748870
0xcb3123f8...d1c217a8b
0.648 ETH
51663662018-02-27 16:26:412492 days ago1519748801
0xcb3123f8...d1c217a8b
0.024 ETH
51663642018-02-27 16:26:092492 days ago1519748769
0xcb3123f8...d1c217a8b
0.024 ETH
51663632018-02-27 16:25:522492 days ago1519748752
0xcb3123f8...d1c217a8b
0.02 ETH
51663622018-02-27 16:25:282492 days ago1519748728
0xcb3123f8...d1c217a8b
0.216 ETH
51663592018-02-27 16:24:342492 days ago1519748674
0xcb3123f8...d1c217a8b
0.072 ETH
51663522018-02-27 16:22:312492 days ago1519748551
0xcb3123f8...d1c217a8b
0.024 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
KittyEthPics

Compiler Version
v0.4.19+commit.c4cbbb05

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2018-02-27
*/

pragma solidity ^0.4.19;

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 Ownable {

  address public contractOwner;

  event ContractOwnershipTransferred(address indexed previousOwner, address indexed newOwner);

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

  modifier onlyContractOwner() {
    require(msg.sender == contractOwner);
    _;
  }

  function transferContractOwnership(address _newOwner) public onlyContractOwner {
    require(_newOwner != address(0));
    ContractOwnershipTransferred(contractOwner, _newOwner);
    contractOwner = _newOwner;
  }
  
  function payoutFromContract() public onlyContractOwner {
      contractOwner.transfer(this.balance);
  }  

}

/// @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 tokensOfOwner(address _owner) external view returns (uint256[] tokenIds);
  // function tokenMetadata(uint256 _tokenId) public view returns (string infoUrl);
}

contract KittyEthPics is ERC721, Ownable {

  event KittyCreated(uint256 tokenId, string name, address owner);
  event TokenSold(uint256 tokenId, uint256 oldPrice, uint256 newPrice, address prevOwner, address winner, string name);
  event Transfer(address from, address to, uint256 tokenId);

  string public constant NAME = "KittyEthPics";
  string public constant SYMBOL = "KittyPicsToken";

  uint256 private startingPrice = 0.01 ether;

  mapping (uint256 => address) public kittyIdToOwner;

  mapping (uint256 => address) public kittyIdToDivs;

  mapping (address => uint256) private ownershipTokenCount;

  mapping (uint256 => address) public kittyIdToApproved;

  mapping (uint256 => uint256) private kittyIdToPrice;

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

  Kitty[] private kitties;

  function approve(address _to, uint256 _tokenId) public { //ERC721
    // Caller must own token.
    require(_owns(msg.sender, _tokenId));
    kittyIdToApproved[_tokenId] = _to;
    Approval(msg.sender, _to, _tokenId);
  }

  function balanceOf(address _owner) public view returns (uint256 balance) { //ERC721
    return ownershipTokenCount[_owner];
  }

  function createKittyToken(string _name, uint256 _price) private {
    _createKitty(_name, msg.sender, _price);
  }

  function create21KittiesTokens() public onlyContractOwner {
     uint256 totalKitties = totalSupply();
	 
	 require (totalKitties<1); // only 21 tokens for start
	 
	 for (uint8 i=1; i<=21; i++)
		_createKitty("EthKitty", address(this), startingPrice);
	
  }
  
  function getKitty(uint256 _tokenId) public view returns (string kittyName, uint256 sellingPrice, address owner) {
    Kitty storage kitty = kitties[_tokenId];
    kittyName = kitty.name;
    sellingPrice = kittyIdToPrice[_tokenId];
    owner = kittyIdToOwner[_tokenId];
  }

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

  function name() public pure returns (string) { //ERC721
    return NAME;
  }

  function ownerOf(uint256 _tokenId) public view returns (address owner) { //ERC721
    owner = kittyIdToOwner[_tokenId];
    require(owner != address(0));
  }

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

    uint256 sellingPrice = kittyIdToPrice[_tokenId];

    require(oldOwner != newOwner);
    require(_addressNotNull(newOwner));
    require(msg.value >= sellingPrice);

    uint256 payment = uint256(SafeMath.div(SafeMath.mul(sellingPrice, 8), 10)); //80% to previous owner
    uint256 divs_payment = uint256(SafeMath.div(SafeMath.mul(sellingPrice, 1), 10)); //10% divs
    
	address divs_address = kittyIdToDivs[_tokenId];
	
    // Next price will rise on 300%
    kittyIdToPrice[_tokenId] = uint256(SafeMath.mul(sellingPrice, 3));

    _transfer(oldOwner, newOwner, _tokenId);

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

    // Pay winner tokenOwner if owner is not contract
    if (divs_address != address(this)) {
      divs_address.transfer(divs_payment); //
    }

    TokenSold(_tokenId, sellingPrice, kittyIdToPrice[_tokenId], oldOwner, newOwner, kitties[_tokenId].name);
	
    if (msg.value > sellingPrice) { //if excess pay
	    uint256 purchaseExcess = SafeMath.sub(msg.value, sellingPrice);
		msg.sender.transfer(purchaseExcess);
	}
  }
  
  function changeKitty(uint256 _tokenId) public payable { //

    require(kittyIdToOwner[_tokenId] == msg.sender && msg.value == 20 finney); //tax 0.02eth for change
	
	uint256 newPrice =  SafeMath.div(kittyIdToPrice[_tokenId], 2);
    
    //get two kitties within one
	createKittyToken("EthKitty", newPrice);
	createKittyToken("EthKitty", newPrice);
	
	kittyIdToOwner[_tokenId] = address(this); //return changed kitty to kittypics
	kittyIdToPrice[_tokenId] = 10 finney;
	 
  }


  function symbol() public pure returns (string) { //ERC721
    return SYMBOL;
  }


  function takeOwnership(uint256 _tokenId) public { //ERC721
    address newOwner = msg.sender;
    address oldOwner = kittyIdToOwner[_tokenId];

    require(_addressNotNull(newOwner));
    require(_approved(newOwner, _tokenId));

    _transfer(oldOwner, newOwner, _tokenId);
  }

  function priceOf(uint256 _tokenId) public view returns (uint256 price) { //for web site view
    return kittyIdToPrice[_tokenId];
  }

  function ALLownersANDprices(uint256 _startKittyId) public view returns (address[] owners, address[] divs, uint256[] prices) { //for web site view
	
	uint256 totalKitties = totalSupply();
	
    if (totalKitties == 0 || _startKittyId >= totalKitties) {
        // Return an empty array
      return (new address[](0),new address[](0),new uint256[](0));
    }
	
	uint256 indexTo;
	if (totalKitties > _startKittyId+1000)
		indexTo = _startKittyId + 1000;
	else 	
		indexTo = totalKitties;
		
    uint256 totalResultKitties = indexTo - _startKittyId;		
		
	address[] memory owners_res = new address[](totalResultKitties);
	address[] memory divs_res = new address[](totalResultKitties);
	uint256[] memory prices_res = new uint256[](totalResultKitties);
	
	for (uint256 kittyId = _startKittyId; kittyId < indexTo; kittyId++) {
	  owners_res[kittyId - _startKittyId] = kittyIdToOwner[kittyId];
	  divs_res[kittyId - _startKittyId] = kittyIdToDivs[kittyId];
	  prices_res[kittyId - _startKittyId] = kittyIdToPrice[kittyId];
	}
	
	return (owners_res, divs_res, prices_res);
  }
  
  function tokensOfOwner(address _owner) public view returns(uint256[] ownerToken) { //ERC721 for web site view
    uint256 tokenCount = balanceOf(_owner);
    if (tokenCount == 0) {
        // Return an empty array
      return new uint256[](0);
    } else {
      uint256[] memory result = new uint256[](tokenCount);
      uint256 totalKitties = totalSupply();
      uint256 resultIndex = 0;

      uint256 kittyId;
      for (kittyId = 0; kittyId <= totalKitties; kittyId++) {
        if (kittyIdToOwner[kittyId] == _owner) {
          result[resultIndex] = kittyId;
          resultIndex++;
        }
      }
      return result;
    }
  }

  function totalSupply() public view returns (uint256 total) { //ERC721
    return kitties.length;
  }

  function transfer(address _to, uint256 _tokenId) public { //ERC721
    require(_owns(msg.sender, _tokenId));
    require(_addressNotNull(_to));

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

  function transferFrom(address _from, address _to, uint256 _tokenId) public { //ERC721
    require(_owns(_from, _tokenId));
    require(_approved(_to, _tokenId));
    require(_addressNotNull(_to));

    _transfer(_from, _to, _tokenId);
  }


  /* PRIVATE FUNCTIONS */
  function _addressNotNull(address _to) private pure returns (bool) {
    return _to != address(0);
  }

  function _approved(address _to, uint256 _tokenId) private view returns (bool) {
    return kittyIdToApproved[_tokenId] == _to;
  }

  function _createKitty(string _name, address _owner, uint256 _price) private {
    Kitty memory _kitty = Kitty({
      name: _name
    });
    uint256 newKittyId = kitties.push(_kitty) - 1;

    require(newKittyId == uint256(uint32(newKittyId))); //check maximum limit of tokens

    KittyCreated(newKittyId, _name, _owner);

    kittyIdToPrice[newKittyId] = _price;
	kittyIdToDivs[newKittyId] = _owner; //dividents address;

    _transfer(address(0), _owner, newKittyId);
  }

  function _owns(address _checkedAddr, uint256 _tokenId) private view returns (bool) {
    return _checkedAddr == kittyIdToOwner[_tokenId];
  }

function _transfer(address _from, address _to, uint256 _tokenId) private {
    ownershipTokenCount[_to]++;
    kittyIdToOwner[_tokenId] = _to;

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

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

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"kittyIdToApproved","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_tokenId","type":"uint256"}],"name":"approve","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"implementsERC721","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"total","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"kittyIdToOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"kittyIdToDivs","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"create21KittiesTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","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":"ownerToken","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[],"name":"payoutFromContract","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"NAME","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferContractOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_tokenId","type":"uint256"}],"name":"transfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"takeOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"priceOf","outputs":[{"name":"price","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"contractOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"getKitty","outputs":[{"name":"kittyName","type":"string"},{"name":"sellingPrice","type":"uint256"},{"name":"owner","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"purchase","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"name":"_startKittyId","type":"uint256"}],"name":"ALLownersANDprices","outputs":[{"name":"owners","type":"address[]"},{"name":"divs","type":"address[]"},{"name":"prices","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"SYMBOL","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"changeKitty","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"anonymous":false,"inputs":[{"indexed":false,"name":"tokenId","type":"uint256"},{"indexed":false,"name":"name","type":"string"},{"indexed":false,"name":"owner","type":"address"}],"name":"KittyCreated","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":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"ContractOwnershipTransferred","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"}]

6060604052662386f26fc10000600155336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506123958061005e6000396000f300606060405260043610610149576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063044fa7831461014e57806306fdde03146101b1578063095ea7b31461023f5780631051db341461028157806318160ddd146102ae57806323b872dd146102d75780632595a8c914610338578063371627171461039b578063485dc6cf146103fe5780636352211e1461041357806370a08231146104765780638462151c146104c357806395d89b41146105515780639eec4bac146105df578063a3f4df7e146105f4578063a843c51f14610682578063a9059cbb146106bb578063b2e6ceeb146106fd578063b9186d7d14610720578063ce606ee014610757578063e98b7f4d146107ac578063efef39a114610882578063f0d93eae1461089a578063f76f8d78146109a2578063fb866f2f14610a30575b600080fd5b341561015957600080fd5b61016f6004808035906020019091905050610a48565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156101bc57600080fd5b6101c4610a7b565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102045780820151818401526020810190506101e9565b50505050905090810190601f1680156102315780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561024a57600080fd5b61027f600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610abe565b005b341561028c57600080fd5b610294610b8e565b604051808215151515815260200191505060405180910390f35b34156102b957600080fd5b6102c1610b97565b6040518082815260200191505060405180910390f35b34156102e257600080fd5b610336600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610ba4565b005b341561034357600080fd5b6103596004808035906020019091905050610bf2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156103a657600080fd5b6103bc6004808035906020019091905050610c25565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561040957600080fd5b610411610c58565b005b341561041e57600080fd5b6104346004808035906020019091905050610d34565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561048157600080fd5b6104ad600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610dad565b6040518082815260200191505060405180910390f35b34156104ce57600080fd5b6104fa600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610df6565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561053d578082015181840152602081019050610522565b505050509050019250505060405180910390f35b341561055c57600080fd5b610564610f2d565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105a4578082015181840152602081019050610589565b50505050905090810190601f1680156105d15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156105ea57600080fd5b6105f2610f70565b005b34156105ff57600080fd5b610607611045565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561064757808201518184015260208101905061062c565b50505050905090810190601f1680156106745780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561068d57600080fd5b6106b9600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061107e565b005b34156106c657600080fd5b6106fb600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506111d3565b005b341561070857600080fd5b61071e600480803590602001909190505061120b565b005b341561072b57600080fd5b6107416004808035906020019091905050611280565b6040518082815260200191505060405180910390f35b341561076257600080fd5b61076a61129d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156107b757600080fd5b6107cd60048080359060200190919050506112c2565b60405180806020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825285818151815260200191508051906020019080838360005b8381101561084557808201518184015260208101905061082a565b50505050905090810190601f1680156108725780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b61089860048080359060200190919050506113de565b005b34156108a557600080fd5b6108bb60048080359060200190919050506117d9565b60405180806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b838110156109065780820151818401526020810190506108eb565b50505050905001848103835286818151815260200191508051906020019060200280838360005b8381101561094857808201518184015260208101905061092d565b50505050905001848103825285818151815260200191508051906020019060200280838360005b8381101561098a57808201518184015260208101905061096f565b50505050905001965050505050505060405180910390f35b34156109ad57600080fd5b6109b5611a89565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156109f55780820151818401526020810190506109da565b50505050905090810190601f168015610a225780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610a466004808035906020019091905050611ac2565b005b60056020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610a836121b7565b6040805190810160405280600c81526020017f4b69747479457468506963730000000000000000000000000000000000000000815250905090565b610ac83382611c56565b1515610ad357600080fd5b816005600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a35050565b60006001905090565b6000600780549050905090565b610bae8382611c56565b1515610bb957600080fd5b610bc38282611cc2565b1515610bce57600080fd5b610bd782611d2e565b1515610be257600080fd5b610bed838383611d67565b505050565b60026020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60036020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610cb657600080fd5b610cbe610b97565b9150600182101515610ccf57600080fd5b600190505b60158160ff16111515610d3057610d236040805190810160405280600881526020017f4574684b6974747900000000000000000000000000000000000000000000000081525030600154611f69565b8080600101915050610cd4565b5050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610da857600080fd5b919050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610dfe6121cb565b6000610e086121cb565b6000806000610e1687610dad565b94506000851415610e48576000604051805910610e305750595b90808252806020026020018201604052509550610f23565b84604051805910610e565750595b90808252806020026020018201604052509350610e71610b97565b925060009150600090505b8281111515610f1f578673ffffffffffffffffffffffffffffffffffffffff166002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610f1257808483815181101515610efb57fe5b906020019060200201818152505081806001019250505b8080600101915050610e7c565b8395505b5050505050919050565b610f356121b7565b6040805190810160405280600e81526020017f4b6974747950696373546f6b656e000000000000000000000000000000000000815250905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610fcb57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f19350505050151561104357600080fd5b565b6040805190810160405280600c81526020017f4b6974747945746850696373000000000000000000000000000000000000000081525081565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156110d957600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561111557600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f2260a4d0c00902d7996e8f7d669d22564414d41be4d278a40387ddf58179d39260405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6111dd3382611c56565b15156111e857600080fd5b6111f182611d2e565b15156111fc57600080fd5b611207338383611d67565b5050565b6000803391506002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905061125082611d2e565b151561125b57600080fd5b6112658284611cc2565b151561127057600080fd5b61127b818385611d67565b505050565b600060066000838152602001908152602001600020549050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6112ca6121b7565b60008060006007858154811015156112de57fe5b90600052602060002090019050806000018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156113835780601f1061135857610100808354040283529160200191611383565b820191906000526020600020905b81548152906001019060200180831161136657829003601f168201915b50505050509350600660008681526020019081526020016000205492506002600086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150509193909250565b60008060008060008060006002600089815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169650339550600660008981526020019081526020016000205494508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff161415151561147357600080fd5b61147c86611d2e565b151561148757600080fd5b84341015151561149657600080fd5b6114ab6114a4866008612139565b600a612174565b93506114c26114bb866001612139565b600a612174565b92506003600089815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150611505856003612139565b600660008a81526020019081526020016000208190555061152787878a611d67565b3073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614151561159d578673ffffffffffffffffffffffffffffffffffffffff166108fc859081150290604051600060405180830381858888f19350505050151561159c57600080fd5b5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515611613578173ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f19350505050151561161257600080fd5b5b7e8201e7bcbf010c2c07de59d6e97cb7e3cf67a46125c49cbc89b9d2cde1f48f8886600660008c8152602001908152602001600020548a8a60078e81548110151561165a57fe5b9060005260206000209001600001604051808781526020018681526020018581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018281038252838181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156117675780601f1061173c57610100808354040283529160200191611767565b820191906000526020600020905b81548152906001019060200180831161174a57829003601f168201915b505097505050505050505060405180910390a1843411156117cf5761178c348661218f565b90503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015156117ce57600080fd5b5b5050505050505050565b6117e16121df565b6117e96121df565b6117f16121cb565b60008060006117fe6121df565b6118066121df565b61180e6121cb565b6000611818610b97565b965060008714806118295750868b10155b156118a257600060405180591061183d5750595b9080825280602002602001820160405250600060405180591061185d5750595b9080825280602002602001820160405250600060405180591061187d5750595b9080825280602002602001820160405250829250819150809050995099509950611a7b565b6103e88b018711156118ba576103e88b0195506118be565b8695505b8a86039450846040518059106118d15750595b90808252806020026020018201604052509350846040518059106118f25750595b90808252806020026020018201604052509250846040518059106119135750595b908082528060200260200182016040525091508a90505b85811015611a71576002600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16848c830381518110151561197657fe5b9060200190602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506003600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16838c83038151811015156119f657fe5b9060200190602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506006600082815260200190815260200160002054828c8303815181101515611a5657fe5b9060200190602002018181525050808060010191505061192a565b8383839950995099505b505050505050509193909250565b6040805190810160405280600e81526020017f4b6974747950696373546f6b656e00000000000000000000000000000000000081525081565b60003373ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148015611b38575066470de4df82000034145b1515611b4357600080fd5b611b6160066000848152602001908152602001600020546002612174565b9050611ba26040805190810160405280600881526020017f4574684b69747479000000000000000000000000000000000000000000000000815250826121a8565b611be16040805190810160405280600881526020017f4574684b69747479000000000000000000000000000000000000000000000000815250826121a8565b306002600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550662386f26fc1000060066000848152602001908152602001600020819055505050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614905092915050565b60008273ffffffffffffffffffffffffffffffffffffffff166005600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001019190505550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515611ec557600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001900391905055506005600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690555b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef838383604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390a1505050565b611f716121f3565b6000602060405190810160405280868152509150600160078054806001018281611f9b919061220d565b916000526020600020900160008590919091506000820151816000019080519060200190611fca929190612239565b5050500390508063ffffffff1681141515611fe457600080fd5b7f2e79d389ea739b09ef49b281ad442a07dba991441fcef7590ad7b8c262a3787081868660405180848152602001806020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825284818151815260200191508051906020019080838360005b83811015612080578082015181840152602081019050612065565b50505050905090810190601f1680156120ad5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a1826006600083815260200190815260200160002081905550836003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061213260008583611d67565b5050505050565b600080600084141561214e576000915061216d565b828402905082848281151561215f57fe5b0414151561216957fe5b8091505b5092915050565b600080828481151561218257fe5b0490508091505092915050565b600082821115151561219d57fe5b818303905092915050565b6121b3823383611f69565b5050565b602060405190810160405280600081525090565b602060405190810160405280600081525090565b602060405190810160405280600081525090565b6020604051908101604052806122076122b9565b81525090565b8154818355818115116122345781836000526020600020918201910161223391906122cd565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061227a57805160ff19168380011785556122a8565b828001600101855582156122a8579182015b828111156122a757825182559160200191906001019061228c565b5b5090506122b591906122fc565b5090565b602060405190810160405280600081525090565b6122f991905b808211156122f557600080820160006122ec9190612321565b506001016122d3565b5090565b90565b61231e91905b8082111561231a576000816000905550600101612302565b5090565b90565b50805460018160011615610100020316600290046000825580601f106123475750612366565b601f01602090049060005260206000209081019061236591906122fc565b5b505600a165627a7a723058200dd5df60da52da22a766207dd8e3465d44543e5fd4efbb19a2365ea3af4daa900029

Deployed Bytecode

0x606060405260043610610149576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063044fa7831461014e57806306fdde03146101b1578063095ea7b31461023f5780631051db341461028157806318160ddd146102ae57806323b872dd146102d75780632595a8c914610338578063371627171461039b578063485dc6cf146103fe5780636352211e1461041357806370a08231146104765780638462151c146104c357806395d89b41146105515780639eec4bac146105df578063a3f4df7e146105f4578063a843c51f14610682578063a9059cbb146106bb578063b2e6ceeb146106fd578063b9186d7d14610720578063ce606ee014610757578063e98b7f4d146107ac578063efef39a114610882578063f0d93eae1461089a578063f76f8d78146109a2578063fb866f2f14610a30575b600080fd5b341561015957600080fd5b61016f6004808035906020019091905050610a48565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156101bc57600080fd5b6101c4610a7b565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102045780820151818401526020810190506101e9565b50505050905090810190601f1680156102315780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561024a57600080fd5b61027f600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610abe565b005b341561028c57600080fd5b610294610b8e565b604051808215151515815260200191505060405180910390f35b34156102b957600080fd5b6102c1610b97565b6040518082815260200191505060405180910390f35b34156102e257600080fd5b610336600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610ba4565b005b341561034357600080fd5b6103596004808035906020019091905050610bf2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156103a657600080fd5b6103bc6004808035906020019091905050610c25565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561040957600080fd5b610411610c58565b005b341561041e57600080fd5b6104346004808035906020019091905050610d34565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561048157600080fd5b6104ad600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610dad565b6040518082815260200191505060405180910390f35b34156104ce57600080fd5b6104fa600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610df6565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561053d578082015181840152602081019050610522565b505050509050019250505060405180910390f35b341561055c57600080fd5b610564610f2d565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105a4578082015181840152602081019050610589565b50505050905090810190601f1680156105d15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156105ea57600080fd5b6105f2610f70565b005b34156105ff57600080fd5b610607611045565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561064757808201518184015260208101905061062c565b50505050905090810190601f1680156106745780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561068d57600080fd5b6106b9600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061107e565b005b34156106c657600080fd5b6106fb600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506111d3565b005b341561070857600080fd5b61071e600480803590602001909190505061120b565b005b341561072b57600080fd5b6107416004808035906020019091905050611280565b6040518082815260200191505060405180910390f35b341561076257600080fd5b61076a61129d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156107b757600080fd5b6107cd60048080359060200190919050506112c2565b60405180806020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825285818151815260200191508051906020019080838360005b8381101561084557808201518184015260208101905061082a565b50505050905090810190601f1680156108725780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b61089860048080359060200190919050506113de565b005b34156108a557600080fd5b6108bb60048080359060200190919050506117d9565b60405180806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b838110156109065780820151818401526020810190506108eb565b50505050905001848103835286818151815260200191508051906020019060200280838360005b8381101561094857808201518184015260208101905061092d565b50505050905001848103825285818151815260200191508051906020019060200280838360005b8381101561098a57808201518184015260208101905061096f565b50505050905001965050505050505060405180910390f35b34156109ad57600080fd5b6109b5611a89565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156109f55780820151818401526020810190506109da565b50505050905090810190601f168015610a225780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610a466004808035906020019091905050611ac2565b005b60056020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610a836121b7565b6040805190810160405280600c81526020017f4b69747479457468506963730000000000000000000000000000000000000000815250905090565b610ac83382611c56565b1515610ad357600080fd5b816005600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a35050565b60006001905090565b6000600780549050905090565b610bae8382611c56565b1515610bb957600080fd5b610bc38282611cc2565b1515610bce57600080fd5b610bd782611d2e565b1515610be257600080fd5b610bed838383611d67565b505050565b60026020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60036020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610cb657600080fd5b610cbe610b97565b9150600182101515610ccf57600080fd5b600190505b60158160ff16111515610d3057610d236040805190810160405280600881526020017f4574684b6974747900000000000000000000000000000000000000000000000081525030600154611f69565b8080600101915050610cd4565b5050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610da857600080fd5b919050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610dfe6121cb565b6000610e086121cb565b6000806000610e1687610dad565b94506000851415610e48576000604051805910610e305750595b90808252806020026020018201604052509550610f23565b84604051805910610e565750595b90808252806020026020018201604052509350610e71610b97565b925060009150600090505b8281111515610f1f578673ffffffffffffffffffffffffffffffffffffffff166002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610f1257808483815181101515610efb57fe5b906020019060200201818152505081806001019250505b8080600101915050610e7c565b8395505b5050505050919050565b610f356121b7565b6040805190810160405280600e81526020017f4b6974747950696373546f6b656e000000000000000000000000000000000000815250905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610fcb57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f19350505050151561104357600080fd5b565b6040805190810160405280600c81526020017f4b6974747945746850696373000000000000000000000000000000000000000081525081565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156110d957600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561111557600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f2260a4d0c00902d7996e8f7d669d22564414d41be4d278a40387ddf58179d39260405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6111dd3382611c56565b15156111e857600080fd5b6111f182611d2e565b15156111fc57600080fd5b611207338383611d67565b5050565b6000803391506002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905061125082611d2e565b151561125b57600080fd5b6112658284611cc2565b151561127057600080fd5b61127b818385611d67565b505050565b600060066000838152602001908152602001600020549050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6112ca6121b7565b60008060006007858154811015156112de57fe5b90600052602060002090019050806000018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156113835780601f1061135857610100808354040283529160200191611383565b820191906000526020600020905b81548152906001019060200180831161136657829003601f168201915b50505050509350600660008681526020019081526020016000205492506002600086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150509193909250565b60008060008060008060006002600089815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169650339550600660008981526020019081526020016000205494508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff161415151561147357600080fd5b61147c86611d2e565b151561148757600080fd5b84341015151561149657600080fd5b6114ab6114a4866008612139565b600a612174565b93506114c26114bb866001612139565b600a612174565b92506003600089815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150611505856003612139565b600660008a81526020019081526020016000208190555061152787878a611d67565b3073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614151561159d578673ffffffffffffffffffffffffffffffffffffffff166108fc859081150290604051600060405180830381858888f19350505050151561159c57600080fd5b5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515611613578173ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f19350505050151561161257600080fd5b5b7e8201e7bcbf010c2c07de59d6e97cb7e3cf67a46125c49cbc89b9d2cde1f48f8886600660008c8152602001908152602001600020548a8a60078e81548110151561165a57fe5b9060005260206000209001600001604051808781526020018681526020018581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018281038252838181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156117675780601f1061173c57610100808354040283529160200191611767565b820191906000526020600020905b81548152906001019060200180831161174a57829003601f168201915b505097505050505050505060405180910390a1843411156117cf5761178c348661218f565b90503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015156117ce57600080fd5b5b5050505050505050565b6117e16121df565b6117e96121df565b6117f16121cb565b60008060006117fe6121df565b6118066121df565b61180e6121cb565b6000611818610b97565b965060008714806118295750868b10155b156118a257600060405180591061183d5750595b9080825280602002602001820160405250600060405180591061185d5750595b9080825280602002602001820160405250600060405180591061187d5750595b9080825280602002602001820160405250829250819150809050995099509950611a7b565b6103e88b018711156118ba576103e88b0195506118be565b8695505b8a86039450846040518059106118d15750595b90808252806020026020018201604052509350846040518059106118f25750595b90808252806020026020018201604052509250846040518059106119135750595b908082528060200260200182016040525091508a90505b85811015611a71576002600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16848c830381518110151561197657fe5b9060200190602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506003600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16838c83038151811015156119f657fe5b9060200190602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506006600082815260200190815260200160002054828c8303815181101515611a5657fe5b9060200190602002018181525050808060010191505061192a565b8383839950995099505b505050505050509193909250565b6040805190810160405280600e81526020017f4b6974747950696373546f6b656e00000000000000000000000000000000000081525081565b60003373ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148015611b38575066470de4df82000034145b1515611b4357600080fd5b611b6160066000848152602001908152602001600020546002612174565b9050611ba26040805190810160405280600881526020017f4574684b69747479000000000000000000000000000000000000000000000000815250826121a8565b611be16040805190810160405280600881526020017f4574684b69747479000000000000000000000000000000000000000000000000815250826121a8565b306002600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550662386f26fc1000060066000848152602001908152602001600020819055505050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614905092915050565b60008273ffffffffffffffffffffffffffffffffffffffff166005600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001019190505550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515611ec557600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001900391905055506005600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690555b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef838383604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390a1505050565b611f716121f3565b6000602060405190810160405280868152509150600160078054806001018281611f9b919061220d565b916000526020600020900160008590919091506000820151816000019080519060200190611fca929190612239565b5050500390508063ffffffff1681141515611fe457600080fd5b7f2e79d389ea739b09ef49b281ad442a07dba991441fcef7590ad7b8c262a3787081868660405180848152602001806020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825284818151815260200191508051906020019080838360005b83811015612080578082015181840152602081019050612065565b50505050905090810190601f1680156120ad5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a1826006600083815260200190815260200160002081905550836003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061213260008583611d67565b5050505050565b600080600084141561214e576000915061216d565b828402905082848281151561215f57fe5b0414151561216957fe5b8091505b5092915050565b600080828481151561218257fe5b0490508091505092915050565b600082821115151561219d57fe5b818303905092915050565b6121b3823383611f69565b5050565b602060405190810160405280600081525090565b602060405190810160405280600081525090565b602060405190810160405280600081525090565b6020604051908101604052806122076122b9565b81525090565b8154818355818115116122345781836000526020600020918201910161223391906122cd565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061227a57805160ff19168380011785556122a8565b828001600101855582156122a8579182015b828111156122a757825182559160200191906001019061228c565b5b5090506122b591906122fc565b5090565b602060405190810160405280600081525090565b6122f991905b808211156122f557600080820160006122ec9190612321565b506001016122d3565b5090565b90565b61231e91905b8082111561231a576000816000905550600101612302565b5090565b90565b50805460018160011615610100020316600290046000825580601f106123475750612366565b601f01602090049060005260206000209081019061236591906122fc565b5b505600a165627a7a723058200dd5df60da52da22a766207dd8e3465d44543e5fd4efbb19a2365ea3af4daa900029

Swarm Source

bzzr://0dd5df60da52da22a766207dd8e3465d44543e5fd4efbb19a2365ea3af4daa90

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.