1// SPDX-License-Identifier: OTHER2// This code is automatically generated34pragma solidity >=0.8.0 <0.9.0;56/// @dev common stubs holder7interface Dummy {89}1011interface ERC165 is Dummy {12 function supportsInterface(bytes4 interfaceID) external view returns (bool);13}1415/// @dev the ERC-165 identifier for this interface is 0x042f110616interface ERC1633UniqueExtensions is Dummy, ERC165 {17 /// @dev EVM selector for this function is: 0x042f1106,18 /// or in textual repr: setParentNFT(address,uint256)19 function setParentNFT(address collection, uint256 nftId)20 external21 returns (bool);22}2324/// @dev the ERC-165 identifier for this interface is 0x5755c3f225interface ERC1633 is Dummy, ERC165 {26 /// @dev EVM selector for this function is: 0x80a54001,27 /// or in textual repr: parentToken()28 function parentToken() external view returns (address);2930 /// @dev EVM selector for this function is: 0xd7f083f3,31 /// or in textual repr: parentTokenId()32 function parentTokenId() external view returns (uint256);33}3435/// @dev the ERC-165 identifier for this interface is 0xab8deb3736interface ERC20UniqueExtensions is Dummy, ERC165 {37 /// @dev Function that burns an amount of the token of a given account,38 /// deducting from the sender's allowance for said account.39 /// @param from The account whose tokens will be burnt.40 /// @param amount The amount that will be burnt.41 /// @dev EVM selector for this function is: 0x79cc6790,42 /// or in textual repr: burnFrom(address,uint256)43 function burnFrom(address from, uint256 amount) external returns (bool);4445 /// @dev Function that changes total amount of the tokens.46 /// Throws if `msg.sender` doesn't owns all of the tokens.47 /// @param amount New total amount of the tokens.48 /// @dev EVM selector for this function is: 0xd2418ca7,49 /// or in textual repr: repartition(uint256)50 function repartition(uint256 amount) external returns (bool);51}5253/// @dev inlined interface54interface ERC20Events {55 event Transfer(address indexed from, address indexed to, uint256 value);56 event Approval(57 address indexed owner,58 address indexed spender,59 uint256 value60 );61}6263/// @title Standard ERC20 token64///65/// @dev Implementation of the basic standard token.66/// https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20.md67/// @dev the ERC-165 identifier for this interface is 0x942e8b2268interface ERC20 is Dummy, ERC165, ERC20Events {69 /// @return the name of the token.70 /// @dev EVM selector for this function is: 0x06fdde03,71 /// or in textual repr: name()72 function name() external view returns (string memory);7374 /// @return the symbol of the token.75 /// @dev EVM selector for this function is: 0x95d89b41,76 /// or in textual repr: symbol()77 function symbol() external view returns (string memory);7879 /// @dev Total number of tokens in existence80 /// @dev EVM selector for this function is: 0x18160ddd,81 /// or in textual repr: totalSupply()82 function totalSupply() external view returns (uint256);8384 /// @dev Not supported85 /// @dev EVM selector for this function is: 0x313ce567,86 /// or in textual repr: decimals()87 function decimals() external view returns (uint8);8889 /// @dev Gets the balance of the specified address.90 /// @param owner The address to query the balance of.91 /// @return An uint256 representing the amount owned by the passed address.92 /// @dev EVM selector for this function is: 0x70a08231,93 /// or in textual repr: balanceOf(address)94 function balanceOf(address owner) external view returns (uint256);9596 /// @dev Transfer token for a specified address97 /// @param to The address to transfer to.98 /// @param amount The amount to be transferred.99 /// @dev EVM selector for this function is: 0xa9059cbb,100 /// or in textual repr: transfer(address,uint256)101 function transfer(address to, uint256 amount) external returns (bool);102103 /// @dev Transfer tokens from one address to another104 /// @param from address The address which you want to send tokens from105 /// @param to address The address which you want to transfer to106 /// @param amount uint256 the amount of tokens to be transferred107 /// @dev EVM selector for this function is: 0x23b872dd,108 /// or in textual repr: transferFrom(address,address,uint256)109 function transferFrom(110 address from,111 address to,112 uint256 amount113 ) external returns (bool);114115 /// @dev Approve the passed address to spend the specified amount of tokens on behalf of `msg.sender`.116 /// Beware that changing an allowance with this method brings the risk that someone may use both the old117 /// and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this118 /// race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards:119 /// https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729120 /// @param spender The address which will spend the funds.121 /// @param amount The amount of tokens to be spent.122 /// @dev EVM selector for this function is: 0x095ea7b3,123 /// or in textual repr: approve(address,uint256)124 function approve(address spender, uint256 amount) external returns (bool);125126 /// @dev Function to check the amount of tokens that an owner allowed to a spender.127 /// @param owner address The address which owns the funds.128 /// @param spender address The address which will spend the funds.129 /// @return A uint256 specifying the amount of tokens still available for the spender.130 /// @dev EVM selector for this function is: 0xdd62ed3e,131 /// or in textual repr: allowance(address,address)132 function allowance(address owner, address spender)133 external134 view135 returns (uint256);136}137138interface UniqueRefungibleToken is139 Dummy,140 ERC165,141 ERC20,142 ERC20UniqueExtensions,143 ERC1633,144 ERC1633UniqueExtensions145{}