1// SPDX-License-Identifier: OTHER2// This code is automatically generated34pragma solidity >=0.8.0 <0.9.0;56// Common stubs holder7contract Dummy {8 uint8 dummy;9 string stub_error = "this contract is implemented in native";10}1112contract ERC165 is Dummy {13 function supportsInterface(bytes4 interfaceID)14 external15 view16 returns (bool)17 {18 require(false, stub_error);19 interfaceID;20 return true;21 }22}2324// Inline25contract ERC20Events {26 event Transfer(address indexed from, address indexed to, uint256 value);27 event Approval(28 address indexed owner,29 address indexed spender,30 uint256 value31 );32}3334// Selector: 07f76b0c35contract Collection is Dummy, ERC165 {36 // Set collection property.37 //38 // @param key Property key.39 // @param value Propery value.40 //41 // Selector: setCollectionProperty(string,bytes) 2f073f6642 function setCollectionProperty(string memory key, bytes memory value)43 public44 {45 require(false, stub_error);46 key;47 value;48 dummy = 0;49 }5051 // Delete collection property.52 //53 // @param key Property key.54 //55 // Selector: deleteCollectionProperty(string) 7b7debce56 function deleteCollectionProperty(string memory key) public {57 require(false, stub_error);58 key;59 dummy = 0;60 }6162 // Get collection property.63 //64 // @dev Throws error if key not found.65 //66 // @param key Property key.67 // @return bytes The property corresponding to the key.68 //69 // Selector: collectionProperty(string) cf24fd6d70 function collectionProperty(string memory key)71 public72 view73 returns (bytes memory)74 {75 require(false, stub_error);76 key;77 dummy;78 return hex"";79 }8081 // Set the sponsor of the collection.82 //83 // @dev In order for sponsorship to work, it must be confirmed on behalf of the sponsor.84 //85 // @param sponsor Address of the sponsor from whose account funds will be debited for operations with the contract.86 //87 // Selector: setCollectionSponsor(address) 7623402e88 function setCollectionSponsor(address sponsor) public {89 require(false, stub_error);90 sponsor;91 dummy = 0;92 }9394 // Collection sponsorship confirmation.95 //96 // @dev After setting the sponsor for the collection, it must be confirmed with this function.97 //98 // Selector: confirmCollectionSponsorship() 3c50e97a99 function confirmCollectionSponsorship() public {100 require(false, stub_error);101 dummy = 0;102 }103104 // Set limits for the collection.105 // @dev Throws error if limit not found.106 // @param limit Name of the limit. Valid names:107 // "accountTokenOwnershipLimit",108 // "sponsoredDataSize",109 // "sponsoredDataRateLimit",110 // "tokenLimit",111 // "sponsorTransferTimeout",112 // "sponsorApproveTimeout"113 // @param value Value of the limit.114 //115 // Selector: setCollectionLimit(string,uint32) 6a3841db116 function setCollectionLimit(string memory limit, uint32 value) public {117 require(false, stub_error);118 limit;119 value;120 dummy = 0;121 }122123 // Set limits for the collection.124 // @dev Throws error if limit not found.125 // @param limit Name of the limit. Valid names:126 // "ownerCanTransfer",127 // "ownerCanDestroy",128 // "transfersEnabled"129 // @param value Value of the limit.130 //131 // Selector: setCollectionLimit(string,bool) 993b7fba132 function setCollectionLimit(string memory limit, bool value) public {133 require(false, stub_error);134 limit;135 value;136 dummy = 0;137 }138139 // Get contract address.140 //141 // Selector: contractAddress() f6b4dfb4142 function contractAddress() public view returns (address) {143 require(false, stub_error);144 dummy;145 return 0x0000000000000000000000000000000000000000;146 }147148 // Add collection admin by substrate address.149 // @param new_admin Substrate administrator address.150 //151 // Selector: addCollectionAdminSubstrate(uint256) 5730062b152 function addCollectionAdminSubstrate(uint256 newAdmin) public {153 require(false, stub_error);154 newAdmin;155 dummy = 0;156 }157158 // Remove collection admin by substrate address.159 // @param admin Substrate administrator address.160 //161 // Selector: removeCollectionAdminSubstrate(uint256) 4048fcf9162 function removeCollectionAdminSubstrate(uint256 admin) public {163 require(false, stub_error);164 admin;165 dummy = 0;166 }167168 // Add collection admin.169 // @param new_admin Address of the added administrator.170 //171 // Selector: addCollectionAdmin(address) 92e462c7172 function addCollectionAdmin(address newAdmin) public {173 require(false, stub_error);174 newAdmin;175 dummy = 0;176 }177178 // Remove collection admin.179 //180 // @param new_admin Address of the removed administrator.181 //182 // Selector: removeCollectionAdmin(address) fafd7b42183 function removeCollectionAdmin(address admin) public {184 require(false, stub_error);185 admin;186 dummy = 0;187 }188189 // Toggle accessibility of collection nesting.190 //191 // @param enable If "true" degenerates to nesting: 'Owner' else to nesting: 'Disabled'192 //193 // Selector: setCollectionNesting(bool) 112d4586194 function setCollectionNesting(bool enable) public {195 require(false, stub_error);196 enable;197 dummy = 0;198 }199200 // Toggle accessibility of collection nesting.201 //202 // @param enable If "true" degenerates to nesting: {OwnerRestricted: [1, 2, 3]} else to nesting: 'Disabled'203 // @param collections Addresses of collections that will be available for nesting.204 //205 // Selector: setCollectionNesting(bool,address[]) 64872396206 function setCollectionNesting(bool enable, address[] memory collections)207 public208 {209 require(false, stub_error);210 enable;211 collections;212 dummy = 0;213 }214215 // Set the collection access method.216 // @param mode Access mode217 // 0 for Normal218 // 1 for AllowList219 //220 // Selector: setCollectionAccess(uint8) 41835d4c221 function setCollectionAccess(uint8 mode) public {222 require(false, stub_error);223 mode;224 dummy = 0;225 }226227 // Add the user to the allowed list.228 //229 // @param user Address of a trusted user.230 //231 // Selector: addToCollectionAllowList(address) 67844fe6232 function addToCollectionAllowList(address user) public {233 require(false, stub_error);234 user;235 dummy = 0;236 }237238 // Remove the user from the allowed list.239 //240 // @param user Address of a removed user.241 //242 // Selector: removeFromCollectionAllowList(address) 85c51acb243 function removeFromCollectionAllowList(address user) public {244 require(false, stub_error);245 user;246 dummy = 0;247 }248249 // Switch permission for minting.250 //251 // @param mode Enable if "true".252 //253 // Selector: setCollectionMintMode(bool) 00018e84254 function setCollectionMintMode(bool mode) public {255 require(false, stub_error);256 mode;257 dummy = 0;258 }259260 // Check that account is the owner or admin of the collection261 //262 // @param user account to verify263 // @return "true" if account is the owner or admin264 //265 // Selector: verifyOwnerOrAdmin(address) c2282493266 function verifyOwnerOrAdmin(address user) public view returns (bool) {267 require(false, stub_error);268 user;269 dummy;270 return false;271 }272273 // Check that substrate account is the owner or admin of the collection274 //275 // @param user account to verify276 // @return "true" if account is the owner or admin277 //278 // Selector: verifyOwnerOrAdminSubstrate(uint256) fe818e40279 function verifyOwnerOrAdminSubstrate(uint256 user)280 public281 view282 returns (bool)283 {284 require(false, stub_error);285 user;286 dummy;287 return false;288 }289290 // Returns collection type291 //292 // @return `Fungible` or `NFT` or `ReFungible`293 //294 // Selector: uniqueCollectionType() d34b55b8295 function uniqueCollectionType() public returns (string memory) {296 require(false, stub_error);297 dummy = 0;298 return "";299 }300301 // Changes collection owner to another account302 //303 // @dev Owner can be changed only by current owner304 // @param newOwner new owner account305 //306 // Selector: changeOwner(address) a6f9dae1307 function changeOwner(address newOwner) public {308 require(false, stub_error);309 newOwner;310 dummy = 0;311 }312313 // Changes collection owner to another substrate account314 //315 // @dev Owner can be changed only by current owner316 // @param newOwner new owner substrate account317 //318 // Selector: changeOwnerSubstrate(uint256) 337e2c60319 function changeOwnerSubstrate(uint256 newOwner) public {320 require(false, stub_error);321 newOwner;322 dummy = 0;323 }324}325326// Selector: 79cc6790327contract ERC20UniqueExtensions is Dummy, ERC165 {328 // Selector: burnFrom(address,uint256) 79cc6790329 function burnFrom(address from, uint256 amount) public returns (bool) {330 require(false, stub_error);331 from;332 amount;333 dummy = 0;334 return false;335 }336}337338// Selector: 942e8b22339contract ERC20 is Dummy, ERC165, ERC20Events {340 // Selector: name() 06fdde03341 function name() public view returns (string memory) {342 require(false, stub_error);343 dummy;344 return "";345 }346347 // Selector: symbol() 95d89b41348 function symbol() public view returns (string memory) {349 require(false, stub_error);350 dummy;351 return "";352 }353354 // Selector: totalSupply() 18160ddd355 function totalSupply() public view returns (uint256) {356 require(false, stub_error);357 dummy;358 return 0;359 }360361 // Selector: decimals() 313ce567362 function decimals() public view returns (uint8) {363 require(false, stub_error);364 dummy;365 return 0;366 }367368 // Selector: balanceOf(address) 70a08231369 function balanceOf(address owner) public view returns (uint256) {370 require(false, stub_error);371 owner;372 dummy;373 return 0;374 }375376 // Selector: transfer(address,uint256) a9059cbb377 function transfer(address to, uint256 amount) public returns (bool) {378 require(false, stub_error);379 to;380 amount;381 dummy = 0;382 return false;383 }384385 // Selector: transferFrom(address,address,uint256) 23b872dd386 function transferFrom(387 address from,388 address to,389 uint256 amount390 ) public returns (bool) {391 require(false, stub_error);392 from;393 to;394 amount;395 dummy = 0;396 return false;397 }398399 // Selector: approve(address,uint256) 095ea7b3400 function approve(address spender, uint256 amount) public returns (bool) {401 require(false, stub_error);402 spender;403 amount;404 dummy = 0;405 return false;406 }407408 // Selector: allowance(address,address) dd62ed3e409 function allowance(address owner, address spender)410 public411 view412 returns (uint256)413 {414 require(false, stub_error);415 owner;416 spender;417 dummy;418 return 0;419 }420}421422contract UniqueFungible is423 Dummy,424 ERC165,425 ERC20,426 ERC20UniqueExtensions,427 Collection428{}