ETH Price: $2,278.01 (+2.58%)

Contract

0x0af1b410a7915cE6B4754b355D37cc38E59B7EDD
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Payout53598952018-04-01 8:20:572351 days ago1522570857IN
0x0af1b410...8E59B7EDD
0 ETH0.0004823516
Purchase51574922018-02-26 3:48:202385 days ago1519616900IN
0x0af1b410...8E59B7EDD
0.19300698 ETH0.0011978415
Purchase51570832018-02-26 2:02:052385 days ago1519610525IN
0x0af1b410...8E59B7EDD
0.02049314 ETH0.000129252
Purchase51570792018-02-26 2:01:292385 days ago1519610489IN
0x0af1b410...8E59B7EDD
0.02049314 ETH0.000129252
Purchase51570742018-02-26 2:00:522385 days ago1519610452IN
0x0af1b410...8E59B7EDD
0.02049314 ETH0.000129252
Purchase51570702018-02-26 2:00:122385 days ago1519610412IN
0x0af1b410...8E59B7EDD
0.02049314 ETH0.000129252
Purchase51570682018-02-26 1:59:402385 days ago1519610380IN
0x0af1b410...8E59B7EDD
0.02049314 ETH0.000099252
Purchase51559952018-02-25 21:43:212385 days ago1519595001IN
0x0af1b410...8E59B7EDD
0.1511888 ETH0.0004985610
Purchase51559952018-02-25 21:43:212385 days ago1519595001IN
0x0af1b410...8E59B7EDD
0.1511888 ETH0.0006485610
Purchase51559942018-02-25 21:43:142385 days ago1519594994IN
0x0af1b410...8E59B7EDD
0.1511888 ETH0.0009971220
Purchase51554122018-02-25 19:17:082386 days ago1519586228IN
0x0af1b410...8E59B7EDD
0.00963177 ETH0.000323145
Purchase51554102018-02-25 19:16:382386 days ago1519586198IN
0x0af1b410...8E59B7EDD
0.00963177 ETH0.000248145
Purchase51553992018-02-25 19:13:102386 days ago1519585990IN
0x0af1b410...8E59B7EDD
0.00452693 ETH0.00055747
Purchase51553742018-02-25 19:06:592386 days ago1519585619IN
0x0af1b410...8E59B7EDD
0.00452693 ETH0.000193883
Create Assigned ...51553692018-02-25 19:05:422386 days ago1519585542IN
0x0af1b410...8E59B7EDD
0 ETH0.000432044
Create Assigned ...51553672018-02-25 19:05:132386 days ago1519585513IN
0x0af1b410...8E59B7EDD
0 ETH0.00043234
Purchase51541202018-02-25 13:55:312386 days ago1519566931IN
0x0af1b410...8E59B7EDD
0.00963177 ETH0.000246843.1
Purchase51540322018-02-25 13:34:122386 days ago1519565652IN
0x0af1b410...8E59B7EDD
0.00963177 ETH0.0006462910
Purchase51540312018-02-25 13:34:022386 days ago1519565642IN
0x0af1b410...8E59B7EDD
0.00963177 ETH0.0006462910
Purchase51540302018-02-25 13:33:382386 days ago1519565618IN
0x0af1b410...8E59B7EDD
0.00452693 ETH0.000323145
Purchase51539472018-02-25 13:12:322386 days ago1519564352IN
0x0af1b410...8E59B7EDD
0.00452693 ETH0.000517038
Create Assigned ...51539382018-02-25 13:10:432386 days ago1519564243IN
0x0af1b410...8E59B7EDD
0 ETH0.000431284
Purchase51539382018-02-25 13:10:432386 days ago1519564243IN
0x0af1b410...8E59B7EDD
0.00452693 ETH0.000517038
Create Assigned ...51539352018-02-25 13:10:162386 days ago1519564216IN
0x0af1b410...8E59B7EDD
0 ETH0.000431024
Create Assigned ...51539342018-02-25 13:09:442386 days ago1519564184IN
0x0af1b410...8E59B7EDD
0 ETH0.000430764
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
53598952018-04-01 8:20:572351 days ago1522570857
0x0af1b410...8E59B7EDD
0.79440316 ETH
51574922018-02-26 3:48:202385 days ago1519616900
0x0af1b410...8E59B7EDD
0.18142656 ETH
51570832018-02-26 2:02:052385 days ago1519610525
0x0af1b410...8E59B7EDD
0.01926355 ETH
51570792018-02-26 2:01:292385 days ago1519610489
0x0af1b410...8E59B7EDD
0.01926355 ETH
51570742018-02-26 2:00:522385 days ago1519610452
0x0af1b410...8E59B7EDD
0.01926355 ETH
51570702018-02-26 2:00:122385 days ago1519610412
0x0af1b410...8E59B7EDD
0.01926355 ETH
51570682018-02-26 1:59:402385 days ago1519610380
0x0af1b410...8E59B7EDD
0.01926355 ETH
51559952018-02-25 21:43:212385 days ago1519595001
0x0af1b410...8E59B7EDD
0.14211747 ETH
51559952018-02-25 21:43:212385 days ago1519595001
0x0af1b410...8E59B7EDD
0.14211747 ETH
51559942018-02-25 21:43:142385 days ago1519594994
0x0af1b410...8E59B7EDD
0.14211747 ETH
51554122018-02-25 19:17:082386 days ago1519586228
0x0af1b410...8E59B7EDD
0.00905387 ETH
51554102018-02-25 19:16:382386 days ago1519586198
0x0af1b410...8E59B7EDD
0.00905387 ETH
51553992018-02-25 19:13:102386 days ago1519585990
0x0af1b410...8E59B7EDD
0.00425531 ETH
51553742018-02-25 19:06:592386 days ago1519585619
0x0af1b410...8E59B7EDD
0.00425531 ETH
51541202018-02-25 13:55:312386 days ago1519566931
0x0af1b410...8E59B7EDD
0.00905387 ETH
51540322018-02-25 13:34:122386 days ago1519565652
0x0af1b410...8E59B7EDD
0.00905387 ETH
51540312018-02-25 13:34:022386 days ago1519565642
0x0af1b410...8E59B7EDD
0.00905387 ETH
51540302018-02-25 13:33:382386 days ago1519565618
0x0af1b410...8E59B7EDD
0.00425531 ETH
51539472018-02-25 13:12:322386 days ago1519564352
0x0af1b410...8E59B7EDD
0.00425531 ETH
51539382018-02-25 13:10:432386 days ago1519564243
0x0af1b410...8E59B7EDD
0.00425531 ETH
51518782018-02-25 4:38:562386 days ago1519533536
0x0af1b410...8E59B7EDD
0.04098628 ETH
51518762018-02-25 4:38:382386 days ago1519533518
0x0af1b410...8E59B7EDD
0.04098628 ETH
51513352018-02-25 2:28:582386 days ago1519525738
0x0af1b410...8E59B7EDD
0.04098628 ETH
51498572018-02-24 20:41:442386 days ago1519504904
0x0af1b410...8E59B7EDD
0.01926355 ETH
51496582018-02-24 19:55:442387 days ago1519502144
0x0af1b410...8E59B7EDD
0.04098628 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
AthleteToken

