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: 56fd500b52interface CollectionProperties is Dummy, ERC165 {53 // Selector: setProperty(string,string) 62d9491f54 function setProperty(string memory key, string memory value) external;5556 // Selector: deleteProperty(string) 3424191457 function deleteProperty(string memory key) external;58}5960// Selector: 5880016161interface ERC721 is Dummy, ERC165, ERC721Events {62 // Selector: balanceOf(address) 70a0823163 function balanceOf(address owner) external view returns (uint256);6465 // Selector: ownerOf(uint256) 6352211e66 function ownerOf(uint256 tokenId) external view returns (address);6768 // Not implemented69 //70 // Selector: safeTransferFromWithData(address,address,uint256,bytes) 60a1167271 function safeTransferFromWithData(72 address from,73 address to,74 uint256 tokenId,75 bytes memory data76 ) external;7778 // Not implemented79 //80 // Selector: safeTransferFrom(address,address,uint256) 42842e0e81 function safeTransferFrom(82 address from,83 address to,84 uint256 tokenId85 ) external;8687 // Selector: transferFrom(address,address,uint256) 23b872dd88 function transferFrom(89 address from,90 address to,91 uint256 tokenId92 ) external;9394 // Selector: approve(address,uint256) 095ea7b395 function approve(address approved, uint256 tokenId) external;9697 // Not implemented98 //99 // Selector: setApprovalForAll(address,bool) a22cb465100 function setApprovalForAll(address operator, bool approved) external;101102 // Not implemented103 //104 // Selector: getApproved(uint256) 081812fc105 function getApproved(uint256 tokenId) external view returns (address);106107 // Not implemented108 //109 // Selector: isApprovedForAll(address,address) e985e9c5110 function isApprovedForAll(address owner, address operator)111 external112 view113 returns (address);114}115116// Selector: 5b5e139f117interface ERC721Metadata is Dummy, ERC165 {118 // Selector: name() 06fdde03119 function name() external view returns (string memory);120121 // Selector: symbol() 95d89b41122 function symbol() external view returns (string memory);123124 // Returns token's const_metadata125 //126 // Selector: tokenURI(uint256) c87b56dd127 function tokenURI(uint256 tokenId) external view returns (string memory);128}129130// Selector: 68ccfe89131interface ERC721Mintable is Dummy, ERC165, ERC721MintableEvents {132 // Selector: mintingFinished() 05d2035b133 function mintingFinished() external view returns (bool);134135 // `token_id` should be obtained with `next_token_id` method,136 // unlike standard, you can't specify it manually137 //138 // Selector: mint(address,uint256) 40c10f19139 function mint(address to, uint256 tokenId) external returns (bool);140141 // `token_id` should be obtained with `next_token_id` method,142 // unlike standard, you can't specify it manually143 //144 // Selector: mintWithTokenURI(address,uint256,string) 50bb4e7f145 function mintWithTokenURI(146 address to,147 uint256 tokenId,148 string memory tokenUri149 ) external returns (bool);150151 // Not implemented152 //153 // Selector: finishMinting() 7d64bcb4154 function finishMinting() external returns (bool);155}156157// Selector: 780e9d63158interface ERC721Enumerable is Dummy, ERC165 {159 // Selector: tokenByIndex(uint256) 4f6ccce7160 function tokenByIndex(uint256 index) external view returns (uint256);161162 // Not implemented163 //164 // Selector: tokenOfOwnerByIndex(address,uint256) 2f745c59165 function tokenOfOwnerByIndex(address owner, uint256 index)166 external167 view168 returns (uint256);169170 // Selector: totalSupply() 18160ddd171 function totalSupply() external view returns (uint256);172}173174// Selector: d74d154f175interface ERC721UniqueExtensions is Dummy, ERC165 {176 // Selector: transfer(address,uint256) a9059cbb177 function transfer(address to, uint256 tokenId) external;178179 // Selector: burnFrom(address,uint256) 79cc6790180 function burnFrom(address from, uint256 tokenId) external;181182 // Selector: nextTokenId() 75794a3c183 function nextTokenId() external view returns (uint256);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 ERC721Burnable,205 CollectionProperties206{}