ETH Price: $2,372.27 (-4.01%)

Contract

0xF07D979303c50a8632848cb154C6b30980218C07
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

Transaction Hash
Method
Block
From
To
Transfer56391422018-05-19 6:29:462328 days ago1526711386IN
0xF07D9793...980218C07
0 ETH0.0005230210.1
Approve56246592018-05-16 17:21:382331 days ago1526491298IN
0xF07D9793...980218C07
0 ETH0.0005192111
Transfer56152782018-05-15 1:34:222332 days ago1526348062IN
0xF07D9793...980218C07
0 ETH0.000206884
Transfer56003882018-05-12 11:04:172335 days ago1526123057IN
0xF07D9793...980218C07
0 ETH0.000362047
Transfer56003882018-05-12 11:04:172335 days ago1526123057IN
0xF07D9793...980218C07
0 ETH0.000362047
Transfer56003882018-05-12 11:04:172335 days ago1526123057IN
0xF07D9793...980218C07
0 ETH0.000362047
Transfer56003882018-05-12 11:04:172335 days ago1526123057IN
0xF07D9793...980218C07
0 ETH0.000362047
Transfer56003882018-05-12 11:04:172335 days ago1526123057IN
0xF07D9793...980218C07
0 ETH0.000361597
Transfer56003882018-05-12 11:04:172335 days ago1526123057IN
0xF07D9793...980218C07
0 ETH0.000362047
Transfer56003882018-05-12 11:04:172335 days ago1526123057IN
0xF07D9793...980218C07
0 ETH0.000362047
Transfer56003872018-05-12 11:04:132335 days ago1526123053IN
0xF07D9793...980218C07
0 ETH0.00025865
Transfer56003782018-05-12 11:02:292335 days ago1526122949IN
0xF07D9793...980218C07
0 ETH0.00025865
Transfer56003662018-05-12 10:59:532335 days ago1526122793IN
0xF07D9793...980218C07
0 ETH0.00025865
Transfer56003642018-05-12 10:59:292335 days ago1526122769IN
0xF07D9793...980218C07
0 ETH0.00025865
Transfer56003012018-05-12 10:43:032335 days ago1526121783IN
0xF07D9793...980218C07
0 ETH0.00025865
Transfer56002352018-05-12 10:24:082335 days ago1526120648IN
0xF07D9793...980218C07
0 ETH0.000258285
Transfer56000482018-05-12 9:33:542335 days ago1526117634IN
0xF07D9793...980218C07
0 ETH0.00025865
Transfer56000402018-05-12 9:31:562335 days ago1526117516IN
0xF07D9793...980218C07
0 ETH0.00025865
Transfer56000102018-05-12 9:25:312335 days ago1526117131IN
0xF07D9793...980218C07
0 ETH0.00025865
Transfer55979852018-05-12 0:57:132335 days ago1526086633IN
0xF07D9793...980218C07
0 ETH0.000206884
Transfer55979842018-05-12 0:56:572335 days ago1526086617IN
0xF07D9793...980218C07
0 ETH0.000206884
Transfer55979832018-05-12 0:56:492335 days ago1526086609IN
0xF07D9793...980218C07
0 ETH0.000206884
Transfer55979832018-05-12 0:56:492335 days ago1526086609IN
0xF07D9793...980218C07
0 ETH0.000146884
Transfer55979812018-05-12 0:56:182335 days ago1526086578IN
0xF07D9793...980218C07
0 ETH0.000155163
Approve55764632018-05-08 6:37:492339 days ago1525761469IN
0xF07D9793...980218C07
0 ETH0.000135453
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
PXLProperty

Compiler Version
v0.4.23+commit.124ca40d

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

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

pragma solidity ^0.4.2;

// ERC20 Token Interface
contract Token {
    uint256 public totalSupply;
    function balanceOf(address _owner) public constant returns (uint256 balance);
    function transfer(address _to, uint256 _value) public returns (bool success);
    function transferFrom(address _from, address _to, uint256 _value) public returns (bool success);
    function approve(address _spender, uint256 _value) public returns (bool success);
    function allowance(address _owner, address _spender) public constant returns (uint256 remaining);
    event Transfer(address indexed _from, address indexed _to, uint256 _value);
    event Approval(address indexed _owner, address indexed _spender, uint256 _value);
}

// ERC20 Token Implementation
contract StandardToken is Token {
    function transfer(address _to, uint256 _value) public returns (bool success) {
      if (balances[msg.sender] >= _value && _value > 0) {
        balances[msg.sender] -= _value;
        balances[_to] += _value;
        Transfer(msg.sender, _to, _value);
        return true;
      } else {
        return false;
      }
    }

    function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {
      if (balances[_from] >= _value && allowed[_from][msg.sender] >= _value && _value > 0) {
        balances[_to] += _value;
        balances[_from] -= _value;
        allowed[_from][msg.sender] -= _value;
        Transfer(_from, _to, _value);
        return true;
      } else {
        return false;
      }
    }

    function balanceOf(address _owner) public constant returns (uint256 balance) {
        return balances[_owner];
    }

    function approve(address _spender, uint256 _value) public returns (bool success) {
        allowed[msg.sender][_spender] = _value;
        Approval(msg.sender, _spender, _value);
        return true;
    }

    function allowance(address _owner, address _spender) public constant returns (uint256 remaining) {
      return allowed[_owner][_spender];
    }

    mapping (address => uint256) balances;
    mapping (address => mapping (address => uint256)) allowed;
}