Compiler Version
v0.4.20-nightly.2018.1.26+commit.bbad48bb

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

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

pragma solidity ^0.4.18; // solhint-disable-line



/// @title Interface for contracts conforming to ERC-721: Non-Fungible Tokens
/// @author Dieter Shirley <[email protected]> (https://github.com/dete)
contract ERC721 {
  // Required methods
  function approve(address _to, uint256 _tokenId) public;
  function balanceOf(address _owner) public view returns (uint256 balance);
  function implementsERC721() public pure returns (bool);
  function ownerOf(uint256 _tokenId) public view returns (address addr);
  function takeOwnership(uint256 _tokenId) public;
  function totalSupply() public view returns (uint256 total);
  function transferFrom(address _from, address _to, uint256 _tokenId) public;
  function transfer(address _to, uint256 _tokenId) public;

  event Transfer(address indexed from, address indexed to, uint256 tokenId);
  event Approval(address indexed owner, address indexed approved, uint256 tokenId);

  // Optional
  // function name() public view returns (string name);
  // function symbol() public view returns (string symbol);
  // function tokenOfOwnerByIndex(address _owner, uint256 _index) external view returns (uint256 tokenId);
  // function tokenMetadata(uint256 _tokenId) public view returns (string infoUrl);
}


contract AthleteToken is ERC721 {

  /*** EVENTS ***/

  /// @dev Birth event fired whenever a new athlete is created
  event Birth(uint256 tokenId, string name, address owner);

  /// @dev TokenSold event fired whenever a token is sold
  event TokenSold(uint256 tokenId, uint256 oldPrice, uint256 newPrice, address prevOwner, address winner, string name);

  /// @dev Transfer event as defined in ERC721. Ownership is assigned, including births.
  event Transfer(address from, address to, uint256 tokenId);

  /*** CONSTANTS ***/

  /// @notice Name and symbol of the non fungible token, as defined in ERC721.
  string public constant NAME = "CryptoAthletes"; // solhint-disable-line
  string public constant SYMBOL = "AthleteToken"; // solhint-disable-line

  uint256 private startingPrice = 0.001 ether;
  uint256 private constant PROMO_CREATION_LIMIT = 5000;
  uint256 private firstStepLimit = 0.05 ether;
  uint256 private secondStepLimit = 0.5 ether;
  uint256 private thirdStepLimit = 5 ether;

  /*** STORAGE ***/

  /// @dev Map athlete IDs to owner address. All athletes have some valid owner address.
  mapping (uint256 => address) public athleteIdToOwner;

  // @dev Map owner address to count of tokens that address owns. Used internally inside balanceOf() to resolve ownership count.
  mapping (address => uint256) private ownershipTokenCount;

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

  // @dev Map from athlete IDs to the price of the token
  mapping (uint256 => uint256) private athleteIdToPrice;

  // Addresses of the accounts (or contracts) that can execute actions within each roles.
  address public roleAdminAddress;
  address public roleEditorAddress;

  uint256 public promoCreatedCount;

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

  Athlete[] private athletes;

  /*** ACCESS MODIFIERS ***/
  
  /// @dev Access modifier for Admin-only
  modifier onlyAdmin() {
    require(msg.sender == roleAdminAddress);
    _;
  }

  /// @dev Access modifier for Editor-only
  modifier onlyEditor() {
    require(msg.sender == roleEditorAddress);
    _;
  }

  /// Access modifier for contract owner only
  modifier onlyTeamLevel() {
    require(
      msg.sender == roleAdminAddress ||
      msg.sender == roleEditorAddress
    );
    _;
  }

  /*** CONSTRUCTOR ***/

  function AthleteToken() public {
    roleAdminAddress = msg.sender;
    roleEditorAddress = msg.sender;
  }

  /*** PUBLIC FUNCTIONS ***/

  /// @notice Grant another address the right to transfer token via takeOwnership() and transferFrom().
  /// @param _to The address to be granted transfer approval. Pass address(0) to
  ///  clear all approvals.
  /// @param _tokenId The ID of the Token that can be transferred if this call succeeds.
  /// @dev Required for ERC-721 compliance.
  function approve(
    address _to,
    uint256 _tokenId
  ) public {
    // Caller must own token.
    require(_owns(msg.sender, _tokenId));

    athleteIdToApproved[_tokenId] = _to;

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

  /// For querying balance of a particular account
  /// @param _owner The address for balance query
  /// @dev Required for ERC-721 compliance.
  function balanceOf(address _owner) public view returns (uint256 balance) {
    return ownershipTokenCount[_owner];
  }

  /// @dev Creates a new assigned athlete
  function createAssignedAthlete(address _owner, string _name, uint256 _price) public onlyEditor {
    require(promoCreatedCount < PROMO_CREATION_LIMIT);

    address athleteOwner = _owner;
    if (athleteOwner == address(0)) {
      athleteOwner = roleEditorAddress;
    }

    if (_price <= 0) {
      _price = startingPrice;
    }

    promoCreatedCount++;
    _createAthlete(_name, athleteOwner, _price);
  }

  /// @dev Creates a new Athlete with the given name.
  function createContractAthlete(string _name) public onlyEditor {
    _createAthlete(_name, address(this), startingPrice);
  }

  /// @notice Returns all the relevant information about a specific athlete.
  /// @param _tokenId The tokenId of the athlete of interest.
  function getAthlete(uint256 _tokenId) public view returns (
    string athleteName,
    uint256 sellingPrice,
    address owner
  ) {
    Athlete storage athlete = athletes[_tokenId];
    athleteName = athlete.name;
    sellingPrice = athleteIdToPrice[_tokenId];
    owner = athleteIdToOwner[_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 = athleteIdToOwner[_tokenId];
    require(owner != address(0));
  }

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

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

    uint256 sellingPrice = athleteIdToPrice[_tokenId];

    // Making sure token owner is not sending to self
    require(oldOwner != newOwner);

    // Safety check to prevent against an unexpected 0x0 default.
    require(_addressNotNull(newOwner));

    // Making sure sent amount is greater than or equal to the sellingPrice
    require(msg.value >= sellingPrice);

    uint256 payment = uint256(SafeMath.div(SafeMath.mul(sellingPrice, 94), 100));
    uint256 purchaseExcess = SafeMath.sub(msg.value, sellingPrice);

    // Update prices
    if (sellingPrice < firstStepLimit) {
      // first stage
      athleteIdToPrice[_tokenId] = SafeMath.div(SafeMath.mul(sellingPrice, 200), 94);
    } else if (sellingPrice < secondStepLimit) {
      // second stage
      athleteIdToPrice[_tokenId] = SafeMath.div(SafeMath.mul(sellingPrice, 120), 94);
    } else {
      // third stage
      athleteIdToPrice[_tokenId] = SafeMath.div(SafeMath.mul(sellingPrice, 115), 94);
    }

    _transfer(oldOwner, newOwner, _tokenId);

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

    TokenSold(_tokenId, sellingPrice, athleteIdToPrice[_tokenId], oldOwner, newOwner, athletes[_tokenId].name);

    msg.sender.transfer(purchaseExcess);
  }

  function priceOf(uint256 _tokenId) public view returns (uint256 price) {
    return athleteIdToPrice[_tokenId];
  }

  /// @dev Assigns a new address to act as the Admin
  /// @param _newAdmin The address of the new Admin
  function setAdmin(address _newAdmin) public onlyAdmin {
    require(_newAdmin != address(0));
    roleAdminAddress = _newAdmin;
  }

  /// @dev Assigns a new address to act as the Editor
  /// @param _newEditor The address of the new Editor
  function setEditor(address _newEditor) public onlyAdmin {
    require(_newEditor != address(0));
    roleEditorAddress = _newEditor;
  }

  /// @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 = athleteIdToOwner[_tokenId];

    // Safety check to prevent against an unexpected 0x0 default.
    require(_addressNotNull(newOwner));

    // Making sure transfer is approved
    require(_approved(newOwner, _tokenId));

    _transfer(oldOwner, newOwner, _tokenId);
  }

  /// @param _owner The owner whose athlete tokens we are interested in.
  /// @dev This method MUST NEVER be called by smart contract code: It's fairly expensive 
  ///  and 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 totalAthletes = totalSupply();
      uint256 resultIndex = 0;

      uint256 athleteId;
      for (athleteId = 0; athleteId <= totalAthletes; athleteId++) {
        if (athleteIdToOwner[athleteId] == _owner) {
          result[resultIndex] = athleteId;
          resultIndex++;
        }
      }
      return result;
    }
  }

  /// For querying totalSupply of token
  /// @dev Required for ERC-721 compliance.
  function totalSupply() public view returns (uint256 total) {
    return athletes.length;
  }

  /// Owner initates the transfer of the token to another account
  /// @param _to The address for the token to be transferred to.
  /// @param _tokenId The ID of the Token that can be transferred if this call succeeds.
  /// @dev Required for ERC-721 compliance.
  function transfer(
    address _to,
    uint256 _tokenId
  ) public {
    require(_owns(msg.sender, _tokenId));
    require(_addressNotNull(_to));

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

  /// Third-party initiates transfer of token from address _from to address _to
  /// @param _from The address for the token to be transferred from.
  /// @param _to The address for the token to be transferred to.
  /// @param _tokenId The ID of the Token that can be transferred if this call succeeds.
  /// @dev Required for ERC-721 compliance.
  function transferFrom(
    address _from,
    address _to,
    uint256 _tokenId
  ) public {
    require(_owns(_from, _tokenId));
    require(_approved(_to, _tokenId));
    require(_addressNotNull(_to));

    _transfer(_from, _to, _tokenId);
  }

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

  /// Create athlete
  function _createAthlete(string _name, address _owner, uint256 _price) private {
    Athlete memory _athlete = Athlete({
      name: _name
    });
    uint256 newAthleteId = athletes.push(_athlete) - 1;

    // It's probably never going to happen, 4 billion tokens are A LOT, but
    // let's just be 100% sure we never let this happen.
    require(newAthleteId == uint256(uint32(newAthleteId)));

    Birth(newAthleteId, _name, _owner);

    athleteIdToPrice[newAthleteId] = _price;

    // This will assign ownership, and also emit the Transfer event as
    // per ERC721 draft
    _transfer(address(0), _owner, newAthleteId);
  }

  /// Check for token ownership
  function _owns(address claimant, uint256 _tokenId) private view returns (bool) {
    return claimant == athleteIdToOwner[_tokenId];
  }

  /// For paying out balance on contract
  function _payout(address _to) private {
    if (_to == address(0)) {
      roleAdminAddress.transfer(this.balance);
    } else {
      _to.transfer(this.balance);
    }
  }

  /// @dev Assigns ownership of a specific athlete to an address.
  function _transfer(address _from, address _to, uint256 _tokenId) private {
    // Since the number of athletes is capped to 2^32 we can't overflow this
    ownershipTokenCount[_to]++;
    //transfer ownership
    athleteIdToOwner[_tokenId] = _to;

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

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

library SafeMath {

  /**
  * @dev Multiplies two numbers, throws on overflow.
  */
  function mul(uint256 a, uint256 b) internal pure returns (uint256) {
    if (a == 0) {
      return 0;
    }
    uint256 c = a * b;
    assert(c / a == b);
    return c;
  }

  /**
  * @dev Integer division of two numbers, truncating the quotient.
  */
  function div(uint256 a, uint256 b) internal pure returns (uint256) {
    // assert(b > 0); // Solidity automatically throws when dividing by 0
    uint256 c = a / b;
    // assert(a == b * c + a % b); // There is no case in which this doesn't hold
    return c;
  }

  /**
  * @dev Substracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend).
  */
  function sub(uint256 a, uint256 b) internal pure returns (uint256) {
    assert(b <= a);
    return a - b;
  }

  /**
  * @dev Adds two numbers, throws on overflow.
  */
  function add(uint256 a, uint256 b) internal pure returns (uint256) {
    uint256 c = a + b;
    assert(c >= a);
    return c;
  }
}

Contract Security Audit

Contract ABI

[{"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":false,"inputs":[{"name":"_to","type":"address"}],"name":"payout","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"implementsERC721","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"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":"athleteIdToApproved","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":false,"inputs":[{"name":"_newAdmin","type":"address"}],"name":"setAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"athleteIdToOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"roleEditorAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newEditor","type":"address"}],"name":"setEditor","outputs":[],"payable":false,"stateMutability":"nonpayable","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":"_tokenId","type":"uint256"}],"name":"getAthlete","outputs":[{"name":"athleteName","type":"string"},{"name":"sellingPrice","type":"uint256"},{"name":"owner","type":"address"}],"payable":false,"stateMutability":"view","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":"takeOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"roleAdminAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"priceOf","outputs":[{"name":"price","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_owner","type":"address"},{"name":"_name","type":"string"},{"name":"_price","type":"uint256"}],"name":"createAssignedAthlete","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_name","type":"string"}],"name":"createContractAthlete","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"purchase","outputs":[],"payable":true,"stateMutability":"payable","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":"name","type":"string"},{"indexed":false,"name":"owner","type":"address"}],"name":"Birth","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"tokenId","type":"uint256"},{"indexed":false,"name":"oldPrice","type":"uint256"},{"indexed":false,"name":"newPrice","type":"uint256"},{"indexed":false,"name":"prevOwner","type":"address"},{"indexed":false,"name":"winner","type":"address"},{"indexed":false,"name":"name","type":"string"}],"name":"TokenSold","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"from","type":"address"},{"indexed":false,"name":"to","type":"address"},{"indexed":false,"name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"approved","type":"address"},{"indexed":false,"name":"tokenId","type":"uint256"}],"name":"Approval","type":"event"}]

