ETH Price: $2,103.70 (+6.82%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Payout51957502018-03-04 15:55:242921 days ago1520178924IN
0xd58297B5...b978f00a0
0 ETH0.000155695
Buy Token51205482018-02-19 20:38:302934 days ago1519072710IN
0xd58297B5...b978f00a0
0.001 ETH0.000429323
Buy Token51205482018-02-19 20:38:302934 days ago1519072710IN
0xd58297B5...b978f00a0
0.001 ETH0.000429323
Buy Token51205402018-02-19 20:36:332934 days ago1519072593IN
0xd58297B5...b978f00a0
0.001 ETH0.000572434
Buy Token51205362018-02-19 20:35:272934 days ago1519072527IN
0xd58297B5...b978f00a0
0.001 ETH0.0034783922
Buy Token51204832018-02-19 20:21:062934 days ago1519071666IN
0xd58297B5...b978f00a0
0.001 ETH0.000429323
Buy Token51204352018-02-19 20:08:342934 days ago1519070914IN
0xd58297B5...b978f00a0
0.001 ETH0.0028621820
Buy Token51203712018-02-19 19:51:192934 days ago1519069879IN
0xd58297B5...b978f00a0
0.001 ETH0.000429323
Buy Token51202562018-02-19 19:23:302934 days ago1519068210IN
0xd58297B5...b978f00a0
0.001 ETH0.000429323
Buy Token51202332018-02-19 19:19:062934 days ago1519067946IN
0xd58297B5...b978f00a0
0.001 ETH0.000067763
Buy Token51202222018-02-19 19:16:182934 days ago1519067778IN
0xd58297B5...b978f00a0
0.001 ETH0.000067763
Buy Token51199932018-02-19 18:17:392934 days ago1519064259IN
0xd58297B5...b978f00a0
0.001 ETH0.000790545
Buy Token51199852018-02-19 18:15:212934 days ago1519064121IN
0xd58297B5...b978f00a0
0.001 ETH0.00033
Buy Token51199182018-02-19 17:59:372934 days ago1519063177IN
0xd58297B5...b978f00a0
0.001 ETH0.000068223
Buy Token51162992018-02-19 3:15:212935 days ago1519010121IN
0xd58297B5...b978f00a0
0.001 ETH0.00015811
Buy Token51161282018-02-19 2:32:132935 days ago1519007533IN
0xd58297B5...b978f00a0
49.244816 ETH0.000198273
Buy Token51161262018-02-19 2:31:562935 days ago1519007516IN
0xd58297B5...b978f00a0
1.983793 ETH0.0023445525
Buy Token51159652018-02-19 1:53:212935 days ago1519005201IN
0xd58297B5...b978f00a0
0.001 ETH0.0047432730
Buy Token51159492018-02-19 1:51:122935 days ago1519005072IN
0xd58297B5...b978f00a0
0.01 ETH0.0049682130
Buy Token51158742018-02-19 1:33:412935 days ago1519004021IN
0xd58297B5...b978f00a0
2.357338 ETH0.0092844199
Buy Token51158672018-02-19 1:31:072935 days ago1519003867IN
0xd58297B5...b978f00a0
1.983793 ETH0.000468915
Buy Token51158502018-02-19 1:28:092935 days ago1519003689IN
0xd58297B5...b978f00a0
1.982895 ETH0.0009378210
Buy Token51158482018-02-19 1:27:202935 days ago1519003640IN
0xd58297B5...b978f00a0
1.793453 ETH0.0037512840
Buy Token51158292018-02-19 1:22:142935 days ago1519003334IN
0xd58297B5...b978f00a0
17.184988 ETH0.0014875620
Buy Token51158292018-02-19 1:22:142935 days ago1519003334IN
0xd58297B5...b978f00a0
1.486498 ETH0.0009035240
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer51957502018-03-04 15:55:242921 days ago1520178924
0xd58297B5...b978f00a0
26.92615016 ETH
Transfer51205482018-02-19 20:38:302934 days ago1519072710
0xd58297B5...b978f00a0
0.00001 ETH
Transfer51205482018-02-19 20:38:302934 days ago1519072710
0xd58297B5...b978f00a0
0.00001 ETH
Transfer51205482018-02-19 20:38:302934 days ago1519072710
0xd58297B5...b978f00a0
0.00001 ETH
Transfer51205482018-02-19 20:38:302934 days ago1519072710
0xd58297B5...b978f00a0
0.00001 ETH
Transfer51205402018-02-19 20:36:332934 days ago1519072593
0xd58297B5...b978f00a0
0.00001 ETH
Transfer51205402018-02-19 20:36:332934 days ago1519072593
0xd58297B5...b978f00a0
0.00001 ETH
Transfer51205362018-02-19 20:35:272934 days ago1519072527
0xd58297B5...b978f00a0
0.00001 ETH
Transfer51205362018-02-19 20:35:272934 days ago1519072527
0xd58297B5...b978f00a0
0.00001 ETH
Transfer51204832018-02-19 20:21:062934 days ago1519071666
0xd58297B5...b978f00a0
0.00001 ETH
Transfer51204832018-02-19 20:21:062934 days ago1519071666
0xd58297B5...b978f00a0
0.00001 ETH
Transfer51204352018-02-19 20:08:342934 days ago1519070914
0xd58297B5...b978f00a0
0.00001 ETH
Transfer51204352018-02-19 20:08:342934 days ago1519070914
0xd58297B5...b978f00a0
0.00001 ETH
Transfer51203712018-02-19 19:51:192934 days ago1519069879
0xd58297B5...b978f00a0
0.00001 ETH
Transfer51203712018-02-19 19:51:192934 days ago1519069879
0xd58297B5...b978f00a0
0.00001 ETH
Transfer51202562018-02-19 19:23:302934 days ago1519068210
0xd58297B5...b978f00a0
0.00001 ETH
Transfer51202562018-02-19 19:23:302934 days ago1519068210
0xd58297B5...b978f00a0
0.00001 ETH
Transfer51199932018-02-19 18:17:392934 days ago1519064259
0xd58297B5...b978f00a0
0.00001 ETH
Transfer51199932018-02-19 18:17:392934 days ago1519064259
0xd58297B5...b978f00a0
0.00001 ETH
Transfer51199852018-02-19 18:15:212934 days ago1519064121
0xd58297B5...b978f00a0
0.00001 ETH
Transfer51199852018-02-19 18:15:212934 days ago1519064121
0xd58297B5...b978f00a0
0.00001 ETH
Transfer51162992018-02-19 3:15:212935 days ago1519010121
0xd58297B5...b978f00a0
0.00001 ETH
Transfer51162992018-02-19 3:15:212935 days ago1519010121
0xd58297B5...b978f00a0
0.00001 ETH
Transfer51161282018-02-19 2:32:132935 days ago1519007533
0xd58297B5...b978f00a0
0.00000077 ETH
Transfer51161282018-02-19 2:32:132935 days ago1519007533
0xd58297B5...b978f00a0
45.30523 ETH
View All Internal Transactions
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Dogs

Compiler Version
v0.4.19+commit.c4cbbb05

Optimization Enabled:
No with 200 runs

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

pragma solidity ^0.4.18;

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 Dogs {
  using SafeMath for uint256;
  /*** EVENTS ***/
  /// @dev The Birth event is fired whenever a new collectible comes into existence.
  event Birth(uint256 tokenId, uint256 startPrice);
  /// @dev The TokenSold event is fired whenever a token is sold.
  event TokenSold(uint256 indexed tokenId, uint256 price, address prevOwner, address winner);
  // ERC721 Transfer
  event Transfer(address indexed from, address indexed to, uint256 tokenId);
  // ERC721 Approval
  event Approval(address indexed owner, address indexed approved, uint256 tokenId);

  /*** CONSTANTS ***/

  string public constant NAME = "dogs-youCollect";
  string public constant SYMBOL = "DYC";
  uint256[] private tokens;

  /*** STORAGE ***/

  /// @dev A mapping from collectible IDs to the address that owns them. All collectibles have
  ///  some valid owner address.
  mapping (uint256 => address) public collectibleIndexToOwner;

  /// @dev A mapping from CollectibleIDs to an address that has been approved to call
  ///  transferFrom(). Each Collectible can only have one approved address for transfer
  ///  at any time. A zero value means no approval is outstanding.
  mapping (uint256 => address) public collectibleIndexToApproved;

  // @dev A mapping from CollectibleIDs to the price of the token.
  mapping (uint256 => uint256) public collectibleIndexToPrice;

  // The addresses of the accounts (or contracts) that can execute actions within each roles.
  address public ceoAddress;
  address public cooAddress;

  mapping (uint => address) private subTokenCreator;
  mapping (uint => address) private lastSubTokenBuyer;

  uint8 constant BASE_TOKEN_ID = 0;
  uint16 constant MAX_SETS_INDEX = 10000;
  uint64 constant FIFTY_TOKENS_INDEX = 1000000000000000;
  uint128 constant TRIBLE_TOKENS_INDEX = 100000000000000000000000;
  uint128 constant DOUBLE_TOKENS_INDEX = 100000000000000000000000000000000;
  uint256 private constant PROMO_CREATION_LIMIT = 50000;
  uint256 public promoCreatedCount;
  uint256 constant START_PRICE_DOG = 1 finney;
  uint256 constant START_PRICE_SETS = 100 finney;
  uint256 constant START_PRICE_BASE_DOG = 10 ether;


  /*** CONSTRUCTOR ***/
  function Dogs() public {
    ceoAddress = msg.sender;
    cooAddress = msg.sender;
  }
  function getTotalSupply() public view returns (uint) {
    return tokens.length;
  }
  function getInitialPriceOfToken(uint _tokenId) public pure returns (uint) {
    if (_tokenId > MAX_SETS_INDEX)
      return START_PRICE_DOG;
    if (_tokenId > 0)
      return START_PRICE_SETS;
    return START_PRICE_BASE_DOG;
  }

  function getNextPrice(uint price, uint _tokenId) public pure returns (uint) {
    if (_tokenId>DOUBLE_TOKENS_INDEX)
      return price.mul(2);
    if (_tokenId>TRIBLE_TOKENS_INDEX)
      return price.mul(3);
    if (_tokenId>FIFTY_TOKENS_INDEX)
      return price.mul(3).div(2);
    if (price < 1.2 ether)
      return price.mul(200).div(92);
    if (price < 5 ether)
      return price.mul(150).div(92);
    return price.mul(120).div(92);
  }

  function buyToken(uint _tokenId) public payable {
    address oldOwner = collectibleIndexToOwner[_tokenId];
    require(oldOwner!=msg.sender);
    uint256 sellingPrice = collectibleIndexToPrice[_tokenId];
    if (sellingPrice==0) {
      sellingPrice = getInitialPriceOfToken(_tokenId);
      if (_tokenId>MAX_SETS_INDEX)
        subTokenCreator[_tokenId] = msg.sender;
    }

    require(msg.value >= sellingPrice);
    uint256 purchaseExcess = msg.value.sub(sellingPrice);

    uint256 payment = sellingPrice.mul(92).div(100);
    uint256 feeOnce = sellingPrice.sub(payment).div(8);

    // transfer taxes
    if (_tokenId > 0) {
      if (collectibleIndexToOwner[BASE_TOKEN_ID]!=address(0))
        collectibleIndexToOwner[BASE_TOKEN_ID].transfer(feeOnce);
      if (_tokenId > MAX_SETS_INDEX) {
        if (collectibleIndexToOwner[_tokenId % MAX_SETS_INDEX]!=address(0))
          collectibleIndexToOwner[_tokenId % MAX_SETS_INDEX].transfer(feeOnce);
        if (subTokenCreator[_tokenId]!=address(0))
          subTokenCreator[_tokenId].transfer(feeOnce);

        lastSubTokenBuyer[BASE_TOKEN_ID] = msg.sender;
        lastSubTokenBuyer[_tokenId % MAX_SETS_INDEX] = msg.sender;
      } else {
        lastSubTokenBuyer[_tokenId].transfer(feeOnce*2);
      }
    } else {
      lastSubTokenBuyer[_tokenId].transfer(feeOnce*2);
    }
    // Transfers the Token
    collectibleIndexToOwner[_tokenId] = msg.sender;
    if (oldOwner != address(0)) {
      // Payment for old owner
      oldOwner.transfer(payment);
      // clear any previously approved ownership exchange
      delete collectibleIndexToApproved[_tokenId];
    } else {
      Birth(_tokenId, sellingPrice);
      tokens.push(_tokenId);
    }
    // Update prices
    collectibleIndexToPrice[_tokenId] = getNextPrice(sellingPrice, _tokenId);

    TokenSold(_tokenId, sellingPrice, oldOwner, msg.sender);
    Transfer(oldOwner, msg.sender, _tokenId);
    // refund when paid too much
    if (purchaseExcess>0)
      msg.sender.transfer(purchaseExcess);
  }



  /*** 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
    );
    _;
  }

  /*** 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));

    collectibleIndexToApproved[_tokenId] = _to;

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

  /// @dev Creates a new promo collectible with the given name, with given _price and assignes it to an address.
  function createPromoCollectible(uint256 tokenId, address _owner, uint256 _price) public onlyCOO {
    require(collectibleIndexToOwner[tokenId]==address(0));
    require(promoCreatedCount < PROMO_CREATION_LIMIT);

    address collectibleOwner = _owner;
    if (collectibleOwner == address(0)) {
      collectibleOwner = cooAddress;
    }

    if (_price <= 0) {
      _price = getInitialPriceOfToken(tokenId);
    }

    promoCreatedCount++;
    _createCollectible(tokenId, _price);
    subTokenCreator[tokenId] = collectibleOwner;
    // This will assign ownership, and also emit the Transfer event as
    // per ERC721 draft
    _transfer(address(0), collectibleOwner, tokenId);

  }

  bool isChangePriceLocked = true;
  // allows owners of tokens to decrease the price of them or if there is no owner the coo can do it
  function changePrice(uint256 newPrice, uint256 _tokenId) public {
    require((_owns(msg.sender, _tokenId) && !isChangePriceLocked) || (_owns(address(0), _tokenId) && msg.sender == cooAddress));
    require(newPrice<collectibleIndexToPrice[_tokenId]);
    collectibleIndexToPrice[_tokenId] = newPrice;
  }
  function unlockPriceChange() public onlyCOO {
    isChangePriceLocked = false;
  }

  /// @notice Returns all the relevant information about a specific collectible.
  /// @param _tokenId The tokenId of the collectible of interest.
  function getToken(uint256 _tokenId) public view returns (uint256 tokenId, uint256 sellingPrice, address owner, uint256 nextSellingPrice) {
    tokenId = _tokenId;
    sellingPrice = collectibleIndexToPrice[_tokenId];
    if (sellingPrice == 0)
      sellingPrice = getInitialPriceOfToken(_tokenId);
    owner = collectibleIndexToOwner[_tokenId];
    nextSellingPrice = getNextPrice(sellingPrice, _tokenId);
  }

  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 = collectibleIndexToOwner[_tokenId];
    require(owner != address(0));
  }

  function payout(address _to) public onlyCLevel {
    _payout(_to);
  }


  function priceOf(uint256 _tokenId) public view returns (uint256 price) {
    price = collectibleIndexToPrice[_tokenId];
    if (price == 0)
      price = getInitialPriceOfToken(_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 {
    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 = collectibleIndexToOwner[_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);
  }

  /// 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);
  }

  /*** 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 collectibleIndexToApproved[_tokenId] == _to;
  }

  /// For creating Collectible
  function _createCollectible(uint256 tokenId, uint256 _price) private {
    collectibleIndexToPrice[tokenId] = _price;
    Birth(tokenId, _price);
    tokens.push(tokenId);
  }

  /// Check for token ownership
  function _owns(address claimant, uint256 _tokenId) private view returns (bool) {
    return claimant == collectibleIndexToOwner[_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);
    }
  }

  /// 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 result) {
      uint256 totalTokens = tokens.length;
      uint256 tokenIndex;
      uint256 tokenId;
      result = 0;
      for (tokenIndex = 0; tokenIndex < totalTokens; tokenIndex++) {
        tokenId = tokens[tokenIndex];
        if (collectibleIndexToOwner[tokenId] == _owner) {
          result = result.add(1);
        }
      }
      return result;
  }

  /// @dev Assigns ownership of a specific Collectible to an address.
  function _transfer(address _from, address _to, uint256 _tokenId) private {
    //transfer ownership
    collectibleIndexToOwner[_tokenId] = _to;

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

    // Emit the transfer event.
    Transfer(_from, _to, _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 tokens array looking for tokens 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 totalTokens = getTotalSupply();
      uint256 resultIndex = 0;

      uint256 tokenIndex;
      uint256 tokenId;
      for (tokenIndex = 0; tokenIndex < totalTokens; tokenIndex++) {
        tokenId = tokens[tokenIndex];
        if (collectibleIndexToOwner[tokenId] == _owner) {
          result[resultIndex] = tokenId;
          resultIndex = resultIndex.add(1);
        }
      }
      return result;
    }
  }
}

Contract Security Audit

Contract ABI

API
[{"constant":true,"inputs":[],"name":"promoCreatedCount","outputs":[{"name":"","type":"uint256"}],"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":"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":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":false,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"buyToken","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"getInitialPriceOfToken","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[],"name":"unlockPriceChange","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"collectibleIndexToApproved","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","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":"result","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":true,"inputs":[{"name":"price","type":"uint256"},{"name":"_tokenId","type":"uint256"}],"name":"getNextPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"pure","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":false,"inputs":[{"name":"tokenId","type":"uint256"},{"name":"_owner","type":"address"},{"name":"_price","type":"uint256"}],"name":"createPromoCollectible","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":false,"inputs":[{"name":"newPrice","type":"uint256"},{"name":"_tokenId","type":"uint256"}],"name":"changePrice","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":"getTotalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"collectibleIndexToOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"collectibleIndexToPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"getToken","outputs":[{"name":"tokenId","type":"uint256"},{"name":"sellingPrice","type":"uint256"},{"name":"owner","type":"address"},{"name":"nextSellingPrice","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"SYMBOL","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"tokenId","type":"uint256"},{"indexed":false,"name":"startPrice","type":"uint256"}],"name":"Birth","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"tokenId","type":"uint256"},{"indexed":false,"name":"price","type":"uint256"},{"indexed":false,"name":"prevOwner","type":"address"},{"indexed":false,"name":"winner","type":"address"}],"name":"TokenSold","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"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"}]

60606040526001600960006101000a81548160ff021916908315150217905550341561002a57600080fd5b33600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506126de806100bb6000396000f300606060405260043610610180576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806305e455461461018557806306fdde03146101ae578063095ea7b31461023c5780630a0f81681461027e5780630b7e9c44146102d35780631051db341461030c57806323b872dd1461033957806327d7874c1461039a5780632ba73c15146103d35780632d296bf11461040c57806343a7f7491461042457806353acb23f1461045b57806360d1ce36146104705780636352211e146104d357806370a08231146105365780638462151c14610583578063915082641461061157806395d89b4114610651578063a3f4df7e146106df578063a9059cbb1461076d578063ad731de7146107af578063b047fb50146107fa578063b2e6ceeb1461084f578063b3de019c14610872578063b9186d7d1461089e578063c4e41b22146108d5578063c61b06ae146108fe578063cfcd84a914610961578063e4b50cb814610998578063f76f8d7814610a10575b600080fd5b341561019057600080fd5b610198610a9e565b6040518082815260200191505060405180910390f35b34156101b957600080fd5b6101c1610aa4565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102015780820151818401526020810190506101e6565b50505050905090810190601f16801561022e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561024757600080fd5b61027c600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610ae7565b005b341561028957600080fd5b610291610bb7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156102de57600080fd5b61030a600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610bdd565b005b341561031757600080fd5b61031f610c9d565b604051808215151515815260200191505060405180910390f35b341561034457600080fd5b610398600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610ca6565b005b34156103a557600080fd5b6103d1600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610cf4565b005b34156103de57600080fd5b61040a600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610dd0565b005b6104226004808035906020019091905050610eac565b005b341561042f57600080fd5b6104456004808035906020019091905050611790565b6040518082815260200191505060405180910390f35b341561046657600080fd5b61046e6117d9565b005b341561047b57600080fd5b6104916004808035906020019091905050611852565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156104de57600080fd5b6104f46004808035906020019091905050611885565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561054157600080fd5b61056d600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506118fe565b6040518082815260200191505060405180910390f35b341561058e57600080fd5b6105ba600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506119d0565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156105fd5780820151818401526020810190506105e2565b505050509050019250505060405180910390f35b341561061c57600080fd5b61063b6004808035906020019091908035906020019091905050611b33565b6040518082815260200191505060405180910390f35b341561065c57600080fd5b610664611caa565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156106a4578082015181840152602081019050610689565b50505050905090810190601f1680156106d15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156106ea57600080fd5b6106f2611ced565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610732578082015181840152602081019050610717565b50505050905090810190601f16801561075f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561077857600080fd5b6107ad600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611d26565b005b34156107ba57600080fd5b6107f8600480803590602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611d5e565b005b341561080557600080fd5b61080d611f30565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561085a57600080fd5b6108706004808035906020019091905050611f56565b005b341561087d57600080fd5b61089c6004808035906020019091908035906020019091905050611fcb565b005b34156108a957600080fd5b6108bf60048080359060200190919050506120a1565b6040518082815260200191505060405180910390f35b34156108e057600080fd5b6108e86120d3565b6040518082815260200191505060405180910390f35b341561090957600080fd5b61091f60048080359060200190919050506120df565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561096c57600080fd5b6109826004808035906020019091905050612112565b6040518082815260200191505060405180910390f35b34156109a357600080fd5b6109b9600480803590602001909190505061212a565b604051808581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200194505050505060405180910390f35b3415610a1b57600080fd5b610a236121a7565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610a63578082015181840152602081019050610a48565b50505050905090810190601f168015610a905780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b60085481565b610aac612639565b6040805190810160405280600f81526020017f646f67732d796f75436f6c6c6563740000000000000000000000000000000000815250905090565b610af133826121e0565b1515610afc57600080fd5b816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a35050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610c865750600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515610c9157600080fd5b610c9a8161224c565b50565b60006001905090565b610cb083826121e0565b1515610cbb57600080fd5b610cc5828261235a565b1515610cd057600080fd5b610cd9826123c6565b1515610ce457600080fd5b610cef8383836123ff565b505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d5057600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610d8c57600080fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610e2c57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610e6857600080fd5b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008060008060006001600087815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1694503373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614151515610f2557600080fd5b600360008781526020019081526020016000205493506000841415610fb157610f4d86611790565b935061271061ffff16861115610fb057336006600088815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b833410151515610fc057600080fd5b610fd3843461252890919063ffffffff16565b9250610ffc6064610fee605c8761254190919063ffffffff16565b61257c90919063ffffffff16565b91506110246008611016848761252890919063ffffffff16565b61257c90919063ffffffff16565b9050600086111561143557600073ffffffffffffffffffffffffffffffffffffffff16600160008060ff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561111257600160008060ff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050151561111157600080fd5b5b61271061ffff168611156113b957600073ffffffffffffffffffffffffffffffffffffffff166001600061271061ffff168981151561114d57fe5b06815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561121f576001600061271061ffff16888115156111af57fe5b06815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050151561121e57600080fd5b5b600073ffffffffffffffffffffffffffffffffffffffff166006600088815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156112fc576006600087815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015156112fb57600080fd5b5b33600760008060ff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550336007600061271061ffff168981151561136757fe5b06815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611430565b6007600087815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc600283029081150290604051600060405180830381858888f19350505050151561142f57600080fd5b5b6114ac565b6007600087815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc600283029081150290604051600060405180830381858888f1935050505015156114ab57600080fd5b5b336001600088815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415156115af578473ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050151561157457600080fd5b6002600087815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055611618565b7f52de1b99e2a2ea05a5f0172a69113edb62e0063b92a251f693a7233a5a3a31338685604051808381526020018281526020019250505060405180910390a160008054806001018281611602919061264d565b9160005260206000209001600088909190915055505b6116228487611b33565b6003600088815260200190815260200160002081905550857fb45b7a510d22eabde36919bed5551eccad687e7b55e2d2aa3033dc0786a9877b858733604051808481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001935050505060405180910390a23373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef886040518082815260200191505060405180910390a36000831115611788573373ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f19350505050151561178757600080fd5b5b505050505050565b600061271061ffff168211156117af5766038d7ea4c6800090506117d4565b60008211156117c85767016345785d8a000090506117d4565b678ac7230489e8000090505b919050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561183557600080fd5b6000600960006101000a81548160ff021916908315150217905550565b60026020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156118f957600080fd5b919050565b600080600080600080549050925060009350600091505b828210156119c55760008281548110151561192c57fe5b90600052602060002090015490508473ffffffffffffffffffffffffffffffffffffffff166001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156119b8576119b560018561259790919063ffffffff16565b93505b8180600101925050611915565b839350505050919050565b6119d8612679565b60006119e2612679565b6000806000806119f1886118fe565b95506000861415611a23576000604051805910611a0b5750595b90808252806020026020018201604052509650611b28565b85604051805910611a315750595b90808252806020026020018201604052509450611a4c6120d3565b935060009250600091505b83821015611b2457600082815481101515611a6e57fe5b90600052602060002090015490508773ffffffffffffffffffffffffffffffffffffffff166001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611b1757808584815181101515611af257fe5b9060200190602002018181525050611b1460018461259790919063ffffffff16565b92505b8180600101925050611a57565b8496505b505050505050919050565b60006d04ee2d6d415b85acef81000000006fffffffffffffffffffffffffffffffff16821115611b7857611b7160028461254190919063ffffffff16565b9050611ca4565b69152d02c7e14af68000006fffffffffffffffffffffffffffffffff16821115611bb757611bb060038461254190919063ffffffff16565b9050611ca4565b66038d7ea4c6800067ffffffffffffffff16821115611bfe57611bf76002611be960038661254190919063ffffffff16565b61257c90919063ffffffff16565b9050611ca4565b6710a741a462780000831015611c3c57611c35605c611c2760c88661254190919063ffffffff16565b61257c90919063ffffffff16565b9050611ca4565b674563918244f40000831015611c7a57611c73605c611c6560968661254190919063ffffffff16565b61257c90919063ffffffff16565b9050611ca4565b611ca1605c611c9360788661254190919063ffffffff16565b61257c90919063ffffffff16565b90505b92915050565b611cb2612639565b6040805190810160405280600381526020017f4459430000000000000000000000000000000000000000000000000000000000815250905090565b6040805190810160405280600f81526020017f646f67732d796f75436f6c6c656374000000000000000000000000000000000081525081565b611d3033826121e0565b1515611d3b57600080fd5b611d44826123c6565b1515611d4f57600080fd5b611d5a3383836123ff565b5050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611dbc57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff166001600086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515611e2a57600080fd5b61c350600854101515611e3c57600080fd5b829050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611e9a57600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505b600082111515611eb057611ead84611790565b91505b600860008154809291906001019190505550611ecc84836125b5565b806006600086815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611f2a600082866123ff565b50505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000803391506001600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050611f9b826123c6565b1515611fa657600080fd5b611fb0828461235a565b1515611fbb57600080fd5b611fc68183856123ff565b505050565b611fd533826121e0565b8015611fee5750600960009054906101000a900460ff16155b806120595750611fff6000826121e0565b80156120585750600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b5b151561206457600080fd5b60036000828152602001908152602001600020548210151561208557600080fd5b8160036000838152602001908152602001600020819055505050565b60006003600083815260200190815260200160002054905060008114156120ce576120cb82611790565b90505b919050565b60008080549050905090565b60016020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60036020528060005260406000206000915090505481565b60008060008084935060036000868152602001908152602001600020549250600083141561215e5761215b85611790565b92505b6001600086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16915061219e8386611b33565b90509193509193565b6040805190810160405280600381526020017f445943000000000000000000000000000000000000000000000000000000000081525081565b60006001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156122ff57600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f1935050505015156122fa57600080fd5b612357565b8073ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f19350505050151561235657600080fd5b5b50565b60008273ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614159050919050565b816001600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415156124be576002600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690555b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b600082821115151561253657fe5b818303905092915050565b60008060008414156125565760009150612575565b828402905082848281151561256757fe5b0414151561257157fe5b8091505b5092915050565b600080828481151561258a57fe5b0490508091505092915050565b60008082840190508381101515156125ab57fe5b8091505092915050565b8060036000848152602001908152602001600020819055507f52de1b99e2a2ea05a5f0172a69113edb62e0063b92a251f693a7233a5a3a31338282604051808381526020018281526020019250505060405180910390a160008054806001018281612620919061264d565b9160005260206000209001600084909190915055505050565b602060405190810160405280600081525090565b81548183558181151161267457818360005260206000209182019101612673919061268d565b5b505050565b602060405190810160405280600081525090565b6126af91905b808211156126ab576000816000905550600101612693565b5090565b905600a165627a7a7230582098520742ae40bf5e115f933c595991179e6ad870b66fc81a862bab8a014019270029

Deployed Bytecode

0x606060405260043610610180576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806305e455461461018557806306fdde03146101ae578063095ea7b31461023c5780630a0f81681461027e5780630b7e9c44146102d35780631051db341461030c57806323b872dd1461033957806327d7874c1461039a5780632ba73c15146103d35780632d296bf11461040c57806343a7f7491461042457806353acb23f1461045b57806360d1ce36146104705780636352211e146104d357806370a08231146105365780638462151c14610583578063915082641461061157806395d89b4114610651578063a3f4df7e146106df578063a9059cbb1461076d578063ad731de7146107af578063b047fb50146107fa578063b2e6ceeb1461084f578063b3de019c14610872578063b9186d7d1461089e578063c4e41b22146108d5578063c61b06ae146108fe578063cfcd84a914610961578063e4b50cb814610998578063f76f8d7814610a10575b600080fd5b341561019057600080fd5b610198610a9e565b6040518082815260200191505060405180910390f35b34156101b957600080fd5b6101c1610aa4565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102015780820151818401526020810190506101e6565b50505050905090810190601f16801561022e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561024757600080fd5b61027c600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610ae7565b005b341561028957600080fd5b610291610bb7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156102de57600080fd5b61030a600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610bdd565b005b341561031757600080fd5b61031f610c9d565b604051808215151515815260200191505060405180910390f35b341561034457600080fd5b610398600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610ca6565b005b34156103a557600080fd5b6103d1600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610cf4565b005b34156103de57600080fd5b61040a600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610dd0565b005b6104226004808035906020019091905050610eac565b005b341561042f57600080fd5b6104456004808035906020019091905050611790565b6040518082815260200191505060405180910390f35b341561046657600080fd5b61046e6117d9565b005b341561047b57600080fd5b6104916004808035906020019091905050611852565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156104de57600080fd5b6104f46004808035906020019091905050611885565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561054157600080fd5b61056d600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506118fe565b6040518082815260200191505060405180910390f35b341561058e57600080fd5b6105ba600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506119d0565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156105fd5780820151818401526020810190506105e2565b505050509050019250505060405180910390f35b341561061c57600080fd5b61063b6004808035906020019091908035906020019091905050611b33565b6040518082815260200191505060405180910390f35b341561065c57600080fd5b610664611caa565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156106a4578082015181840152602081019050610689565b50505050905090810190601f1680156106d15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156106ea57600080fd5b6106f2611ced565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610732578082015181840152602081019050610717565b50505050905090810190601f16801561075f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561077857600080fd5b6107ad600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611d26565b005b34156107ba57600080fd5b6107f8600480803590602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611d5e565b005b341561080557600080fd5b61080d611f30565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561085a57600080fd5b6108706004808035906020019091905050611f56565b005b341561087d57600080fd5b61089c6004808035906020019091908035906020019091905050611fcb565b005b34156108a957600080fd5b6108bf60048080359060200190919050506120a1565b6040518082815260200191505060405180910390f35b34156108e057600080fd5b6108e86120d3565b6040518082815260200191505060405180910390f35b341561090957600080fd5b61091f60048080359060200190919050506120df565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561096c57600080fd5b6109826004808035906020019091905050612112565b6040518082815260200191505060405180910390f35b34156109a357600080fd5b6109b9600480803590602001909190505061212a565b604051808581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200194505050505060405180910390f35b3415610a1b57600080fd5b610a236121a7565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610a63578082015181840152602081019050610a48565b50505050905090810190601f168015610a905780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b60085481565b610aac612639565b6040805190810160405280600f81526020017f646f67732d796f75436f6c6c6563740000000000000000000000000000000000815250905090565b610af133826121e0565b1515610afc57600080fd5b816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a35050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610c865750600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515610c9157600080fd5b610c9a8161224c565b50565b60006001905090565b610cb083826121e0565b1515610cbb57600080fd5b610cc5828261235a565b1515610cd057600080fd5b610cd9826123c6565b1515610ce457600080fd5b610cef8383836123ff565b505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d5057600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610d8c57600080fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610e2c57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610e6857600080fd5b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008060008060006001600087815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1694503373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614151515610f2557600080fd5b600360008781526020019081526020016000205493506000841415610fb157610f4d86611790565b935061271061ffff16861115610fb057336006600088815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b833410151515610fc057600080fd5b610fd3843461252890919063ffffffff16565b9250610ffc6064610fee605c8761254190919063ffffffff16565b61257c90919063ffffffff16565b91506110246008611016848761252890919063ffffffff16565b61257c90919063ffffffff16565b9050600086111561143557600073ffffffffffffffffffffffffffffffffffffffff16600160008060ff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561111257600160008060ff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050151561111157600080fd5b5b61271061ffff168611156113b957600073ffffffffffffffffffffffffffffffffffffffff166001600061271061ffff168981151561114d57fe5b06815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561121f576001600061271061ffff16888115156111af57fe5b06815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050151561121e57600080fd5b5b600073ffffffffffffffffffffffffffffffffffffffff166006600088815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156112fc576006600087815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015156112fb57600080fd5b5b33600760008060ff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550336007600061271061ffff168981151561136757fe5b06815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611430565b6007600087815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc600283029081150290604051600060405180830381858888f19350505050151561142f57600080fd5b5b6114ac565b6007600087815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc600283029081150290604051600060405180830381858888f1935050505015156114ab57600080fd5b5b336001600088815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415156115af578473ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050151561157457600080fd5b6002600087815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055611618565b7f52de1b99e2a2ea05a5f0172a69113edb62e0063b92a251f693a7233a5a3a31338685604051808381526020018281526020019250505060405180910390a160008054806001018281611602919061264d565b9160005260206000209001600088909190915055505b6116228487611b33565b6003600088815260200190815260200160002081905550857fb45b7a510d22eabde36919bed5551eccad687e7b55e2d2aa3033dc0786a9877b858733604051808481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001935050505060405180910390a23373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef886040518082815260200191505060405180910390a36000831115611788573373ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f19350505050151561178757600080fd5b5b505050505050565b600061271061ffff168211156117af5766038d7ea4c6800090506117d4565b60008211156117c85767016345785d8a000090506117d4565b678ac7230489e8000090505b919050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561183557600080fd5b6000600960006101000a81548160ff021916908315150217905550565b60026020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156118f957600080fd5b919050565b600080600080600080549050925060009350600091505b828210156119c55760008281548110151561192c57fe5b90600052602060002090015490508473ffffffffffffffffffffffffffffffffffffffff166001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156119b8576119b560018561259790919063ffffffff16565b93505b8180600101925050611915565b839350505050919050565b6119d8612679565b60006119e2612679565b6000806000806119f1886118fe565b95506000861415611a23576000604051805910611a0b5750595b90808252806020026020018201604052509650611b28565b85604051805910611a315750595b90808252806020026020018201604052509450611a4c6120d3565b935060009250600091505b83821015611b2457600082815481101515611a6e57fe5b90600052602060002090015490508773ffffffffffffffffffffffffffffffffffffffff166001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611b1757808584815181101515611af257fe5b9060200190602002018181525050611b1460018461259790919063ffffffff16565b92505b8180600101925050611a57565b8496505b505050505050919050565b60006d04ee2d6d415b85acef81000000006fffffffffffffffffffffffffffffffff16821115611b7857611b7160028461254190919063ffffffff16565b9050611ca4565b69152d02c7e14af68000006fffffffffffffffffffffffffffffffff16821115611bb757611bb060038461254190919063ffffffff16565b9050611ca4565b66038d7ea4c6800067ffffffffffffffff16821115611bfe57611bf76002611be960038661254190919063ffffffff16565b61257c90919063ffffffff16565b9050611ca4565b6710a741a462780000831015611c3c57611c35605c611c2760c88661254190919063ffffffff16565b61257c90919063ffffffff16565b9050611ca4565b674563918244f40000831015611c7a57611c73605c611c6560968661254190919063ffffffff16565b61257c90919063ffffffff16565b9050611ca4565b611ca1605c611c9360788661254190919063ffffffff16565b61257c90919063ffffffff16565b90505b92915050565b611cb2612639565b6040805190810160405280600381526020017f4459430000000000000000000000000000000000000000000000000000000000815250905090565b6040805190810160405280600f81526020017f646f67732d796f75436f6c6c656374000000000000000000000000000000000081525081565b611d3033826121e0565b1515611d3b57600080fd5b611d44826123c6565b1515611d4f57600080fd5b611d5a3383836123ff565b5050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611dbc57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff166001600086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515611e2a57600080fd5b61c350600854101515611e3c57600080fd5b829050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611e9a57600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505b600082111515611eb057611ead84611790565b91505b600860008154809291906001019190505550611ecc84836125b5565b806006600086815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611f2a600082866123ff565b50505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000803391506001600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050611f9b826123c6565b1515611fa657600080fd5b611fb0828461235a565b1515611fbb57600080fd5b611fc68183856123ff565b505050565b611fd533826121e0565b8015611fee5750600960009054906101000a900460ff16155b806120595750611fff6000826121e0565b80156120585750600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b5b151561206457600080fd5b60036000828152602001908152602001600020548210151561208557600080fd5b8160036000838152602001908152602001600020819055505050565b60006003600083815260200190815260200160002054905060008114156120ce576120cb82611790565b90505b919050565b60008080549050905090565b60016020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60036020528060005260406000206000915090505481565b60008060008084935060036000868152602001908152602001600020549250600083141561215e5761215b85611790565b92505b6001600086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16915061219e8386611b33565b90509193509193565b6040805190810160405280600381526020017f445943000000000000000000000000000000000000000000000000000000000081525081565b60006001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156122ff57600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f1935050505015156122fa57600080fd5b612357565b8073ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f19350505050151561235657600080fd5b5b50565b60008273ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614159050919050565b816001600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415156124be576002600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690555b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b600082821115151561253657fe5b818303905092915050565b60008060008414156125565760009150612575565b828402905082848281151561256757fe5b0414151561257157fe5b8091505b5092915050565b600080828481151561258a57fe5b0490508091505092915050565b60008082840190508381101515156125ab57fe5b8091505092915050565b8060036000848152602001908152602001600020819055507f52de1b99e2a2ea05a5f0172a69113edb62e0063b92a251f693a7233a5a3a31338282604051808381526020018281526020019250505060405180910390a160008054806001018281612620919061264d565b9160005260206000209001600084909190915055505050565b602060405190810160405280600081525090565b81548183558181151161267457818360005260206000209182019101612673919061268d565b5b505050565b602060405190810160405280600081525090565b6126af91905b808211156126ab576000816000905550600101612693565b5090565b905600a165627a7a7230582098520742ae40bf5e115f933c595991179e6ad870b66fc81a862bab8a014019270029

Swarm Source

bzzr://98520742ae40bf5e115f933c595991179e6ad870b66fc81a862bab8a01401927

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
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.