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: 5880016165contract ERC721 is Dummy, ERC165, ERC721Events {66 // Selector: balanceOf(address) 70a0823167 function balanceOf(address owner) public view returns (uint256) {68 require(false, stub_error);69 owner;70 dummy;71 return 0;72 }7374 // Selector: ownerOf(uint256) 6352211e75 function ownerOf(uint256 tokenId) public view returns (address) {76 require(false, stub_error);77 tokenId;78 dummy;79 return 0x0000000000000000000000000000000000000000;80 }8182 // Not implemented83 //84 // Selector: safeTransferFromWithData(address,address,uint256,bytes) 60a1167285 function safeTransferFromWithData(86 address from,87 address to,88 uint256 tokenId,89 bytes memory data90 ) public {91 require(false, stub_error);92 from;93 to;94 tokenId;95 data;96 dummy = 0;97 }9899 // Not implemented100 //101 // Selector: safeTransferFrom(address,address,uint256) 42842e0e102 function safeTransferFrom(103 address from,104 address to,105 uint256 tokenId106 ) public {107 require(false, stub_error);108 from;109 to;110 tokenId;111 dummy = 0;112 }113114 // Selector: transferFrom(address,address,uint256) 23b872dd115 function transferFrom(116 address from,117 address to,118 uint256 tokenId119 ) public {120 require(false, stub_error);121 from;122 to;123 tokenId;124 dummy = 0;125 }126127 // Selector: approve(address,uint256) 095ea7b3128 function approve(address approved, uint256 tokenId) public {129 require(false, stub_error);130 approved;131 tokenId;132 dummy = 0;133 }134135 // Not implemented136 //137 // Selector: setApprovalForAll(address,bool) a22cb465138 function setApprovalForAll(address operator, bool approved) public {139 require(false, stub_error);140 operator;141 approved;142 dummy = 0;143 }144145 // Not implemented146 //147 // Selector: getApproved(uint256) 081812fc148 function getApproved(uint256 tokenId) public view returns (address) {149 require(false, stub_error);150 tokenId;151 dummy;152 return 0x0000000000000000000000000000000000000000;153 }154155 // Not implemented156 //157 // Selector: isApprovedForAll(address,address) e985e9c5158 function isApprovedForAll(address owner, address operator)159 public160 view161 returns (address)162 {163 require(false, stub_error);164 owner;165 operator;166 dummy;167 return 0x0000000000000000000000000000000000000000;168 }169}170171// Selector: 5b5e139f172contract ERC721Metadata is Dummy, ERC165 {173 // Selector: name() 06fdde03174 function name() public view returns (string memory) {175 require(false, stub_error);176 dummy;177 return "";178 }179180 // Selector: symbol() 95d89b41181 function symbol() public view returns (string memory) {182 require(false, stub_error);183 dummy;184 return "";185 }186187 // Returns token's const_metadata188 //189 // Selector: tokenURI(uint256) c87b56dd190 function tokenURI(uint256 tokenId) public view returns (string memory) {191 require(false, stub_error);192 tokenId;193 dummy;194 return "";195 }196}197198// Selector: 68ccfe89199contract ERC721Mintable is Dummy, ERC165, ERC721MintableEvents {200 // Selector: mintingFinished() 05d2035b201 function mintingFinished() public view returns (bool) {202 require(false, stub_error);203 dummy;204 return false;205 }206207 // `token_id` should be obtained with `next_token_id` method,208 // unlike standard, you can't specify it manually209 //210 // Selector: mint(address,uint256) 40c10f19211 function mint(address to, uint256 tokenId) public returns (bool) {212 require(false, stub_error);213 to;214 tokenId;215 dummy = 0;216 return false;217 }218219 // `token_id` should be obtained with `next_token_id` method,220 // unlike standard, you can't specify it manually221 //222 // Selector: mintWithTokenURI(address,uint256,string) 50bb4e7f223 function mintWithTokenURI(224 address to,225 uint256 tokenId,226 string memory tokenUri227 ) public returns (bool) {228 require(false, stub_error);229 to;230 tokenId;231 tokenUri;232 dummy = 0;233 return false;234 }235236 // Not implemented237 //238 // Selector: finishMinting() 7d64bcb4239 function finishMinting() public returns (bool) {240 require(false, stub_error);241 dummy = 0;242 return false;243 }244}245246// Selector: 780e9d63247contract ERC721Enumerable is Dummy, ERC165 {248 // Selector: tokenByIndex(uint256) 4f6ccce7249 function tokenByIndex(uint256 index) public view returns (uint256) {250 require(false, stub_error);251 index;252 dummy;253 return 0;254 }255256 // Not implemented257 //258 // Selector: tokenOfOwnerByIndex(address,uint256) 2f745c59259 function tokenOfOwnerByIndex(address owner, uint256 index)260 public261 view262 returns (uint256)263 {264 require(false, stub_error);265 owner;266 index;267 dummy;268 return 0;269 }270271 // Selector: totalSupply() 18160ddd272 function totalSupply() public view returns (uint256) {273 require(false, stub_error);274 dummy;275 return 0;276 }277}278279// Selector: e562194d280contract ERC721UniqueExtensions is Dummy, ERC165 {281 // Selector: transfer(address,uint256) a9059cbb282 function transfer(address to, uint256 tokenId) public {283 require(false, stub_error);284 to;285 tokenId;286 dummy = 0;287 }288289 // Selector: burnFrom(address,uint256) 79cc6790290 function burnFrom(address from, uint256 tokenId) public {291 require(false, stub_error);292 from;293 tokenId;294 dummy = 0;295 }296297 // Selector: nextTokenId() 75794a3c298 function nextTokenId() public view returns (uint256) {299 require(false, stub_error);300 dummy;301 return 0;302 }303304 // Selector: setVariableMetadata(uint256,bytes) d4eac26d305 function setVariableMetadata(uint256 tokenId, bytes memory data) public {306 require(false, stub_error);307 tokenId;308 data;309 dummy = 0;310 }311312 // Selector: getVariableMetadata(uint256) e6c5ce6f313 function getVariableMetadata(uint256 tokenId)314 public315 view316 returns (bytes memory)317 {318 require(false, stub_error);319 tokenId;320 dummy;321 return hex"";322 }323324 // Selector: mintBulk(address,uint256[]) 44a9945e325 function mintBulk(address to, uint256[] memory tokenIds)326 public327 returns (bool)328 {329 require(false, stub_error);330 to;331 tokenIds;332 dummy = 0;333 return false;334 }335336 // Selector: mintBulkWithTokenURI(address,(uint256,string)[]) 36543006337 function mintBulkWithTokenURI(address to, Tuple0[] memory tokens)338 public339 returns (bool)340 {341 require(false, stub_error);342 to;343 tokens;344 dummy = 0;345 return false;346 }347}348349contract UniqueNFT is350 Dummy,351 ERC165,352 ERC721,353 ERC721Metadata,354 ERC721Enumerable,355 ERC721UniqueExtensions,356 ERC721Mintable,357 ERC721Burnable358{}