606060405266038d7ea4c6800060005566b1a2bc2ec500006001556706f05b59d3b20000600255674563918244f40000600355341561003d57600080fd5b33600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506120a4806100ce6000396000f300606060405260043610610154576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806305e455461461015957806306fdde0314610182578063095ea7b3146102105780630b7e9c44146102525780631051db341461028b57806318160ddd146102b857806323b872dd146102e15780635ada9753146103425780636352211e146103a5578063704b6c021461040857806370a082311461044157806375a66d121461048e5780637ea60eb8146104f1578063825a229e146105465780638462151c1461057f578063939b73aa1461060d57806395d89b41146106e3578063a3f4df7e14610771578063a9059cbb146107ff578063b2e6ceeb14610841578063b7e9026214610864578063b9186d7d146108b9578063c2523a35146108f0578063c31a5f2514610975578063efef39a1146109d2578063f76f8d78146109ea575b600080fd5b341561016457600080fd5b61016c610a78565b6040518082815260200191505060405180910390f35b341561018d57600080fd5b610195610a7e565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101d55780820151818401526020810190506101ba565b50505050905090810190601f1680156102025780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561021b57600080fd5b610250600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610ac1565b005b341561025d57600080fd5b610289600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610b91565b005b341561029657600080fd5b61029e610c51565b604051808215151515815260200191505060405180910390f35b34156102c357600080fd5b6102cb610c5a565b6040518082815260200191505060405180910390f35b34156102ec57600080fd5b610340600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610c67565b005b341561034d57600080fd5b6103636004808035906020019091905050610cb5565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156103b057600080fd5b6103c66004808035906020019091905050610ce8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561041357600080fd5b61043f600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610d61565b005b341561044c57600080fd5b610478600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610e3d565b6040518082815260200191505060405180910390f35b341561049957600080fd5b6104af6004808035906020019091905050610e86565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156104fc57600080fd5b610504610eb9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561055157600080fd5b61057d600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610edf565b005b341561058a57600080fd5b6105b6600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610fbb565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156105f95780820151818401526020810190506105de565b505050509050019250505060405180910390f35b341561061857600080fd5b61062e60048080359060200190919050506110f2565b60405180806020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825285818151815260200191508051906020019080838360005b838110156106a657808201518184015260208101905061068b565b50505050905090810190601f1680156106d35780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b34156106ee57600080fd5b6106f661120e565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561073657808201518184015260208101905061071b565b50505050905090810190601f1680156107635780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561077c57600080fd5b610784611251565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156107c45780820151818401526020810190506107a9565b50505050905090810190601f1680156107f15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561080a57600080fd5b61083f600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061128a565b005b341561084c57600080fd5b61086260048080359060200190919050506112c2565b005b341561086f57600080fd5b610877611337565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156108c457600080fd5b6108da600480803590602001909190505061135d565b6040518082815260200191505060405180910390f35b34156108fb57600080fd5b610973600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001909190505061137a565b005b341561098057600080fd5b6109d0600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190505061147b565b005b6109e860048080359060200190919050506114e7565b005b34156109f557600080fd5b6109fd611893565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610a3d578082015181840152602081019050610a22565b50505050905090810190601f168015610a6a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b600a5481565b610a86611eda565b6040805190810160405280600e81526020017f43727970746f4174686c65746573000000000000000000000000000000000000815250905090565b610acb33826118cc565b1515610ad657600080fd5b816006600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a35050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610c3a5750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515610c4557600080fd5b610c4e81611938565b50565b60006001905090565b6000600b80549050905090565b610c7183826118cc565b1515610c7c57600080fd5b610c868282611a46565b1515610c9157600080fd5b610c9a82611ab2565b1515610ca557600080fd5b610cb0838383611aeb565b505050565b60066020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610d5c57600080fd5b919050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610dbd57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610df957600080fd5b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60046020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610f3b57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610f7757600080fd5b80600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b610fc3611eee565b6000610fcd611eee565b6000806000610fdb87610e3d565b9450600085141561100d576000604051805910610ff55750595b908082528060200260200182016040525095506110e8565b8460405180591061101b5750595b90808252806020026020018201604052509350611036610c5a565b925060009150600090505b82811115156110e4578673ffffffffffffffffffffffffffffffffffffffff166004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156110d7578084838151811015156110c057fe5b906020019060200201818152505081806001019250505b8080600101915050611041565b8395505b5050505050919050565b6110fa611eda565b6000806000600b8581548110151561110e57fe5b90600052602060002090019050806000018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111b35780601f10611188576101008083540402835291602001916111b3565b820191906000526020600020905b81548152906001019060200180831161119657829003601f168201915b50505050509350600760008681526020019081526020016000205492506004600086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150509193909250565b611216611eda565b6040805190810160405280600c81526020017f4174686c657465546f6b656e0000000000000000000000000000000000000000815250905090565b6040805190810160405280600e81526020017f43727970746f4174686c6574657300000000000000000000000000000000000081525081565b61129433826118cc565b151561129f57600080fd5b6112a882611ab2565b15156112b357600080fd5b6112be338383611aeb565b5050565b6000803391506004600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905061130782611ab2565b151561131257600080fd5b61131c8284611a46565b151561132757600080fd5b611332818385611aeb565b505050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060076000838152602001908152602001600020549050919050565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156113d857600080fd5b611388600a541015156113ea57600080fd5b839050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561144857600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505b6000821115156114585760005491505b600a60008154809291906001019190505550611475838284611ced565b50505050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156114d757600080fd5b6114e48130600054611ced565b50565b60008060008060006004600087815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169450339350600760008781526020019081526020016000205492508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415151561157957600080fd5b61158284611ab2565b151561158d57600080fd5b82341015151561159c57600080fd5b6115b16115aa84605e611e6b565b6064611ea6565b91506115bd3484611ec1565b90506001548310156115fa576115de6115d78460c8611e6b565b605e611ea6565b6007600088815260200190815260200160002081905550611663565b60025483101561163557611619611612846078611e6b565b605e611ea6565b6007600088815260200190815260200160002081905550611662565b61164a611643846073611e6b565b605e611ea6565b60076000888152602001908152602001600020819055505b5b61166e858588611aeb565b3073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415156116e4578473ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f1935050505015156116e357600080fd5b5b7e8201e7bcbf010c2c07de59d6e97cb7e3cf67a46125c49cbc89b9d2cde1f48f8684600760008a8152602001908152602001600020548888600b8c81548110151561172b57fe5b9060005260206000209001600001604051808781526020018681526020018581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018281038252838181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156118385780601f1061180d57610100808354040283529160200191611838565b820191906000526020600020905b81548152906001019060200180831161181b57829003601f168201915b505097505050505050505060405180910390a13373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050151561188b57600080fd5b505050505050565b6040805190810160405280600c81526020017f4174686c657465546f6b656e000000000000000000000000000000000000000081525081565b60006004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156119eb57600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f1935050505015156119e657600080fd5b611a43565b8073ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f193505050501515611a4257600080fd5b5b50565b60008273ffffffffffffffffffffffffffffffffffffffff166006600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001019190505550816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515611c4957600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001900391905055506006600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690555b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef838383604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390a1505050565b611cf5611f02565b60006020604051908101604052808681525091506001600b8054806001018281611d1f9190611f1c565b916000526020600020900160008590919091506000820151816000019080519060200190611d4e929190611f48565b5050500390508063ffffffff1681141515611d6857600080fd5b7fb3b0cf861f168bcdb275c69da97b2543631552ba562628aa3c7317d4a6089ef281868660405180848152602001806020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825284818151815260200191508051906020019080838360005b83811015611e04578082015181840152602081019050611de9565b50505050905090810190601f168015611e315780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a1826007600083815260200190815260200160002081905550611e6460008583611aeb565b5050505050565b6000806000841415611e805760009150611e9f565b8284029050828482811515611e9157fe5b04141515611e9b57fe5b8091505b5092915050565b6000808284811515611eb457fe5b0490508091505092915050565b6000828211151515611ecf57fe5b818303905092915050565b602060405190810160405280600081525090565b602060405190810160405280600081525090565b602060405190810160405280611f16611fc8565b81525090565b815481835581811511611f4357818360005260206000209182019101611f429190611fdc565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611f8957805160ff1916838001178555611fb7565b82800160010185558215611fb7579182015b82811115611fb6578251825591602001919060010190611f9b565b5b509050611fc4919061200b565b5090565b602060405190810160405280600081525090565b61200891905b808211156120045760008082016000611ffb9190612030565b50600101611fe2565b5090565b90565b61202d91905b80821115612029576000816000905550600101612011565b5090565b90565b50805460018160011615610100020316600290046000825580601f106120565750612075565b601f016020900490600052602060002090810190612074919061200b565b5b505600a165627a7a72305820c9d47c5281e3120046c611ffacef555466c99eab1360e9b15d31731ec7b12e520029

