ETH Price: $1,852.36 (+1.23%)
Gas: 31 Gwei
 

Overview

ETH Balance

0.041418791925610413 ETH

Eth Value

$76.72 (@ $1,852.36/ETH)

Token Holdings

Multi Chain

Multichain Addresses

0 address found via
Transaction Hash
Method
Block
From
To
Value
Change Price134658982021-10-22 6:45:20594 days 15 hrs ago1634885120IN
0x99474b...7276B931
0 ETH0.0025298171.70073671
Change Price134658762021-10-22 6:39:25594 days 15 hrs ago1634884765IN
0x99474b...7276B931
0 ETH0.0021299960.5130638
Purchase134658362021-10-22 6:28:26594 days 15 hrs ago1634884106IN
0x99474b...7276B931
0.68237583 ETH0.004581565.47722571
Purchase134657882021-10-22 6:18:53594 days 15 hrs ago1634883533IN
0x99474b...7276B931
0.146 ETH0.0066123675.93177637
Purchase52805412018-03-19 1:42:011907 days 20 hrs ago1521423721IN
0x99474b...7276B931
0.0093308 ETH0.0002757612
Purchase52805412018-03-19 1:42:011907 days 20 hrs ago1521423721IN
0x99474b...7276B931
0.0093308 ETH0.0002757612
Purchase52805412018-03-19 1:42:011907 days 20 hrs ago1521423721IN
0x99474b...7276B931
0.0093308 ETH0.0002757612
Purchase52805412018-03-19 1:42:011907 days 20 hrs ago1521423721IN
0x99474b...7276B931
0.0093308 ETH0.0002757612
Purchase52805382018-03-19 1:41:201907 days 20 hrs ago1521423680IN
0x99474b...7276B931
0.00210526 ETH0.0002757612
Withdraw Balance52271302018-03-09 23:48:591916 days 22 hrs ago1520639339IN
0x99474b...7276B931
0 ETH0.0012296741
Change Price52028572018-03-05 20:46:331921 days 1 hr ago1520282793IN
0x99474b...7276B931
0 ETH0.000060482
Change Price52028412018-03-05 20:42:551921 days 1 hr ago1520282575IN
0x99474b...7276B931
0 ETH0.000060612
Change Price52025752018-03-05 19:43:161921 days 2 hrs ago1520278996IN
0x99474b...7276B931
0 ETH0.000121224
Change Price52025752018-03-05 19:43:161921 days 2 hrs ago1520278996IN
0x99474b...7276B931
0 ETH0.000151215
Change Price52025712018-03-05 19:42:211921 days 2 hrs ago1520278941IN
0x99474b...7276B931
0 ETH0.000151535
Purchase52011412018-03-05 13:55:541921 days 8 hrs ago1520258154IN
0x99474b...7276B931
0.172 ETH0.000555548
Change Price51976882018-03-04 23:48:391921 days 22 hrs ago1520207319IN
0x99474b...7276B931
0 ETH0.000120974
Change Price51976882018-03-04 23:48:391921 days 22 hrs ago1520207319IN
0x99474b...7276B931
0 ETH0.000120974
Change Price51952032018-03-04 13:40:301922 days 8 hrs ago1520170830IN
0x99474b...7276B931
0 ETH0.000121224
Change Price51952032018-03-04 13:40:301922 days 8 hrs ago1520170830IN
0x99474b...7276B931
0 ETH0.000151535
Change Price51951912018-03-04 13:38:161922 days 8 hrs ago1520170696IN
0x99474b...7276B931
0 ETH0.000151215
Change Price51951912018-03-04 13:38:161922 days 8 hrs ago1520170696IN
0x99474b...7276B931
0 ETH0.000151535
Change Price51944832018-03-04 10:42:461922 days 11 hrs ago1520160166IN
0x99474b...7276B931
0 ETH0.000120974
Change Price51938282018-03-04 8:08:531922 days 14 hrs ago1520150933IN
0x99474b...7276B931
0 ETH0.000121224
Change Price51938232018-03-04 8:06:491922 days 14 hrs ago1520150809IN
0x99474b...7276B931
0 ETH0.000121224
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Advanced Filter
Parent Txn Hash Block From To Value
134658362021-10-22 6:28:26594 days 15 hrs ago1634884106
0x99474b...7276B931
0.64825704 ETH
134657882021-10-22 6:18:53594 days 15 hrs ago1634883533
0x99474b...7276B931
0.1387 ETH
52271302018-03-09 23:48:591916 days 22 hrs ago1520639339
0x99474b...7276B931
2.38108186 ETH
52011412018-03-05 13:55:541921 days 8 hrs ago1520258154
0x99474b...7276B931
0.1634 ETH
51937922018-03-04 7:58:031922 days 14 hrs ago1520150283
0x99474b...7276B931
0.15105 ETH
51937902018-03-04 7:57:261922 days 14 hrs ago1520150246
0x99474b...7276B931
0.197125 ETH
51937892018-03-04 7:57:141922 days 14 hrs ago1520150234
0x99474b...7276B931
0.160835 ETH
51937812018-03-04 7:55:181922 days 14 hrs ago1520150118
0x99474b...7276B931
0.00004321 ETH
51937812018-03-04 7:55:181922 days 14 hrs ago1520150118
0x99474b...7276B931
0.15157894 ETH
51937782018-03-04 7:54:421922 days 14 hrs ago1520150082
0x99474b...7276B931
0.1425 ETH
51937762018-03-04 7:53:071922 days 14 hrs ago1520149987
0x99474b...7276B931
0.1425 ETH
51937752018-03-04 7:52:291922 days 14 hrs ago1520149949
0x99474b...7276B931
0.14155 ETH
51937622018-03-04 7:49:161922 days 14 hrs ago1520149756
0x99474b...7276B931
0.00004736 ETH
51937622018-03-04 7:49:161922 days 14 hrs ago1520149756
0x99474b...7276B931
0.16439999 ETH
51937502018-03-04 7:45:571922 days 14 hrs ago1520149557
0x99474b...7276B931
0.0000421 ETH
51937502018-03-04 7:45:571922 days 14 hrs ago1520149557
0x99474b...7276B931
0.19679999 ETH
51936962018-03-04 7:33:521922 days 14 hrs ago1520148832
0x99474b...7276B931
6 wei
51936962018-03-04 7:33:521922 days 14 hrs ago1520148832
0x99474b...7276B931
0.16799999 ETH
51936692018-03-04 7:27:281922 days 14 hrs ago1520148448
0x99474b...7276B931
0.00368421 ETH
51936692018-03-04 7:27:281922 days 14 hrs ago1520148448
0x99474b...7276B931
0.11999999 ETH
51936562018-03-04 7:24:351922 days 14 hrs ago1520148275
0x99474b...7276B931
0.133 ETH
51936132018-03-04 7:13:521922 days 14 hrs ago1520147632
0x99474b...7276B931
0.00002105 ETH
51936132018-03-04 7:13:521922 days 14 hrs ago1520147632
0x99474b...7276B931
0.16679999 ETH
51935972018-03-04 7:08:401922 days 15 hrs ago1520147320
0x99474b...7276B931
0.11999999 ETH
51935832018-03-04 7:05:171922 days 15 hrs ago1520147117
0x99474b...7276B931
0.095 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
CryptoLandmarks

