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: 2f4a708535contract 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: isOwnerOrAdmin(address) 9811b0c7266 function isOwnerOrAdmin(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: isOwnerOrAdmin(uint256) 8a6cfe67279 function isOwnerOrAdmin(uint256 user) public view returns (bool) {280 require(false, stub_error);281 user;282 dummy;283 return false;284 }285286 // Returns collection type287 //288 // @return `Fungible` or `NFT` or `ReFungible`289 //290 // Selector: uniqueCollectionType() d34b55b8291 function uniqueCollectionType() public returns (string memory) {292 require(false, stub_error);293 dummy = 0;294 return "";295 }296297 // Changes collection owner to another account298 //299 // @dev Owner can be changed only by current owner300 // @param newOwner new owner account301 //302 // Selector: setOwner(address) 13af4035303 function setOwner(address newOwner) public {304 require(false, stub_error);305 newOwner;306 dummy = 0;307 }308309 // Changes collection owner to another substrate account310 //311 // @dev Owner can be changed only by current owner312 // @param newOwner new owner substrate account313 //314 // Selector: setOwner(uint256) 8041494e315 function setOwner(uint256 newOwner) public {316 require(false, stub_error);317 newOwner;318 dummy = 0;319 }320}321322// Selector: 79cc6790323contract ERC20UniqueExtensions is Dummy, ERC165 {324 // Selector: burnFrom(address,uint256) 79cc6790325 function burnFrom(address from, uint256 amount) public returns (bool) {326 require(false, stub_error);327 from;328 amount;329 dummy = 0;330 return false;331 }332}333334// Selector: 942e8b22335contract ERC20 is Dummy, ERC165, ERC20Events {336 // Selector: name() 06fdde03337 function name() public view returns (string memory) {338 require(false, stub_error);339 dummy;340 return "";341 }342343 // Selector: symbol() 95d89b41344 function symbol() public view returns (string memory) {345 require(false, stub_error);346 dummy;347 return "";348 }349350 // Selector: totalSupply() 18160ddd351 function totalSupply() public view returns (uint256) {352 require(false, stub_error);353 dummy;354 return 0;355 }356357 // Selector: decimals() 313ce567358 function decimals() public view returns (uint8) {359 require(false, stub_error);360 dummy;361 return 0;362 }363364 // Selector: balanceOf(address) 70a08231365 function balanceOf(address owner) public view returns (uint256) {366 require(false, stub_error);367 owner;368 dummy;369 return 0;370 }371372 // Selector: transfer(address,uint256) a9059cbb373 function transfer(address to, uint256 amount) public returns (bool) {374 require(false, stub_error);375 to;376 amount;377 dummy = 0;378 return false;379 }380381 // Selector: transferFrom(address,address,uint256) 23b872dd382 function transferFrom(383 address from,384 address to,385 uint256 amount386 ) public returns (bool) {387 require(false, stub_error);388 from;389 to;390 amount;391 dummy = 0;392 return false;393 }394395 // Selector: approve(address,uint256) 095ea7b3396 function approve(address spender, uint256 amount) public returns (bool) {397 require(false, stub_error);398 spender;399 amount;400 dummy = 0;401 return false;402 }403404 // Selector: allowance(address,address) dd62ed3e405 function allowance(address owner, address spender)406 public407 view408 returns (uint256)409 {410 require(false, stub_error);411 owner;412 spender;413 dummy;414 return 0;415 }416}417418contract UniqueFungible is419 Dummy,420 ERC165,421 ERC20,422 ERC20UniqueExtensions,423 Collection424{}