Deployed Bytecode

0x606060405260043610610154576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806305e455461461015957806306fdde0314610182578063095ea7b3146102105780630b7e9c44146102525780631051db341461028b57806318160ddd146102b857806323b872dd146102e15780635ada9753146103425780636352211e146103a5578063704b6c021461040857806370a082311461044157806375a66d121461048e5780637ea60eb8146104f1578063825a229e146105465780638462151c1461057f578063939b73aa1461060d57806395d89b41146106e3578063a3f4df7e14610771578063a9059cbb146107ff578063b2e6ceeb14610841578063b7e9026214610864578063b9186d7d146108b9578063c2523a35146108f0578063c31a5f2514610975578063efef39a1146109d2578063f76f8d78146109ea575b600080fd5b341561016457600080fd5b61016c610a78565b6040518082815260200191505060405180910390f35b341561018d57600080fd5b610195610a7e565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101d55780820151818401526020810190506101ba565b50505050905090810190601f1680156102025780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561021b57600080fd5b610250600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610ac1565b005b341561025d57600080fd5b610289600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610b91565b005b341561029657600080fd5b61029e610c51565b604051808215151515815260200191505060405180910390f35b34156102c357600080fd5b6102cb610c5a565b6040518082815260200191505060405180910390f35b34156102ec57600080fd5b610340600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610c67565b005b341561034d57600080fd5b6103636004808035906020019091905050610cb5565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156103b057600080fd5b6103c66004808035906020019091905050610ce8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561041357600080fd5b61043f600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610d61565b005b341561044c57600080fd5b610478600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610e3d565b6040518082815260200191505060405180910390f35b341561049957600080fd5b6104af6004808035906020019091905050610e86565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156104fc57600080fd5b610504610eb9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561055157600080fd5b61057d600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610edf565b005b341561058a57600080fd5b6105b6600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610fbb565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156105f95780820151818401526020810190506105de565b505050509050019250505060405180910390f35b341561061857600080fd5b61062e60048080359060200190919050506110f2565b60405180806020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825285818151815260200191508051906020019080838360005b838110156106a657808201518184015260208101905061068b565b50505050905090810190601f1680156106d35780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b34156106ee57600080fd5b6106f661120e565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561073657808201518184015260208101905061071b565b50505050905090810190601f1680156107635780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561077c57600080fd5b610784611251565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156107c45780820151818401526020810190506107a9565b50505050905090810190601f1680156107f15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561080a57600080fd5b61083f600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061128a565b005b341561084c57600080fd5b61086260048080359060200190919050506112c2565b005b341561086f57600080fd5b610877611337565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156108c457600080fd5b6108da600480803590602001909190505061135d565b6040518082815260200191505060405180910390f35b34156108fb57600080fd5b610973600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001909190505061137a565b005b341561098057600080fd5b6109d0600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190505061147b565b005b6109e860048080359060200190919050506114e7565b005b34156109f557600080fd5b6109fd611893565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610a3d578082015181840152602081019050610a22565b50505050905090810190601f168015610a6a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b600a5481565b610a86611eda565b6040805190810160405280600e81526020017f43727970746f4174686c65746573000000000000000000000000000000000000815250905090565b610acb33826118cc565b1515610ad657600080fd5b816006600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a35050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610c3a5750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515610c4557600080fd5b610c4e81611938565b50565b60006001905090565b6000600b80549050905090565b610c7183826118cc565b1515610c7c57600080fd5b610c868282611a46565b1515610c9157600080fd5b610c9a82611ab2565b1515610ca557600080fd5b610cb0838383611aeb565b505050565b60066020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610d5c57600080fd5b919050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610dbd57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610df957600080fd5b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60046020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610f3b57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610f7757600080fd5b80600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b610fc3611eee565b6000610fcd611eee565b6000806000610fdb87610e3d565b9450600085141561100d576000604051805910610ff55750595b908082528060200260200182016040525095506110e8565b8460405180591061101b5750595b90808252806020026020018201604052509350611036610c5a565b925060009150600090505b82811115156110e4578673ffffffffffffffffffffffffffffffffffffffff166004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156110d7578084838151811015156110c057fe5b906020019060200201818152505081806001019250505b8080600101915050611041565b8395505b5050505050919050565b6110fa611eda565b6000806000600b8581548110151561110e57fe5b90600052602060002090019050806000018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111b35780601f10611188576101008083540402835291602001916111b3565b820191906000526020600020905b81548152906001019060200180831161119657829003601f168201915b50505050509350600760008681526020019081526020016000205492506004600086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150509193909250565b611216611eda565b6040805190810160405280600c81526020017f4174686c657465546f6b656e0000000000000000000000000000000000000000815250905090565b6040805190810160405280600e81526020017f43727970746f4174686c6574657300000000000000000000000000000000000081525081565b61129433826118cc565b151561129f57600080fd5b6112a882611ab2565b15156112b357600080fd5b6112be338383611aeb565b5050565b6000803391506004600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905061130782611ab2565b151561131257600080fd5b61131c8284611a46565b151561132757600080fd5b611332818385611aeb565b505050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060076000838152602001908152602001600020549050919050565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156113d857600080fd5b611388600a541015156113ea57600080fd5b839050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561144857600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505b6000821115156114585760005491505b600a60008154809291906001019190505550611475838284611ced565b50505050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156114d757600080fd5b6114e48130600054611ced565b50565b60008060008060006004600087815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169450339350600760008781526020019081526020016000205492508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415151561157957600080fd5b61158284611ab2565b151561158d57600080fd5b82341015151561159c57600080fd5b6115b16115aa84605e611e6b565b6064611ea6565b91506115bd3484611ec1565b90506001548310156115fa576115de6115d78460c8611e6b565b605e611ea6565b6007600088815260200190815260200160002081905550611663565b60025483101561163557611619611612846078611e6b565b605e611ea6565b6007600088815260200190815260200160002081905550611662565b61164a611643846073611e6b565b605e611ea6565b60076000888152602001908152602001600020819055505b5b61166e858588611aeb565b3073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415156116e4578473ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f1935050505015156116e357600080fd5b5b7e8201e7bcbf010c2c07de59d6e97cb7e3cf67a46125c49cbc89b9d2cde1f48f8684600760008a8152602001908152602001600020548888600b8c81548110151561172b57fe5b9060005260206000209001600001604051808781526020018681526020018581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018281038252838181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156118385780601f1061180d57610100808354040283529160200191611838565b820191906000526020600020905b81548152906001019060200180831161181b57829003601f168201915b505097505050505050505060405180910390a13373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050151561188b57600080fd5b505050505050565b6040805190810160405280600c81526020017f4174686c657465546f6b656e000000000000000000000000000000000000000081525081565b60006004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156119eb57600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f1935050505015156119e657600080fd5b611a43565b8073ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f193505050501515611a4257600080fd5b5b50565b60008273ffffffffffffffffffffffffffffffffffffffff166006600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001019190505550816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515611c4957600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001900391905055506006600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690555b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef838383604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390a1505050565b611cf5611f02565b60006020604051908101604052808681525091506001600b8054806001018281611d1f9190611f1c565b916000526020600020900160008590919091506000820151816000019080519060200190611d4e929190611f48565b5050500390508063ffffffff1681141515611d6857600080fd5b7fb3b0cf861f168bcdb275c69da97b2543631552ba562628aa3c7317d4a6089ef281868660405180848152602001806020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825284818151815260200191508051906020019080838360005b83811015611e04578082015181840152602081019050611de9565b50505050905090810190601f168015611e315780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a1826007600083815260200190815260200160002081905550611e6460008583611aeb565b5050505050565b6000806000841415611e805760009150611e9f565b8284029050828482811515611e9157fe5b04141515611e9b57fe5b8091505b5092915050565b6000808284811515611eb457fe5b0490508091505092915050565b6000828211151515611ecf57fe5b818303905092915050565b602060405190810160405280600081525090565b602060405190810160405280600081525090565b602060405190810160405280611f16611fc8565b81525090565b815481835581811511611f4357818360005260206000209182019101611f429190611fdc565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611f8957805160ff1916838001178555611fb7565b82800160010185558215611fb7579182015b82811115611fb6578251825591602001919060010190611f9b565b5b509050611fc4919061200b565b5090565b602060405190810160405280600081525090565b61200891905b808211156120045760008082016000611ffb9190612030565b50600101611fe2565b5090565b90565b61202d91905b80821115612029576000816000905550600101612011565b5090565b90565b50805460018160011615610100020316600290046000825580601f106120565750612075565b601f016020900490600052602060002090810190612074919061200b565b5b505600a165627a7a72305820c9d47c5281e3120046c611ffacef555466c99eab1360e9b15d31731ec7b12e520029

Swarm Source

bzzr://c9d47c5281e3120046c611ffacef555466c99eab1360e9b15d31731ec7b12e52

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.