Compiler Version
v0.4.19+commit.c4cbbb05

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

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

pragma solidity ^0.4.18;

contract AccessControl {
    address public owner;
    address[] public admins;

    modifier onlyOwner() {
        require(msg.sender == owner);
        _;
    }

    modifier onlyAdmins {
        bool found = false;

        for (uint i = 0; i < admins.length; i++) {
            if (admins[i] == msg.sender) {
                found = true;
                break;
            }
        }
        require(found);
        _;
    }

    function addAdmin(address _adminAddress) public onlyOwner {
        admins.push(_adminAddress);
    }

    function transferOwnership(address newOwner) public onlyOwner {
        if (newOwner != address(0)) {
            owner = newOwner;
        }
    }

}

contract ERC721 {
    // Required Functions
    function implementsERC721() public pure returns (bool);
    function totalSupply() public view returns (uint256);
    function balanceOf(address _owner) public view returns (uint256);
    function ownerOf(uint256 _tokenId) public view returns (address);
    function transfer(address _to, uint _tokenId) public;
    function approve(address _to, uint256 _tokenId) public;
    function transferFrom(address _from, address _to, uint256 _tokenId) public;

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

    // Required Events
    event Transfer(address indexed from, address indexed to, uint256 indexed tokenId);
    event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId);
}


