Contract 0x5D0ee539893323f9965e3AC2846Ea6421255AE79 2

 
 
Txn Hash
Method
Block
From
To
Value
0x1bd9ff308532c3e0377df86b9c179cd7b54c6c18a443ef50fcf7457db5790a45Transfer151378372022-07-14 1:40:1035 days 20 hrs agoENS Name jpgvic.eth IN  Hiprecious Token0 Ether0.‍00100196 19.‍11384328
0x3940ef371efc22c609fd112a3e062c3a1db7a30b062f029b42e201ebed3b106cApprove151378252022-07-14 1:37:2535 days 20 hrs agoENS Name jpgvic.eth IN  Hiprecious Token0 Ether0.‍00051449 18.‍172991
0xd5af523eb2076a1f2831297ec5774d026c65f9534243461d5a142036a5c4c714Approve151378072022-07-14 1:33:2335 days 20 hrs agoENS Name jpgvic.eth IN  Hiprecious Token0 Ether0.‍00083972 17.‍41766204
0xf3d78ba620c8c3d6d2a449ee00511d0e525f9d8b7fecf05e7542e2be3626f6a1Approve148343972022-05-24 7:08:2986 days 15 hrs ago0x55611b747af18e27ba99c251377912fcd96ea656 IN  Hiprecious Token0 Ether0.‍00058292 12.‍08813673
0x0eba993db0375e74f8d66ec925324d52d5c4c7d82e443b894df9cb8045abf6acSet Approval For...146104112022-04-18 17:05:19122 days 5 hrs ago0xe72c6a66e83d642e0b1df3032a556d117cf09a2f IN  Hiprecious Token0 Ether0.‍00104568 46.‍99476898
0x391e2a3ed6918d4000a87400e302179b664b5ffab5b0de69b1cc6a761fde72a3Transfer145801752022-04-13 23:49:58126 days 22 hrs agoENS Name trezorchest.eth IN  Hiprecious Token0 Ether0.‍00233641 42.‍93223056
0x97c3b4a2ce2a09fa0e32e65c6b66f855482afb49251841ed1528122629935374Transfer145786712022-04-13 18:13:35127 days 4 hrs ago0xe72c6a66e83d642e0b1df3032a556d117cf09a2f IN  Hiprecious Token0 Ether0.‍0025969 45.‍39323197
0xd78219ca1d60f5081ee61f9885c02ee38f388c57f23d36eaba9ba05c04b77468Approve145403622022-04-07 18:35:06133 days 3 hrs ago0xe72c6a66e83d642e0b1df3032a556d117cf09a2f IN  Hiprecious Token0 Ether0.‍00150447 53.‍11864037
0x7d43661707cfec7355be6df25deef10963918027b80a49b7cb941189dddd452dApprove144453982022-03-23 22:58:48147 days 23 hrs ago0xe72c6a66e83d642e0b1df3032a556d117cf09a2f IN  Hiprecious Token0 Ether0.‍00213323 44.‍23677879
0x1f2adc8d0ac6dbd4a36134091d0ca8b6e6243d583694e91f07664ea2b812a9bcApprove144452852022-03-23 22:32:18147 days 23 hrs ago0xe72c6a66e83d642e0b1df3032a556d117cf09a2f IN  Hiprecious Token0 Ether0.‍00115709 40.‍85370973
0x1ad6ae70830f3b6fd09ab185a911fc36736c75e2d52b3317b3066b3bc09f2d08Approve144452802022-03-23 22:31:20147 days 23 hrs ago0xe72c6a66e83d642e0b1df3032a556d117cf09a2f IN  Hiprecious Token0 Ether0.‍00202853 42.‍06579801
0x5ab55a726298207e05022ba4f830b56dfd7a21dc407f3272090f4daa978f4cfcApprove144450822022-03-23 21:48:11148 days 26 mins ago0xe72c6a66e83d642e0b1df3032a556d117cf09a2f IN  Hiprecious Token0 Ether0.‍00187621 38.‍90702407
0xb0d62fe3acd4dd2d36a71a35be824bafe607da1da9512104bac57e9eea0ff8bbApprove141937952022-02-12 21:49:25187 days 25 mins ago0xf862c9413f2cc21ebfda534ecfa6df4f59f0b197 IN  Hiprecious Token0 Ether0.‍00235903 83.‍29028502
0x8fbc89a34587dd70f5b811b447d8716d781c2bf3d211ce6c230f8d6fedf1146cApprove136596982021-11-21 18:03:53270 days 4 hrs ago0x8fdc07cc76529566bbe2991401541df8b011db61 IN  Hiprecious Token0 Ether0.‍00329491 116.‍33357036
0x5f93bdaccd4ec3c3a57cd72c75933f46ffda0807323bfda7fb14eba8fb920f85Approve136594242021-11-21 17:04:17270 days 5 hrs ago0x8fdc07cc76529566bbe2991401541df8b011db61 IN  Hiprecious Token0 Ether0.‍00333463 107.‍14373092
0xbce8764215f34b64bb89a79b457a86c81356acf4f26ea277fea8d1d57018b4e5Approve132733692021-09-22 4:14:19330 days 18 hrs ago0xf862c9413f2cc21ebfda534ecfa6df4f59f0b197 IN  Hiprecious Token0 Ether0.‍00199085 70.‍29111687
0xf7c38301f5cf255974d31a3a0d33b78a42c37938827d23edd2e49b74c408ae9dApprove132733642021-09-22 4:11:57330 days 18 hrs ago0xf862c9413f2cc21ebfda534ecfa6df4f59f0b197 IN  Hiprecious Token0 Ether0.‍0016246 57.‍35987343
0xd20e241af9e19ebda0ed4c2763663b006a99981d61c715379bb7d9ae604573c3Approve132628792021-09-20 13:26:46332 days 8 hrs ago0xba8765802198e5c19f2ba8fe9b0da2b225927aaf IN  Hiprecious Token0 Ether0.‍00487052101
0xaf7706026ae3e9c898c5eb813e3178f6cd221fdd4ea9e263af81b7426c5e3e1fApprove132535462021-09-19 2:45:25333 days 19 hrs ago0x133d93566f9699b3af46fe150daa8a67a9563ed6 IN  Hiprecious Token0 Ether0.‍0030449 63.‍14214878
0x328887cc478e2b5bd6eae42dd282268928ba1c73c65cbcb3dc692edc88bad3d0Approve132469922021-09-18 2:18:57334 days 19 hrs ago0x93323af22f26612b9f9647beb43ddfbcb61b9216 IN  Hiprecious Token0 Ether0.‍0017390561.‍40074553
0x92ce52bdb6d059e9d0029244e549330006593412a05d377eedde01fb8957e00cApprove132469842021-09-18 2:17:02334 days 19 hrs ago0x93323af22f26612b9f9647beb43ddfbcb61b9216 IN  Hiprecious Token0 Ether0.‍0018586665.‍62393624
0x96a2378120027011a102f57d7cc827633f976d4a94f2644b05b757b5d7b03cdfApprove132469792021-09-18 2:15:19334 days 19 hrs ago0x93323af22f26612b9f9647beb43ddfbcb61b9216 IN  Hiprecious Token0 Ether0.‍0029938462.‍08334683
0xfe6a3712d83867734bead5e7b5b5e465eca92d24b5d9d21339231d80d60d6255Approve132345122021-09-16 4:06:32336 days 18 hrs ago0xf862c9413f2cc21ebfda534ecfa6df4f59f0b197 IN  Hiprecious Token0 Ether0.‍00160047 56.‍50778971
0x13afa948e5729490f2f2771b4dbe7b21ae32a9943d3dc3148aa5d6f9a1c8a810Approve132345002021-09-16 4:04:26336 days 18 hrs ago0xf862c9413f2cc21ebfda534ecfa6df4f59f0b197 IN  Hiprecious Token0 Ether0.‍00297707 61.‍73568379
0xe66d0b4bf2efdb82d2b3bcfa4eff4fdb0b3ddd25d4e524f41d9786a0ee943197Approve132344922021-09-16 4:02:21336 days 18 hrs ago0xf862c9413f2cc21ebfda534ecfa6df4f59f0b197 IN  Hiprecious Token0 Ether0.‍00302587 62.‍74748624
[ Download CSV Export 

OVERVIEW

NFTs issued on Ethereum since 2018, Hiprecious is paying tribute to Human cultural Heritage, History and to our beautiful World with a set of limited editions of hand crafted cards.

View more zero value Internal Transactions in Advanced View mode
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
HiPrecious

Compiler Version
v0.4.24-nightly.2018.4.26+commit.ef2111a2

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2018-05-16
*/

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 tokenUri(uint256 _tokenId) public view returns (string);
}


