1// SPDX-License-Identifier: OTHER2// This code is automatically generated34pragma solidity >=0.8.0 <0.9.0;56/// @dev 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/// @dev the ERC-165 identifier for this interface is 0x042f110625contract ERC1633UniqueExtensions is Dummy, ERC165 {26 /// @dev EVM selector for this function is: 0x042f1106,27 /// or in textual repr: setParentNFT(address,uint256)28 function setParentNFT(address collection, uint256 nftId)29 public30 returns (bool)31 {32 require(false, stub_error);33 collection;34 nftId;35 dummy = 0;36 return false;37 }38}3940/// @dev the ERC-165 identifier for this interface is 0x5755c3f241contract ERC1633 is Dummy, ERC165 {42 /// @dev EVM selector for this function is: 0x80a54001,43 /// or in textual repr: parentToken()44 function parentToken() public view returns (address) {45 require(false, stub_error);46 dummy;47 return 0x0000000000000000000000000000000000000000;48 }4950 /// @dev EVM selector for this function is: 0xd7f083f3,51 /// or in textual repr: parentTokenId()52 function parentTokenId() public view returns (uint256) {53 require(false, stub_error);54 dummy;55 return 0;56 }57}5859/// @dev the ERC-165 identifier for this interface is 0xab8deb3760contract ERC20UniqueExtensions is Dummy, ERC165 {61 /// @dev Function that burns an amount of the token of a given account,62 /// deducting from the sender's allowance for said account.63 /// @param from The account whose tokens will be burnt.64 /// @param amount The amount that will be burnt.65 /// @dev EVM selector for this function is: 0x79cc6790,66 /// or in textual repr: burnFrom(address,uint256)67 function burnFrom(address from, uint256 amount) public returns (bool) {68 require(false, stub_error);69 from;70 amount;71 dummy = 0;72 return false;73 }7475 /// @dev Function that changes total amount of the tokens.76 /// Throws if `msg.sender` doesn't owns all of the tokens.77 /// @param amount New total amount of the tokens.78 /// @dev EVM selector for this function is: 0xd2418ca7,79 /// or in textual repr: repartition(uint256)80 function repartition(uint256 amount) public returns (bool) {81 require(false, stub_error);82 amount;83 dummy = 0;84 return false;85 }86}8788/// @dev inlined interface89contract ERC20Events {90 event Transfer(address indexed from, address indexed to, uint256 value);91 event Approval(92 address indexed owner,93 address indexed spender,94 uint256 value95 );96}9798/// @title Standard ERC20 token99///100/// @dev Implementation of the basic standard token.101/// https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20.md102/// @dev the ERC-165 identifier for this interface is 0x942e8b22103contract ERC20 is Dummy, ERC165, ERC20Events {104 /// @return the name of the token.105 /// @dev EVM selector for this function is: 0x06fdde03,106 /// or in textual repr: name()107 function name() public view returns (string memory) {108 require(false, stub_error);109 dummy;110 return "";111 }112113 /// @return the symbol of the token.114 /// @dev EVM selector for this function is: 0x95d89b41,115 /// or in textual repr: symbol()116 function symbol() public view returns (string memory) {117 require(false, stub_error);118 dummy;119 return "";120 }121122 /// @dev Total number of tokens in existence123 /// @dev EVM selector for this function is: 0x18160ddd,124 /// or in textual repr: totalSupply()125 function totalSupply() public view returns (uint256) {126 require(false, stub_error);127 dummy;128 return 0;129 }130131 /// @dev Not supported132 /// @dev EVM selector for this function is: 0x313ce567,133 /// or in textual repr: decimals()134 function decimals() public view returns (uint8) {135 require(false, stub_error);136 dummy;137 return 0;138 }139140 /// @dev Gets the balance of the specified address.141 /// @param owner The address to query the balance of.142 /// @return An uint256 representing the amount owned by the passed address.143 /// @dev EVM selector for this function is: 0x70a08231,144 /// or in textual repr: balanceOf(address)145 function balanceOf(address owner) public view returns (uint256) {146 require(false, stub_error);147 owner;148 dummy;149 return 0;150 }151152 /// @dev Transfer token for a specified address153 /// @param to The address to transfer to.154 /// @param amount The amount to be transferred.155 /// @dev EVM selector for this function is: 0xa9059cbb,156 /// or in textual repr: transfer(address,uint256)157 function transfer(address to, uint256 amount) public returns (bool) {158 require(false, stub_error);159 to;160 amount;161 dummy = 0;162 return false;163 }164165 /// @dev Transfer tokens from one address to another166 /// @param from address The address which you want to send tokens from167 /// @param to address The address which you want to transfer to168 /// @param amount uint256 the amount of tokens to be transferred169 /// @dev EVM selector for this function is: 0x23b872dd,170 /// or in textual repr: transferFrom(address,address,uint256)171 function transferFrom(172 address from,173 address to,174 uint256 amount175 ) public returns (bool) {176 require(false, stub_error);177 from;178 to;179 amount;180 dummy = 0;181 return false;182 }183184 /// @dev Approve the passed address to spend the specified amount of tokens on behalf of `msg.sender`.185 /// Beware that changing an allowance with this method brings the risk that someone may use both the old186 /// and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this187 /// race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards:188 /// https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729189 /// @param spender The address which will spend the funds.190 /// @param amount The amount of tokens to be spent.191 /// @dev EVM selector for this function is: 0x095ea7b3,192 /// or in textual repr: approve(address,uint256)193 function approve(address spender, uint256 amount) public returns (bool) {194 require(false, stub_error);195 spender;196 amount;197 dummy = 0;198 return false;199 }200201 /// @dev Function to check the amount of tokens that an owner allowed to a spender.202 /// @param owner address The address which owns the funds.203 /// @param spender address The address which will spend the funds.204 /// @return A uint256 specifying the amount of tokens still available for the spender.205 /// @dev EVM selector for this function is: 0xdd62ed3e,206 /// or in textual repr: allowance(address,address)207 function allowance(address owner, address spender)208 public209 view210 returns (uint256)211 {212 require(false, stub_error);213 owner;214 spender;215 dummy;216 return 0;217 }218}219220contract UniqueRefungibleToken is221 Dummy,222 ERC165,223 ERC20,224 ERC20UniqueExtensions,225 ERC1633,226 ERC1633UniqueExtensions227{}