contract CryptoLandmarks is AccessControl, ERC721 {
    // Event fired for every new landmark created
    event Creation(uint256 tokenId, string name, address owner);

    // Event fired whenever landmark is sold
    event Purchase(uint256 tokenId, uint256 oldPrice, uint256 newPrice, address prevOwner, address owner, uint256 charityId);

    // Event fired when price of landmark changes
    event PriceChange(uint256 tokenId, uint256 price);

    // Event fired when charities are modified
    event Charity(uint256 charityId, address charity);

    string public constant NAME = "Crypto Landmarks"; 
    string public constant SYMBOL = "LANDMARK"; 

    // Initial price of card
    uint256 private startingPrice = 0.001 ether;

    // Charities enabled in the future
    bool charityEnabled;

    // Landmark card
    struct Landmark {
        // unique name of landmark
        string name;

        // selling price
        uint256 price;

        // maximum price
        uint256 maxPrice;
    }

    Landmark[] public landmarks;

    address[] public charities;
    
    mapping (uint256 => address) public landmarkToOwner;
    mapping (address => uint256) public landmarkOwnershipCount;
    mapping (uint256 => address) public landmarkToApproved;

    function CryptoLandmarks() public {
        owner = msg.sender;
        admins.push(msg.sender);
        charityEnabled = false;
    }

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

    function totalSupply() public view returns (uint256) {
        return landmarks.length;
    }

    function balanceOf(address _owner) public view returns (uint256 balance) {
        return landmarkOwnershipCount[_owner];
    }
    function ownerOf(uint256 _tokenId) public view returns (address owner) {
        owner = landmarkToOwner[_tokenId];
        require(owner != address(0));
    }
    function transfer(address _to, uint256 _tokenId) public {
        require(_to != address(0));
        require(landmarkToOwner[_tokenId] == msg.sender);

        _transfer(msg.sender, _to, _tokenId);
    }
    function approve(address _to, uint256 _tokenId) public {
        require(landmarkToOwner[_tokenId] == msg.sender);
        landmarkToApproved[_tokenId] = _to;
        Approval(msg.sender, _to, _tokenId);
    }
    function transferFrom(address _from, address _to, uint256 _tokenId) public {
        require(landmarkToApproved[_tokenId] == _to);
        require(_to != address(0));
        require(landmarkToOwner[_tokenId] == _from);

        _transfer(_from, _to, _tokenId);
    }
    function name() public pure returns (string) {
        return NAME;
    }
    function symbol() public pure returns (string) {
        return SYMBOL;
    }

    function addCharity(address _charity) public onlyAdmins {
        require(_charity != address(0));

        uint256 newCharityId = charities.push(_charity) - 1;

        // emit charity event
        Charity(newCharityId, _charity);
    }

    function deleteCharity(uint256 _charityId) public onlyAdmins {
        delete charities[_charityId];

        // emit charity event
        Charity(_charityId, address(0));
    }

    function getCharity(uint256 _charityId) public view returns (address) {
        return charities[_charityId];
    }

    function createLandmark(string _name, address _owner, uint256 _price) public onlyAdmins {
        if (_price <= 0) {
            _price = startingPrice;
        }
        
        Landmark memory _landmark = Landmark({
            name: _name,
            price: _price,
            maxPrice: _price
        });
        uint256 newLandmarkId = landmarks.push(_landmark) - 1;

        Creation(newLandmarkId, _name, _owner);

        _transfer(address(0), _owner, newLandmarkId);


    }

    function getLandmark(uint256 _tokenId) public view returns (
        string landmarkName,
        uint256 sellingPrice,
        uint256 maxPrice,
        address owner
    ) {
        Landmark storage landmark = landmarks[_tokenId];
        landmarkName = landmark.name;
        sellingPrice = landmark.price;
        maxPrice = landmark.maxPrice;
        owner = landmarkToOwner[_tokenId];
    }

    function purchase(uint256 _tokenId, uint256 _charityId) public payable {
        // seller
        address oldOwner = landmarkToOwner[_tokenId];
        // current price
        uint sellingPrice = landmarks[_tokenId].price;
        // buyer
        address newOwner = msg.sender;
        
        
        require(oldOwner != newOwner);
        require(newOwner != address(0));
        require(msg.value >= sellingPrice);

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

        if (charityEnabled == true) {
            
            // address of choosen charity
            address charity = charities[_charityId];

            // check if charity address is not null
            require(charity != address(0));
            
            // 1% of selling price
            uint256 donate = uint256(SafeMath.div(SafeMath.mul(sellingPrice, 1), 100));

            // transfer money to charity
            charity.transfer(donate);
            
        }

        uint priceIncrease = 120;

        // price doubles below 32 finney
        if (sellingPrice <= 32 finney) {
            priceIncrease = 200;
        }

        // set new price
        landmarks[_tokenId].price = SafeMath.div(SafeMath.mul(sellingPrice, priceIncrease), 95);
        
        // set maximum price
        landmarks[_tokenId].maxPrice = SafeMath.div(SafeMath.mul(sellingPrice, priceIncrease), 95);

        // transfer card to buyer
        _transfer(oldOwner, newOwner, _tokenId);

        // transfer money to seller
        if (oldOwner != address(this)) {
            oldOwner.transfer(payment);
        }

        // emit event that landamrk was sold;
        Purchase(_tokenId, sellingPrice, landmarks[_tokenId].price, oldOwner, newOwner, _charityId);
        

        // transfer excess back to buyer
        newOwner.transfer(excess);
    }

    // owner can change price
    function changePrice(uint256 _tokenId, uint256 _price) public {
        // only owner can change price
        require(landmarkToOwner[_tokenId] == msg.sender);

        // price cannot be higher than maximum price
        require(landmarks[_tokenId].maxPrice >= _price);

        // set new price
        landmarks[_tokenId].price = _price;
        
        // emit event
        PriceChange(_tokenId, _price);
    }

    function priceOfLandmark(uint256 _tokenId) public view returns (uint256) {
        return landmarks[_tokenId].price;
    }

    function tokensOfOwner(address _owner) public view returns(uint256[]) {
        uint256 tokenCount = balanceOf(_owner);

        uint256[] memory result = new uint256[](tokenCount);
        uint256 total = totalSupply();
        uint256 resultIndex = 0;

        for(uint256 i = 0; i <= total; i++) {
            if (landmarkToOwner[i] == _owner) {
                result[resultIndex] = i;
                resultIndex++;
            }
        }
        return result;
    }


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

        if (_from != address(0)) {
            landmarkOwnershipCount[_from]--;
            delete landmarkToApproved[_tokenId];
        }
        Transfer(_from, _to, _tokenId);
    }

    function enableCharity() external onlyOwner {
        require(!charityEnabled);
        charityEnabled = true;
    }

    function disableCharity() external onlyOwner {
        require(charityEnabled);
        charityEnabled = false;
    }

    function withdrawBalance() external onlyOwner {
        owner.transfer(this.balance);
    }

}