contract HiPrecious is ERC721 {

  /*** EVENTS ***/

  /// @dev The Birth event is fired whenever a new precious comes into existence.
  event Birth(uint256 tokenId, string name, address owner);

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

  /*** CONSTANTS ***/

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

  /*** STORAGE ***/

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

  // @dev A mapping from owner address to count of precious that address owns.
  //  Used internally inside balanceOf() to resolve ownership count.
  mapping (address => uint256) private ownershipPreciousCount;

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

  // Addresses of the main roles in HiPrecious.
  address public daVinciAddress; //CPO Product
  address public cresusAddress;  //CFO Finance
  
  
 function () public payable {} // Give the ability of receiving ether

  /*** DATATYPES ***/

  struct Precious {
    string name;  // Edition name like 'Monroe'
    uint256 number; //  Like 12 means #12 out of the edition.worldQuantity possible (here in the example 15)
    uint256 editionId;  // id to find the edition in which this precious Belongs to. Stored in allEditions[precious.editionId]
    uint256 collectionId; // id to find the collection in which this precious Belongs to. Stored in allCollections[precious.collectionId]
    string tokenURI;
  }

  struct Edition {
    uint256 id;
    string name; // Like 'Lee'
    uint256 worldQuantity; // The number of precious composing this edition (ex: if 15 then there will never be more precious in this edition)
    uint256[] preciousIds; // The list of precious ids which compose this edition.
    uint256 collectionId;
  }

  struct Collection {
    uint256 id;
    string name; // Like 'China'
    uint256[] editionIds; // The list of edition ids which compose this collection Ex: allEditions.get[editionIds[0]].name = 'Lee01'dawd'
  }

  Precious[] private allPreciouses;
  Edition[] private allEditions;
  Collection[] private allCollections;

  /*** ACCESS MODIFIERS ***/
  /// @dev Access modifier for CEO-only functionality
  modifier onlyDaVinci() {
    require(msg.sender == daVinciAddress);
    _;
  }

  /// @dev Access modifier for CFO-only functionality
  modifier onlyCresus() {
    require(msg.sender == cresusAddress);
    _;
  }

  /// Access modifier for contract owner only functionality
  modifier onlyCLevel() {
    require(msg.sender == daVinciAddress || msg.sender == cresusAddress);
    _;
  }

  /*** CONSTRUCTOR ***/
  function HiPrecious() public {
    daVinciAddress = msg.sender;
    cresusAddress = 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));

    preciousIndexToApproved[_tokenId] = _to;

    emit 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 ownershipPreciousCount[_owner];
  }

  /// @dev Creates a new Collection with the given name.
  function createContractCollection(string _name) public onlyDaVinci {
    _createCollection(_name);
  }

  /// @dev Creates a new Edition with the given name and worldQuantity which will never be overcome.
  function createContractEditionForCollection(string _name, uint256 _collectionId, uint256 _worldQuantity) public onlyDaVinci {
    _createEdition(_name, _collectionId, _worldQuantity);
  }
  
    /// @dev Creates a new Precious with the given name.
  function createContractPreciousForEdition(address _to, uint256 _editionId, string _tokenURI) public onlyDaVinci {
    _createPrecious(_to, _editionId, _tokenURI);
  }

  /// @notice Returns all the relevant information about a specific precious.
  /// @param _tokenId The tokenId of the precious of interest.
  function getPrecious(uint256 _tokenId) public view returns (
    string preciousName,
    uint256 number,
    uint256 editionId,
    uint256 collectionId,
    address owner
  ) {
    Precious storage precious = allPreciouses[_tokenId];
    preciousName = precious.name;
    number = precious.number;
    editionId = precious.editionId;
    collectionId = precious.collectionId;
    owner = preciousIndexToOwner[_tokenId];
  }

  /// @notice Returns all the relevant information about a specific edition.
  /// @param _editionId The tokenId of the edition of interest.
  function getEdition(uint256 _editionId) public view returns (
    uint256 id,
    string editionName,
    uint256 worldQuantity,
    uint256[] preciousIds
  ) {
    Edition storage edition = allEditions[_editionId-1];
    id = edition.id;
    editionName = edition.name;
    worldQuantity = edition.worldQuantity;
    preciousIds = edition.preciousIds;
  }

  /// @notice Returns all the relevant information about a specific collection.
  /// @param _collectionId The tokenId of the collection of interest.
  function getCollection(uint256 _collectionId) public view returns (
    uint256 id,
    string collectionName,
    uint256[] editionIds
  ) {
    Collection storage collection = allCollections[_collectionId-1];
    id = collection.id;
    collectionName = collection.name;
    editionIds = collection.editionIds;
  }


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

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

  /// @dev Assigns a new address to act as the CPO. Only available to the current CPO.
  /// @param _newDaVinci The address of the new CPO
  function setDaVinci(address _newDaVinci) public onlyDaVinci {
    require(_newDaVinci != address(0));

    daVinciAddress = _newDaVinci;
  }

  /// @dev Assigns a new address to act as the CFO. Only available to the current CFO.
  /// @param _newCresus The address of the new CFO
  function setCresus(address _newCresus) public onlyCresus {
    require(_newCresus != address(0));

    cresusAddress = _newCresus;
  }

  function tokenURI(uint256 _tokenId) public view returns (string){
      require(_tokenId<allPreciouses.length);
      return allPreciouses[_tokenId].tokenURI;
  }
  
  function setTokenURI(uint256 _tokenId, string newURI) public onlyDaVinci{
      require(_tokenId<allPreciouses.length);
      Precious storage precious = allPreciouses[_tokenId];
      precious.tokenURI = newURI;
  }

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

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

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

    _transfer(oldOwner, newOwner, _tokenId);
  }

  /// @param _owner The owner whose celebrity tokens we are interested in.
  /// @dev This method MUST NEVER be called by smart contract code. First, it's fairly
  ///  expensive (it walks the entire allPreciouses array looking for preciouses 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 totalPreciouses = totalSupply();
      uint256 resultIndex = 0;

      uint256 preciousId;
      for (preciousId = 0; preciousId <= totalPreciouses; preciousId++) {
        if (preciousIndexToOwner[preciousId] == _owner) {
          result[resultIndex] = preciousId;
          resultIndex++;
        }
      }
      return result;
    }
  }

  /// For querying totalSupply of preciouses
  /// @dev Required for ERC-721 compliance.
  function totalSupply() public view returns (uint256 total) {
    return allPreciouses.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 preciousIndexToApproved[_tokenId] == _to;
  }

  /// For creating Collections
  function _createCollection(string _name) private onlyDaVinci{
    uint256 newCollectionId = allCollections.length+1;
    uint256[] storage newEditionIds;
    Collection memory _collection = Collection({
      id: newCollectionId,
      name: _name,
      editionIds: newEditionIds
    });

    allCollections.push(_collection);
  }

  /// For creating Editions
  function _createEdition(string _name, uint256 _collectionId, uint256 _worldQuantity) private onlyDaVinci{
    Collection storage collection = allCollections[_collectionId-1]; //Would retrieve Bad instruction if not exist

    uint256 newEditionId = allEditions.length+1;
    uint256[] storage newPreciousIds;

    Edition memory _edition = Edition({
      id: newEditionId,
      name: _name,
      worldQuantity: _worldQuantity,
      preciousIds: newPreciousIds,
      collectionId: _collectionId
    });

    allEditions.push(_edition);
    collection.editionIds.push(newEditionId);
  }

  /// For creating Precious
  function _createPrecious(address _owner, uint256 _editionId, string _tokenURI) private onlyDaVinci{
    Edition storage edition = allEditions[_editionId-1]; //if _editionId doesn't exist in array, exits.
    
    //Check if we can still print precious for that specific edition
    require(edition.preciousIds.length < edition.worldQuantity);

    //string memory preciousName = edition.name + '_' + edition.preciousIds.length+1 + '/' + edition.worldQuantity; NOT DOABLE IN SOLIDITY

    Precious memory _precious = Precious({
      name: edition.name,
      number: edition.preciousIds.length+1,
      editionId: _editionId,
      collectionId: edition.collectionId,
      tokenURI: _tokenURI
    });

    uint256 newPreciousId = allPreciouses.push(_precious) - 1;
    edition.preciousIds.push(newPreciousId);

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

    emit Birth(newPreciousId, edition.name, _owner);

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

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

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

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

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

    // Emit the transfer event.
    emit 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":"cresusAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_tokenId","type":"uint256"}],"name":"approve","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":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":"_newCresus","type":"address"}],"name":"setCresus","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_tokenId","type":"uint256"},{"name":"newURI","type":"string"}],"name":"setTokenURI","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"total","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"preciousIndexToOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_editionId","type":"uint256"},{"name":"_tokenURI","type":"string"}],"name":"createContractPreciousForEdition","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_name","type":"string"},{"name":"_collectionId","type":"uint256"},{"name":"_worldQuantity","type":"uint256"}],"name":"createContractEditionForCollection","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newDaVinci","type":"address"}],"name":"setDaVinci","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_collectionId","type":"uint256"}],"name":"getCollection","outputs":[{"name":"id","type":"uint256"},{"name":"collectionName","type":"string"},{"name":"editionIds","type":"uint256[]"}],"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":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"getPrecious","outputs":[{"name":"preciousName","type":"string"},{"name":"number","type":"uint256"},{"name":"editionId","type":"uint256"},{"name":"collectionId","type":"uint256"},{"name":"owner","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_name","type":"string"}],"name":"createContractCollection","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":"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":true,"inputs":[{"name":"_editionId","type":"uint256"}],"name":"getEdition","outputs":[{"name":"id","type":"uint256"},{"name":"editionName","type":"string"},{"name":"worldQuantity","type":"uint256"},{"name":"preciousIds","type":"uint256[]"}],"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":"_tokenId","type":"uint256"}],"name":"tokenURI","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"daVinciAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"SYMBOL","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"preciousIndexToApproved","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"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":"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"}]

