ERC-721
Overview
Max Total Supply
45
Holders
30
Market
Volume (24H)
N/A
Min Price (24H)
N/A
Max Price (24H)
N/A
Other Info
Token Contract
Balance
1Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
Vyper_contract
Compiler Version
vyper:0.3.6
Contract Source Code (Vyper language format)
# @version 0.3.6 # @dev Implementation of ERC-721 Enumerable standard # @author Volume Finance from vyper.interfaces import ERC165 from vyper.interfaces import ERC721 implements: ERC721 implements: ERC165 # Interface for the contract called by safeTransferFrom() interface ERC721Receiver: def onERC721Received( _operator: address, _from: address, _tokenId: uint256, _data: Bytes[1024] ) -> bytes4: view # @dev Emits when ownership of any NFT changes by any mechanism. This event emits when NFTs are # created (`from` == 0) and destroyed (`to` == 0). Exception: during contract creation, any # number of NFTs may be created and assigned without emitting Transfer. At the time of any # transfer, the approved address for that NFT (if any) is reset to none. # @param _from Sender of NFT (if address is zero address it indicates token creation). # @param _to Receiver of NFT (if address is zero address it indicates token destruction). # @param _tokenId The NFT that got transfered. event Transfer: _from: indexed(address) _to: indexed(address) _tokenId: indexed(uint256) # @dev This emits when the approved address for an NFT is changed or reaffirmed. The zero # address indicates there is no approved address. When a Transfer event emits, this also # indicates that the approved address for that NFT (if any) is reset to none. # @param _owner Owner of NFT. # @param _approved Address that we are approving. # @param _tokenId NFT which we are approving. event Approval: _owner: indexed(address) _approved: indexed(address) _tokenId: indexed(uint256) # @dev This emits when an operator is enabled or disabled for an owner. The operator can manage # all NFTs of the owner. # @param _owner Owner of NFT. # @param _operator Address to which we are setting operator rights. # @param _approved Status of operator rights(true if operator rights are given and false if # revoked). event ApprovalForAll: _owner: indexed(address) _operator: indexed(address) _approved: bool event Minted: eth_address: indexed(address) paloma_address: indexed(String[64]) token_id: indexed(uint256) event SetMinter: new_minter: indexed(address) old_minter: indexed(address) # @dev Mapping from NFT ID to the address that owns it. id_to_owner: HashMap[uint256, address] # @dev Mapping from NFT ID to approved address. id_to_approvals: HashMap[uint256, address] # @dev Mapping from owner address to count of his tokens. owner_to_token_count: HashMap[address, uint256] # @dev Mapping from owner address to mapping of operator addresses. owner_to_operators: HashMap[address, HashMap[address, bool]] owned_tokens_index: HashMap[uint256, uint256] owned_tokens: HashMap[address, HashMap[uint256, uint256]] all_tokens: HashMap[uint256, uint256] totalSupply: public(uint256) # @dev Address of minter, who can mint a token minter: public(address) BASE_URL: constant(String[38]) = "https://eggs.palomachain.com/metadata/" # @dev Static list of supported ERC165 interface ids SUPPORTED_INTERFACES: constant(bytes4[4]) = [ # ERC165 interface ID of ERC165 0x01ffc9a7, # ERC165 interface ID of ERC721 0x80ac58cd, # ERC165 interface ID of ERC721Metadata 0x5b5e139f, # ERC165 interface ID of ERC721Enumerable 0x780e9d63 ] @external def __init__(_minter: address): """ @dev Contract constructor. """ self.minter = _minter log SetMinter(_minter, empty(address)) @external @pure def name() -> String[15]: return "Paloma Egg Hunt" @external @pure def symbol() -> String[3]: return "PEH" @external @pure def supportsInterface(interface_id: bytes4) -> bool: """ @dev Interface identification is specified in ERC-165. @param interface_id Id of the interface """ return interface_id in SUPPORTED_INTERFACES ### VIEW FUNCTIONS ### @external @view def balanceOf(_owner: address) -> uint256: """ @dev Returns the number of NFTs owned by `_owner`. Throws if `_owner` is the zero address. NFTs assigned to the zero address are considered invalid. @param _owner Address for whom to query the balance. """ assert _owner != empty(address) return self.owner_to_token_count[_owner] @external @view def ownerOf(_tokenId: uint256) -> address: """ @dev Returns the address of the owner of the NFT. Throws if `_tokenId` is not a valid NFT. @param _tokenId The identifier for an NFT. """ owner: address = self.id_to_owner[_tokenId] # Throws if `_tokenId` is not a valid NFT assert owner != empty(address) return owner @external @view def getApproved(_tokenId: uint256) -> address: """ @dev Get the approved address for a single NFT. Throws if `_tokenId` is not a valid NFT. @param _tokenId ID of the NFT to query the approval of. """ # Throws if `_tokenId` is not a valid NFT assert self.id_to_owner[_tokenId] != empty(address) return self.id_to_approvals[_tokenId] @external @view def isApprovedForAll(_owner: address, _operator: address) -> bool: """ @dev Checks if `_operator` is an approved operator for `_owner`. @param _owner The address that owns the NFTs. @param _operator The address that acts on behalf of the owner. """ return (self.owner_to_operators[_owner])[_operator] ### TRANSFER FUNCTION HELPERS ### @internal @view def is_approved_or_owner(_spender: address, _tokenId: uint256) -> bool: """ @dev Returns whether the given spender can transfer a given token ID @param spender address of the spender to query @param tokenId uint256 ID of the token to be transferred @return bool whether the msg.sender is approved for the given token ID, is an operator of the owner, or is the owner of the token """ owner: address = self.id_to_owner[_tokenId] spenderIsOwner: bool = owner == _spender spenderIsApproved: bool = _spender == self.id_to_approvals[_tokenId] spenderIsApprovedForAll: bool = (self.owner_to_operators[owner])[_spender] return (spenderIsOwner or spenderIsApproved) or spenderIsApprovedForAll @internal def add_token_to(_to: address, _tokenId: uint256): """ @dev Add a NFT to a given address Throws if `_tokenId` is owned by someone. """ # Throws if `_tokenId` is owned by someone assert self.id_to_owner[_tokenId] == empty(address) # Change the owner self.id_to_owner[_tokenId] = _to # Change count tracking length: uint256 = self.owner_to_token_count[_to] self.owned_tokens[_to][length] = _tokenId self.owned_tokens_index[_tokenId] = length self.owner_to_token_count[_to] = length + 1 @internal def remove_token_from(_from: address, _tokenId: uint256): """ @dev Remove a NFT from a given address Throws if `_from` is not the current owner. """ # Throws if `_from` is not the current owner assert self.id_to_owner[_tokenId] == _from # Change the owner self.id_to_owner[_tokenId] = empty(address) # Change count tracking last_token_index: uint256 = self.owner_to_token_count[_from] - 1 token_index: uint256 = self.owned_tokens_index[_tokenId] if token_index != last_token_index: last_token_id: uint256 = self.owned_tokens[_from][last_token_index] self.owned_tokens[_from][token_index] = last_token_id self.owned_tokens_index[last_token_id] = token_index self.owned_tokens_index[_tokenId] = 0 self.owned_tokens[_from][last_token_index] = 0 self.owner_to_token_count[_from] = last_token_index @internal def clear_approval(_owner: address, _tokenId: uint256): """ @dev Clear an approval of a given address Throws if `_owner` is not the current owner. """ # Throws if `_owner` is not the current owner assert self.id_to_owner[_tokenId] == _owner if self.id_to_approvals[_tokenId] != empty(address): # Reset approvals self.id_to_approvals[_tokenId] = empty(address) @internal def transfer_from(_from: address, _to: address, _tokenId: uint256, _sender: address): """ @dev Exeute transfer of a NFT. Throws unless `msg.sender` is the current owner, an authorized operator, or the approved address for this NFT. (NOTE: `msg.sender` not allowed in private function so pass `_sender`.) Throws if `_to` is the zero address. Throws if `_from` is not the current owner. Throws if `_tokenId` is not a valid NFT. """ # Check requirements assert self.is_approved_or_owner(_sender, _tokenId) # Throws if `_to` is the zero address assert _to != empty(address) # Clear approval. Throws if `_from` is not the current owner self.clear_approval(_from, _tokenId) # Remove NFT. Throws if `_tokenId` is not a valid NFT self.remove_token_from(_from, _tokenId) # Add NFT self.add_token_to(_to, _tokenId) # Log the transfer log Transfer(_from, _to, _tokenId) ### TRANSFER FUNCTIONS ### @external def transferFrom(_from: address, _to: address, _tokenId: uint256): """ @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. @notice The caller is responsible to confirm that `_to` is capable of receiving NFTs or else they maybe be permanently lost. @param _from The current owner of the NFT. @param _to The new owner. @param _tokenId The NFT to transfer. """ self.transfer_from(_from, _to, _tokenId, msg.sender) @external def safeTransferFrom( _from: address, _to: address, _tokenId: uint256, _data: Bytes[1024]=b"" ): """ @dev Transfers the ownership of an NFT from one address to another address. 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. If `_to` is a smart contract, 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`. """ self.transfer_from(_from, _to, _tokenId, msg.sender) if _to.is_contract: # check if `_to` is a contract address returnValue: bytes4 = ERC721Receiver(_to).onERC721Received(msg.sender, _from, _tokenId, _data) # Throws if transfer destination is a contract which does not implement 'onERC721Received' assert returnValue == convert(method_id("onERC721Received(address,address,uint256,bytes)"), bytes4) @external def approve(_approved: address, _tokenId: uint256): """ @dev Set or reaffirm the approved address for an NFT. The zero address indicates there is no approved address. Throws unless `msg.sender` is the current NFT owner, or an authorized operator of the current owner. Throws if `_tokenId` is not a valid NFT. (NOTE: This is not written the EIP) Throws if `_approved` is the current owner. (NOTE: This is not written the EIP) @param _approved Address to be approved for the given NFT ID. @param _tokenId ID of the token to be approved. """ owner: address = self.id_to_owner[_tokenId] # Throws if `_tokenId` is not a valid NFT assert owner != empty(address) # Throws if `_approved` is the current owner assert _approved != owner # Check requirements senderIsOwner: bool = self.id_to_owner[_tokenId] == msg.sender senderIsApprovedForAll: bool = (self.owner_to_operators[owner])[msg.sender] assert (senderIsOwner or senderIsApprovedForAll) # Set the approval self.id_to_approvals[_tokenId] = _approved log Approval(owner, _approved, _tokenId) @external def setApprovalForAll(_operator: address, _approved: bool): """ @dev Enables or disables approval for a third party ("operator") to manage all of `msg.sender`'s assets. It also emits the ApprovalForAll event. Throws if `_operator` is the `msg.sender`. (NOTE: This is not written the EIP) @notice This works even if sender doesn't own any tokens at the time. @param _operator Address to add to the set of authorized operators. @param _approved True if the operators is approved, false to revoke approval. """ # Throws if `_operator` is the `msg.sender` assert _operator != msg.sender self.owner_to_operators[msg.sender][_operator] = _approved log ApprovalForAll(msg.sender, _operator, _approved) ### MINT FUNCTION ### @external def mint(_to: address, _paloma_address: String[64]) -> bool: """ @dev Function to mint tokens Throws if `msg.sender` is not the minter. Throws if `_to` is zero address. @param _to The address that will receive the minted tokens. @return A boolean that indicates if the operation was successful. """ # Throws if `msg.sender` is not the minter assert msg.sender == self.minter # Throws if `_to` is zero address assert _to != empty(address) # Add NFT. Throws if `_tokenId` is owned by someone total_supply: uint256 = self.totalSupply self.add_token_to(_to, total_supply) self.all_tokens[total_supply] = total_supply self.totalSupply = total_supply + 1 log Transfer(empty(address), _to, total_supply) log Minted(_to, _paloma_address, total_supply) return True @external def set_minter(_minter: address): assert msg.sender == self.minter self.minter = _minter log SetMinter(_minter, msg.sender) @external @pure def tokenURI(tokenId: uint256) -> String[116]: return concat(BASE_URL, uint2str(tokenId)) ### ERC721Enumerable FUNCTION ### @external @view def tokenOfOwnerByIndex(owner: address, index: uint256) -> uint256: assert index < self.owner_to_token_count[owner] return self.owned_tokens[owner][index] @external @view def tokenByIndex(index: uint256) -> uint256: assert index < self.totalSupply return self.all_tokens[index]
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"name":"Transfer","inputs":[{"name":"_from","type":"address","indexed":true},{"name":"_to","type":"address","indexed":true},{"name":"_tokenId","type":"uint256","indexed":true}],"anonymous":false,"type":"event"},{"name":"Approval","inputs":[{"name":"_owner","type":"address","indexed":true},{"name":"_approved","type":"address","indexed":true},{"name":"_tokenId","type":"uint256","indexed":true}],"anonymous":false,"type":"event"},{"name":"ApprovalForAll","inputs":[{"name":"_owner","type":"address","indexed":true},{"name":"_operator","type":"address","indexed":true},{"name":"_approved","type":"bool","indexed":false}],"anonymous":false,"type":"event"},{"name":"Minted","inputs":[{"name":"eth_address","type":"address","indexed":true},{"name":"paloma_address","type":"string","indexed":true},{"name":"token_id","type":"uint256","indexed":true}],"anonymous":false,"type":"event"},{"name":"SetMinter","inputs":[{"name":"new_minter","type":"address","indexed":true},{"name":"old_minter","type":"address","indexed":true}],"anonymous":false,"type":"event"},{"stateMutability":"nonpayable","type":"constructor","inputs":[{"name":"_minter","type":"address"}],"outputs":[]},{"stateMutability":"pure","type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string"}]},{"stateMutability":"pure","type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string"}]},{"stateMutability":"pure","type":"function","name":"supportsInterface","inputs":[{"name":"interface_id","type":"bytes4"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"view","type":"function","name":"balanceOf","inputs":[{"name":"_owner","type":"address"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"ownerOf","inputs":[{"name":"_tokenId","type":"uint256"}],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"getApproved","inputs":[{"name":"_tokenId","type":"uint256"}],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"isApprovedForAll","inputs":[{"name":"_owner","type":"address"},{"name":"_operator","type":"address"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"nonpayable","type":"function","name":"transferFrom","inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_tokenId","type":"uint256"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom","inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_tokenId","type":"uint256"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom","inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_tokenId","type":"uint256"},{"name":"_data","type":"bytes"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"approve","inputs":[{"name":"_approved","type":"address"},{"name":"_tokenId","type":"uint256"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"setApprovalForAll","inputs":[{"name":"_operator","type":"address"},{"name":"_approved","type":"bool"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"mint","inputs":[{"name":"_to","type":"address"},{"name":"_paloma_address","type":"string"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"nonpayable","type":"function","name":"set_minter","inputs":[{"name":"_minter","type":"address"}],"outputs":[]},{"stateMutability":"pure","type":"function","name":"tokenURI","inputs":[{"name":"tokenId","type":"uint256"}],"outputs":[{"name":"","type":"string"}]},{"stateMutability":"view","type":"function","name":"tokenOfOwnerByIndex","inputs":[{"name":"owner","type":"address"},{"name":"index","type":"uint256"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"tokenByIndex","inputs":[{"name":"index","type":"uint256"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"minter","inputs":[],"outputs":[{"name":"","type":"address"}]}]
Contract Creation Code
6020610db26000396000518060a01c610dad5760405234610dad5760405160085560006040517fe490d3138e32f1f66ef3971a3c73c7f7704ba0c1d1000f1e2c3df6fc0376610b60006060a3610d4f61005d61000039610d4f610000f36003361161000c57610a1e565b60003560e01c34610d3d576306fdde03811861009f5760043618610d3d57602080608052600f6040527f50616c6f6d61204567672048756e74000000000000000000000000000000000060605260408160800181518082526020830160208301815181525050508051806020830101601f82600003163682375050601f19601f8251602001011690509050810190506080f35b6395d89b4181186101275760043618610d3d5760208060805260036040527f504548000000000000000000000000000000000000000000000000000000000060605260408160800181518082526020830160208301815181525050508051806020830101601f82600003163682375050601f19601f8251602001011690509050810190506080f35b6301ffc9a781186102055760243618610d3d576004358060201b610d3d576040526040517f01ffc9a70000000000000000000000000000000000000000000000000000000081186101795760016101fa565b7f80ac58cd0000000000000000000000000000000000000000000000000000000081186101a75760016101fa565b7f5b5e139f0000000000000000000000000000000000000000000000000000000081186101d55760016101fa565b7f780e9d63000000000000000000000000000000000000000000000000000000008118155b905060805260206080f35b6370a0823181186102485760243618610d3d576004358060a01c610d3d5760405260405115610d3d57600260405160205260005260406000205460605260206060f35b636352211e811861027d5760243618610d3d57600060043560205260005260406000205460405260405115610d3d5760206040f35b63081812fc81186102c05760243618610d3d57600060043560205260005260406000205415610d3d57600160043560205260005260406000205460405260206040f35b63e985e9c5811861031a5760443618610d3d576004358060a01c610d3d576040526024358060a01c610d3d576060526003604051602052600052604060002080606051602052600052604060002090505460805260206080f35b6323b872dd81186103715760643618610d3d576004358060a01c610d3d576101a0526024358060a01c610d3d576101c0526101a051610100526101c0516101205260443561014052336101605261036f610c9b565b005b6342842e0e811861039b5760643618610d3d576000610600526106008051806101e05250506103d3565b63b88d4fde81186105185760a43610610d3d57606435600401610400813511610d3d578035806101e052602082018181610200375050505b6004358060a01c610d3d576101a0526024358060a01c610d3d576101c0526101a051610100526101c05161012052604435610140523361016052610415610c9b565b6101c0513b15610516576101c05163150b7a0261064052608033610660526101a051610680526044356106a052806106c05280610660016101e0518082526020820181818361020060045afa5050508051806020830101601f82600003163682375050601f19601f8251602001011690508101505060206106406104a461065c845afa6104a7573d600060003e3d6000fd5b60203d10610d3d57610640518060201b610d3d57610b0052610b00905051610620526004610640527f150b7a020000000000000000000000000000000000000000000000000000000061066052610640805160200360031b6020820151811c811b905090506106205118610d3d575b005b63095ea7b381186105f55760443618610d3d576004358060a01c610d3d57604052600060243560205260005260406000205460605260605115610d3d5760605160405114610d3d5733600060243560205260005260406000205414608052600360605160205260005260406000208033602052600052604060002090505460a0526080516105a85760a0516105ab565b60015b15610d3d5760405160016024356020526000526040600020556024356040516060517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600060c0a4005b63a22cb46581186106825760443618610d3d576004358060a01c610d3d576040526024358060011c610d3d576060523360405114610d3d576060516003336020526000526040600020806040516020526000526040600020905055604051337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160605160805260206080a3005b63d0def521811861078c5760643610610d3d576004358060a01c610d3d5760a0526024356004016040813511610d3d5780358060c05260208201818160e0375050506008543318610d3d5760a05115610d3d576007546101205260a051604052610120516060526106f1610aa5565b610120516006610120516020526000526040600020556101205160018101818110610d3d5790506007556101205160a05160007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6000610140a46101205160c05160e02060a0517fe678c8da3d2d6082f140bbbaa1ee822f0c7072ab604536db4a3e0315f8a927766000610140a46001610140526020610140f35b631652e9fc81186107e85760243618610d3d576004358060a01c610d3d576040526008543318610d3d57604051600855336040517fe490d3138e32f1f66ef3971a3c73c7f7704ba0c1d1000f1e2c3df6fc0376610b60006060a3005b63c87b56dd811861093f5760243618610d3d576020806101c052600060266040527f68747470733a2f2f656767732e70616c6f6d61636861696e2e636f6d2f6d65746060527f61646174612f0000000000000000000000000000000000000000000000000000608052604080516020820183610140018281848460045afa505050808301925050506004358061088957603060a152600160a05260a06108cb565b6000604f905b826108a957808160ee03528060ee0392506108c7566108bc565b600a83066030018160ee0352600a830492505b60010181811861088f575b5050805b905080516020820183610140018281848460045afa5050508083019250505080610120526101209050816101c001815180825260208301602083018281848460045afa505050508051806020830101601f82600003163682375050601f19601f8251602001011690509050810190506101c0f35b632f745c5981186109a55760443618610d3d576004358060a01c610d3d5760405260026040516020526000526040600020546024351015610d3d576005604051602052600052604060002080602435602052600052604060002090505460605260206060f35b634f6ccce781186109de5760243618610d3d576007546004351015610d3d57600660043560205260005260406000205460405260206040f35b6318160ddd81186109fd5760043618610d3d5760075460405260206040f35b63075461728118610a1c5760043618610d3d5760085460405260206040f35b505b60006000fd5b60006060516020526000526040600020546080526040516080511460a05260016060516020526000526040600020546040511460c0526003608051602052600052604060002080604051602052600052604060002090505460e05260a051610a8e5760c051610a91565b60015b610a9d5760e051610aa0565b60015b815250565b6000606051602052600052604060002054610d3d576040516000606051602052600052604060002055600260405160205260005260406000205460805260605160056040516020526000526040600020806080516020526000526040600020905055608051600460605160205260005260406000205560805160018101818110610d3d5790506002604051602052600052604060002055565b604051600060605160205260005260406000205418610d3d5760006000606051602052600052604060002055600260405160205260005260406000205460018103818111610d3d579050608052600460605160205260005260406000205460a05260805160a05114610c09576005604051602052600052604060002080608051602052600052604060002090505460c05260c051600560405160205260005260406000208060a051602052600052604060002090505560a051600460c0516020526000526040600020555b600060046060516020526000526040600020556000600560405160205260005260406000208060805160205260005260406000209050556080516002604051602052600052604060002055565b604051600060605160205260005260406000205418610d3d57600160605160205260005260406000205415610c9957600060016060516020526000526040600020555b565b6101605160405261014051606052610cb4610180610a24565b6101805115610d3d576101205115610d3d576101005160405261014051606052610cdc610c56565b6101005160405261014051606052610cf2610b3e565b6101205160405261014051606052610d08610aa5565b6101405161012051610100517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6000610180a4565b600080fda165767970657283000306000b005b600080fd0000000000000000000000006d727250bd150a9dc006b65b6c7a0d817b02bb2e
Deployed Bytecode
0x6003361161000c57610a1e565b60003560e01c34610d3d576306fdde03811861009f5760043618610d3d57602080608052600f6040527f50616c6f6d61204567672048756e74000000000000000000000000000000000060605260408160800181518082526020830160208301815181525050508051806020830101601f82600003163682375050601f19601f8251602001011690509050810190506080f35b6395d89b4181186101275760043618610d3d5760208060805260036040527f504548000000000000000000000000000000000000000000000000000000000060605260408160800181518082526020830160208301815181525050508051806020830101601f82600003163682375050601f19601f8251602001011690509050810190506080f35b6301ffc9a781186102055760243618610d3d576004358060201b610d3d576040526040517f01ffc9a70000000000000000000000000000000000000000000000000000000081186101795760016101fa565b7f80ac58cd0000000000000000000000000000000000000000000000000000000081186101a75760016101fa565b7f5b5e139f0000000000000000000000000000000000000000000000000000000081186101d55760016101fa565b7f780e9d63000000000000000000000000000000000000000000000000000000008118155b905060805260206080f35b6370a0823181186102485760243618610d3d576004358060a01c610d3d5760405260405115610d3d57600260405160205260005260406000205460605260206060f35b636352211e811861027d5760243618610d3d57600060043560205260005260406000205460405260405115610d3d5760206040f35b63081812fc81186102c05760243618610d3d57600060043560205260005260406000205415610d3d57600160043560205260005260406000205460405260206040f35b63e985e9c5811861031a5760443618610d3d576004358060a01c610d3d576040526024358060a01c610d3d576060526003604051602052600052604060002080606051602052600052604060002090505460805260206080f35b6323b872dd81186103715760643618610d3d576004358060a01c610d3d576101a0526024358060a01c610d3d576101c0526101a051610100526101c0516101205260443561014052336101605261036f610c9b565b005b6342842e0e811861039b5760643618610d3d576000610600526106008051806101e05250506103d3565b63b88d4fde81186105185760a43610610d3d57606435600401610400813511610d3d578035806101e052602082018181610200375050505b6004358060a01c610d3d576101a0526024358060a01c610d3d576101c0526101a051610100526101c05161012052604435610140523361016052610415610c9b565b6101c0513b15610516576101c05163150b7a0261064052608033610660526101a051610680526044356106a052806106c05280610660016101e0518082526020820181818361020060045afa5050508051806020830101601f82600003163682375050601f19601f8251602001011690508101505060206106406104a461065c845afa6104a7573d600060003e3d6000fd5b60203d10610d3d57610640518060201b610d3d57610b0052610b00905051610620526004610640527f150b7a020000000000000000000000000000000000000000000000000000000061066052610640805160200360031b6020820151811c811b905090506106205118610d3d575b005b63095ea7b381186105f55760443618610d3d576004358060a01c610d3d57604052600060243560205260005260406000205460605260605115610d3d5760605160405114610d3d5733600060243560205260005260406000205414608052600360605160205260005260406000208033602052600052604060002090505460a0526080516105a85760a0516105ab565b60015b15610d3d5760405160016024356020526000526040600020556024356040516060517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600060c0a4005b63a22cb46581186106825760443618610d3d576004358060a01c610d3d576040526024358060011c610d3d576060523360405114610d3d576060516003336020526000526040600020806040516020526000526040600020905055604051337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160605160805260206080a3005b63d0def521811861078c5760643610610d3d576004358060a01c610d3d5760a0526024356004016040813511610d3d5780358060c05260208201818160e0375050506008543318610d3d5760a05115610d3d576007546101205260a051604052610120516060526106f1610aa5565b610120516006610120516020526000526040600020556101205160018101818110610d3d5790506007556101205160a05160007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6000610140a46101205160c05160e02060a0517fe678c8da3d2d6082f140bbbaa1ee822f0c7072ab604536db4a3e0315f8a927766000610140a46001610140526020610140f35b631652e9fc81186107e85760243618610d3d576004358060a01c610d3d576040526008543318610d3d57604051600855336040517fe490d3138e32f1f66ef3971a3c73c7f7704ba0c1d1000f1e2c3df6fc0376610b60006060a3005b63c87b56dd811861093f5760243618610d3d576020806101c052600060266040527f68747470733a2f2f656767732e70616c6f6d61636861696e2e636f6d2f6d65746060527f61646174612f0000000000000000000000000000000000000000000000000000608052604080516020820183610140018281848460045afa505050808301925050506004358061088957603060a152600160a05260a06108cb565b6000604f905b826108a957808160ee03528060ee0392506108c7566108bc565b600a83066030018160ee0352600a830492505b60010181811861088f575b5050805b905080516020820183610140018281848460045afa5050508083019250505080610120526101209050816101c001815180825260208301602083018281848460045afa505050508051806020830101601f82600003163682375050601f19601f8251602001011690509050810190506101c0f35b632f745c5981186109a55760443618610d3d576004358060a01c610d3d5760405260026040516020526000526040600020546024351015610d3d576005604051602052600052604060002080602435602052600052604060002090505460605260206060f35b634f6ccce781186109de5760243618610d3d576007546004351015610d3d57600660043560205260005260406000205460405260206040f35b6318160ddd81186109fd5760043618610d3d5760075460405260206040f35b63075461728118610a1c5760043618610d3d5760085460405260206040f35b505b60006000fd5b60006060516020526000526040600020546080526040516080511460a05260016060516020526000526040600020546040511460c0526003608051602052600052604060002080604051602052600052604060002090505460e05260a051610a8e5760c051610a91565b60015b610a9d5760e051610aa0565b60015b815250565b6000606051602052600052604060002054610d3d576040516000606051602052600052604060002055600260405160205260005260406000205460805260605160056040516020526000526040600020806080516020526000526040600020905055608051600460605160205260005260406000205560805160018101818110610d3d5790506002604051602052600052604060002055565b604051600060605160205260005260406000205418610d3d5760006000606051602052600052604060002055600260405160205260005260406000205460018103818111610d3d579050608052600460605160205260005260406000205460a05260805160a05114610c09576005604051602052600052604060002080608051602052600052604060002090505460c05260c051600560405160205260005260406000208060a051602052600052604060002090505560a051600460c0516020526000526040600020555b600060046060516020526000526040600020556000600560405160205260005260406000208060805160205260005260406000209050556080516002604051602052600052604060002055565b604051600060605160205260005260406000205418610d3d57600160605160205260005260406000205415610c9957600060016060516020526000526040600020555b565b6101605160405261014051606052610cb4610180610a24565b6101805115610d3d576101205115610d3d576101005160405261014051606052610cdc610c56565b6101005160405261014051606052610cf2610b3e565b6101205160405261014051606052610d08610aa5565b6101405161012051610100517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6000610180a4565b600080fda165767970657283000306000b
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000006d727250bd150a9dc006b65b6c7a0d817b02bb2e
-----Decoded View---------------
Arg [0] : _minter (address): 0x6D727250bd150A9dC006b65b6C7a0D817B02bB2e
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000006d727250bd150a9dc006b65b6c7a0d817b02bb2e
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.