/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 */
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":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_tokenId","type":"uint256"}],"name":"approve","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"implementsERC721","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"admins","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"landmarkToApproved","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","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":"landmarks","outputs":[{"name":"name","type":"string"},{"name":"price","type":"uint256"},{"name":"maxPrice","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"withdrawBalance","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"name":"owner","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_adminAddress","type":"address"}],"name":"addAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_tokenId","type":"uint256"},{"name":"_charityId","type":"uint256"}],"name":"purchase","outputs":[],"payable":true,"stateMutability":"payable","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":"address"}],"name":"landmarkOwnershipCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_charity","type":"address"}],"name":"addCharity","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"disableCharity","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"tokensOfOwner","outputs":[{"name":"","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_name","type":"string"},{"name":"_owner","type":"address"},{"name":"_price","type":"uint256"}],"name":"createLandmark","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"priceOfLandmark","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","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":"enableCharity","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_tokenId","type":"uint256"},{"name":"_price","type":"uint256"}],"name":"changePrice","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"getLandmark","outputs":[{"name":"landmarkName","type":"string"},{"name":"sellingPrice","type":"uint256"},{"name":"maxPrice","type":"uint256"},{"name":"owner","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_charityId","type":"uint256"}],"name":"deleteCharity","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"landmarkToOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"SYMBOL","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"charities","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_charityId","type":"uint256"}],"name":"getCharity","outputs":[{"name":"","type":"address"}],"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":"Creation","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":"owner","type":"address"},{"indexed":false,"name":"charityId","type":"uint256"}],"name":"Purchase","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"tokenId","type":"uint256"},{"indexed":false,"name":"price","type":"uint256"}],"name":"PriceChange","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"charityId","type":"uint256"},{"indexed":false,"name":"charity","type":"address"}],"name":"Charity","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":true,"name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"approved","type":"address"},{"indexed":true,"name":"tokenId","type":"uint256"}],"name":"Approval","type":"event"}]