/*
    PXLProperty is the ERC20 Cryptocurrency & Cryptocollectable
    * It is a StandardToken ERC20 token and inherits all of that
    * It has the Property structure and holds the Properties
    * It governs the regulators (moderators, admins, root, Property DApps and PixelProperty)
    * It has getters and setts for all data storage
    * It selectively allows access to PXL and Properties based on caller access
    
    Moderation is handled inside PXLProperty, not by external DApps. It's up to other apps to respect the flags, however
*/
contract PXLProperty is StandardToken {
    /* Access Level Constants */
    uint8 constant LEVEL_1_MODERATOR = 1;    // 1: Level 1 Moderator - nsfw-flagging power
    uint8 constant LEVEL_2_MODERATOR = 2;    // 2: Level 2 Moderator - ban power + [1]
    uint8 constant LEVEL_1_ADMIN = 3;        // 3: Level 1 Admin - Can manage moderator levels + [1,2]
    uint8 constant LEVEL_2_ADMIN = 4;        // 4: Level 2 Admin - Can manage admin level 1 levels + [1-3]
    uint8 constant LEVEL_1_ROOT = 5;         // 5: Level 1 Root - Can set property DApps level [1-4]
    uint8 constant LEVEL_2_ROOT = 6;         // 6: Level 2 Root - Can set pixelPropertyContract level [1-5]
    uint8 constant LEVEL_3_ROOT = 7;         // 7: Level 3 Root - Can demote/remove root, transfer root, [1-6]
    uint8 constant LEVEL_PROPERTY_DAPPS = 8; // 8: Property DApps - Power over manipulating Property data
    uint8 constant LEVEL_PIXEL_PROPERTY = 9; // 9: PixelProperty - Power over PXL generation & Property ownership
    /* Flags Constants */
    uint8 constant FLAG_NSFW = 1;
    uint8 constant FLAG_BAN = 2;
    
    /* Accesser Addresses & Levels */
    address pixelPropertyContract; // Only contract that has control over PXL creation and Property ownership
    mapping (address => uint8) public regulators; // Mapping of users/contracts to their control levels
    
    // Mapping of PropertyID to Property
    mapping (uint16 => Property) public properties;
    // Property Owner's website
    mapping (address => uint256[2]) public ownerWebsite;
    // Property Owner's hover text
    mapping (address => uint256[2]) public ownerHoverText;
    
    /* ### Ownable Property Structure ### */
    struct Property {
        uint8 flag;
        bool isInPrivateMode; //Whether in private mode for owner-only use or free-use mode to be shared
        address owner; //Who owns the Property. If its zero (0), then no owner and known as a "system-Property"
        address lastUpdater; //Who last changed the color of the Property
        uint256[5] colors; //10x10 rgb pixel colors per property. colors[0] is the top row, colors[9] is the bottom row
        uint256 salePrice; //PXL price the owner has the Property on sale for. If zero, then its not for sale.
        uint256 lastUpdate; //Timestamp of when it had its color last updated
        uint256 becomePublic; //Timestamp on when to become public
        uint256 earnUntil; //Timestamp on when Property token generation will stop
    }
    
    /* ### Regulation Access Modifiers ### */
    modifier regulatorAccess(uint8 accessLevel) {
        require(accessLevel <= LEVEL_3_ROOT); // Only request moderator, admin or root levels forr regulatorAccess
        require(regulators[msg.sender] >= accessLevel); // Users must meet requirement
        if (accessLevel >= LEVEL_1_ADMIN) { //
            require(regulators[msg.sender] <= LEVEL_3_ROOT); //DApps can't do Admin/Root stuff, but can set nsfw/ban flags
        }
        _;
    }
    
    modifier propertyDAppAccess() {
        require(regulators[msg.sender] == LEVEL_PROPERTY_DAPPS || regulators[msg.sender] == LEVEL_PIXEL_PROPERTY );
        _;
    }
    
    modifier pixelPropertyAccess() {
        require(regulators[msg.sender] == LEVEL_PIXEL_PROPERTY);
        _;
    }
    
    /* ### Constructor ### */
    function PXLProperty() public {
        regulators[msg.sender] = LEVEL_3_ROOT; // Creator set to Level 3 Root
    }
    
    /* ### Moderator, Admin & Root Functions ### */
    // Moderator Flags
    function setPropertyFlag(uint16 propertyID, uint8 flag) public regulatorAccess(flag == FLAG_NSFW ? LEVEL_1_MODERATOR : LEVEL_2_MODERATOR) {
        properties[propertyID].flag = flag;
        if (flag == FLAG_BAN) {
            require(properties[propertyID].isInPrivateMode); //Can't ban an owner's property if a public user caused the NSFW content
            properties[propertyID].colors = [0, 0, 0, 0, 0];
        }
    }
    
    // Setting moderator/admin/root access
    function setRegulatorAccessLevel(address user, uint8 accessLevel) public regulatorAccess(LEVEL_1_ADMIN) {
        if (msg.sender != user) {
            require(regulators[msg.sender] > regulators[user]); // You have to be a higher rank than the user you are changing
        }
        require(regulators[msg.sender] > accessLevel); // You have to be a higher rank than the role you are setting
        regulators[user] = accessLevel;
    }
    
    function setPixelPropertyContract(address newPixelPropertyContract) public regulatorAccess(LEVEL_2_ROOT) {
        require(newPixelPropertyContract != 0);
        if (pixelPropertyContract != 0) {
            regulators[pixelPropertyContract] = 0; //If we already have a pixelPropertyContract, revoke its ownership
        }
        
        pixelPropertyContract = newPixelPropertyContract;
        regulators[newPixelPropertyContract] = LEVEL_PIXEL_PROPERTY;
    }
    
    function setPropertyDAppContract(address propertyDAppContract, bool giveAccess) public regulatorAccess(LEVEL_1_ROOT) {
        require(propertyDAppContract != 0);
        regulators[propertyDAppContract] = giveAccess ? LEVEL_PROPERTY_DAPPS : 0;
    }
    
    /* ### PropertyDapp Functions ### */
    function setPropertyColors(uint16 propertyID, uint256[5] colors) public propertyDAppAccess() {
        for(uint256 i = 0; i < 5; i++) {
            if (properties[propertyID].colors[i] != colors[i]) {
                properties[propertyID].colors[i] = colors[i];
            }
        }
    }
    
    function setPropertyRowColor(uint16 propertyID, uint8 row, uint256 rowColor) public propertyDAppAccess() {
        if (properties[propertyID].colors[row] != rowColor) {
            properties[propertyID].colors[row] = rowColor;
        }
    }
    
    function setOwnerHoverText(address textOwner, uint256[2] hoverText) public propertyDAppAccess() {
        require (textOwner != 0);
        ownerHoverText[textOwner] = hoverText;
    }
    
    function setOwnerLink(address websiteOwner, uint256[2] website) public propertyDAppAccess() {
        require (websiteOwner != 0);
        ownerWebsite[websiteOwner] = website;
    }
    
    /* ### PixelProperty Property Functions ### */
    function setPropertyPrivateMode(uint16 propertyID, bool isInPrivateMode) public pixelPropertyAccess() {
        if (properties[propertyID].isInPrivateMode != isInPrivateMode) {
            properties[propertyID].isInPrivateMode = isInPrivateMode;
        }
    }
    
    function setPropertyOwner(uint16 propertyID, address propertyOwner) public pixelPropertyAccess() {
        if (properties[propertyID].owner != propertyOwner) {
            properties[propertyID].owner = propertyOwner;
        }
    }
    
    function setPropertyLastUpdater(uint16 propertyID, address lastUpdater) public pixelPropertyAccess() {
        if (properties[propertyID].lastUpdater != lastUpdater) {
            properties[propertyID].lastUpdater = lastUpdater;
        }
    }
    
    function setPropertySalePrice(uint16 propertyID, uint256 salePrice) public pixelPropertyAccess() {
        if (properties[propertyID].salePrice != salePrice) {
            properties[propertyID].salePrice = salePrice;
        }
    }
    
    function setPropertyLastUpdate(uint16 propertyID, uint256 lastUpdate) public pixelPropertyAccess() {
        properties[propertyID].lastUpdate = lastUpdate;
    }
    
    function setPropertyBecomePublic(uint16 propertyID, uint256 becomePublic) public pixelPropertyAccess() {
        properties[propertyID].becomePublic = becomePublic;
    }
    
    function setPropertyEarnUntil(uint16 propertyID, uint256 earnUntil) public pixelPropertyAccess() {
        properties[propertyID].earnUntil = earnUntil;
    }
    
    function setPropertyPrivateModeEarnUntilLastUpdateBecomePublic(uint16 propertyID, bool privateMode, uint256 earnUntil, uint256 lastUpdate, uint256 becomePublic) public pixelPropertyAccess() {
        if (properties[propertyID].isInPrivateMode != privateMode) {
            properties[propertyID].isInPrivateMode = privateMode;
        }
        properties[propertyID].earnUntil = earnUntil;
        properties[propertyID].lastUpdate = lastUpdate;
        properties[propertyID].becomePublic = becomePublic;
    }
    
    function setPropertyLastUpdaterLastUpdate(uint16 propertyID, address lastUpdater, uint256 lastUpdate) public pixelPropertyAccess() {
        if (properties[propertyID].lastUpdater != lastUpdater) {
            properties[propertyID].lastUpdater = lastUpdater;
        }
        properties[propertyID].lastUpdate = lastUpdate;
    }
    
    function setPropertyBecomePublicEarnUntil(uint16 propertyID, uint256 becomePublic, uint256 earnUntil) public pixelPropertyAccess() {
        properties[propertyID].becomePublic = becomePublic;
        properties[propertyID].earnUntil = earnUntil;
    }
    
    function setPropertyOwnerSalePricePrivateModeFlag(uint16 propertyID, address owner, uint256 salePrice, bool privateMode, uint8 flag) public pixelPropertyAccess() {
        if (properties[propertyID].owner != owner) {
            properties[propertyID].owner = owner;
        }
        if (properties[propertyID].salePrice != salePrice) {
            properties[propertyID].salePrice = salePrice;
        }
        if (properties[propertyID].isInPrivateMode != privateMode) {
            properties[propertyID].isInPrivateMode = privateMode;
        }
        if (properties[propertyID].flag != flag) {
            properties[propertyID].flag = flag;
        }
    }
    
    function setPropertyOwnerSalePrice(uint16 propertyID, address owner, uint256 salePrice) public pixelPropertyAccess() {
        if (properties[propertyID].owner != owner) {
            properties[propertyID].owner = owner;
        }
        if (properties[propertyID].salePrice != salePrice) {
            properties[propertyID].salePrice = salePrice;
        }
    }
    
    /* ### PixelProperty PXL Functions ### */
    function rewardPXL(address rewardedUser, uint256 amount) public pixelPropertyAccess() {
        require(rewardedUser != 0);
        balances[rewardedUser] += amount;
        totalSupply += amount;
    }
    
    function burnPXL(address burningUser, uint256 amount) public pixelPropertyAccess() {
        require(burningUser != 0);
        require(balances[burningUser] >= amount);
        balances[burningUser] -= amount;
        totalSupply -= amount;
    }
    
    function burnPXLRewardPXL(address burner, uint256 toBurn, address rewarder, uint256 toReward) public pixelPropertyAccess() {
        require(balances[burner] >= toBurn);
        if (toBurn > 0) {
            balances[burner] -= toBurn;
            totalSupply -= toBurn;
        }
        if (rewarder != 0) {
            balances[rewarder] += toReward;
            totalSupply += toReward;
        }
    } 
    
    function burnPXLRewardPXLx2(address burner, uint256 toBurn, address rewarder1, uint256 toReward1, address rewarder2, uint256 toReward2) public pixelPropertyAccess() {
        require(balances[burner] >= toBurn);
        if (toBurn > 0) {
            balances[burner] -= toBurn;
            totalSupply -= toBurn;
        }
        if (rewarder1 != 0) {
            balances[rewarder1] += toReward1;
            totalSupply += toReward1;
        }
        if (rewarder2 != 0) {
            balances[rewarder2] += toReward2;
            totalSupply += toReward2;
        }
    } 
    
    /* ### All Getters/Views ### */
    function getOwnerHoverText(address user) public view returns(uint256[2]) {
        return ownerHoverText[user];
    }
    
    function getOwnerLink(address user) public view returns(uint256[2]) {
        return ownerWebsite[user];
    }
    
    function getPropertyFlag(uint16 propertyID) public view returns(uint8) {
        return properties[propertyID].flag;
    }
    
    function getPropertyPrivateMode(uint16 propertyID) public view returns(bool) {
        return properties[propertyID].isInPrivateMode;
    }
    
    function getPropertyOwner(uint16 propertyID) public view returns(address) {
        return properties[propertyID].owner;
    }
    
    function getPropertyLastUpdater(uint16 propertyID) public view returns(address) {
        return properties[propertyID].lastUpdater;
    }
    
    function getPropertyColors(uint16 propertyID) public view returns(uint256[5]) {
        return properties[propertyID].colors;
    }

    function getPropertyColorsOfRow(uint16 propertyID, uint8 rowIndex) public view returns(uint256) {
        require(rowIndex <= 9);
        return properties[propertyID].colors[rowIndex];
    }
    
    function getPropertySalePrice(uint16 propertyID) public view returns(uint256) {
        return properties[propertyID].salePrice;
    }
    
    function getPropertyLastUpdate(uint16 propertyID) public view returns(uint256) {
        return properties[propertyID].lastUpdate;
    }
    
    function getPropertyBecomePublic(uint16 propertyID) public view returns(uint256) {
        return properties[propertyID].becomePublic;
    }
    
    function getPropertyEarnUntil(uint16 propertyID) public view returns(uint256) {
        return properties[propertyID].earnUntil;
    }
    
    function getRegulatorLevel(address user) public view returns(uint8) {
        return regulators[user];
    }
    
    // Gets the (owners address, Ethereum sale price, PXL sale price, last update timestamp, whether its in private mode or not, when it becomes public timestamp, flag) for a Property
    function getPropertyData(uint16 propertyID, uint256 systemSalePriceETH, uint256 systemSalePricePXL) public view returns(address, uint256, uint256, uint256, bool, uint256, uint8) {
        Property memory property = properties[propertyID];
        bool isInPrivateMode = property.isInPrivateMode;
        //If it's in private, but it has expired and should be public, set our bool to be public
        if (isInPrivateMode && property.becomePublic <= now) { 
            isInPrivateMode = false;
        }
        if (properties[propertyID].owner == 0) {
            return (0, systemSalePriceETH, systemSalePricePXL, property.lastUpdate, isInPrivateMode, property.becomePublic, property.flag);
        } else {
            return (property.owner, 0, property.salePrice, property.lastUpdate, isInPrivateMode, property.becomePublic, property.flag);
        }
    }
    
    function getPropertyPrivateModeBecomePublic(uint16 propertyID) public view returns (bool, uint256) {
        return (properties[propertyID].isInPrivateMode, properties[propertyID].becomePublic);
    }
    
    function getPropertyLastUpdaterBecomePublic(uint16 propertyID) public view returns (address, uint256) {
        return (properties[propertyID].lastUpdater, properties[propertyID].becomePublic);
    }
    
    function getPropertyOwnerSalePrice(uint16 propertyID) public view returns (address, uint256) {
        return (properties[propertyID].owner, properties[propertyID].salePrice);
    }
    
    function getPropertyPrivateModeLastUpdateEarnUntil(uint16 propertyID) public view returns (bool, uint256, uint256) {
        return (properties[propertyID].isInPrivateMode, properties[propertyID].lastUpdate, properties[propertyID].earnUntil);
    }
}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"burner","type":"address"},{"name":"toBurn","type":"uint256"},{"name":"rewarder1","type":"address"},{"name":"toReward1","type":"uint256"},{"name":"rewarder2","type":"address"},{"name":"toReward2","type":"uint256"}],"name":"burnPXLRewardPXLx2","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"propertyID","type":"uint16"},{"name":"lastUpdater","type":"address"},{"name":"lastUpdate","type":"uint256"}],"name":"setPropertyLastUpdaterLastUpdate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"propertyDAppContract","type":"address"},{"name":"giveAccess","type":"bool"}],"name":"setPropertyDAppContract","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"propertyID","type":"uint16"},{"name":"earnUntil","type":"uint256"}],"name":"setPropertyEarnUntil","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"propertyID","type":"uint16"}],"name":"getPropertySalePrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"propertyID","type":"uint16"}],"name":"getPropertyPrivateModeLastUpdateEarnUntil","outputs":[{"name":"","type":"bool"},{"name":"","type":"uint256"},{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"propertyID","type":"uint16"}],"name":"getPropertyLastUpdate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"rewardedUser","type":"address"},{"name":"amount","type":"uint256"}],"name":"rewardPXL","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"burner","type":"address"},{"name":"toBurn","type":"uint256"},{"name":"rewarder","type":"address"},{"name":"toReward","type":"uint256"}],"name":"burnPXLRewardPXL","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"propertyID","type":"uint16"}],"name":"getPropertyOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"propertyID","type":"uint16"}],"name":"getPropertyPrivateMode","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"propertyID","type":"uint16"},{"name":"row","type":"uint8"},{"name":"rowColor","type":"uint256"}],"name":"setPropertyRowColor","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"propertyID","type":"uint16"},{"name":"lastUpdate","type":"uint256"}],"name":"setPropertyLastUpdate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"propertyID","type":"uint16"},{"name":"owner","type":"address"},{"name":"salePrice","type":"uint256"}],"name":"setPropertyOwnerSalePrice","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"propertyID","type":"uint16"},{"name":"isInPrivateMode","type":"bool"}],"name":"setPropertyPrivateMode","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"textOwner","type":"address"},{"name":"hoverText","type":"uint256[2]"}],"name":"setOwnerHoverText","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"propertyID","type":"uint16"}],"name":"getPropertyLastUpdaterBecomePublic","outputs":[{"name":"","type":"address"},{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint16"}],"name":"properties","outputs":[{"name":"flag","type":"uint8"},{"name":"isInPrivateMode","type":"bool"},{"name":"owner","type":"address"},{"name":"lastUpdater","type":"address"},{"name":"salePrice","type":"uint256"},{"name":"lastUpdate","type":"uint256"},{"name":"becomePublic","type":"uint256"},{"name":"earnUntil","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"propertyID","type":"uint16"},{"name":"salePrice","type":"uint256"}],"name":"setPropertySalePrice","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"websiteOwner","type":"address"},{"name":"website","type":"uint256[2]"}],"name":"setOwnerLink","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"regulators","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"propertyID","type":"uint16"},{"name":"privateMode","type":"bool"},{"name":"earnUntil","type":"uint256"},{"name":"lastUpdate","type":"uint256"},{"name":"becomePublic","type":"uint256"}],"name":"setPropertyPrivateModeEarnUntilLastUpdateBecomePublic","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"user","type":"address"}],"name":"getOwnerHoverText","outputs":[{"name":"","type":"uint256[2]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"propertyID","type":"uint16"},{"name":"flag","type":"uint8"}],"name":"setPropertyFlag","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"user","type":"address"},{"name":"accessLevel","type":"uint8"}],"name":"setRegulatorAccessLevel","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"propertyID","type":"uint16"}],"name":"getPropertyFlag","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"propertyID","type":"uint16"}],"name":"getPropertyEarnUntil","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"propertyID","type":"uint16"}],"name":"getPropertyPrivateModeBecomePublic","outputs":[{"name":"","type":"bool"},{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"propertyID","type":"uint16"},{"name":"becomePublic","type":"uint256"}],"name":"setPropertyBecomePublic","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"propertyID","type":"uint16"},{"name":"systemSalePriceETH","type":"uint256"},{"name":"systemSalePricePXL","type":"uint256"}],"name":"getPropertyData","outputs":[{"name":"","type":"address"},{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"bool"},{"name":"","type":"uint256"},{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"propertyID","type":"uint16"},{"name":"owner","type":"address"},{"name":"salePrice","type":"uint256"},{"name":"privateMode","type":"bool"},{"name":"flag","type":"uint8"}],"name":"setPropertyOwnerSalePricePrivateModeFlag","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"propertyID","type":"uint16"}],"name":"getPropertyLastUpdater","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"user","type":"address"}],"name":"getRegulatorLevel","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"propertyID","type":"uint16"},{"name":"lastUpdater","type":"address"}],"name":"setPropertyLastUpdater","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"propertyID","type":"uint16"},{"name":"becomePublic","type":"uint256"},{"name":"earnUntil","type":"uint256"}],"name":"setPropertyBecomePublicEarnUntil","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"propertyID","type":"uint16"},{"name":"rowIndex","type":"uint8"}],"name":"getPropertyColorsOfRow","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newPixelPropertyContract","type":"address"}],"name":"setPixelPropertyContract","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"propertyID","type":"uint16"}],"name":"getPropertyOwnerSalePrice","outputs":[{"name":"","type":"address"},{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"propertyID","type":"uint16"},{"name":"propertyOwner","type":"address"}],"name":"setPropertyOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"uint256"}],"name":"ownerWebsite","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"propertyID","type":"uint16"}],"name":"getPropertyColors","outputs":[{"name":"","type":"uint256[5]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"propertyID","type":"uint16"},{"name":"colors","type":"uint256[5]"}],"name":"setPropertyColors","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"user","type":"address"}],"name":"getOwnerLink","outputs":[{"name":"","type":"uint256[2]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"burningUser","type":"address"},{"name":"amount","type":"uint256"}],"name":"burnPXL","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"uint256"}],"name":"ownerHoverText","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"propertyID","type":"uint16"}],"name":"getPropertyBecomePublic","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":true,"name":"_spender","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Approval","type":"event"}]

