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: 0784ee6455contract ERC721UniqueExtensions is Dummy, ERC165 {56 // @notice Returns next free RFT ID.57 //58 // Selector: nextTokenId() 75794a3c59 function nextTokenId() public view returns (uint256) {60 require(false, stub_error);61 dummy;62 return 0;63 }6465 // Selector: mintBulk(address,uint256[]) 44a9945e66 function mintBulk(address to, uint256[] memory tokenIds)67 public68 returns (bool)69 {70 require(false, stub_error);71 to;72 tokenIds;73 dummy = 0;74 return false;75 }7677 // Selector: mintBulkWithTokenURI(address,(uint256,string)[]) 3654300678 function mintBulkWithTokenURI(address to, Tuple0[] memory tokens)79 public80 returns (bool)81 {82 require(false, stub_error);83 to;84 tokens;85 dummy = 0;86 return false;87 }88}8990// Selector: 4136937791contract TokenProperties is Dummy, ERC165 {92 // Selector: setTokenPropertyPermission(string,bool,bool,bool) 222d97fa93 function setTokenPropertyPermission(94 string memory key,95 bool isMutable,96 bool collectionAdmin,97 bool tokenOwner98 ) public {99 require(false, stub_error);100 key;101 isMutable;102 collectionAdmin;103 tokenOwner;104 dummy = 0;105 }106107 // Selector: setProperty(uint256,string,bytes) 1752d67b108 function setProperty(109 uint256 tokenId,110 string memory key,111 bytes memory value112 ) public {113 require(false, stub_error);114 tokenId;115 key;116 value;117 dummy = 0;118 }119120 // Selector: deleteProperty(uint256,string) 066111d1121 function deleteProperty(uint256 tokenId, string memory key) public {122 require(false, stub_error);123 tokenId;124 key;125 dummy = 0;126 }127128 // Throws error if key not found129 //130 // Selector: property(uint256,string) 7228c327131 function property(uint256 tokenId, string memory key)132 public133 view134 returns (bytes memory)135 {136 require(false, stub_error);137 tokenId;138 key;139 dummy;140 return hex"";141 }142}143144// Selector: 42966c68145contract ERC721Burnable is Dummy, ERC165 {146 // @dev Not implemented147 //148 // Selector: burn(uint256) 42966c68149 function burn(uint256 tokenId) public {150 require(false, stub_error);151 tokenId;152 dummy = 0;153 }154}155156// Selector: 58800161157contract ERC721 is Dummy, ERC165, ERC721Events {158 // Selector: balanceOf(address) 70a08231159 function balanceOf(address owner) public view returns (uint256) {160 require(false, stub_error);161 owner;162 dummy;163 return 0;164 }165166 // Selector: ownerOf(uint256) 6352211e167 function ownerOf(uint256 tokenId) public view returns (address) {168 require(false, stub_error);169 tokenId;170 dummy;171 return 0x0000000000000000000000000000000000000000;172 }173174 // @dev Not implemented175 //176 // Selector: safeTransferFromWithData(address,address,uint256,bytes) 60a11672177 function safeTransferFromWithData(178 address from,179 address to,180 uint256 tokenId,181 bytes memory data182 ) public {183 require(false, stub_error);184 from;185 to;186 tokenId;187 data;188 dummy = 0;189 }190191 // @dev Not implemented192 //193 // Selector: safeTransferFrom(address,address,uint256) 42842e0e194 function safeTransferFrom(195 address from,196 address to,197 uint256 tokenId198 ) public {199 require(false, stub_error);200 from;201 to;202 tokenId;203 dummy = 0;204 }205206 // @dev Not implemented207 //208 // Selector: transferFrom(address,address,uint256) 23b872dd209 function transferFrom(210 address from,211 address to,212 uint256 tokenId213 ) public {214 require(false, stub_error);215 from;216 to;217 tokenId;218 dummy = 0;219 }220221 // @dev Not implemented222 //223 // Selector: approve(address,uint256) 095ea7b3224 function approve(address approved, uint256 tokenId) public {225 require(false, stub_error);226 approved;227 tokenId;228 dummy = 0;229 }230231 // @dev Not implemented232 //233 // Selector: setApprovalForAll(address,bool) a22cb465234 function setApprovalForAll(address operator, bool approved) public {235 require(false, stub_error);236 operator;237 approved;238 dummy = 0;239 }240241 // @dev Not implemented242 //243 // Selector: getApproved(uint256) 081812fc244 function getApproved(uint256 tokenId) public view returns (address) {245 require(false, stub_error);246 tokenId;247 dummy;248 return 0x0000000000000000000000000000000000000000;249 }250251 // @dev Not implemented252 //253 // Selector: isApprovedForAll(address,address) e985e9c5254 function isApprovedForAll(address owner, address operator)255 public256 view257 returns (address)258 {259 require(false, stub_error);260 owner;261 operator;262 dummy;263 return 0x0000000000000000000000000000000000000000;264 }265}266267// Selector: 5b5e139f268contract ERC721Metadata is Dummy, ERC165 {269 // Selector: name() 06fdde03270 function name() public view returns (string memory) {271 require(false, stub_error);272 dummy;273 return "";274 }275276 // Selector: symbol() 95d89b41277 function symbol() public view returns (string memory) {278 require(false, stub_error);279 dummy;280 return "";281 }282283 // Returns token's const_metadata284 //285 // Selector: tokenURI(uint256) c87b56dd286 function tokenURI(uint256 tokenId) public view returns (string memory) {287 require(false, stub_error);288 tokenId;289 dummy;290 return "";291 }292}293294// Selector: 68ccfe89295contract ERC721Mintable is Dummy, ERC165, ERC721MintableEvents {296 // Selector: mintingFinished() 05d2035b297 function mintingFinished() public view returns (bool) {298 require(false, stub_error);299 dummy;300 return false;301 }302303 // `token_id` should be obtained with `next_token_id` method,304 // unlike standard, you can't specify it manually305 //306 // Selector: mint(address,uint256) 40c10f19307 function mint(address to, uint256 tokenId) public returns (bool) {308 require(false, stub_error);309 to;310 tokenId;311 dummy = 0;312 return false;313 }314315 // `token_id` should be obtained with `next_token_id` method,316 // unlike standard, you can't specify it manually317 //318 // Selector: mintWithTokenURI(address,uint256,string) 50bb4e7f319 function mintWithTokenURI(320 address to,321 uint256 tokenId,322 string memory tokenUri323 ) public returns (bool) {324 require(false, stub_error);325 to;326 tokenId;327 tokenUri;328 dummy = 0;329 return false;330 }331332 // @dev Not implemented333 //334 // Selector: finishMinting() 7d64bcb4335 function finishMinting() public returns (bool) {336 require(false, stub_error);337 dummy = 0;338 return false;339 }340}341342// Selector: 780e9d63343contract ERC721Enumerable is Dummy, ERC165 {344 // Selector: tokenByIndex(uint256) 4f6ccce7345 function tokenByIndex(uint256 index) public view returns (uint256) {346 require(false, stub_error);347 index;348 dummy;349 return 0;350 }351352 // Not implemented353 //354 // Selector: tokenOfOwnerByIndex(address,uint256) 2f745c59355 function tokenOfOwnerByIndex(address owner, uint256 index)356 public357 view358 returns (uint256)359 {360 require(false, stub_error);361 owner;362 index;363 dummy;364 return 0;365 }366367 // Selector: totalSupply() 18160ddd368 function totalSupply() public view returns (uint256) {369 require(false, stub_error);370 dummy;371 return 0;372 }373}374375// Selector: 7d9262e6376contract Collection is Dummy, ERC165 {377 // Set collection property.378 //379 // @param key Property key.380 // @param value Propery value.381 //382 // Selector: setCollectionProperty(string,bytes) 2f073f66383 function setCollectionProperty(string memory key, bytes memory value)384 public385 {386 require(false, stub_error);387 key;388 value;389 dummy = 0;390 }391392 // Delete collection property.393 //394 // @param key Property key.395 //396 // Selector: deleteCollectionProperty(string) 7b7debce397 function deleteCollectionProperty(string memory key) public {398 require(false, stub_error);399 key;400 dummy = 0;401 }402403 // Get collection property.404 //405 // @dev Throws error if key not found.406 //407 // @param key Property key.408 // @return bytes The property corresponding to the key.409 //410 // Selector: collectionProperty(string) cf24fd6d411 function collectionProperty(string memory key)412 public413 view414 returns (bytes memory)415 {416 require(false, stub_error);417 key;418 dummy;419 return hex"";420 }421422 // Set the sponsor of the collection.423 //424 // @dev In order for sponsorship to work, it must be confirmed on behalf of the sponsor.425 //426 // @param sponsor Address of the sponsor from whose account funds will be debited for operations with the contract.427 //428 // Selector: setCollectionSponsor(address) 7623402e429 function setCollectionSponsor(address sponsor) public {430 require(false, stub_error);431 sponsor;432 dummy = 0;433 }434435 // Collection sponsorship confirmation.436 //437 // @dev After setting the sponsor for the collection, it must be confirmed with this function.438 //439 // Selector: confirmCollectionSponsorship() 3c50e97a440 function confirmCollectionSponsorship() public {441 require(false, stub_error);442 dummy = 0;443 }444445 // Set limits for the collection.446 // @dev Throws error if limit not found.447 // @param limit Name of the limit. Valid names:448 // "accountTokenOwnershipLimit",449 // "sponsoredDataSize",450 // "sponsoredDataRateLimit",451 // "tokenLimit",452 // "sponsorTransferTimeout",453 // "sponsorApproveTimeout"454 // @param value Value of the limit.455 //456 // Selector: setCollectionLimit(string,uint32) 6a3841db457 function setCollectionLimit(string memory limit, uint32 value) public {458 require(false, stub_error);459 limit;460 value;461 dummy = 0;462 }463464 // Set limits for the collection.465 // @dev Throws error if limit not found.466 // @param limit Name of the limit. Valid names:467 // "ownerCanTransfer",468 // "ownerCanDestroy",469 // "transfersEnabled"470 // @param value Value of the limit.471 //472 // Selector: setCollectionLimit(string,bool) 993b7fba473 function setCollectionLimit(string memory limit, bool value) public {474 require(false, stub_error);475 limit;476 value;477 dummy = 0;478 }479480 // Get contract address.481 //482 // Selector: contractAddress() f6b4dfb4483 function contractAddress() public view returns (address) {484 require(false, stub_error);485 dummy;486 return 0x0000000000000000000000000000000000000000;487 }488489 // Add collection admin by substrate address.490 // @param new_admin Substrate administrator address.491 //492 // Selector: addCollectionAdminSubstrate(uint256) 5730062b493 function addCollectionAdminSubstrate(uint256 newAdmin) public {494 require(false, stub_error);495 newAdmin;496 dummy = 0;497 }498499 // Remove collection admin by substrate address.500 // @param admin Substrate administrator address.501 //502 // Selector: removeCollectionAdminSubstrate(uint256) 4048fcf9503 function removeCollectionAdminSubstrate(uint256 admin) public {504 require(false, stub_error);505 admin;506 dummy = 0;507 }508509 // Add collection admin.510 // @param new_admin Address of the added administrator.511 //512 // Selector: addCollectionAdmin(address) 92e462c7513 function addCollectionAdmin(address newAdmin) public {514 require(false, stub_error);515 newAdmin;516 dummy = 0;517 }518519 // Remove collection admin.520 //521 // @param new_admin Address of the removed administrator.522 //523 // Selector: removeCollectionAdmin(address) fafd7b42524 function removeCollectionAdmin(address admin) public {525 require(false, stub_error);526 admin;527 dummy = 0;528 }529530 // Toggle accessibility of collection nesting.531 //532 // @param enable If "true" degenerates to nesting: 'Owner' else to nesting: 'Disabled'533 //534 // Selector: setCollectionNesting(bool) 112d4586535 function setCollectionNesting(bool enable) public {536 require(false, stub_error);537 enable;538 dummy = 0;539 }540541 // Toggle accessibility of collection nesting.542 //543 // @param enable If "true" degenerates to nesting: {OwnerRestricted: [1, 2, 3]} else to nesting: 'Disabled'544 // @param collections Addresses of collections that will be available for nesting.545 //546 // Selector: setCollectionNesting(bool,address[]) 64872396547 function setCollectionNesting(bool enable, address[] memory collections)548 public549 {550 require(false, stub_error);551 enable;552 collections;553 dummy = 0;554 }555556 // Set the collection access method.557 // @param mode Access mode558 // 0 for Normal559 // 1 for AllowList560 //561 // Selector: setCollectionAccess(uint8) 41835d4c562 function setCollectionAccess(uint8 mode) public {563 require(false, stub_error);564 mode;565 dummy = 0;566 }567568 // Add the user to the allowed list.569 //570 // @param user Address of a trusted user.571 //572 // Selector: addToCollectionAllowList(address) 67844fe6573 function addToCollectionAllowList(address user) public {574 require(false, stub_error);575 user;576 dummy = 0;577 }578579 // Remove the user from the allowed list.580 //581 // @param user Address of a removed user.582 //583 // Selector: removeFromCollectionAllowList(address) 85c51acb584 function removeFromCollectionAllowList(address user) public {585 require(false, stub_error);586 user;587 dummy = 0;588 }589590 // Switch permission for minting.591 //592 // @param mode Enable if "true".593 //594 // Selector: setCollectionMintMode(bool) 00018e84595 function setCollectionMintMode(bool mode) public {596 require(false, stub_error);597 mode;598 dummy = 0;599 }600}601602contract UniqueRefungible is603 Dummy,604 ERC165,605 ERC721,606 ERC721Metadata,607 ERC721Enumerable,608 ERC721UniqueExtensions,609 ERC721Mintable,610 ERC721Burnable,611 Collection,612 TokenProperties613{}