606060405266038d7ea4c6800060025534156200001b57600080fd5b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060018054806001018281620000719190620000e1565b9160005260206000209001600033909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506000600360006101000a81548160ff02191690831515021790555062000138565b8154818355818115116200010b578183600052602060002091820191016200010a919062000110565b5b505050565b6200013591905b808211156200013157600081600090555060010162000117565b5090565b90565b61279480620001486000396000f300606060405260043610610196576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde031461019b578063095ea7b3146102295780631051db341461026b57806314bfd6d014610298578063161593a3146102fb57806318160ddd1461035e57806323b872dd146103875780632d43573d146103e85780635fd8c710146104af5780636352211e146104c4578063704802751461052757806370876c981461056057806370a082311461058157806373545d44146105ce57806378b14f0a1461061b5780637d534aa0146106545780638462151c146106695780638da5cb5b146106f7578063909544831461074c57806395d89b41146107d15780639c66fe001461085f578063a3f4df7e14610896578063a9059cbb14610924578063ab21d58a14610966578063b3de019c1461097b578063bfa5f1f7146109a7578063cdb532b914610a84578063d666465314610aa7578063f2fde38b14610b0a578063f76f8d7814610b43578063fb709d2e14610bd1578063fd67db8114610c34575b600080fd5b34156101a657600080fd5b6101ae610c97565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101ee5780820151818401526020810190506101d3565b50505050905090810190601f16801561021b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561023457600080fd5b610269600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610cda565b005b341561027657600080fd5b61027e610df8565b604051808215151515815260200191505060405180910390f35b34156102a357600080fd5b6102b96004808035906020019091905050610e01565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561030657600080fd5b61031c6004808035906020019091905050610e40565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561036957600080fd5b610371610e73565b6040518082815260200191505060405180910390f35b341561039257600080fd5b6103e6600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610e80565b005b34156103f357600080fd5b6104096004808035906020019091905050610fa6565b604051808060200184815260200183815260200182810382528581815460018160011615610100020316600290048152602001915080546001816001161561010002031660029004801561049e5780601f106104735761010080835404028352916020019161049e565b820191906000526020600020905b81548152906001019060200180831161048157829003601f168201915b505094505050505060405180910390f35b34156104ba57600080fd5b6104c2610fde565b005b34156104cf57600080fd5b6104e560048080359060200190919050506110b3565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561053257600080fd5b61055e600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061112c565b005b61057f60048080359060200190919080359060200190919050506111ed565b005b341561058c57600080fd5b6105b8600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611618565b6040518082815260200191505060405180910390f35b34156105d957600080fd5b610605600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611661565b6040518082815260200191505060405180910390f35b341561062657600080fd5b610652600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611679565b005b341561065f57600080fd5b610667611837565b005b341561067457600080fd5b6106a0600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506118ca565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156106e35780820151818401526020810190506106c8565b505050509050019250505060405180910390f35b341561070257600080fd5b61070a6119d0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561075757600080fd5b6107cf600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506119f5565b005b34156107dc57600080fd5b6107e4611c24565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610824578082015181840152602081019050610809565b50505050905090810190601f1680156108515780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561086a57600080fd5b6108806004808035906020019091905050611c67565b6040518082815260200191505060405180910390f35b34156108a157600080fd5b6108a9611c91565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156108e95780820151818401526020810190506108ce565b50505050905090810190601f1680156109165780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561092f57600080fd5b610964600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611cca565b005b341561097157600080fd5b610979611d82565b005b341561098657600080fd5b6109a56004808035906020019091908035906020019091905050611e16565b005b34156109b257600080fd5b6109c86004808035906020019091905050611f1a565b60405180806020018581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825286818151815260200191508051906020019080838360005b83811015610a46578082015181840152602081019050610a2b565b50505050905090810190601f168015610a735780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b3415610a8f57600080fd5b610aa56004808035906020019091905050612032565b005b3415610ab257600080fd5b610ac86004808035906020019091905050612189565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610b1557600080fd5b610b41600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506121bc565b005b3415610b4e57600080fd5b610b56612291565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610b96578082015181840152602081019050610b7b565b50505050905090810190601f168015610bc35780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3415610bdc57600080fd5b610bf260048080359060200190919050506122ca565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610c3f57600080fd5b610c556004808035906020019091905050612309565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610c9f61257a565b6040805190810160405280601081526020017f43727970746f204c616e646d61726b7300000000000000000000000000000000815250905090565b3373ffffffffffffffffffffffffffffffffffffffff166006600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515610d4757600080fd5b816008600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60006001905090565b600181815481101515610e1057fe5b90600052602060002090016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60086020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600480549050905090565b8173ffffffffffffffffffffffffffffffffffffffff166008600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515610eed57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515610f2957600080fd5b8273ffffffffffffffffffffffffffffffffffffffff166006600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515610f9657600080fd5b610fa183838361234d565b505050565b600481815481101515610fb557fe5b906000526020600020906003020160009150905080600001908060010154908060020154905083565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561103957600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f1935050505015156110b157600080fd5b565b60006006600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561112757600080fd5b919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561118757600080fd5b6001805480600101828161119b919061258e565b9160005260206000209001600083909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b600080600080600080600080600660008b815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16975060048a81548110151561123e57fe5b90600052602060002090600302016001015496503395508573ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff161415151561129057600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16141515156112cc57600080fd5b8634101515156112db57600080fd5b6112f06112e988605f61250b565b6064612546565b94506112fc3488612561565b935060011515600360009054906101000a900460ff16151514156113eb5760058981548110151561132957fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169250600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561139357600080fd5b6113a86113a188600161250b565b6064612546565b91508273ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f1935050505015156113ea57600080fd5b5b607890506671afd498d00000871115156114045760c890505b611418611411888361250b565b605f612546565b60048b81548110151561142757fe5b906000526020600020906003020160010181905550611450611449888361250b565b605f612546565b60048b81548110151561145f57fe5b90600052602060002090600302016002018190555061147f88878c61234d565b3073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff161415156114f5578773ffffffffffffffffffffffffffffffffffffffff166108fc869081150290604051600060405180830381858888f1935050505015156114f457600080fd5b5b7f1fe2ee8e4451abcf96271da847481cfe5aa92580b2a2e89aef0a523c9654c31d8a8860048d81548110151561152757fe5b9060005260206000209060030201600101548b8a8e604051808781526020018681526020018581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001965050505050505060405180910390a18573ffffffffffffffffffffffffffffffffffffffff166108fc859081150290604051600060405180830381858888f19350505050151561160c57600080fd5b50505050505050505050565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60076020528060005260406000206000915090505481565b6000806000809150600090505b600180549050811015611717573373ffffffffffffffffffffffffffffffffffffffff166001828154811015156116b957fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561170a5760019150611717565b8080600101915050611686565b81151561172357600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415151561175f57600080fd5b600160058054806001018281611775919061258e565b9160005260206000209001600087909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055500392507fdbcf6cb4a0e88eb9d5c92b77ed99c7a0372bcd05d876763305c8b23d5a128b0e8385604051808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a150505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561189257600080fd5b600360009054906101000a900460ff1615156118ad57600080fd5b6000600360006101000a81548160ff021916908315150217905550565b6118d26125ba565b60006118dc6125ba565b60008060006118ea87611618565b9450846040518059106118fa5750595b90808252806020026020018201604052509350611915610e73565b925060009150600090505b82811115156119c3578673ffffffffffffffffffffffffffffffffffffffff166006600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156119b65780848381518110151561199f57fe5b906020019060200201818152505081806001019250505b8080600101915050611920565b8395505050505050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6119fd6125ce565b6000806000809150600090505b600180549050811015611a9b573373ffffffffffffffffffffffffffffffffffffffff16600182815481101515611a3d57fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611a8e5760019150611a9b565b8080600101915050611a0a565b811515611aa757600080fd5b600085111515611ab75760025494505b606060405190810160405280888152602001868152602001868152509350600160048054806001018281611aeb91906125f6565b916000526020600020906003020160008790919091506000820151816000019080519060200190611b1d929190612628565b50602082015181600101556040820151816002015550500392507fa987f9da3d7de01ffe86f9d4630ff93856b021b747bfc83589e5c459795643fb83888860405180848152602001806020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825284818151815260200191508051906020019080838360005b83811015611bd3578082015181840152602081019050611bb8565b50505050905090810190601f168015611c005780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a1611c1b6000878561234d565b50505050505050565b611c2c61257a565b6040805190810160405280600881526020017f4c414e444d41524b000000000000000000000000000000000000000000000000815250905090565b6000600482815481101515611c7857fe5b9060005260206000209060030201600101549050919050565b6040805190810160405280601081526020017f43727970746f204c616e646d61726b730000000000000000000000000000000081525081565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515611d0657600080fd5b3373ffffffffffffffffffffffffffffffffffffffff166006600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515611d7357600080fd5b611d7e33838361234d565b5050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611ddd57600080fd5b600360009054906101000a900460ff16151515611df957600080fd5b6001600360006101000a81548160ff021916908315150217905550565b3373ffffffffffffffffffffffffffffffffffffffff166006600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515611e8357600080fd5b80600483815481101515611e9357fe5b90600052602060002090600302016002015410151515611eb257600080fd5b80600483815481101515611ec257fe5b9060005260206000209060030201600101819055507ffe6b606ca0477592b5740a0eb00c8e91570a5d0eb736abfa1a6309bd081b4a4d8282604051808381526020018281526020019250505060405180910390a15050565b611f2261257a565b600080600080600486815481101515611f3757fe5b90600052602060002090600302019050806000018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611fdf5780601f10611fb457610100808354040283529160200191611fdf565b820191906000526020600020905b815481529060010190602001808311611fc257829003601f168201915b5050505050945080600101549350806002015492506006600087815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150509193509193565b60008060009150600090505b6001805490508110156120cf573373ffffffffffffffffffffffffffffffffffffffff1660018281548110151561207157fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156120c257600191506120cf565b808060010191505061203e565b8115156120db57600080fd5b6005838154811015156120ea57fe5b906000526020600020900160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690557fdbcf6cb4a0e88eb9d5c92b77ed99c7a0372bcd05d876763305c8b23d5a128b0e836000604051808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a1505050565b60066020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561221757600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151561228e57806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b6040805190810160405280600881526020017f4c414e444d41524b00000000000000000000000000000000000000000000000081525081565b6005818154811015156122d957fe5b90600052602060002090016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060058281548110151561231a57fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001019190505550816006600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415156124ab57600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001900391905055506008600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690555b808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b6000806000841415612520576000915061253f565b828402905082848281151561253157fe5b0414151561253b57fe5b8091505b5092915050565b600080828481151561255457fe5b0490508091505092915050565b600082821115151561256f57fe5b818303905092915050565b602060405190810160405280600081525090565b8154818355818115116125b5578183600052602060002091820191016125b491906126a8565b5b505050565b602060405190810160405280600081525090565b6060604051908101604052806125e26126cd565b815260200160008152602001600081525090565b8154818355818115116126235760030281600302836000526020600020918201910161262291906126e1565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061266957805160ff1916838001178555612697565b82800160010185558215612697579182015b8281111561269657825182559160200191906001019061267b565b5b5090506126a491906126a8565b5090565b6126ca91905b808211156126c65760008160009055506001016126ae565b5090565b90565b602060405190810160405280600081525090565b61271d91905b8082111561271957600080820160006127009190612720565b60018201600090556002820160009055506003016126e7565b5090565b90565b50805460018160011615610100020316600290046000825580601f106127465750612765565b601f01602090049060005260206000209081019061276491906126a8565b5b505600a165627a7a72305820dae25c0ca3d7f1a1049dfff10cb7767181de773f5960ce05b5a4c94a65da46500029

Swarm Source

bzzr://dae25c0ca3d7f1a1049dfff10cb7767181de773f5960ce05b5a4c94a65da4650

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.

Validator Index Block Amount
View All Withdrawals

Txn Hash Block Value Eth2 PubKey Valid
View All Deposits
[ 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.