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: 79cc679035contract ERC20UniqueExtensions is Dummy, ERC165 {36 // Selector: burnFrom(address,uint256) 79cc679037 function burnFrom(address from, uint256 amount) public returns (bool) {38 require(false, stub_error);39 from;40 amount;41 dummy = 0;42 return false;43 }44}4546// Selector: 942e8b2247contract ERC20 is Dummy, ERC165, ERC20Events {48 // Selector: name() 06fdde0349 function name() public view returns (string memory) {50 require(false, stub_error);51 dummy;52 return "";53 }5455 // Selector: symbol() 95d89b4156 function symbol() public view returns (string memory) {57 require(false, stub_error);58 dummy;59 return "";60 }6162 // Selector: totalSupply() 18160ddd63 function totalSupply() public view returns (uint256) {64 require(false, stub_error);65 dummy;66 return 0;67 }6869 // Selector: decimals() 313ce56770 function decimals() public view returns (uint8) {71 require(false, stub_error);72 dummy;73 return 0;74 }7576 // Selector: balanceOf(address) 70a0823177 function balanceOf(address owner) public view returns (uint256) {78 require(false, stub_error);79 owner;80 dummy;81 return 0;82 }8384 // Selector: transfer(address,uint256) a9059cbb85 function transfer(address to, uint256 amount) public returns (bool) {86 require(false, stub_error);87 to;88 amount;89 dummy = 0;90 return false;91 }9293 // Selector: transferFrom(address,address,uint256) 23b872dd94 function transferFrom(95 address from,96 address to,97 uint256 amount98 ) public returns (bool) {99 require(false, stub_error);100 from;101 to;102 amount;103 dummy = 0;104 return false;105 }106107 // Selector: approve(address,uint256) 095ea7b3108 function approve(address spender, uint256 amount) public returns (bool) {109 require(false, stub_error);110 spender;111 amount;112 dummy = 0;113 return false;114 }115116 // Selector: allowance(address,address) dd62ed3e117 function allowance(address owner, address spender)118 public119 view120 returns (uint256)121 {122 require(false, stub_error);123 owner;124 spender;125 dummy;126 return 0;127 }128}129130// Selector: 9b5e29c5131contract CollectionProperties is Dummy, ERC165 {132 // Selector: setCollectionProperty(string,bytes) 2f073f66133 function setCollectionProperty(string memory key, bytes memory value)134 public135 {136 require(false, stub_error);137 key;138 value;139 dummy = 0;140 }141142 // Selector: deleteCollectionProperty(string) 7b7debce143 function deleteCollectionProperty(string memory key) public {144 require(false, stub_error);145 key;146 dummy = 0;147 }148149 // Throws error if key not found150 //151 // Selector: collectionProperty(string) cf24fd6d152 function collectionProperty(string memory key)153 public154 view155 returns (bytes memory)156 {157 require(false, stub_error);158 key;159 dummy;160 return hex"";161 }162}163164contract UniqueFungible is165 Dummy,166 ERC165,167 ERC20,168 ERC20UniqueExtensions,169 CollectionProperties170{}