Overview
TokenID
1157920892373161954235709850086879078423...
Total Transfers
-
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
LANDProxy
Compiler Version
v0.4.18+commit.9cf6e910
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-01-21 */ pragma solidity ^0.4.18; // File: contracts/land/LANDStorage.sol contract LANDStorage { mapping (address => uint) latestPing; uint256 constant clearLow = 0xffffffffffffffffffffffffffffffff00000000000000000000000000000000; uint256 constant clearHigh = 0x00000000000000000000000000000000ffffffffffffffffffffffffffffffff; uint256 constant factor = 0x100000000000000000000000000000000; mapping (address => bool) authorizedDeploy; } // File: contracts/upgradable/OwnableStorage.sol contract OwnableStorage { address public owner; function OwnableStorage() internal { owner = msg.sender; } } // File: contracts/upgradable/ProxyStorage.sol contract ProxyStorage { /** * Current contract to which we are proxing */ address public currentContract; address public proxyOwner; } // File: erc821/contracts/AssetRegistryStorage.sol contract AssetRegistryStorage { string internal _name; string internal _symbol; string internal _description; /** * Stores the total count of assets managed by this registry */ uint256 internal _count; /** * Stores an array of assets owned by a given account */ mapping(address => uint256[]) internal _assetsOf; /** * Stores the current holder of an asset */ mapping(uint256 => address) internal _holderOf; /** * Stores the index of an asset in the `_assetsOf` array of its holder */ mapping(uint256 => uint256) internal _indexOfAsset; /** * Stores the data associated with an asset */ mapping(uint256 => string) internal _assetData; /** * For a given account, for a given opperator, store whether that operator is * allowed to transfer and modify assets on behalf of them. */ mapping(address => mapping(address => bool)) internal _operators; /** * Simple reentrancy lock */ bool internal _reentrancy; } // File: contracts/Storage.sol contract Storage is ProxyStorage, OwnableStorage, AssetRegistryStorage, LANDStorage { } // File: contracts/upgradable/DelegateProxy.sol contract DelegateProxy { /** * @dev Performs a delegatecall and returns whatever the delegatecall returned (entire context execution will return!) * @param _dst Destination address to perform the delegatecall * @param _calldata Calldata for the delegatecall */ function delegatedFwd(address _dst, bytes _calldata) internal { require(isContract(_dst)); assembly { let result := delegatecall(sub(gas, 10000), _dst, add(_calldata, 0x20), mload(_calldata), 0, 0) let size := returndatasize let ptr := mload(0x40) returndatacopy(ptr, 0, size) // revert instead of invalid() bc if the underlying call failed with invalid() it already wasted gas. // if the call returned error data, forward it switch result case 0 { revert(ptr, size) } default { return(ptr, size) } } } function isContract(address _target) constant internal returns (bool) { uint256 size; assembly { size := extcodesize(_target) } return size > 0; } } // File: contracts/upgradable/IApplication.sol contract IApplication { function initialize(bytes data) public; } // File: contracts/upgradable/Ownable.sol contract Ownable is Storage { event OwnerUpdate(address _prevOwner, address _newOwner); function bytesToAddress (bytes b) pure public returns (address) { uint result = 0; for (uint i = b.length-1; i+1 > 0; i--) { uint c = uint(b[i]); uint to_inc = c * ( 16 ** ((b.length - i-1) * 2)); result += to_inc; } return address(result); } modifier onlyOwner { assert(msg.sender == owner); _; } function initialize(bytes data) public { owner = bytesToAddress(data); } function transferOwnership(address _newOwner) public onlyOwner { require(_newOwner != owner); owner = _newOwner; } } // File: contracts/upgradable/Proxy.sol contract Proxy is Storage, DelegateProxy { event Upgrade(address indexed newContract, bytes initializedWith); event OwnerUpdate(address _prevOwner, address _newOwner); function Proxy() public { proxyOwner = msg.sender; } modifier onlyProxyOwner() { require(msg.sender == proxyOwner); _; } function transferOwnership(address _newOwner) public onlyProxyOwner { require(_newOwner != proxyOwner); OwnerUpdate(proxyOwner, _newOwner); proxyOwner = _newOwner; } function upgrade(IApplication newContract, bytes data) public onlyProxyOwner { currentContract = newContract; IApplication(this).initialize(data); Upgrade(newContract, data); } function () payable public { require(currentContract != 0); // if app code hasn't been set yet, don't call delegatedFwd(currentContract, msg.data); } } // File: contracts/upgradable/LANDProxy.sol contract LANDProxy is Storage, Proxy { }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"proxyOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"currentContract","outputs":[{"name":"","type":"address"}],"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":"newContract","type":"address"},{"name":"data","type":"bytes"}],"name":"upgrade","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"newContract","type":"address"},{"indexed":false,"name":"initializedWith","type":"bytes"}],"name":"Upgrade","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_prevOwner","type":"address"},{"indexed":false,"name":"_newOwner","type":"address"}],"name":"OwnerUpdate","type":"event"}]
Contract Creation Code
606060405233600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506107a6806100956000396000f30060606040526004361061006d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063025313a214610114578063721d7d8e146101695780638da5cb5b146101be578063c987336c14610213578063f2fde38b1461028f575b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515156100b457600080fd5b6101126000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000368080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050506102c8565b005b341561011f57600080fd5b610127610306565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561017457600080fd5b61017c61032c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156101c957600080fd5b6101d1610351565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561021e57600080fd5b61028d600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610377565b005b341561029a57600080fd5b6102c6600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506105b1565b005b6102d182610767565b15156102dc57600080fd5b600080825160208401856127105a03f43d604051816000823e8260008114610302578282f35b8282fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156103d357600080fd5b816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503073ffffffffffffffffffffffffffffffffffffffff1663439fab91826040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561049b578082015181840152602081019050610480565b50505050905090810190601f1680156104c85780820380516001836020036101000a031916815260200191505b5092505050600060405180830381600087803b15156104e657600080fd5b6102c65a03f115156104f757600080fd5b5050508173ffffffffffffffffffffffffffffffffffffffff167fe74baeef5988edac1159d9177ca52f0f3d68f624a1996f77467eb3ebfb316537826040518080602001828103825283818151815260200191508051906020019080838360005b83811015610573578082015181840152602081019050610558565b50505050905090810190601f1680156105a05780820380516001836020036101000a031916815260200191505b509250505060405180910390a25050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561060d57600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561066a57600080fd5b7f343765429aea5a34b3ff6a3785a98a5abb2597aca87bfbb58632c173d585373a600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a180600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080823b9050600081119150509190505600a165627a7a723058209c5cf1525023f56b020c8e8faef83d3057389d0673a91d557b8dcd49d811dae90029
Deployed Bytecode
0x60606040526004361061006d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063025313a214610114578063721d7d8e146101695780638da5cb5b146101be578063c987336c14610213578063f2fde38b1461028f575b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515156100b457600080fd5b6101126000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000368080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050506102c8565b005b341561011f57600080fd5b610127610306565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561017457600080fd5b61017c61032c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156101c957600080fd5b6101d1610351565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561021e57600080fd5b61028d600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610377565b005b341561029a57600080fd5b6102c6600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506105b1565b005b6102d182610767565b15156102dc57600080fd5b600080825160208401856127105a03f43d604051816000823e8260008114610302578282f35b8282fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156103d357600080fd5b816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503073ffffffffffffffffffffffffffffffffffffffff1663439fab91826040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561049b578082015181840152602081019050610480565b50505050905090810190601f1680156104c85780820380516001836020036101000a031916815260200191505b5092505050600060405180830381600087803b15156104e657600080fd5b6102c65a03f115156104f757600080fd5b5050508173ffffffffffffffffffffffffffffffffffffffff167fe74baeef5988edac1159d9177ca52f0f3d68f624a1996f77467eb3ebfb316537826040518080602001828103825283818151815260200191508051906020019080838360005b83811015610573578082015181840152602081019050610558565b50505050905090810190601f1680156105a05780820380516001836020036101000a031916815260200191505b509250505060405180910390a25050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561060d57600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561066a57600080fd5b7f343765429aea5a34b3ff6a3785a98a5abb2597aca87bfbb58632c173d585373a600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a180600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080823b9050600081119150509190505600a165627a7a723058209c5cf1525023f56b020c8e8faef83d3057389d0673a91d557b8dcd49d811dae90029
Swarm Source
bzzr://9c5cf1525023f56b020c8e8faef83d3057389d0673a91d557b8dcd49d811dae9
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.