608060405234801561001057600080fd5b50600160a060020a0333166000908152600460205260409020805460ff191660071790556123c9806100436000396000f3006080604052600436106102715763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663095ea7b38114610276578063121c2b35146102ae57806315f59033146102e8578063165140521461031357806317e0aeb81461033957806318160ddd146103585780631bbc79521461037f5780631f12da061461039b57806323b11bb1146103d757806323b872dd146103f357806326728b141461041d5780632a396734146104415780632ccaa3e91461046f57806337c74948146104a75780633953ca8b146104c3578063411b65ef146104e857806345ede900146105075780634b1ec20c14610532578063606bc9a51461055357806363a6568f1461059f57806369a4c4e7146105de5780636d87b65c1461064b5780636fcdcb3e1461066a57806370a08231146106b65780637dfb86a0146106d7578063886b148d1461070e5780638b9997fd146107385780638d1066901461079457806395f47e4e146107b657806398864aaf146107dd57806399b29044146107f9578063a9059cbb14610815578063ab383a6b14610839578063b4cc218114610870578063b7b1e3cc1461088f578063b9e58ab0146108f8578063ba8c0c9d1461092e578063bbfa61531461094a578063c19358bb1461096b578063c575200d14610993578063c7ff2086146109b5578063c839008e146109d7578063cf09e820146109f8578063d5c98db114610a14578063dd62ed3e14610a3c578063e1c230dd14610a63578063e86994ea14610a87578063eb39bc9014610ab8578063f23a8aa614610b02578063f6f8ca0714610b23578063f785074614610b47578063fc9ede6514610b6b575b600080fd5b34801561028257600080fd5b5061029a600160a060020a0360043516602435610b87565b604080519115158252519081900360200190f35b3480156102ba57600080fd5b506102e6600160a060020a0360043581169060243590604435811690606435906084351660a435610bf2565b005b3480156102f457600080fd5b506102e661ffff60043516600160a060020a0360243516604435610cdf565b34801561031f57600080fd5b506102e6600160a060020a03600435166024351515610d8b565b34801561034557600080fd5b506102e661ffff60043516602435610e40565b34801561036457600080fd5b5061036d610e82565b60408051918252519081900360200190f35b34801561038b57600080fd5b5061036d61ffff60043516610e88565b3480156103a757600080fd5b506103b761ffff60043516610ea1565b604080519315158452602084019290925282820152519081900360600190f35b3480156103e357600080fd5b5061036d61ffff60043516610ecc565b3480156103ff57600080fd5b5061029a600160a060020a0360043581169060243516604435610ee5565b34801561042957600080fd5b506102e6600160a060020a0360043516602435610fd8565b34801561044d57600080fd5b506102e6600160a060020a03600435811690602435906044351660643561103d565b34801561047b57600080fd5b5061048b61ffff600435166110f4565b60408051600160a060020a039092168252519081900360200190f35b3480156104b357600080fd5b5061029a61ffff60043516611119565b3480156104cf57600080fd5b506102e661ffff6004351660ff60243516604435611137565b3480156104f457600080fd5b506102e661ffff600435166024356111f4565b34801561051357600080fd5b506102e661ffff60043516600160a060020a0360243516604435611236565b34801561053e57600080fd5b506102e661ffff600435166024351515611306565b34801561055f57600080fd5b506040805180820182526102e69160048035600160a060020a03169236926064919060249060029083908390808284375093965061137e95505050505050565b3480156105ab57600080fd5b506105bb61ffff60043516611407565b60408051600160a060020a03909316835260208301919091528051918290030190f35b3480156105ea57600080fd5b506105fa61ffff60043516611432565b6040805160ff90991689529615156020890152600160a060020a0395861688880152939094166060870152608086019190915260a085015260c084019190915260e083015251908190036101000190f35b34801561065757600080fd5b506102e661ffff60043516602435611484565b34801561067657600080fd5b506040805180820182526102e69160048035600160a060020a0316923692606491906024906002908390839080828437509396506114e495505050505050565b3480156106c257600080fd5b5061036d600160a060020a036004351661156d565b3480156106e357600080fd5b506106f8600160a060020a0360043516611588565b6040805160ff9092168252519081900360200190f35b34801561071a57600080fd5b506102e661ffff60043516602435151560443560643560843561159d565b34801561074457600080fd5b50610759600160a060020a036004351661163c565b6040518082600260200280838360005b83811015610781578181015183820152602001610769565b5050505090500191505060405180910390f35b3480156107a057600080fd5b506102e661ffff6004351660ff6024351661168d565b3480156107c257600080fd5b506102e6600160a060020a036004351660ff602435166117b1565b3480156107e957600080fd5b506106f861ffff600435166118ba565b34801561080557600080fd5b5061036d61ffff600435166118d3565b34801561082157600080fd5b5061029a600160a060020a03600435166024356118ec565b34801561084557600080fd5b5061085561ffff60043516611990565b60408051921515835260208301919091528051918290030190f35b34801561087c57600080fd5b506102e661ffff600435166024356119b6565b34801561089b57600080fd5b506108b161ffff600435166024356044356119f8565b60408051600160a060020a03909816885260208801969096528686019490945260608601929092521515608085015260a084015260ff1660c0830152519081900360e00190f35b34801561090457600080fd5b506102e661ffff60043516600160a060020a0360243516604435606435151560ff60843516611b72565b34801561093a57600080fd5b5061048b61ffff60043516611cd2565b34801561095657600080fd5b506106f8600160a060020a0360043516611cf4565b34801561097757600080fd5b506102e661ffff60043516600160a060020a0360243516611d12565b34801561099f57600080fd5b506102e661ffff60043516602435604435611da5565b3480156109c157600080fd5b5061036d61ffff6004351660ff60243516611def565b3480156109e357600080fd5b506102e6600160a060020a0360043516611e32565b348015610a0457600080fd5b506105bb61ffff60043516611f24565b348015610a2057600080fd5b506102e661ffff60043516600160a060020a0360243516611f51565b348015610a4857600080fd5b5061036d600160a060020a0360043581169060243516611feb565b348015610a6f57600080fd5b5061036d600160a060020a0360043516602435612016565b348015610a9357600080fd5b50610aa361ffff60043516612038565b60405181518152808260a08083836020610769565b348015610ac457600080fd5b506040805160a08082019092526102e6916004803561ffff1692369260c4919060249060059083908390808284375093965061208995505050505050565b348015610b0e57600080fd5b50610759600160a060020a0360043516612170565b348015610b2f57600080fd5b506102e6600160a060020a03600435166024356121c4565b348015610b5357600080fd5b5061036d600160a060020a0360043516602435612250565b348015610b7757600080fd5b5061036d61ffff60043516612269565b600160a060020a03338116600081815260026020908152604080832094871680845294825280832086905580518681529051929493927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060015b92915050565b600160a060020a03331660009081526004602052604090205460ff16600914610c1a57600080fd5b600160a060020a038616600090815260016020526040902054851115610c3f57600080fd5b6000851115610c6f57600160a060020a038616600090815260016020526040812080548790039055805486900390555b600160a060020a03841615610ca357600160a060020a03841660009081526001602052604081208054850190558054840190555b600160a060020a03821615610cd757600160a060020a03821660009081526001602052604081208054830190558054820190555b505050505050565b600160a060020a03331660009081526004602052604090205460ff16600914610d0757600080fd5b61ffff8316600090815260056020526040902060010154600160a060020a03838116911614610d6d5761ffff83166000908152600560205260409020600101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0384161790555b61ffff90921660009081526005602052604090206008019190915550565b33600160a060020a031660009081526004602052604090205460059060ff16811115610db657600080fd5b600360ff821610610dec5733600160a060020a0316600090815260046020526040902054600760ff9091161115610dec57600080fd5b600160a060020a0383161515610e0157600080fd5b81610e0d576000610e10565b60085b600160a060020a03939093166000908152600460205260409020805460ff191660ff909416939093179092555050565b600160a060020a03331660009081526004602052604090205460ff16600914610e6857600080fd5b61ffff9091166000908152600560205260409020600a0155565b60005481565b61ffff1660009081526005602052604090206007015490565b61ffff16600090815260056020526040902080546008820154600a9092015461010090910460ff1692565b61ffff1660009081526005602052604090206008015490565b600160a060020a0383166000908152600160205260408120548211801590610f335750600160a060020a03808516600090815260026020908152604080832033909416835292905220548211155b8015610f3f5750600082115b15610fcd57600160a060020a03808416600081815260016020908152604080832080548801905588851680845281842080548990039055600283528184203390961684529482529182902080548790039055815186815291519293927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a3506001610fd1565b5060005b9392505050565b600160a060020a03331660009081526004602052604090205460ff1660091461100057600080fd5b600160a060020a038216151561101557600080fd5b600160a060020a03909116600090815260016020526040812080548301905580549091019055565b600160a060020a03331660009081526004602052604090205460ff1660091461106557600080fd5b600160a060020a03841660009081526001602052604090205483111561108a57600080fd5b60008311156110ba57600160a060020a038416600090815260016020526040812080548590039055805484900390555b600160a060020a038216156110ee57600160a060020a03821660009081526001602052604081208054830190558054820190555b50505050565b61ffff16600090815260056020526040902054620100009004600160a060020a031690565b61ffff16600090815260056020526040902054610100900460ff1690565b600160a060020a03331660009081526004602052604090205460ff166008148061117c5750600160a060020a03331660009081526004602052604090205460ff166009145b151561118757600080fd5b80600560008561ffff1661ffff1681526020019081526020016000206002018360ff166005811015156111b657fe5b0154146111ef5780600560008561ffff1661ffff1681526020019081526020016000206002018360ff166005811015156111ec57fe5b01555b505050565b600160a060020a03331660009081526004602052604090205460ff1660091461121c57600080fd5b61ffff909116600090815260056020526040902060080155565b600160a060020a03331660009081526004602052604090205460ff1660091461125e57600080fd5b61ffff8316600090815260056020526040902054600160a060020a038381166201000090920416146112cb5761ffff83166000908152600560205260409020805475ffffffffffffffffffffffffffffffffffffffff0000191662010000600160a060020a038516021790555b61ffff831660009081526005602052604090206007015481146111ef5761ffff83166000908152600560205260409020600701819055505050565b600160a060020a03331660009081526004602052604090205460ff1660091461132e57600080fd5b61ffff821660009081526005602052604090205460ff6101009091041615158115151461137a5761ffff82166000908152600560205260409020805461ff001916610100831515021790555b5050565b600160a060020a03331660009081526004602052604090205460ff16600814806113c35750600160a060020a03331660009081526004602052604090205460ff166009145b15156113ce57600080fd5b600160a060020a03821615156113e357600080fd5b600160a060020a03821660009081526007602052604090206111ef90826002612282565b61ffff1660009081526005602052604090206001810154600990910154600160a060020a0390911691565b600560205260009081526040902080546001820154600783015460088401546009850154600a9095015460ff80861696610100870490911695600160a060020a03620100009091048116951693929188565b600160a060020a03331660009081526004602052604090205460ff166009146114ac57600080fd5b61ffff8216600090815260056020526040902060070154811461137a5761ffff91909116600090815260056020526040902060070155565b600160a060020a03331660009081526004602052604090205460ff16600814806115295750600160a060020a03331660009081526004602052604090205460ff166009145b151561153457600080fd5b600160a060020a038216151561154957600080fd5b600160a060020a03821660009081526006602052604090206111ef90826002612282565b600160a060020a031660009081526001602052604090205490565b60046020526000908152604090205460ff1681565b600160a060020a03331660009081526004602052604090205460ff166009146115c557600080fd5b61ffff851660009081526005602052604090205460ff610100909104161515841515146116115761ffff85166000908152600560205260409020805461ff001916610100861515021790555b61ffff9094166000908152600560205260409020600a81019290925560088201556009019190915550565b6116446122c0565b600160a060020a038216600090815260076020526040908190208151808301928390529160029082845b81548152602001906001019080831161166e5750505050509050919050565b60ff811660011461169f5760026116a2565b60015b600760ff821611156116b357600080fd5b600160a060020a03331660009081526004602052604090205460ff808316911610156116de57600080fd5b600360ff8216106117145733600160a060020a0316600090815260046020526040902054600760ff909116111561171457600080fd5b61ffff83166000908152600560205260409020805460ff191660ff8416908117909155600214156111ef5761ffff8316600090815260056020526040902054610100900460ff16151561176657600080fd5b6040805160a08101825260008082526020808301829052828401829052606083018290526080830182905261ffff871682526005908190529290206110ee92600290910191906122db565b33600160a060020a031660009081526004602052604090205460039060ff168111156117dc57600080fd5b600360ff8216106118125733600160a060020a0316600090815260046020526040902054600760ff909116111561181257600080fd5b82600160a060020a031633600160a060020a031614151561186257600160a060020a038084166000908152600460205260408082205433909316825290205460ff91821691161161186257600080fd5b600160a060020a03331660009081526004602052604090205460ff80841691161161188c57600080fd5b50600160a060020a03919091166000908152600460205260409020805460ff191660ff909216919091179055565b61ffff1660009081526005602052604090205460ff1690565b61ffff166000908152600560205260409020600a015490565b600160a060020a03331660009081526001602052604081205482118015906119145750600082115b1561198857600160a060020a03338116600081815260016020908152604080832080548890039055938716808352918490208054870190558351868152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a3506001610bec565b506000610bec565b61ffff166000908152600560205260409020805460099091015461010090910460ff1691565b600160a060020a03331660009081526004602052604090205460ff166009146119de57600080fd5b61ffff909116600090815260056020526040902060090155565b6000806000806000806000611a0b61230e565b61ffff8b166000908152600560208181526040808420815161012081018352815460ff808216835261010082041615159482019490945262010000909304600160a060020a03908116848401526001820154166060840152815160a08101928390529293909260808501929091600285019182845b815481526020019060010190808311611a805750505050508152602001600782015481526020016008820154815260200160098201548152602001600a82015481525050915081602001519050808015611ade5750428260e0015111155b15611ae7575060005b61ffff8c16600090815260056020526040902054620100009004600160a060020a03161515611b375760c082015160e0830151835160009b508d9a508c9950919750919550909350915083611b63565b604082015160a083015160c084015160e08501518551939c5060009b5091995097509195509093509150835b50509397509397509397909450565b600160a060020a03331660009081526004602052604090205460ff16600914611b9a57600080fd5b61ffff8516600090815260056020526040902054600160a060020a03858116620100009092041614611c075761ffff85166000908152600560205260409020805475ffffffffffffffffffffffffffffffffffffffff0000191662010000600160a060020a038716021790555b61ffff85166000908152600560205260409020600701548314611c3e5761ffff851660009081526005602052604090206007018390555b61ffff851660009081526005602052604090205460ff61010090910416151582151514611c8a5761ffff85166000908152600560205260409020805461ff001916610100841515021790555b61ffff851660009081526005602052604090205460ff828116911614611ccb5761ffff85166000908152600560205260409020805460ff191660ff83161790555b5050505050565b61ffff16600090815260056020526040902060010154600160a060020a031690565b600160a060020a031660009081526004602052604090205460ff1690565b600160a060020a03331660009081526004602052604090205460ff16600914611d3a57600080fd5b61ffff8216600090815260056020526040902060010154600160a060020a0382811691161461137a5761ffff821660009081526005602052604090206001018054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff199091161790555050565b600160a060020a03331660009081526004602052604090205460ff16600914611dcd57600080fd5b61ffff90921660009081526005602052604090206009810191909155600a0155565b6000600960ff83161115611e0257600080fd5b61ffff831660009081526005602081905260409091206002019060ff8416908110611e2957fe5b01549392505050565b33600160a060020a031660009081526004602052604090205460069060ff16811115611e5d57600080fd5b600360ff821610611e935733600160a060020a0316600090815260046020526040902054600760ff9091161115611e9357600080fd5b600160a060020a0382161515611ea857600080fd5b600354600160a060020a031615611edc57600354600160a060020a03166000908152600460205260409020805460ff191690555b5060038054600160a060020a0390921673ffffffffffffffffffffffffffffffffffffffff19909216821790556000908152600460205260409020805460ff19166009179055565b61ffff166000908152600560205260409020805460079091015462010000909104600160a060020a031691565b600160a060020a03331660009081526004602052604090205460ff16600914611f7957600080fd5b61ffff8216600090815260056020526040902054600160a060020a0382811662010000909204161461137a5761ffff821660009081526005602052604090208054600160a060020a038316620100000275ffffffffffffffffffffffffffffffffffffffff0000199091161790555050565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b6006602052600082815260409020816002811061202f57fe5b01549150829050565b612040612361565b61ffff8216600090815260056020818152604092839020835160a081019485905260028201805482529094909392909160030190850180831161166e5750505050509050919050565b600160a060020a03331660009081526004602052604081205460ff16600814806120ce5750600160a060020a03331660009081526004602052604090205460ff166009145b15156120d957600080fd5b5060005b60058110156111ef578181600581106120f257fe5b6020020151600560008561ffff1661ffff1681526020019081526020016000206002018260058110151561212257fe5b0154146121685781816005811061213557fe5b6020020151600560008561ffff1661ffff1681526020019081526020016000206002018260058110151561216557fe5b01555b6001016120dd565b6121786122c0565b600160a060020a038216600090815260066020526040908190208151808301909252600282828260200282019181548152602001906001019080831161166e5750505050509050919050565b600160a060020a03331660009081526004602052604090205460ff166009146121ec57600080fd5b600160a060020a038216151561220157600080fd5b600160a060020a03821660009081526001602052604090205481111561222657600080fd5b600160a060020a039091166000908152600160205260408120805483900390558054919091039055565b6007602052600082815260409020816002811061202f57fe5b61ffff1660009081526005602052604090206009015490565b82600281019282156122b0579160200282015b828111156122b0578251825591602001919060010190612295565b506122bc929150612380565b5090565b60408051808201825290600290829080388339509192915050565b82600581019282156122b0579160200282015b828111156122b0578251829060ff169055916020019190600101906122ee565b604080516101a08101825260008082526020820181905291810182905260608101919091526080810161233f612361565b8152602001600081526020016000815260200160008152602001600081525090565b60a0604051908101604052806005906020820280388339509192915050565b61239a91905b808211156122bc5760008155600101612386565b905600a165627a7a72305820be25aaefc2aeada13655d4952d480d5bea35404e82d274493036777cf6a990b60029