608060405234801561001057600080fd5b5033600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061290c806100a26000396000f30060806040526004361061016a576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806302c9e5371461016c57806306fdde03146101c3578063095ea7b3146102535780630b7e9c44146102a05780631051db34146102e357806315ab250d14610312578063162094c41461035557806318160ddd146103c85780631928a00a146103f357806323b872dd1461046057806330f12642146104cd57806337375a43146105605780633d5bb7f4146105dd5780635a1f3c28146106205780636352211e1461071557806370a0823114610782578063771feb74146107d9578063789e4e53146108c75780638462151c1461093057806395d89b41146109c8578063a3f4df7e14610a58578063a642c03214610ae8578063a9059cbb14610be4578063b2e6ceeb14610c31578063c87b56dd14610c5e578063c8dd64ea14610d04578063f76f8d7814610d5b578063fcdae9a014610deb575b005b34801561017857600080fd5b50610181610e58565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101cf57600080fd5b506101d8610e7e565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102185780820151818401526020810190506101fd565b50505050905090810190601f1680156102455780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561025f57600080fd5b5061029e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ebb565b005b3480156102ac57600080fd5b506102e1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f8b565b005b3480156102ef57600080fd5b506102f8610ff3565b604051808215151515815260200191505060405180910390f35b34801561031e57600080fd5b50610353600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ffc565b005b34801561036157600080fd5b506103c660048036038101908080359060200190929190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506110d8565b005b3480156103d457600080fd5b506103dd611186565b6040518082815260200191505060405180910390f35b3480156103ff57600080fd5b5061041e60048036038101908080359060200190929190505050611193565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561046c57600080fd5b506104cb600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506111c6565b005b3480156104d957600080fd5b5061055e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050611214565b005b34801561056c57600080fd5b506105db600480360381019080803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192908035906020019092919080359060200190929190505050611280565b005b3480156105e957600080fd5b5061061e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112ec565b005b34801561062c57600080fd5b5061064b600480360381019080803590602001909291905050506113c8565b604051808481526020018060200180602001838103835285818151815260200191508051906020019080838360005b8381101561069557808201518184015260208101905061067a565b50505050905090810190601f1680156106c25780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019060200280838360005b838110156106fe5780820151818401526020810190506106e3565b505050509050019550505050505060405180910390f35b34801561072157600080fd5b50610740600480360381019080803590602001909291905050506114f4565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561078e57600080fd5b506107c3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061156c565b6040518082815260200191505060405180910390f35b3480156107e557600080fd5b50610804600480360381019080803590602001909291905050506115b5565b60405180806020018681526020018581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825287818151815260200191508051906020019080838360005b8381101561088857808201518184015260208101905061086d565b50505050905090810190601f1680156108b55780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390f35b3480156108d357600080fd5b5061092e600480360381019080803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506116d1565b005b34801561093c57600080fd5b50610971600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611739565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156109b4578082015181840152602081019050610999565b505050509050019250505060405180910390f35b3480156109d457600080fd5b506109dd611885565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610a1d578082015181840152602081019050610a02565b50505050905090810190601f168015610a4a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610a6457600080fd5b50610a6d6118c2565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610aad578082015181840152602081019050610a92565b50505050905090810190601f168015610ada5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610af457600080fd5b50610b13600480360381019080803590602001909291905050506118fb565b604051808581526020018060200184815260200180602001838103835286818151815260200191508051906020019080838360005b83811015610b63578082015181840152602081019050610b48565b50505050905090810190601f168015610b905780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019060200280838360005b83811015610bcc578082015181840152602081019050610bb1565b50505050905001965050505050505060405180910390f35b348015610bf057600080fd5b50610c2f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611a31565b005b348015610c3d57600080fd5b50610c5c60048036038101908080359060200190929190505050611a69565b005b348015610c6a57600080fd5b50610c8960048036038101908080359060200190929190505050611add565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610cc9578082015181840152602081019050610cae565b50505050905090810190601f168015610cf65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610d1057600080fd5b50610d19611bb2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610d6757600080fd5b50610d70611bd8565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610db0578082015181840152602081019050610d95565b50505050905090810190601f168015610ddd5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610df757600080fd5b50610e1660048036038101908080359060200190929190505050611c11565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60606040805190810160405280600a81526020017f486950726563696f757300000000000000000000000000000000000000000000815250905090565b610ec53382611c44565b1515610ed057600080fd5b816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a35050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610fe757600080fd5b610ff081611caf565b50565b60006001905090565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561105857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561109457600080fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561113657600080fd5b6005805490508310151561114957600080fd5b60058381548110151561115857fe5b90600052602060002090600502019050818160040190805190602001906111809291906126ec565b50505050565b6000600580549050905090565b60006020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6111d08382611c44565b15156111db57600080fd5b6111e58282611dcb565b15156111f057600080fd5b6111f982611e37565b151561120457600080fd5b61120f838383611e70565b505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561127057600080fd5b61127b838383612071565b505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156112dc57600080fd5b6112e78383836123c3565b505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561134857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561138457600080fd5b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600060608060006007600186038154811015156113e157fe5b9060005260206000209060030201905080600001549350806001018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156114905780601f1061146557610100808354040283529160200191611490565b820191906000526020600020905b81548152906001019060200180831161147357829003601f168201915b50505050509250806002018054806020026020016040519081016040528092919081815260200182805480156114e557602002820191906000526020600020905b8154815260200190600101908083116114d1575b50505050509150509193909250565b600080600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561156757600080fd5b919050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060008060008060006005878154811015156115ce57fe5b90600052602060002090600502019050806000018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156116765780601f1061164b57610100808354040283529160200191611676565b820191906000526020600020905b81548152906001019060200180831161165957829003601f168201915b5050505050955080600101549450806002015493508060030154925060008088815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691505091939590929450565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561172d57600080fd5b61173681612592565b50565b606060006060600080600061174d8761156c565b945060008514156117905760006040519080825280602002602001820160405280156117885781602001602082028038833980820191505090505b50955061187b565b846040519080825280602002602001820160405280156117bf5781602001602082028038833980820191505090505b5093506117ca611186565b925060009150600090505b8281111515611877578673ffffffffffffffffffffffffffffffffffffffff1660008083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561186a5780848381518110151561185357fe5b906020019060200201818152505081806001019250505b80806001019150506117d5565b8395505b5050505050919050565b60606040805190810160405280600381526020017f4849500000000000000000000000000000000000000000000000000000000000815250905090565b6040805190810160405280600a81526020017f486950726563696f75730000000000000000000000000000000000000000000081525081565b6000606060006060600060066001870381548110151561191757fe5b9060005260206000209060050201905080600001549450806001018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156119c65780601f1061199b576101008083540402835291602001916119c6565b820191906000526020600020905b8154815290600101906020018083116119a957829003601f168201915b505050505093508060020154925080600301805480602002602001604051908101604052809291908181526020018280548015611a2257602002820191906000526020600020905b815481526020019060010190808311611a0e575b50505050509150509193509193565b611a3b3382611c44565b1515611a4657600080fd5b611a4f82611e37565b1515611a5a57600080fd5b611a65338383611e70565b5050565b60008033915060008084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050611aad82611e37565b1515611ab857600080fd5b611ac28284611dcb565b1515611acd57600080fd5b611ad8818385611e70565b505050565b606060058054905082101515611af257600080fd5b600582815481101515611b0157fe5b90600052602060002090600502016004018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611ba65780601f10611b7b57610100808354040283529160200191611ba6565b820191906000526020600020905b815481529060010190602001808311611b8957829003601f168201915b50505050509050919050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6040805190810160405280600381526020017f484950000000000000000000000000000000000000000000000000000000000081525081565b60026020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611d6957600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f19350505050158015611d63573d6000803e3d6000fd5b50611dc8565b8073ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f19350505050158015611dc6573d6000803e3d6000fd5b505b50565b60008273ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081548092919060010191905055508160008083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515611fcd57600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001900391905055506002600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690555b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef838383604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390a1505050565b600061207b61276c565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156120d957600080fd5b6006600186038154811015156120eb57fe5b906000526020600020906005020192508260020154836003018054905010151561211457600080fd5b60a060405190810160405280846001018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156121b85780601f1061218d576101008083540402835291602001916121b8565b820191906000526020600020905b81548152906001019060200180831161219b57829003601f168201915b505050505081526020016001856003018054905001815260200186815260200184600401548152602001858152509150600160058390806001815401808255809150509060018203906000526020600020906005020160009091929091909150600082015181600001908051906020019061223492919061279c565b50602082015181600101556040820151816002015560608201518160030155608082015181600401908051906020019061226f92919061279c565b505050039050826003018190806001815401808255809150509060018203906000526020600020016000909192909190915055508063ffffffff16811415156122b757600080fd5b7fb3b0cf861f168bcdb275c69da97b2543631552ba562628aa3c7317d4a6089ef281846001018860405180848152602001806020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182810382528481815460018160011615610100020316600290048152602001915080546001816001161561010002031660029004801561239f5780601f106123745761010080835404028352916020019161239f565b820191906000526020600020905b81548152906001019060200180831161238257829003601f168201915b505094505050505060405180910390a16123bb60008783611e70565b505050505050565b60008060006123d061281c565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561242c57600080fd5b60076001870381548110151561243e57fe5b90600052602060002090600302019350600160068054905001925060a060405190810160405280848152602001888152602001868152602001838054806020026020016040519081016040528092919081815260200182805480156124c257602002820191906000526020600020905b8154815260200190600101908083116124ae575b505050505081526020018781525090506006819080600181540180825580915050906001820390600052602060002090600502016000909192909190915060008201518160000155602082015181600101908051906020019061252692919061279c565b5060408201518160020155606082015181600301908051906020019061254d92919061284c565b50608082015181600401555050508360020183908060018154018082558091505090600182039060005260206000200160009091929091909150555050505050505050565b60008061259d612899565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156125f957600080fd5b60016007805490500192506060604051908101604052808481526020018581526020018380548060200260200160405190810160405280929190818152602001828054801561266757602002820191906000526020600020905b815481526020019060010190808311612653575b50505050508152509050600781908060018154018082558091505090600182039060005260206000209060030201600090919290919091506000820151816000015560208201518160010190805190602001906126c592919061279c565b5060408201518160020190805190602001906126e292919061284c565b5050505050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061272d57805160ff191683800117855561275b565b8280016001018555821561275b579182015b8281111561275a57825182559160200191906001019061273f565b5b50905061276891906128bb565b5090565b60a06040519081016040528060608152602001600081526020016000815260200160008152602001606081525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106127dd57805160ff191683800117855561280b565b8280016001018555821561280b579182015b8281111561280a5782518255916020019190600101906127ef565b5b50905061281891906128bb565b5090565b60a06040519081016040528060008152602001606081526020016000815260200160608152602001600081525090565b828054828255906000526020600020908101928215612888579160200282015b8281111561288757825182559160200191906001019061286c565b5b50905061289591906128bb565b5090565b6060604051908101604052806000815260200160608152602001606081525090565b6128dd91905b808211156128d95760008160009055506001016128c1565b5090565b905600a165627a7a723058206be75eb840b4e8535a9f481b49cd2c2d7a3620adc58ad1f8ba95018a23096b160029

Swarm Source

bzzr://6be75eb840b4e8535a9f481b49cd2c2d7a3620adc58ad1f8ba95018a23096b16
Block Transaction Difficulty Gas Used Reward
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.

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.