1// SPDX-License-Identifier: OTHER2// This code is automatically generated34pragma solidity >=0.8.0 <0.9.0;56// Anonymous struct7struct Tuple0 {8 uint256 field_0;9 string field_1;10}1112// Common stubs holder13interface Dummy {1415}1617interface ERC165 is Dummy {18 function supportsInterface(bytes4 interfaceID) external view returns (bool);19}2021// Inline22interface ERC721Events {23 event Transfer(24 address indexed from,25 address indexed to,26 uint256 indexed tokenId27 );28 event Approval(29 address indexed owner,30 address indexed approved,31 uint256 indexed tokenId32 );33 event ApprovalForAll(34 address indexed owner,35 address indexed operator,36 bool approved37 );38}3940// Inline41interface ERC721MintableEvents {42 event MintingFinished();43}4445// Selector: 42966c6846interface ERC721Burnable is Dummy, ERC165 {47 // Selector: burn(uint256) 42966c6848 function burn(uint256 tokenId) external;49}5051// Selector: 5880016152interface ERC721 is Dummy, ERC165, ERC721Events {53 // Selector: balanceOf(address) 70a0823154 function balanceOf(address owner) external view returns (uint256);5556 // Selector: ownerOf(uint256) 6352211e57 function ownerOf(uint256 tokenId) external view returns (address);5859 // Not implemented60 //61 // Selector: safeTransferFromWithData(address,address,uint256,bytes) 60a1167262 function safeTransferFromWithData(63 address from,64 address to,65 uint256 tokenId,66 bytes memory data67 ) external;6869 // Not implemented70 //71 // Selector: safeTransferFrom(address,address,uint256) 42842e0e72 function safeTransferFrom(73 address from,74 address to,75 uint256 tokenId76 ) external;7778 // Selector: transferFrom(address,address,uint256) 23b872dd79 function transferFrom(80 address from,81 address to,82 uint256 tokenId83 ) external;8485 // Selector: approve(address,uint256) 095ea7b386 function approve(address approved, uint256 tokenId) external;8788 // Not implemented89 //90 // Selector: setApprovalForAll(address,bool) a22cb46591 function setApprovalForAll(address operator, bool approved) external;9293 // Not implemented94 //95 // Selector: getApproved(uint256) 081812fc96 function getApproved(uint256 tokenId) external view returns (address);9798 // Not implemented99 //100 // Selector: isApprovedForAll(address,address) e985e9c5101 function isApprovedForAll(address owner, address operator)102 external103 view104 returns (address);105}106107// Selector: 5b5e139f108interface ERC721Metadata is Dummy, ERC165 {109 // Selector: name() 06fdde03110 function name() external view returns (string memory);111112 // Selector: symbol() 95d89b41113 function symbol() external view returns (string memory);114115 // Returns token's const_metadata116 //117 // Selector: tokenURI(uint256) c87b56dd118 function tokenURI(uint256 tokenId) external view returns (string memory);119}120121// Selector: 68ccfe89122interface ERC721Mintable is Dummy, ERC165, ERC721MintableEvents {123 // Selector: mintingFinished() 05d2035b124 function mintingFinished() external view returns (bool);125126 // `token_id` should be obtained with `next_token_id` method,127 // unlike standard, you can't specify it manually128 //129 // Selector: mint(address,uint256) 40c10f19130 function mint(address to, uint256 tokenId) external returns (bool);131132 // `token_id` should be obtained with `next_token_id` method,133 // unlike standard, you can't specify it manually134 //135 // Selector: mintWithTokenURI(address,uint256,string) 50bb4e7f136 function mintWithTokenURI(137 address to,138 uint256 tokenId,139 string memory tokenUri140 ) external returns (bool);141142 // Not implemented143 //144 // Selector: finishMinting() 7d64bcb4145 function finishMinting() external returns (bool);146}147148// Selector: 780e9d63149interface ERC721Enumerable is Dummy, ERC165 {150 // Selector: tokenByIndex(uint256) 4f6ccce7151 function tokenByIndex(uint256 index) external view returns (uint256);152153 // Not implemented154 //155 // Selector: tokenOfOwnerByIndex(address,uint256) 2f745c59156 function tokenOfOwnerByIndex(address owner, uint256 index)157 external158 view159 returns (uint256);160161 // Selector: totalSupply() 18160ddd162 function totalSupply() external view returns (uint256);163}164165// Selector: e562194d166interface ERC721UniqueExtensions is Dummy, ERC165 {167 // Selector: transfer(address,uint256) a9059cbb168 function transfer(address to, uint256 tokenId) external;169170 // Selector: burnFrom(address,uint256) 79cc6790171 function burnFrom(address from, uint256 tokenId) external;172173 // Selector: nextTokenId() 75794a3c174 function nextTokenId() external view returns (uint256);175176 // Selector: setVariableMetadata(uint256,bytes) d4eac26d177 function setVariableMetadata(uint256 tokenId, bytes memory data) external;178179 // Selector: getVariableMetadata(uint256) e6c5ce6f180 function getVariableMetadata(uint256 tokenId)181 external182 view183 returns (bytes memory);184185 // Selector: mintBulk(address,uint256[]) 44a9945e186 function mintBulk(address to, uint256[] memory tokenIds)187 external188 returns (bool);189190 // Selector: mintBulkWithTokenURI(address,(uint256,string)[]) 36543006191 function mintBulkWithTokenURI(address to, Tuple0[] memory tokens)192 external193 returns (bool);194}195196interface UniqueNFT is197 Dummy,198 ERC165,199 ERC721,200 ERC721Metadata,201 ERC721Enumerable,202 ERC721UniqueExtensions,203 ERC721Mintable,204 ERC721Burnable205{}