Deployed Bytecode

0x6080604052600436106102715763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663095ea7b38114610276578063121c2b35146102ae57806315f59033146102e8578063165140521461031357806317e0aeb81461033957806318160ddd146103585780631bbc79521461037f5780631f12da061461039b57806323b11bb1146103d757806323b872dd146103f357806326728b141461041d5780632a396734146104415780632ccaa3e91461046f57806337c74948146104a75780633953ca8b146104c3578063411b65ef146104e857806345ede900146105075780634b1ec20c14610532578063606bc9a51461055357806363a6568f1461059f57806369a4c4e7146105de5780636d87b65c1461064b5780636fcdcb3e1461066a57806370a08231146106b65780637dfb86a0146106d7578063886b148d1461070e5780638b9997fd146107385780638d1066901461079457806395f47e4e146107b657806398864aaf146107dd57806399b29044146107f9578063a9059cbb14610815578063ab383a6b14610839578063b4cc218114610870578063b7b1e3cc1461088f578063b9e58ab0146108f8578063ba8c0c9d1461092e578063bbfa61531461094a578063c19358bb1461096b578063c575200d14610993578063c7ff2086146109b5578063c839008e146109d7578063cf09e820146109f8578063d5c98db114610a14578063dd62ed3e14610a3c578063e1c230dd14610a63578063e86994ea14610a87578063eb39bc9014610ab8578063f23a8aa614610b02578063f6f8ca0714610b23578063f785074614610b47578063fc9ede6514610b6b575b600080fd5b34801561028257600080fd5b5061029a600160a060020a0360043516602435610b87565b604080519115158252519081900360200190f35b3480156102ba57600080fd5b506102e6600160a060020a0360043581169060243590604435811690606435906084351660a435610bf2565b005b3480156102f457600080fd5b506102e661ffff60043516600160a060020a0360243516604435610cdf565b34801561031f57600080fd5b506102e6600160a060020a03600435166024351515610d8b565b34801561034557600080fd5b506102e661ffff60043516602435610e40565b34801561036457600080fd5b5061036d610e82565b60408051918252519081900360200190f35b34801561038b57600080fd5b5061036d61ffff60043516610e88565b3480156103a757600080fd5b506103b761ffff60043516610ea1565b604080519315158452602084019290925282820152519081900360600190f35b3480156103e357600080fd5b5061036d61ffff60043516610ecc565b3480156103ff57600080fd5b5061029a600160a060020a0360043581169060243516604435610ee5565b34801561042957600080fd5b506102e6600160a060020a0360043516602435610fd8565b34801561044d57600080fd5b506102e6600160a060020a03600435811690602435906044351660643561103d565b34801561047b57600080fd5b5061048b61ffff600435166110f4565b60408051600160a060020a039092168252519081900360200190f35b3480156104b357600080fd5b5061029a61ffff60043516611119565b3480156104cf57600080fd5b506102e661ffff6004351660ff60243516604435611137565b3480156104f457600080fd5b506102e661ffff600435166024356111f4565b34801561051357600080fd5b506102e661ffff60043516600160a060020a0360243516604435611236565b34801561053e57600080fd5b506102e661ffff600435166024351515611306565b34801561055f57600080fd5b506040805180820182526102e69160048035600160a060020a03169236926064919060249060029083908390808284375093965061137e95505050505050565b3480156105ab57600080fd5b506105bb61ffff60043516611407565b60408051600160a060020a03909316835260208301919091528051918290030190f35b3480156105ea57600080fd5b506105fa61ffff60043516611432565b6040805160ff90991689529615156020890152600160a060020a0395861688880152939094166060870152608086019190915260a085015260c084019190915260e083015251908190036101000190f35b34801561065757600080fd5b506102e661ffff60043516602435611484565b34801561067657600080fd5b506040805180820182526102e69160048035600160a060020a0316923692606491906024906002908390839080828437509396506114e495505050505050565b3480156106c257600080fd5b5061036d600160a060020a036004351661156d565b3480156106e357600080fd5b506106f8600160a060020a0360043516611588565b6040805160ff9092168252519081900360200190f35b34801561071a57600080fd5b506102e661ffff60043516602435151560443560643560843561159d565b34801561074457600080fd5b50610759600160a060020a036004351661163c565b6040518082600260200280838360005b83811015610781578181015183820152602001610769565b5050505090500191505060405180910390f35b3480156107a057600080fd5b506102e661ffff6004351660ff6024351661168d565b3480156107c257600080fd5b506102e6600160a060020a036004351660ff602435166117b1565b3480156107e957600080fd5b506106f861ffff600435166118ba565b34801561080557600080fd5b5061036d61ffff600435166118d3565b34801561082157600080fd5b5061029a600160a060020a03600435166024356118ec565b34801561084557600080fd5b5061085561ffff60043516611990565b60408051921515835260208301919091528051918290030190f35b34801561087c57600080fd5b506102e661ffff600435166024356119b6565b34801561089b57600080fd5b506108b161ffff600435166024356044356119f8565b60408051600160a060020a03909816885260208801969096528686019490945260608601929092521515608085015260a084015260ff1660c0830152519081900360e00190f35b34801561090457600080fd5b506102e661ffff60043516600160a060020a0360243516604435606435151560ff60843516611b72565b34801561093a57600080fd5b5061048b61ffff60043516611cd2565b34801561095657600080fd5b506106f8600160a060020a0360043516611cf4565b34801561097757600080fd5b506102e661ffff60043516600160a060020a0360243516611d12565b34801561099f57600080fd5b506102e661ffff60043516602435604435611da5565b3480156109c157600080fd5b5061036d61ffff6004351660ff60243516611def565b3480156109e357600080fd5b506102e6600160a060020a0360043516611e32565b348015610a0457600080fd5b506105bb61ffff60043516611f24565b348015610a2057600080fd5b506102e661ffff60043516600160a060020a0360243516611f51565b348015610a4857600080fd5b5061036d600160a060020a0360043581169060243516611feb565b348015610a6f57600080fd5b5061036d600160a060020a0360043516602435612016565b348015610a9357600080fd5b50610aa361ffff60043516612038565b60405181518152808260a08083836020610769565b348015610ac457600080fd5b506040805160a08082019092526102e6916004803561ffff1692369260c4919060249060059083908390808284375093965061208995505050505050565b348015610b0e57600080fd5b50610759600160a060020a0360043516612170565b348015610b2f57600080fd5b506102e6600160a060020a03600435166024356121c4565b348015610b5357600080fd5b5061036d600160a060020a0360043516602435612250565b348015610b7757600080fd5b5061036d61ffff60043516612269565b600160a060020a03338116600081815260026020908152604080832094871680845294825280832086905580518681529051929493927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060015b92915050565b600160a060020a03331660009081526004602052604090205460ff16600914610c1a57600080fd5b600160a060020a038616600090815260016020526040902054851115610c3f57600080fd5b6000851115610c6f57600160a060020a038616600090815260016020526040812080548790039055805486900390555b600160a060020a03841615610ca357600160a060020a03841660009081526001602052604081208054850190558054840190555b600160a060020a03821615610cd757600160a060020a03821660009081526001602052604081208054830190558054820190555b505050505050565b600160a060020a03331660009081526004602052604090205460ff16600914610d0757600080fd5b61ffff8316600090815260056020526040902060010154600160a060020a03838116911614610d6d5761ffff83166000908152600560205260409020600101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0384161790555b61ffff90921660009081526005602052604090206008019190915550565b33600160a060020a031660009081526004602052604090205460059060ff16811115610db657600080fd5b600360ff821610610dec5733600160a060020a0316600090815260046020526040902054600760ff9091161115610dec57600080fd5b600160a060020a0383161515610e0157600080fd5b81610e0d576000610e10565b60085b600160a060020a03939093166000908152600460205260409020805460ff191660ff909416939093179092555050565b600160a060020a03331660009081526004602052604090205460ff16600914610e6857600080fd5b61ffff9091166000908152600560205260409020600a0155565b60005481565b61ffff1660009081526005602052604090206007015490565b61ffff16600090815260056020526040902080546008820154600a9092015461010090910460ff1692565b61ffff1660009081526005602052604090206008015490565b600160a060020a0383166000908152600160205260408120548211801590610f335750600160a060020a03808516600090815260026020908152604080832033909416835292905220548211155b8015610f3f5750600082115b15610fcd57600160a060020a03808416600081815260016020908152604080832080548801905588851680845281842080548990039055600283528184203390961684529482529182902080548790039055815186815291519293927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a3506001610fd1565b5060005b9392505050565b600160a060020a03331660009081526004602052604090205460ff1660091461100057600080fd5b600160a060020a038216151561101557600080fd5b600160a060020a03909116600090815260016020526040812080548301905580549091019055565b600160a060020a03331660009081526004602052604090205460ff1660091461106557600080fd5b600160a060020a03841660009081526001602052604090205483111561108a57600080fd5b60008311156110ba57600160a060020a038416600090815260016020526040812080548590039055805484900390555b600160a060020a038216156110ee57600160a060020a03821660009081526001602052604081208054830190558054820190555b50505050565b61ffff16600090815260056020526040902054620100009004600160a060020a031690565b61ffff16600090815260056020526040902054610100900460ff1690565b600160a060020a03331660009081526004602052604090205460ff166008148061117c5750600160a060020a03331660009081526004602052604090205460ff166009145b151561118757600080fd5b80600560008561ffff1661ffff1681526020019081526020016000206002018360ff166005811015156111b657fe5b0154146111ef5780600560008561ffff1661ffff1681526020019081526020016000206002018360ff166005811015156111ec57fe5b01555b505050565b600160a060020a03331660009081526004602052604090205460ff1660091461121c57600080fd5b61ffff909116600090815260056020526040902060080155565b600160a060020a03331660009081526004602052604090205460ff1660091461125e57600080fd5b61ffff8316600090815260056020526040902054600160a060020a038381166201000090920416146112cb5761ffff83166000908152600560205260409020805475ffffffffffffffffffffffffffffffffffffffff0000191662010000600160a060020a038516021790555b61ffff831660009081526005602052604090206007015481146111ef5761ffff83166000908152600560205260409020600701819055505050565b600160a060020a03331660009081526004602052604090205460ff1660091461132e57600080fd5b61ffff821660009081526005602052604090205460ff6101009091041615158115151461137a5761ffff82166000908152600560205260409020805461ff001916610100831515021790555b5050565b600160a060020a03331660009081526004602052604090205460ff16600814806113c35750600160a060020a03331660009081526004602052604090205460ff166009145b15156113ce57600080fd5b600160a060020a03821615156113e357600080fd5b600160a060020a03821660009081526007602052604090206111ef90826002612282565b61ffff1660009081526005602052604090206001810154600990910154600160a060020a0390911691565b600560205260009081526040902080546001820154600783015460088401546009850154600a9095015460ff80861696610100870490911695600160a060020a03620100009091048116951693929188565b600160a060020a03331660009081526004602052604090205460ff166009146114ac57600080fd5b61ffff8216600090815260056020526040902060070154811461137a5761ffff91909116600090815260056020526040902060070155565b600160a060020a03331660009081526004602052604090205460ff16600814806115295750600160a060020a03331660009081526004602052604090205460ff166009145b151561153457600080fd5b600160a060020a038216151561154957600080fd5b600160a060020a03821660009081526006602052604090206111ef90826002612282565b600160a060020a031660009081526001602052604090205490565b60046020526000908152604090205460ff1681565b600160a060020a03331660009081526004602052604090205460ff166009146115c557600080fd5b61ffff851660009081526005602052604090205460ff610100909104161515841515146116115761ffff85166000908152600560205260409020805461ff001916610100861515021790555b61ffff9094166000908152600560205260409020600a81019290925560088201556009019190915550565b6116446122c0565b600160a060020a038216600090815260076020526040908190208151808301928390529160029082845b81548152602001906001019080831161166e5750505050509050919050565b60ff811660011461169f5760026116a2565b60015b600760ff821611156116b357600080fd5b600160a060020a03331660009081526004602052604090205460ff808316911610156116de57600080fd5b600360ff8216106117145733600160a060020a0316600090815260046020526040902054600760ff909116111561171457600080fd5b61ffff83166000908152600560205260409020805460ff191660ff8416908117909155600214156111ef5761ffff8316600090815260056020526040902054610100900460ff16151561176657600080fd5b6040805160a08101825260008082526020808301829052828401829052606083018290526080830182905261ffff871682526005908190529290206110ee92600290910191906122db565b33600160a060020a031660009081526004602052604090205460039060ff168111156117dc57600080fd5b600360ff8216106118125733600160a060020a0316600090815260046020526040902054600760ff909116111561181257600080fd5b82600160a060020a031633600160a060020a031614151561186257600160a060020a038084166000908152600460205260408082205433909316825290205460ff91821691161161186257600080fd5b600160a060020a03331660009081526004602052604090205460ff80841691161161188c57600080fd5b50600160a060020a03919091166000908152600460205260409020805460ff191660ff909216919091179055565b61ffff1660009081526005602052604090205460ff1690565b61ffff166000908152600560205260409020600a015490565b600160a060020a03331660009081526001602052604081205482118015906119145750600082115b1561198857600160a060020a03338116600081815260016020908152604080832080548890039055938716808352918490208054870190558351868152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a3506001610bec565b506000610bec565b61ffff166000908152600560205260409020805460099091015461010090910460ff1691565b600160a060020a03331660009081526004602052604090205460ff166009146119de57600080fd5b61ffff909116600090815260056020526040902060090155565b6000806000806000806000611a0b61230e565b61ffff8b166000908152600560208181526040808420815161012081018352815460ff808216835261010082041615159482019490945262010000909304600160a060020a03908116848401526001820154166060840152815160a08101928390529293909260808501929091600285019182845b815481526020019060010190808311611a805750505050508152602001600782015481526020016008820154815260200160098201548152602001600a82015481525050915081602001519050808015611ade5750428260e0015111155b15611ae7575060005b61ffff8c16600090815260056020526040902054620100009004600160a060020a03161515611b375760c082015160e0830151835160009b508d9a508c9950919750919550909350915083611b63565b604082015160a083015160c084015160e08501518551939c5060009b5091995097509195509093509150835b50509397509397509397909450565b600160a060020a03331660009081526004602052604090205460ff16600914611b9a57600080fd5b61ffff8516600090815260056020526040902054600160a060020a03858116620100009092041614611c075761ffff85166000908152600560205260409020805475ffffffffffffffffffffffffffffffffffffffff0000191662010000600160a060020a038716021790555b61ffff85166000908152600560205260409020600701548314611c3e5761ffff851660009081526005602052604090206007018390555b61ffff851660009081526005602052604090205460ff61010090910416151582151514611c8a5761ffff85166000908152600560205260409020805461ff001916610100841515021790555b61ffff851660009081526005602052604090205460ff828116911614611ccb5761ffff85166000908152600560205260409020805460ff191660ff83161790555b5050505050565b61ffff16600090815260056020526040902060010154600160a060020a031690565b600160a060020a031660009081526004602052604090205460ff1690565b600160a060020a03331660009081526004602052604090205460ff16600914611d3a57600080fd5b61ffff8216600090815260056020526040902060010154600160a060020a0382811691161461137a5761ffff821660009081526005602052604090206001018054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff199091161790555050565b600160a060020a03331660009081526004602052604090205460ff16600914611dcd57600080fd5b61ffff90921660009081526005602052604090206009810191909155600a0155565b6000600960ff83161115611e0257600080fd5b61ffff831660009081526005602081905260409091206002019060ff8416908110611e2957fe5b01549392505050565b33600160a060020a031660009081526004602052604090205460069060ff16811115611e5d57600080fd5b600360ff821610611e935733600160a060020a0316600090815260046020526040902054600760ff9091161115611e9357600080fd5b600160a060020a0382161515611ea857600080fd5b600354600160a060020a031615611edc57600354600160a060020a03166000908152600460205260409020805460ff191690555b5060038054600160a060020a0390921673ffffffffffffffffffffffffffffffffffffffff19909216821790556000908152600460205260409020805460ff19166009179055565b61ffff166000908152600560205260409020805460079091015462010000909104600160a060020a031691565b600160a060020a03331660009081526004602052604090205460ff16600914611f7957600080fd5b61ffff8216600090815260056020526040902054600160a060020a0382811662010000909204161461137a5761ffff821660009081526005602052604090208054600160a060020a038316620100000275ffffffffffffffffffffffffffffffffffffffff0000199091161790555050565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b6006602052600082815260409020816002811061202f57fe5b01549150829050565b612040612361565b61ffff8216600090815260056020818152604092839020835160a081019485905260028201805482529094909392909160030190850180831161166e5750505050509050919050565b600160a060020a03331660009081526004602052604081205460ff16600814806120ce5750600160a060020a03331660009081526004602052604090205460ff166009145b15156120d957600080fd5b5060005b60058110156111ef578181600581106120f257fe5b6020020151600560008561ffff1661ffff1681526020019081526020016000206002018260058110151561212257fe5b0154146121685781816005811061213557fe5b6020020151600560008561ffff1661ffff1681526020019081526020016000206002018260058110151561216557fe5b01555b6001016120dd565b6121786122c0565b600160a060020a038216600090815260066020526040908190208151808301909252600282828260200282019181548152602001906001019080831161166e5750505050509050919050565b600160a060020a03331660009081526004602052604090205460ff166009146121ec57600080fd5b600160a060020a038216151561220157600080fd5b600160a060020a03821660009081526001602052604090205481111561222657600080fd5b600160a060020a039091166000908152600160205260408120805483900390558054919091039055565b6007602052600082815260409020816002811061202f57fe5b61ffff1660009081526005602052604090206009015490565b82600281019282156122b0579160200282015b828111156122b0578251825591602001919060010190612295565b506122bc929150612380565b5090565b60408051808201825290600290829080388339509192915050565b82600581019282156122b0579160200282015b828111156122b0578251829060ff169055916020019190600101906122ee565b604080516101a08101825260008082526020820181905291810182905260608101919091526080810161233f612361565b8152602001600081526020016000815260200160008152602001600081525090565b60a0604051908101604052806005906020820280388339509192915050565b61239a91905b808211156122bc5760008155600101612386565b905600a165627a7a72305820be25aaefc2aeada13655d4952d480d5bea35404e82d274493036777cf6a990b60029

Swarm Source

bzzr://be25aaefc2aeada13655d4952d480d5bea35404e82d274493036777cf6a990b6

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

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

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.