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 holder13contract Dummy {14 uint8 dummy;15 string stub_error = "this contract is implemented in native";16}1718contract ERC165 is Dummy {19 function supportsInterface(bytes4 interfaceID)20 external21 view22 returns (bool)23 {24 require(false, stub_error);25 interfaceID;26 return true;27 }28}2930// Inline31contract ERC721Events {32 event Transfer(33 address indexed from,34 address indexed to,35 uint256 indexed tokenId36 );37 event Approval(38 address indexed owner,39 address indexed approved,40 uint256 indexed tokenId41 );42 event ApprovalForAll(43 address indexed owner,44 address indexed operator,45 bool approved46 );47}4849// Inline50contract ERC721MintableEvents {51 event MintingFinished();52}5354// Selector: 42966c6855contract ERC721Burnable is Dummy, ERC165 {56 // Selector: burn(uint256) 42966c6857 function burn(uint256 tokenId) public {58 require(false, stub_error);59 tokenId;60 dummy = 0;61 }62}6364// Selector: 56fd500b65contract CollectionProperties is Dummy, ERC165 {66 // Selector: setProperty(string,string) 62d9491f67 function setProperty(string memory key, string memory value) public {68 require(false, stub_error);69 key;70 value;71 dummy = 0;72 }7374 // Selector: deleteProperty(string) 3424191475 function deleteProperty(string memory key) public {76 require(false, stub_error);77 key;78 dummy = 0;79 }80}8182// Selector: 5880016183contract ERC721 is Dummy, ERC165, ERC721Events {84 // Selector: balanceOf(address) 70a0823185 function balanceOf(address owner) public view returns (uint256) {86 require(false, stub_error);87 owner;88 dummy;89 return 0;90 }9192 // Selector: ownerOf(uint256) 6352211e93 function ownerOf(uint256 tokenId) public view returns (address) {94 require(false, stub_error);95 tokenId;96 dummy;97 return 0x0000000000000000000000000000000000000000;98 }99100 // Not implemented101 //102 // Selector: safeTransferFromWithData(address,address,uint256,bytes) 60a11672103 function safeTransferFromWithData(104 address from,105 address to,106 uint256 tokenId,107 bytes memory data108 ) public {109 require(false, stub_error);110 from;111 to;112 tokenId;113 data;114 dummy = 0;115 }116117 // Not implemented118 //119 // Selector: safeTransferFrom(address,address,uint256) 42842e0e120 function safeTransferFrom(121 address from,122 address to,123 uint256 tokenId124 ) public {125 require(false, stub_error);126 from;127 to;128 tokenId;129 dummy = 0;130 }131132 // Selector: transferFrom(address,address,uint256) 23b872dd133 function transferFrom(134 address from,135 address to,136 uint256 tokenId137 ) public {138 require(false, stub_error);139 from;140 to;141 tokenId;142 dummy = 0;143 }144145 // Selector: approve(address,uint256) 095ea7b3146 function approve(address approved, uint256 tokenId) public {147 require(false, stub_error);148 approved;149 tokenId;150 dummy = 0;151 }152153 // Not implemented154 //155 // Selector: setApprovalForAll(address,bool) a22cb465156 function setApprovalForAll(address operator, bool approved) public {157 require(false, stub_error);158 operator;159 approved;160 dummy = 0;161 }162163 // Not implemented164 //165 // Selector: getApproved(uint256) 081812fc166 function getApproved(uint256 tokenId) public view returns (address) {167 require(false, stub_error);168 tokenId;169 dummy;170 return 0x0000000000000000000000000000000000000000;171 }172173 // Not implemented174 //175 // Selector: isApprovedForAll(address,address) e985e9c5176 function isApprovedForAll(address owner, address operator)177 public178 view179 returns (address)180 {181 require(false, stub_error);182 owner;183 operator;184 dummy;185 return 0x0000000000000000000000000000000000000000;186 }187}188189// Selector: 5b5e139f190contract ERC721Metadata is Dummy, ERC165 {191 // Selector: name() 06fdde03192 function name() public view returns (string memory) {193 require(false, stub_error);194 dummy;195 return "";196 }197198 // Selector: symbol() 95d89b41199 function symbol() public view returns (string memory) {200 require(false, stub_error);201 dummy;202 return "";203 }204205 // Returns token's const_metadata206 //207 // Selector: tokenURI(uint256) c87b56dd208 function tokenURI(uint256 tokenId) public view returns (string memory) {209 require(false, stub_error);210 tokenId;211 dummy;212 return "";213 }214}215216// Selector: 68ccfe89217contract ERC721Mintable is Dummy, ERC165, ERC721MintableEvents {218 // Selector: mintingFinished() 05d2035b219 function mintingFinished() public view returns (bool) {220 require(false, stub_error);221 dummy;222 return false;223 }224225 // `token_id` should be obtained with `next_token_id` method,226 // unlike standard, you can't specify it manually227 //228 // Selector: mint(address,uint256) 40c10f19229 function mint(address to, uint256 tokenId) public returns (bool) {230 require(false, stub_error);231 to;232 tokenId;233 dummy = 0;234 return false;235 }236237 // `token_id` should be obtained with `next_token_id` method,238 // unlike standard, you can't specify it manually239 //240 // Selector: mintWithTokenURI(address,uint256,string) 50bb4e7f241 function mintWithTokenURI(242 address to,243 uint256 tokenId,244 string memory tokenUri245 ) public returns (bool) {246 require(false, stub_error);247 to;248 tokenId;249 tokenUri;250 dummy = 0;251 return false;252 }253254 // Not implemented255 //256 // Selector: finishMinting() 7d64bcb4257 function finishMinting() public returns (bool) {258 require(false, stub_error);259 dummy = 0;260 return false;261 }262}263264// Selector: 780e9d63265contract ERC721Enumerable is Dummy, ERC165 {266 // Selector: tokenByIndex(uint256) 4f6ccce7267 function tokenByIndex(uint256 index) public view returns (uint256) {268 require(false, stub_error);269 index;270 dummy;271 return 0;272 }273274 // Not implemented275 //276 // Selector: tokenOfOwnerByIndex(address,uint256) 2f745c59277 function tokenOfOwnerByIndex(address owner, uint256 index)278 public279 view280 returns (uint256)281 {282 require(false, stub_error);283 owner;284 index;285 dummy;286 return 0;287 }288289 // Selector: totalSupply() 18160ddd290 function totalSupply() public view returns (uint256) {291 require(false, stub_error);292 dummy;293 return 0;294 }295}296297// Selector: d74d154f298contract ERC721UniqueExtensions is Dummy, ERC165 {299 // Selector: transfer(address,uint256) a9059cbb300 function transfer(address to, uint256 tokenId) public {301 require(false, stub_error);302 to;303 tokenId;304 dummy = 0;305 }306307 // Selector: burnFrom(address,uint256) 79cc6790308 function burnFrom(address from, uint256 tokenId) public {309 require(false, stub_error);310 from;311 tokenId;312 dummy = 0;313 }314315 // Selector: nextTokenId() 75794a3c316 function nextTokenId() public view returns (uint256) {317 require(false, stub_error);318 dummy;319 return 0;320 }321322 // Selector: mintBulk(address,uint256[]) 44a9945e323 function mintBulk(address to, uint256[] memory tokenIds)324 public325 returns (bool)326 {327 require(false, stub_error);328 to;329 tokenIds;330 dummy = 0;331 return false;332 }333334 // Selector: mintBulkWithTokenURI(address,(uint256,string)[]) 36543006335 function mintBulkWithTokenURI(address to, Tuple0[] memory tokens)336 public337 returns (bool)338 {339 require(false, stub_error);340 to;341 tokens;342 dummy = 0;343 return false;344 }345}346347contract UniqueNFT is348 Dummy,349 ERC165,350 ERC721,351 ERC721Metadata,352 ERC721Enumerable,353 ERC721UniqueExtensions,354 ERC721Mintable,355 ERC721Burnable,356 CollectionProperties357{}