ERC-721
Overview
Max Total Supply
100 POR
Holders
84
Market
Volume (24H)
N/A
Min Price (24H)
N/A
Max Price (24H)
N/A
Other Info
Token Contract
Balance
1 PORLoading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
ProofOfRockTethered
Compiler Version
v0.8.3+commit.8d00100c
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-09-05 */ // SPDX-License-Identifier: NONE pragma solidity 0.8.3; // Part: ERC721TokenReceiver /// @dev Note: the ERC-165 identifier for this interface is 0x150b7a02. interface ERC721TokenReceiver { /// @notice Handle the receipt of an NFT /// @dev The ERC721 smart contract calls this function on the recipient /// after a `transfer`. This function MAY throw to revert and reject the /// transfer. Return of other than the magic value MUST result in the /// transaction being reverted. /// Note: the contract address is always the message sender. /// @param _operator The address which called `safeTransferFrom` function /// @param _from The address which previously owned the token /// @param _tokenId The NFT identifier which is being transferred /// @param _data Additional data with no specified format /// @return `bytes4(keccak256("onERC721Received(address,address,uint256,bytes)"))` /// unless throwing function onERC721Received( address _operator, address _from, uint256 _tokenId, bytes memory _data ) external returns (bytes4); } // Part: EtherRock interface EtherRock { function getRockInfo(uint256 rockNumber) external view returns (address); function rockOwners(address owner, uint256 idx) external view returns (uint256); } // Part: ProofOfRock /** @title Proof Of Rock @notice ERC721-ish contract where token ownership is 1:1 pegged with ownership of EtherRocks */ abstract contract ProofOfRock { EtherRock public constant etherRock = EtherRock(0x41f28833Be34e6EDe3c58D1f597bef429861c4E2); string public name; string public symbol; uint256 public totalSupply; mapping(bytes4 => bool) public supportsInterface; string[100] tokenURIs; address[100] tokenApprovals; mapping(address => mapping(address => bool)) private operatorApprovals; bytes4 private constant _ERC721_RECEIVED = 0x150b7a02; bytes4 private constant _INTERFACE_ID_ERC165 = 0x01ffc9a7; bytes4 private constant _INTERFACE_ID_ERC721 = 0x80ac58cd; bytes4 private constant _INTERFACE_ID_ERC721_METADATA = 0x5b5e139f; bytes4 private constant _INTERFACE_ID_ERC721_ENUMERABLE = 0x780e9d63; event Transfer( address indexed _from, address indexed _to, uint256 indexed _tokenId ); event Approval( address indexed _owner, address indexed _approved, uint256 indexed _tokenId ); event ApprovalForAll( address indexed _owner, address indexed _operator, bool _approved ); constructor(string memory _name, string memory _symbol) { name = _name; symbol = _symbol; supportsInterface[_INTERFACE_ID_ERC165] = true; supportsInterface[_INTERFACE_ID_ERC721] = true; supportsInterface[_INTERFACE_ID_ERC721_METADATA] = true; supportsInterface[_INTERFACE_ID_ERC721_ENUMERABLE] = true; } /// @notice Count all NFTs assigned to an owner function balanceOf(address _owner) public view virtual returns (uint256); /// @notice Find the owner of an NFT function ownerOf(uint256 tokenId) public view virtual returns (address); function tokenOfOwnerByIndex(address _owner, uint256 _index) public view virtual returns (uint256); function _transfer( address _from, address _to, uint256 _tokenId ) internal virtual; /// @notice Transfers the ownership of an NFT from one address to another address /// @dev Throws unless `msg.sender` is the current owner, an authorized /// operator, or the approved address for this NFT. Throws if `_from` is /// not the current owner. Throws if `_to` is the zero address. Throws if /// `_tokenId` is not a valid NFT. When transfer is complete, this function /// checks if `_to` is a smart contract (code size > 0). If so, it calls /// `onERC721Received` on `_to` and throws if the return value is not /// `bytes4(keccak256("onERC721Received(address,address,uint256,bytes)"))`. /// @param _from The current owner of the NFT /// @param _to The new owner /// @param _tokenId The NFT to transfer /// @param _data Additional data with no specified format, sent in call to `_to` function safeTransferFrom( address _from, address _to, uint256 _tokenId, bytes memory _data ) public { _transfer(_from, _to, _tokenId); require( _checkOnERC721Received(_from, _to, _tokenId, _data), "Transfer to non ERC721 receiver" ); } /// @notice Transfers the ownership of an NFT from one address to another address /// @dev This works identically to the other function with an extra data parameter, /// except this function just sets data to "". /// @param _from The current owner of the NFT /// @param _to The new owner /// @param _tokenId The NFT to transfer function safeTransferFrom( address _from, address _to, uint256 _tokenId ) external { safeTransferFrom(_from, _to, _tokenId, bytes("")); } /// @notice Transfer ownership of an NFT -- THE CALLER IS RESPONSIBLE /// TO CONFIRM THAT `_to` IS CAPABLE OF RECEIVING NFTS OR ELSE /// THEY MAY BE PERMANENTLY LOST /// @dev Throws unless `msg.sender` is the current owner, an authorized /// operator, or the approved address for this NFT. Throws if `_from` is /// not the current owner. Throws if `_to` is the zero address. Throws if /// `_tokenId` is not a valid NFT. /// @param _from The current owner of the NFT /// @param _to The new owner /// @param _tokenId The NFT to transfer function transferFrom( address _from, address _to, uint256 _tokenId ) external { _transfer(_from, _to, _tokenId); } /// @notice Change or reaffirm the approved address for an NFT function approve(address approved, uint256 tokenId) public { address owner = ownerOf(tokenId); require( msg.sender == owner || isApprovedForAll(owner, msg.sender), "Not owner nor approved for all" ); tokenApprovals[tokenId] = approved; emit Approval(owner, approved, tokenId); } /// @notice Get the approved address for a single NFT function getApproved(uint256 tokenId) public view returns (address) { ownerOf(tokenId); return tokenApprovals[tokenId]; } /// @notice Enable or disable approval for a third party ("operator") to manage /// all of `msg.sender`'s assets function setApprovalForAll(address operator, bool approved) external { operatorApprovals[msg.sender][operator] = approved; emit ApprovalForAll(msg.sender, operator, approved); } /// @notice Query if an address is an authorized operator for another address function isApprovedForAll(address owner, address operator) public view returns (bool) { return operatorApprovals[owner][operator]; } /// @notice Concatenates tokenId to baseURI and returns the string. function tokenURI(uint256 tokenId) public view returns (string memory) { ownerOf(tokenId); return tokenURIs[tokenId]; } /// @notice Enumerate valid NFTs function tokenByIndex(uint256 _index) external view returns (uint256) { require(_index < totalSupply, "Index out of bounds"); return _index; } function _checkOnERC721Received( address from, address to, uint256 tokenId, bytes memory _data ) private returns (bool) { uint256 size; // solhint-disable-next-line no-inline-assembly assembly { size := extcodesize(to) } if (size == 0) { return true; } (bool success, bytes memory returnData) = to.call{value: 0}( abi.encodeWithSelector( ERC721TokenReceiver(to).onERC721Received.selector, msg.sender, from, tokenId, _data ) ); require(success, "Transfer to non ERC721 receiver"); bytes4 returnValue = abi.decode(returnData, (bytes4)); return (returnValue == _ERC721_RECEIVED); } } // File: PoRTethered.sol /** @title Proof Of Rock: Tethered @notice ERC721-ish contract where token ownership is 1:1 pegged with ownership of EtherRocks */ contract ProofOfRockTethered is ProofOfRock { constructor(string memory _name, string memory _symbol) ProofOfRock(_name, _symbol) { totalSupply = 100; tokenURIs = [ "QmPJ8qzTuu4ThCJNDxa7ib1DUYhEbAPzMUpasinnucC5AH", "QmXNSt14kaGKauW37VxLShLSqfvLyShzBnVBmbhXbJdci6", "QmdtQsrEzrgztRYuKvpnYMxcYLfQxS59x9M5fBQVGvSx3q", "QmVwExvwgZuKDavcTGEYLi8wrSEUerRXcSD7NEfbzZgFLE", "QmekTo6LMCVRKrdrHPqiMhYwU3uiCqZgVtjjtTRmTk4w5v", "QmadAqBoMXm7AdLXWNsLqyBjwEUh9XrEALftKWSVqyb2Ws", "QmZi6WxyVEMLzRA6bm51iDNw9qTxbieEJDzAkYbr4b1DMo", "Qme1fuKKBUFsGzzwBRDjDtnrfiUHP9zkb3Jgi9ojKk7Hv5", "QmRucC5Ux7FvmWCScTKLxCiorxXY8daCyTPx3tGZDRRccb", "QmYaNk6gGbQ9QoabN9jurwPQ5py7GjW8M5WWJdwKmzvL9Z", "QmYojyCWKPM9e2xYj54H7c2bD67Nbbx2mVjLQZHo7P4WhS", "QmVPgPH4yZizyjVHd3YpAHwxQHP5jXfsg3UqnbAWXs5v7d", "QmYrzkgg4UVrCuxeYn5ij8Pmygof2rhd7BqrMgTNPBnQ8d", "QmTzAzj93EDEMq3jmoRPFV4fsB5rTQHNBFy9EMTSEPh5QA", "QmcjQMD9LSZinXWVFqmMdPXXiwqiTUpgSc8pyWRE4QvfuZ", "QmfCP8PT934BR4FVsSzsxze8NfLMepwNFb2ZYih4Gz4ZJt", "QmNxr6zrdeFZuAdQFmWevQ9BdVuboZevxzrhMcPQRnCjTb", "QmUXgtKx6tVvKk1aqDD5aZwB7C5ct3R1tS7m45kgKsgKf2", "QmXhvWC3xTBUFe85GLWrqUNay347EVD7hYKc1aBHoyr2Co", "QmRUN2R6wLNCfxAz3zK3bdnCYkT4EzGmSQMqLaKaAF1w6G", "QmRChgYU8CraSPB4YU1HN9RXuTmx7USR3LPuCHArv5EAGG", "Qme5gCUYKxQaqrAEq428dDMpt1neBWkaZnD7YTKxVGwFxU", "Qmf8Db6UE3sdcexkG8eK3p88p3bTbL1tSsVFiPTzKuUwdQ", "Qmb8C1sfx8cvmo5E5CENzZX4WBJyJdYbf5zVgcfsUH9v1m", "QmVdgUU4VBSp8goWBxgAj7zQuCNBYRk1kCkL5a59z2QHbE", "QmU3iddwTtYhQUBvxJHmrH4tB71qo7DnvJ9yoEwJfipUK3", "QmWH894qumXwCupitw4U1YQ7P6rhZhxAjJSSCj9Jm9tZu7", "QmR2JTwZLTurjFfL2nrqVuFJBo9TvnerrybGuDsA4uv3EP", "QmdAWM9HnxehbX1mEHN6FAPTuksNrZjEVhKHoSRtWYxYct", "QmTLi4PMR9oas2Rtq3LjXxGfFKbVqFGxh7xrQd98tZxHWp", "QmcVWASAA2oDVmUyiP1pLMtbAQx4MimWEJZLjxgQmZv9cW", "QmY5cmDU3VuRkJV8hA1wRcvxK6ECLD9nmsvQXqV69MUFyg", "QmNi2Th3LdhyeccUJZNHjVRBKvpB9MFYJi26w9rZiRwJkT", "QmfFEoTsJCvzuRE8z184sTEzYdEtDkaFtDuzAKT5QWMKHo", "Qmf5HTTWV9EST9J4QMXM5VRpLVw9NdQLxgPJYGp35NseZz", "QmbpSpiEKzXwjq41MeCxqPfMkdt2xRNHGQ26uKRyekwuQ8", "QmZmHDrodoc1KvZwb2SzVo6Bu3zouWogmEQG9GMGrFLuAR", "QmdvxaEqZA5tihnm2kQ3maPq6njZ66EXRzVamYnHaPjipb", "QmRcdQbuuTyc2wp6jsbJog7Cf31WkXC6LptXs9VgErjBPK", "QmSkGRL66jKDqwVwvU2vGsGtgq8Ejy7LdGy7Fyc8RsuZzC", "QmXnwPkxfvSuTFwV9Wk4ibVo9ci8qKmjmMXWjTJXf8pgTs", "QmcdrEVE5KKTCU59gCuFJ87HijSovzdpBF8USmubhd4d6z", "QmQt7KDGaPVxxzFiuvKpfdSjDfbT9ATHdK7JY1EEdZzT52", "QmPijpreFELWBJnxKd4F9gekV4JSjM27szw9VSKC6GxoiX", "QmU1Db1Ft4gXLkdHNCw7uM98dLpfVq39b8aK1oLWMZN7QT", "QmaynTAHbVGg2ERcDbpnBukoFgwL8f4eKDDVuBYfRFi4Qu", "QmWnLxpYCG4HmCCiULdBSpayqw3JtfJvz4gkTuobzeVLQ1", "QmSWERGitRfcD5ABk322z8RGf2dWS5MvJi3wisHX7dMknN", "QmdBxsrXs1sK1btiQKybveyLTqeG2kHG1xuKt6c6piEHNF", "QmVmMoYeBUc9o1NFA5ucDwmi2BGpbaEoCQ2ARBGC7LP6jR", "QmSupSUfBfnyCqoBHzCnxkSWRzqHoJRAQJjWYDzg5Jhb6C", "Qmd2ZuNVGSTbj2qBfLSUkgcKTcfWgMpgtbyhkdJrPQSgm8", "QmNoTWLsm6BYPsyVRDdKjhMPBsMJ8f2TZQmKtGk5fu7tWz", "QmcFmPHiGmoYjZ5nrj2EnkvcgNgT6e8oADyBZ6Gk6SE8Y9", "QmdcSqkNo5Txp3hoZWftHmt98kenvTWAuKjXPHJfSsv3RC", "QmU3eBA5q7b94rUThWARPvMobedNRSZ7ueBxCTGZmzv1nR", "QmSbmXujufQtFTi6K2SAcQ8etQSS2GtY7gf2RPYfyjo1nv", "QmVmSeqorghs6omNbRSnrBFjWun4qxrZ8buEkyMruuRbpB", "QmQT3gfDXYvk8iix1iv68UpoCJbpnsBay7Lpf5X67mGzRV", "QmeraW9Drh6VuaLk1ev7xpTDqEzh5tHFjd5CttMC57xmVX", "QmQ4ABH8SLDrLaZiHhebfbQEUudcgkvdVAvWUQyCE46Yqo", "QmRqJimbHkndUmYG1pxMFYMWp51P2qg9KdorEKZhU6XDt2", "QmPwzA4UKaQQeJmjtfXdaVhUodAz3TvA5pkympumeU4BEF", "QmcgJWLMF7q3eJScKrD9F6cqg6Fa4MivJCcKaU7SQYhYhM", "QmRXKHKvnBhKyEteGxw59DLqsouTPBYvTuHyHSmbxCLtND", "QmTVRZH86PEF2MDucSH7grQip9i9fGbLoT5euSW5jG1mis", "QmP5r2yf19BJ4VzzL9Z5Txh7TcZcZr2brGWyQY14mEABG8", "QmaTryHgQ6ARUJAUedTnPy97njS642zm3Vy6xjfLFEX32Q", "QmfDVU77wCGtebMxgxTjvFd2HDiskv34H3xBvLyJUAQNJa", "QmXYtx1Xks3mvDNLweSkCjwrhQssUW1afK9vXKHciBLNMn", "QmRkCenqbXhKxykcBDmuvzWKxnmuvB93vSmUeG5YSrDj6e", "Qmasg7UKJvdaTDTNxZ54w7gAVyaK1YDNy1vxuqCoX52W6q", "QmX8JyrSE2BdLsenHKdQV84tFWSzDX5LfmWnfgpNfQp9AX", "Qmf9ydFPcJXwqYU1NPUyJ3RHM5jZCeTkJrntjA6DBmTb7C", "QmTSzAeyv9a6oW3ZZ8sP9WogQWBqFWHd3oGFudMabvo6xX", "QmQrXSFQiW3rF4iztos6Rdy5R8PCpRAzLndaBQ9MYm5SNL", "QmZQhsWMDtQnJnGWACaZAhm449cbKQonG4XWhQNeMBtNQa", "QmQMwHXwLCHnh9DT5xXGRrt8SLTQB1yEmmVKuE2EfHjT1r", "QmVwrxXGsPx5QU4RQ7H5eY67GkUpCa1tukmZ8ARZVqzBR9", "QmY22M4fAR4xabVeJeWF7wPx9PiyCLYXuwo1ZHqxrbtnuz", "QmV8DPURTE9mxnMnUU97LsCveYj7EHJQwcKGeDacGHtRuP", "QmTogHdDApN1kTDEtAYbs43m9jRDc3JNvxSWjgkQrPV6ja", "QmTKSW2PzUpoAj6oiVa7tSh3pzJvpJU6H2YrTLSx746D9f", "QmbQjggJpXPkCmLYHt46VuZ6hSPvS51WcXBRvvy6ezzjGW", "QmRV35WjZwvdaBoPVr1YX8oqLHxnDcYfNXju7QvWXCV7h9", "QmTbzjS9RUajbKfELMDyYTpoopi8VTgwhYRefSect6RowM", "QmZus6AWjsVAsinnGimJ1sTfFRaQn4R2abupHY8DimNcdc", "QmVawAxirBmd56DNv7RuxP1m4m1UNR8goCt9H9H1ME3PDc", "QmThmqdMEAyyE7rdN7uE1AgQKfM4cRiWkTDWs1QGuqDBWe", "QmP9MtgGpANWKujcWUpRZkANDNhcfM4yTncQMzAeNZ34N8", "QmajtUPkX3EzfsRq9EwQTYo88DNfCnKHVWE1po1dCc7JGL", "QmaLqdQs1X3AKs2BRxZUxJjbVJqtXLfC1SycJysafbW8Tp", "QmUVxfFwRbPGxY9sM65QeRvg4ng4Vt2hsCMSL6kGBTZbtg", "QmdzVD1XC4D7ydPa2dP98WmDpvkcxizApebc1ujJvwzThb", "QmStSzhebV5cvokQ6Q3PRgnHLfciiMFPbh9DMnCvHZ2KXG", "QmW8zFv1CFqDnqxjBnR69db5Gj54RnYrim4qqwtqZ5kMyC", "QmahcvNu6XbtwDLHz45iYqrzf9qzxTRZ4qtn9o7JaZ8VBv", "QmaMvgiHEZSEnU9THJPwAthYNbQuwSdZkPqiC3FiwnRJfX", "QmP7FQNXYhe5eWWQEHRT4SihCTF7dZbv3LSMBtXY3HyBto", "QmRxC4a7Uo23KCYVqUxsHmimKA1wYTukJ6CGRgm8aCZ1Gd" ]; for (uint256 i = 0; i < 100; i++) { // We must fire this event once per rock in order for OpenSea to recognize // the NFTs. When an EtherRock is transfered after deployment, OpenSea // will notice the change in ownership of this NFT within 24 hours. emit Transfer(address(0), etherRock.getRockInfo(i), i); } } /// @notice Count all NFTs assigned to an owner function balanceOf(address _owner) public view override returns (uint256) { uint256 index; while (true) { try etherRock.rockOwners(_owner, index) returns (uint256) { index++; } catch { return index; } } } /// @notice Find the owner of an NFT function ownerOf(uint256 tokenId) public view override returns (address) { if (tokenId < 100) { return etherRock.getRockInfo(tokenId); } revert("Query for nonexistent tokenId"); } function _transfer( address _from, address _to, uint256 _tokenId ) internal override { revert("NFT is attached to rock"); } function tokenOfOwnerByIndex(address _owner, uint256 _index) public view override returns (uint256) { try etherRock.rockOwners(_owner, _index) returns (uint256 tokenId) { return tokenId; } catch { revert("Index out of bounds"); } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_owner","type":"address"},{"indexed":true,"internalType":"address","name":"_approved","type":"address"},{"indexed":true,"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_owner","type":"address"},{"indexed":true,"internalType":"address","name":"_operator","type":"address"},{"indexed":false,"internalType":"bool","name":"_approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_from","type":"address"},{"indexed":true,"internalType":"address","name":"_to","type":"address"},{"indexed":true,"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"approved","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"etherRock","outputs":[{"internalType":"contract EtherRock","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_index","type":"uint256"}],"name":"tokenByIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"uint256","name":"_index","type":"uint256"}],"name":"tokenOfOwnerByIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60806040523480156200001157600080fd5b506040516200320a3803806200320a833981016040819052620000349162001090565b8151829082906200004d90600090602085019062000e4e565b5080516200006390600190602084019062000e4e565b50506003602052507f28b0ef64f7e82d3b26f3fd404bd0151552f792965f39c29ae82c0a78df67af9c8054600160ff1991821681179092557f41a75b24256f422320613da5706c374a0a7eea8e8d418281bda8820c6b34435680548216831790557fcca39824a677cee72cd3539fc56c0e5a676a28b60617ea00a9d38305722c8b64805482168317905563780e9d6360e01b6000527f785e4d925c4778965a1107f0c202069d496d641ab5dd08a13bd2b783950e105f80549091169091179055606460025560408051610ce08101909152602e610c8082018181528291620022f2610ca084013981526020016040518060600160405280602e815260200162002f2a602e913981526020016040518060600160405280602e815260200162002aac602e913981526020016040518060600160405280602e815260200162002320602e913981526020016040518060600160405280602e8152602001620022c4602e913981526020016040518060600160405280602e815260200162002f58602e913981526020016040518060600160405280602e815260200162002296602e913981526020016040518060600160405280602e8152602001620020f8602e913981526020016040518060600160405280602e815260200162002e72602e913981526020016040518060600160405280602e81526020016200262e602e913981526020016040518060600160405280602e8152602001620025a4602e913981526020016040518060600160405280602e8152602001620023aa602e913981526020016040518060600160405280602e8152602001620029c6602e913981526020016040518060600160405280602e81526020016200209c602e913981526020016040518060600160405280602e8152602001620027cc602e913981526020016040518060600160405280602e815260200162002012602e913981526020016040518060600160405280602e815260200162002ca6602e913981526020016040518060600160405280602e815260200162002b92602e913981526020016040518060600160405280602e81526020016200220c602e913981526020016040518060600160405280602e815260200162002770602e913981526020016040518060600160405280602e8152602001620023d8602e913981526020016040518060600160405280602e815260200162002600602e913981526020016040518060600160405280602e81526020016200265c602e913981526020016040518060600160405280602e815260200162002884602e913981526020016040518060600160405280602e815260200162003124602e913981526020016040518060600160405280602e8152602001620021de602e913981526020016040518060600160405280602e815260200162003180602e913981526020016040518060600160405280602e815260200162002ece602e913981526020016040518060600160405280602e81526020016200290e602e913981526020016040518060600160405280602e815260200162002d5e602e913981526020016040518060600160405280602e815260200162002d30602e913981526020016040518060600160405280602e81526020016200268a602e913981526020016040518060600160405280602e815260200162002714602e913981526020016040518060600160405280602e815260200162002d8c602e913981526020016040518060600160405280602e815260200162002de8602e913981526020016040518060600160405280602e815260200162002a22602e913981526020016040518060600160405280602e815260200162002a7e602e913981526020016040518060600160405280602e815260200162002548602e913981526020016040518060600160405280602e8152602001620021b0602e913981526020016040518060600160405280602e81526020016200223a602e913981526020016040518060600160405280602e815260200162002856602e913981526020016040518060600160405280602e8152602001620028e0602e913981526020016040518060600160405280602e815260200162003010602e913981526020016040518060600160405280602e815260200162002b64602e913981526020016040518060600160405280602e815260200162002dba602e913981526020016040518060600160405280602e815260200162002fe2602e913981526020016040518060600160405280602e815260200162002c4a602e913981526020016040518060600160405280602e81526020016200296a602e913981526020016040518060600160405280602e815260200162002c78602e913981526020016040518060600160405280602e815260200162002cd4602e913981526020016040518060600160405280602e815260200162002182602e913981526020016040518060600160405280602e815260200162002040602e913981526020016040518060600160405280602e815260200162002c1c602e913981526020016040518060600160405280602e81526020016200279e602e913981526020016040518060600160405280602e815260200162002f86602e913981526020016040518060600160405280602e815260200162002126602e913981526020016040518060600160405280602e815260200162002998602e913981526020016040518060600160405280602e8152602001620028b2602e913981526020016040518060600160405280602e815260200162002828602e913981526020016040518060600160405280602e8152602001620031ae602e913981526020016040518060600160405280602e815260200162002b08602e913981526020016040518060600160405280602e8152602001620026b8602e913981526020016040518060600160405280602e81526020016200309a602e913981526020016040518060600160405280602e815260200162002ea0602e913981526020016040518060600160405280602e8152602001620026e6602e913981526020016040518060600160405280602e81526020016200306c602e913981526020016040518060600160405280602e8152602001620030f6602e913981526020016040518060600160405280602e8152602001620024ec602e913981526020016040518060600160405280602e815260200162003152602e913981526020016040518060600160405280602e815260200162002fb4602e913981526020016040518060600160405280602e8152602001620024be602e913981526020016040518060600160405280602e81526020016200206e602e913981526020016040518060600160405280602e81526020016200237c602e913981526020016040518060600160405280602e815260200162002d02602e913981526020016040518060600160405280602e8152602001620029f4602e913981526020016040518060600160405280602e8152602001620025d2602e913981526020016040518060600160405280602e815260200162002ada602e913981526020016040518060600160405280602e8152602001620020ca602e913981526020016040518060600160405280602e815260200162002efc602e913981526020016040518060600160405280602e81526020016200293c602e913981526020016040518060600160405280602e815260200162002576602e913981526020016040518060600160405280602e81526020016200234e602e913981526020016040518060600160405280602e815260200162002434602e913981526020016040518060600160405280602e8152602001620030c8602e913981526020016040518060600160405280602e815260200162002b36602e913981526020016040518060600160405280602e815260200162002a50602e913981526020016040518060600160405280602e81526020016200251a602e913981526020016040518060600160405280602e815260200162002bee602e913981526020016040518060600160405280602e815260200162002154602e913981526020016040518060600160405280602e815260200162002490602e913981526020016040518060600160405280602e815260200162002bc0602e913981526020016040518060600160405280602e815260200162002e44602e913981526020016040518060600160405280602e815260200162002406602e913981526020016040518060600160405280602e815260200162002742602e913981526020016040518060600160405280602e815260200162002e16602e913981526020016040518060600160405280602e8152602001620027fa602e913981526020016040518060600160405280602e81526020016200303e602e913981526020016040518060600160405280602e8152602001620031dc602e913981526020016040518060600160405280602e815260200162002462602e913981526020016040518060600160405280602e815260200162002268602e9139905262000d5990600490606462000edd565b5060005b606481101562000e45576040516306e2237160e41b81526004810182905281907341f28833be34e6ede3c58d1f597bef429861c4e290636e2237109060240160206040518083038186803b15801562000db557600080fd5b505afa15801562000dca573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000df0919062001060565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a48062000e3c8162001134565b91505062000d5d565b50505062001172565b82805462000e5c90620010f7565b90600052602060002090601f01602090048101928262000e80576000855562000ecb565b82601f1062000e9b57805160ff191683800117855562000ecb565b8280016001018555821562000ecb579182015b8281111562000ecb57825182559160200191906001019062000eae565b5062000ed992915062000f30565b5090565b826064810192821562000f22579160200282015b8281111562000f22578251805162000f1191849160209091019062000e4e565b509160200191906001019062000ef1565b5062000ed992915062000f47565b5b8082111562000ed9576000815560010162000f31565b8082111562000ed957600062000f5e828262000f68565b5060010162000f47565b50805462000f7690620010f7565b6000825580601f1062000f8a575062000faa565b601f01602090049060005260206000209081019062000faa919062000f30565b50565b600082601f83011262000fbe578081fd5b81516001600160401b038082111562000fdb5762000fdb6200115c565b604051601f8301601f19908116603f011681019082821181831017156200100657620010066200115c565b8160405283815260209250868385880101111562001022578485fd5b8491505b8382101562001045578582018301518183018401529082019062001026565b838211156200105657848385830101525b9695505050505050565b60006020828403121562001072578081fd5b81516001600160a01b038116811462001089578182fd5b9392505050565b60008060408385031215620010a3578081fd5b82516001600160401b0380821115620010ba578283fd5b620010c88683870162000fad565b93506020850151915080821115620010de578283fd5b50620010ed8582860162000fad565b9150509250929050565b600181811c908216806200110c57607f821691505b602082108114156200112e57634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156200115557634e487b7160e01b81526011600452602481fd5b5060010190565b634e487b7160e01b600052604160045260246000fd5b610e9080620011826000396000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c80634f6ccce7116100a2578063a22cb46511610071578063a22cb4651461022e578063b88d4fde14610241578063c87b56dd14610254578063e985e9c514610267578063ea9f1b87146102a35761010b565b80634f6ccce7146101ed5780636352211e1461020057806370a082311461021357806395d89b41146102265761010b565b806318160ddd116100de57806318160ddd1461019d57806323b872dd146101b45780632f745c59146101c757806342842e0e146101da5761010b565b806301ffc9a71461011057806306fdde0314610148578063081812fc1461015d578063095ea7b314610188575b600080fd5b61013361011e366004610c8e565b60036020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b6101506102be565b60405161013f9190610d7b565b61017061016b366004610cc6565b61034c565b6040516001600160a01b03909116815260200161013f565b61019b610196366004610c63565b61038c565b005b6101a660025481565b60405190815260200161013f565b61019b6101c2366004610b19565b610499565b6101a66101d5366004610c63565b6104a9565b61019b6101e8366004610b19565b61057f565b6101a66101fb366004610cc6565b61059a565b61017061020e366004610cc6565b6105e7565b6101a6610221366004610aa9565b6106c4565b610150610776565b61019b61023c366004610c32565b610783565b61019b61024f366004610b59565b6107ef565b610150610262366004610cc6565b610858565b610133610275366004610ae1565b6001600160a01b03918216600090815260cc6020908152604080832093909416825291909152205460ff1690565b6101707341f28833be34e6ede3c58d1f597bef429861c4e281565b600080546102cb90610dba565b80601f01602080910402602001604051908101604052809291908181526020018280546102f790610dba565b80156103445780601f1061031957610100808354040283529160200191610344565b820191906000526020600020905b81548152906001019060200180831161032757829003601f168201915b505050505081565b6000610357826105e7565b506068826064811061037957634e487b7160e01b600052603260045260246000fd5b01546001600160a01b031690505b919050565b6000610397826105e7565b9050336001600160a01b03821614806103d357506001600160a01b038116600090815260cc6020908152604080832033845290915290205460ff165b6104245760405162461bcd60e51b815260206004820152601e60248201527f4e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c000060448201526064015b60405180910390fd5b826068836064811061044657634e487b7160e01b600052603260045260246000fd5b0180546001600160a01b0319166001600160a01b03928316179055604051839185811691908416907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590600090a4505050565b6104a4838383610916565b505050565b604051631ee284b160e01b81526001600160a01b0383166004820152602481018290526000907341f28833be34e6ede3c58d1f597bef429861c4e290631ee284b19060440160206040518083038186803b15801561050657600080fd5b505afa925050508015610536575060408051601f3d908101601f1916820190925261053391810190610cde565b60015b6105785760405162461bcd60e51b8152602060048201526013602482015272496e646578206f7574206f6620626f756e647360681b604482015260640161041b565b9392505050565b6104a4838383604051806020016040528060008152506107ef565b600060025482106105e35760405162461bcd60e51b8152602060048201526013602482015272496e646578206f7574206f6620626f756e647360681b604482015260640161041b565b5090565b6000606482101561067c576040516306e2237160e41b8152600481018390527341f28833be34e6ede3c58d1f597bef429861c4e290636e2237109060240160206040518083038186803b15801561063d57600080fd5b505afa158015610651573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106759190610ac5565b9050610387565b60405162461bcd60e51b815260206004820152601d60248201527f517565727920666f72206e6f6e6578697374656e7420746f6b656e4964000000604482015260640161041b565b6000805b604051631ee284b160e01b81526001600160a01b0384166004820152602481018290527341f28833be34e6ede3c58d1f597bef429861c4e290631ee284b19060440160206040518083038186803b15801561072257600080fd5b505afa925050508015610752575060408051601f3d908101601f1916820190925261074f91810190610cde565b60015b61075d579050610387565b8161076781610def565b925050506106c8565b50919050565b600180546102cb90610dba565b33600081815260cc602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b6107fa848484610916565b6108068484848461095e565b6108525760405162461bcd60e51b815260206004820152601f60248201527f5472616e7366657220746f206e6f6e2045524337323120726563656976657200604482015260640161041b565b50505050565b6060610863826105e7565b506004826064811061088557634e487b7160e01b600052603260045260246000fd5b01805461089190610dba565b80601f01602080910402602001604051908101604052809291908181526020018280546108bd90610dba565b801561090a5780601f106108df5761010080835404028352916020019161090a565b820191906000526020600020905b8154815290600101906020018083116108ed57829003601f168201915b50505050509050919050565b60405162461bcd60e51b815260206004820152601760248201527f4e465420697320617474616368656420746f20726f636b000000000000000000604482015260640161041b565b6000833b80610971576001915050610aa1565b600080866001600160a01b0316600063150b7a0260e01b338b8a8a60405160240161099f9493929190610d3e565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925290516109dd9190610d22565b60006040518083038185875af1925050503d8060008114610a1a576040519150601f19603f3d011682016040523d82523d6000602084013e610a1f565b606091505b509150915081610a715760405162461bcd60e51b815260206004820152601f60248201527f5472616e7366657220746f206e6f6e2045524337323120726563656976657200604482015260640161041b565b600081806020019051810190610a879190610caa565b6001600160e01b031916630a85bd0160e11b149450505050505b949350505050565b600060208284031215610aba578081fd5b813561057881610e2c565b600060208284031215610ad6578081fd5b815161057881610e2c565b60008060408385031215610af3578081fd5b8235610afe81610e2c565b91506020830135610b0e81610e2c565b809150509250929050565b600080600060608486031215610b2d578081fd5b8335610b3881610e2c565b92506020840135610b4881610e2c565b929592945050506040919091013590565b60008060008060808587031215610b6e578081fd5b8435610b7981610e2c565b93506020850135610b8981610e2c565b925060408501359150606085013567ffffffffffffffff80821115610bac578283fd5b818701915087601f830112610bbf578283fd5b813581811115610bd157610bd1610e16565b604051601f8201601f19908116603f01168101908382118183101715610bf957610bf9610e16565b816040528281528a6020848701011115610c11578586fd5b82602086016020830137918201602001949094529598949750929550505050565b60008060408385031215610c44578182fd5b8235610c4f81610e2c565b915060208301358015158114610b0e578182fd5b60008060408385031215610c75578182fd5b8235610c8081610e2c565b946020939093013593505050565b600060208284031215610c9f578081fd5b813561057881610e44565b600060208284031215610cbb578081fd5b815161057881610e44565b600060208284031215610cd7578081fd5b5035919050565b600060208284031215610cef578081fd5b5051919050565b60008151808452610d0e816020860160208601610d8e565b601f01601f19169290920160200192915050565b60008251610d34818460208701610d8e565b9190910192915050565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090610d7190830184610cf6565b9695505050505050565b6000602082526105786020830184610cf6565b60005b83811015610da9578181015183820152602001610d91565b838111156108525750506000910152565b600181811c90821680610dce57607f821691505b6020821081141561077057634e487b7160e01b600052602260045260246000fd5b6000600019821415610e0f57634e487b7160e01b81526011600452602481fd5b5060010190565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114610e4157600080fd5b50565b6001600160e01b031981168114610e4157600080fdfea2646970667358221220981da9c3d119a9dfe68b8d77e6f73b05b04f051601663fa77059ff516576c64364736f6c63430008030033516d664350385054393334425234465673537a73787a65384e664c4d6570774e4662325a59696834477a345a4a74516d64325a754e56475354626a327142664c53556b67634b54636657674d7067746279686b644a72505153676d38516d61736737554b4a7664615444544e785a3534773767415679614b3159444e793176787571436f583532573671516d547a417a6a39334544454d71336a6d6f525046563466734235725451484e42467939454d5453455068355141516d514d774858774c43486e683944543578584752727438534c5451423179456d6d564b7545324566486a543172516d653166754b4b42554673477a7a774252446a44746e726669554850397a6b62334a6769396f6a4b6b37487635516d55336542413571376239347255546857415250764d6f6265644e52535a37756542784354475a6d7a76316e52516d54686d71644d45417979453772644e377545314167514b664d34635269576b54445773315147757144425765516d53757053556642666e7943716f42487a436e786b5357527a71486f4a5241514a6a5759447a67354a68623643516d52636451627575547963327770366a73624a6f673743663331576b5843364c7074587339566745726a42504b516d5533696464775474596851554276784a486d72483474423731716f37446e764a39796f45774a666970554b33516d5868765743337854425546653835474c577271554e61793334374556443768594b63316142486f797232436f516d536b47524c36366a4b44717756777655327647734774677138456a79374c64477937467963385273755a7a43516d527843346137556f32334b43595671557873486d696d4b4131775954756b4a36434752676d3861435a314764516d5a693657787956454d4c7a524136626d353169444e7739715478626965454a447a416b596272346231444d6f516d656b546f364c4d4356524b726472485071694d6859775533756943715a6756746a6a7454526d546b34773576516d504a38717a547575345468434a4e4478613769623144555968456241507a4d55706173696e6e756343354148516d567745787677675a754b44617663544745594c6938777253455565725258635344374e4566627a5a67464c45516d546f6748644441704e316b544445744159627334336d396a524463334a4e767853576a676b51725056366a61516d58384a797253453242644c73656e484b6451563834744657537a4458354c666d576e6667704e665170394158516d565067504834795a697a796a56486433597041487778514850356a586673673355716e624157587335763764516d5243686759553843726153504234595531484e39525875546d7837555352334c507543484172763545414747516d55567866467752625047785939734d36355165527667346e67345674326873434d534c366b4742545a627467516d544b535732507a55706f416a366f6956613774536833707a4a76704a553648325972544c5378373436443966516d503746514e585968653565575751454852543453696843544637645a6276334c534d4274585933487942746f516d50394d74674770414e574b756a63575570525a6b414e444e6863664d3479546e63514d7a41654e5a33344e38516d526b43656e716258684b78796b6342446d75767a574b786e6d757642393376536d55654735595372446a3665516d61547279486751364152554a41556564546e507939376e6a533634327a6d33567936786a664c464558333251516d5a75733641576a73564173696e6e47696d4a31735466465261516e3452326162757048593844696d4e636463516d6476786145715a41357469686e6d326b51336d615071366e6a5a36364558527a56616d596e4861506a697062516d5638445055525445396d786e4d6e555539374c73437665596a3745484a5177634b4765446163474874527550516d596f6a7943574b504d39653278596a353448376332624436374e626278326d566a4c515a486f375034576853516d517258534651695733724634697a746f733652647935523850437052417a4c6e64614251394d596d35534e4c516d6535674355594b785161717241457134323864444d7074316e6542576b615a6e443759544b78564777467855516d59614e6b366747625139516f61624e396a757277505135707937476a57384d3557574a64774b6d7a764c395a516d663844623655453373646365786b4738654b3370383870336254624c3174537356466950547a4b7555776451516d5935636d4455335675526b4a563868413177526376784b3645434c44396e6d73765158715636394d55467967516d52714a696d62486b6e64556d59473170784d46594d5770353150327167394b646f72454b5a68553658447432516d52584b484b766e42684b794574654778773539444c71736f7554504259765475487948536d6278434c744e44516d4e69325468334c646879656363554a5a4e486a5652424b767042394d46594a6932367739725a6952774a6b54516d647a5644315843344437796450613264503938576d4470766b6378697a417065626331756a4a76777a546862516d52554e325236774c4e436678417a337a4b3362646e43596b5434457a476d53514d714c614b61414631773647516d63466d504869476d6f596a5a356e726a32456e6b7663674e67543665386f414479425a36476b365345385939516d636a514d44394c535a696e58575646716d4d645058586977716954557067536338707957524534517666755a516d57387a467631434671446e71786a426e523639646235476a3534526e5972696d3471717774715a356b4d7943516d5154336766445859766b38696978316976363855706f434a62706e73426179374c7066355836376d477a5256516d586e77506b78667653755446775639576b346962566f39636938714b6d6a6d4d58576a544a58663870675473516d623843317366783863766d6f35453543454e7a5a583457424a794a64596266357a566763667355483976316d516d566d5365716f72676873366f6d4e6252536e7242466a57756e347178725a386275456b794d72757552627042516d636472455645354b4b5443553539674375464a383748696a536f767a647042463855536d756268643464367a516d6441574d39486e7865686258316d45484e3646415054756b734e725a6a4556684b486f535274575978596374516d5932324d346641523478616256654a6557463777507839506979434c595875776f315a4871787262746e757a516d53574552476974526663443541426b3332327a3852476632645753354d764a6933776973485837644d6b6e4e516d53626d58756a75665174465469364b3253416351386574515353324774593767663252505966796a6f316e76516d59727a6b67673455567243757865596e35696a38506d79676f6632726864374271724d67544e50426e513864516d54537a416579763961366f57335a5a38735039576f675157427146574864336f474675644d6162766f367858516d6270537069454b7a58776a7134314d6543787150664d6b64743278524e4847513236754b5279656b77755138516d54627a6a53395255616a624b66454c4d44795954706f6f7069385654677768595265665365637436526f774d516d5a6d4844726f646f63314b765a776232537a566f364275337a6f75576f676d45514739474d4772464c754152516d6474517372457a72677a745259754b76706e594d7863594c66517853353978394d3566425156477653783371516d5a516873574d4474516e4a6e47574143615a41686d34343963624b516f6e4734585768514e654d42744e5161516d513441424838534c44724c615a69486865626662514555756463676b7664564176575551794345343659716f516d52563335576a5a77766461426f505672315958386f714c48786e446359664e586a7537517657584356376839516d50696a70726546454c57424a6e784b6434463967656b56344a536a4d3237737a773956534b433647786f6958516d555867744b78367456764b6b316171444435615a774237433563743352317453376d34356b674b73674b6632516d616a7455506b5833457a667352713945775154596f3838444e66436e4b4856574531706f31644363374a474c516d56617741786972426d643536444e763752757850316d346d31554e5238676f437439483948314d4533504463516d4e6f54574c736d364259507379565244644b6a684d5042734d4a386632545a516d4b74476b3566753774577a516d576e4c787059434734486d434369554c6442537061797177334a74664a767a34676b54756f627a65564c5131516d6442787372587331734b31627469514b79627665794c54716547326b48473178754b74366336706945484e46516d4e7872367a726465465a75416451466d576576513942645675626f5a6576787a72684d635051526e436a5462516d566d4d6f5965425563396f314e464135756344776d69324247706261456f4351324152424743374c50366a52516d663979644650634a5877715955314e5055794a3352484d356a5a4365546b4a726e746a413644426d54623743516d63565741534141326f44566d5579695031704c4d7462415178344d696d57454a5a4c6a7867516d5a76396357516d544c6934504d52396f617332527471334c6a58784766464b6256714647786837787251643938745a78485770516d6646456f54734a43767a755245387a3138347354457a59644574446b61467444757a414b543551574d4b486f516d553144623146743467584c6b64484e437737754d3938644c7066567133396238614b316f4c574d5a4e375154516d6635485454575639455354394a34514d584d355652704c5677394e64514c7867504a59477033354e73655a7a516d5374537a686562563563766f6b513651335052676e484c666369694d4650626839444d6e4376485a324b5847516d614c71645173315833414b73324252785a55784a6a62564a7174584c6643315379634a797361666257385470516d527563433555783746766d57435363544b4c7843696f7278585938646143795450783374475a445252636362516d63674a574c4d46377133654a53634b7244394636637167364661344d69764a43634b6155375351596859684d516d52324a54775a4c5475726a46664c326e72715675464a426f3954766e65727279624775447341347576334550516d56777278584773507835515534525137483565593637476b557043613174756b6d5a3841525a56717a425239516d584e537431346b61474b617557333756784c53684c537166764c7953687a426e56426d626858624a64636936516d61644171426f4d586d3741644c58574e734c7179426a7745556839587245414c66744b575356717962325773516d646353716b4e6f3554787033686f5a576674486d7439386b656e76545741754b6a5850484a66537376335243516d5859747831586b73336d76444e4c7765536b436a77726851737355573161664b3976584b486369424c4e4d6e516d61796e54414862564767324552634462706e42756b6f4667774c386634654b44445675425966524669345175516d5174374b444761505678787a466975764b706664536a4466625439415448644b374a59314545645a7a543532516d616863764e753658627477444c487a3435695971727a6639717a7854525a3471746e396f374a615a38564276516d5456525a483836504546324d44756353483767725169703969396647624c6f543565755357356a47316d6973516d50777a4134554b615151654a6d6a74665864615668556f64417a3354764135706b796d70756d655534424546516d62516a67674a7058506b436d4c594874343656755a3668535076533531576358425276767936657a7a6a4757516d5035723279663139424a34567a7a4c395a355478683754635a635a72326272475779515931346d4541424738516d5664675555345642537038676f57427867416a377a5175434e4259526b316b436b4c356135397a3251486245516d6644565537377743477465624d786778546a76466432484469736b76333448337842764c794a5541514e4a61516d574838393471756d5877437570697477345531595137503672685a6878416a4a5353436a394a6d39745a7537516d6572615739447268365675614c6b316576377870544471457a68357448466a64354374744d433537786d5658516d614d76676948455a53456e553954484a5077417468594e6251757753645a6b50716943334669776e524a665800000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000d50726f6f66206f6620526f636b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003504f520000000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061010b5760003560e01c80634f6ccce7116100a2578063a22cb46511610071578063a22cb4651461022e578063b88d4fde14610241578063c87b56dd14610254578063e985e9c514610267578063ea9f1b87146102a35761010b565b80634f6ccce7146101ed5780636352211e1461020057806370a082311461021357806395d89b41146102265761010b565b806318160ddd116100de57806318160ddd1461019d57806323b872dd146101b45780632f745c59146101c757806342842e0e146101da5761010b565b806301ffc9a71461011057806306fdde0314610148578063081812fc1461015d578063095ea7b314610188575b600080fd5b61013361011e366004610c8e565b60036020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b6101506102be565b60405161013f9190610d7b565b61017061016b366004610cc6565b61034c565b6040516001600160a01b03909116815260200161013f565b61019b610196366004610c63565b61038c565b005b6101a660025481565b60405190815260200161013f565b61019b6101c2366004610b19565b610499565b6101a66101d5366004610c63565b6104a9565b61019b6101e8366004610b19565b61057f565b6101a66101fb366004610cc6565b61059a565b61017061020e366004610cc6565b6105e7565b6101a6610221366004610aa9565b6106c4565b610150610776565b61019b61023c366004610c32565b610783565b61019b61024f366004610b59565b6107ef565b610150610262366004610cc6565b610858565b610133610275366004610ae1565b6001600160a01b03918216600090815260cc6020908152604080832093909416825291909152205460ff1690565b6101707341f28833be34e6ede3c58d1f597bef429861c4e281565b600080546102cb90610dba565b80601f01602080910402602001604051908101604052809291908181526020018280546102f790610dba565b80156103445780601f1061031957610100808354040283529160200191610344565b820191906000526020600020905b81548152906001019060200180831161032757829003601f168201915b505050505081565b6000610357826105e7565b506068826064811061037957634e487b7160e01b600052603260045260246000fd5b01546001600160a01b031690505b919050565b6000610397826105e7565b9050336001600160a01b03821614806103d357506001600160a01b038116600090815260cc6020908152604080832033845290915290205460ff165b6104245760405162461bcd60e51b815260206004820152601e60248201527f4e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c000060448201526064015b60405180910390fd5b826068836064811061044657634e487b7160e01b600052603260045260246000fd5b0180546001600160a01b0319166001600160a01b03928316179055604051839185811691908416907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590600090a4505050565b6104a4838383610916565b505050565b604051631ee284b160e01b81526001600160a01b0383166004820152602481018290526000907341f28833be34e6ede3c58d1f597bef429861c4e290631ee284b19060440160206040518083038186803b15801561050657600080fd5b505afa925050508015610536575060408051601f3d908101601f1916820190925261053391810190610cde565b60015b6105785760405162461bcd60e51b8152602060048201526013602482015272496e646578206f7574206f6620626f756e647360681b604482015260640161041b565b9392505050565b6104a4838383604051806020016040528060008152506107ef565b600060025482106105e35760405162461bcd60e51b8152602060048201526013602482015272496e646578206f7574206f6620626f756e647360681b604482015260640161041b565b5090565b6000606482101561067c576040516306e2237160e41b8152600481018390527341f28833be34e6ede3c58d1f597bef429861c4e290636e2237109060240160206040518083038186803b15801561063d57600080fd5b505afa158015610651573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106759190610ac5565b9050610387565b60405162461bcd60e51b815260206004820152601d60248201527f517565727920666f72206e6f6e6578697374656e7420746f6b656e4964000000604482015260640161041b565b6000805b604051631ee284b160e01b81526001600160a01b0384166004820152602481018290527341f28833be34e6ede3c58d1f597bef429861c4e290631ee284b19060440160206040518083038186803b15801561072257600080fd5b505afa925050508015610752575060408051601f3d908101601f1916820190925261074f91810190610cde565b60015b61075d579050610387565b8161076781610def565b925050506106c8565b50919050565b600180546102cb90610dba565b33600081815260cc602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b6107fa848484610916565b6108068484848461095e565b6108525760405162461bcd60e51b815260206004820152601f60248201527f5472616e7366657220746f206e6f6e2045524337323120726563656976657200604482015260640161041b565b50505050565b6060610863826105e7565b506004826064811061088557634e487b7160e01b600052603260045260246000fd5b01805461089190610dba565b80601f01602080910402602001604051908101604052809291908181526020018280546108bd90610dba565b801561090a5780601f106108df5761010080835404028352916020019161090a565b820191906000526020600020905b8154815290600101906020018083116108ed57829003601f168201915b50505050509050919050565b60405162461bcd60e51b815260206004820152601760248201527f4e465420697320617474616368656420746f20726f636b000000000000000000604482015260640161041b565b6000833b80610971576001915050610aa1565b600080866001600160a01b0316600063150b7a0260e01b338b8a8a60405160240161099f9493929190610d3e565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925290516109dd9190610d22565b60006040518083038185875af1925050503d8060008114610a1a576040519150601f19603f3d011682016040523d82523d6000602084013e610a1f565b606091505b509150915081610a715760405162461bcd60e51b815260206004820152601f60248201527f5472616e7366657220746f206e6f6e2045524337323120726563656976657200604482015260640161041b565b600081806020019051810190610a879190610caa565b6001600160e01b031916630a85bd0160e11b149450505050505b949350505050565b600060208284031215610aba578081fd5b813561057881610e2c565b600060208284031215610ad6578081fd5b815161057881610e2c565b60008060408385031215610af3578081fd5b8235610afe81610e2c565b91506020830135610b0e81610e2c565b809150509250929050565b600080600060608486031215610b2d578081fd5b8335610b3881610e2c565b92506020840135610b4881610e2c565b929592945050506040919091013590565b60008060008060808587031215610b6e578081fd5b8435610b7981610e2c565b93506020850135610b8981610e2c565b925060408501359150606085013567ffffffffffffffff80821115610bac578283fd5b818701915087601f830112610bbf578283fd5b813581811115610bd157610bd1610e16565b604051601f8201601f19908116603f01168101908382118183101715610bf957610bf9610e16565b816040528281528a6020848701011115610c11578586fd5b82602086016020830137918201602001949094529598949750929550505050565b60008060408385031215610c44578182fd5b8235610c4f81610e2c565b915060208301358015158114610b0e578182fd5b60008060408385031215610c75578182fd5b8235610c8081610e2c565b946020939093013593505050565b600060208284031215610c9f578081fd5b813561057881610e44565b600060208284031215610cbb578081fd5b815161057881610e44565b600060208284031215610cd7578081fd5b5035919050565b600060208284031215610cef578081fd5b5051919050565b60008151808452610d0e816020860160208601610d8e565b601f01601f19169290920160200192915050565b60008251610d34818460208701610d8e565b9190910192915050565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090610d7190830184610cf6565b9695505050505050565b6000602082526105786020830184610cf6565b60005b83811015610da9578181015183820152602001610d91565b838111156108525750506000910152565b600181811c90821680610dce57607f821691505b6020821081141561077057634e487b7160e01b600052602260045260246000fd5b6000600019821415610e0f57634e487b7160e01b81526011600452602481fd5b5060010190565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114610e4157600080fd5b50565b6001600160e01b031981168114610e4157600080fdfea2646970667358221220981da9c3d119a9dfe68b8d77e6f73b05b04f051601663fa77059ff516576c64364736f6c63430008030033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000d50726f6f66206f6620526f636b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003504f520000000000000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : _name (string): Proof of Rock
Arg [1] : _symbol (string): POR
-----Encoded View---------------
6 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000040
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [2] : 000000000000000000000000000000000000000000000000000000000000000d
Arg [3] : 50726f6f66206f6620526f636b00000000000000000000000000000000000000
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [5] : 504f520000000000000000000000000000000000000000000000000000000000
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ 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.