git.delta.rocks / unique-network / refs/commits / ec9052988b69

difftreelog

source

tests/src/eth/api/UniqueFungible.sol15.2 KiBsourcehistory
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/// @title A contract that allows you to work with collections.16/// @dev the ERC-165 identifier for this interface is 0x5d35441017interface Collection is Dummy, ERC165 {18	/// Set collection property.19	///20	/// @param key Property key.21	/// @param value Propery value.22	/// @dev EVM selector for this function is: 0x2f073f66,23	///  or in textual repr: setCollectionProperty(string,bytes)24	function setCollectionProperty(string memory key, bytes memory value) external;2526	/// Set collection properties.27	///28	/// @param properties Vector of properties key/value pair.29	/// @dev EVM selector for this function is: 0x50b26b2a,30	///  or in textual repr: setCollectionProperties((string,bytes)[])31	function setCollectionProperties(Tuple10[] memory properties) external;3233	/// Delete collection property.34	///35	/// @param key Property key.36	/// @dev EVM selector for this function is: 0x7b7debce,37	///  or in textual repr: deleteCollectionProperty(string)38	function deleteCollectionProperty(string memory key) external;3940	/// Get collection property.41	///42	/// @dev Throws error if key not found.43	///44	/// @param key Property key.45	/// @return bytes The property corresponding to the key.46	/// @dev EVM selector for this function is: 0xcf24fd6d,47	///  or in textual repr: collectionProperty(string)48	function collectionProperty(string memory key) external view returns (bytes memory);4950	/// Get collection properties.51	///52	/// @param keys Properties keys.53	/// @return Vector of properties key/value pairs.54	/// @dev EVM selector for this function is: 0x285fb8e6,55	///  or in textual repr: collectionProperties(string[])56	function collectionProperties(string[] memory keys) external view returns (Tuple10[] memory);5758	/// Set the sponsor of the collection.59	///60	/// @dev In order for sponsorship to work, it must be confirmed on behalf of the sponsor.61	///62	/// @param sponsor Address of the sponsor from whose account funds will be debited for operations with the contract.63	/// @dev EVM selector for this function is: 0x7623402e,64	///  or in textual repr: setCollectionSponsor(address)65	function setCollectionSponsor(address sponsor) external;6667	/// Set the sponsor of the collection.68	///69	/// @dev In order for sponsorship to work, it must be confirmed on behalf of the sponsor.70	///71	/// @param sponsor Cross account address of the sponsor from whose account funds will be debited for operations with the contract.72	/// @dev EVM selector for this function is: 0x84a1d5a8,73	///  or in textual repr: setCollectionSponsorCross((address,uint256))74	function setCollectionSponsorCross(Tuple6 memory sponsor) external;7576	/// Whether there is a pending sponsor.77	/// @dev EVM selector for this function is: 0x058ac185,78	///  or in textual repr: hasCollectionPendingSponsor()79	function hasCollectionPendingSponsor() external view returns (bool);8081	/// Collection sponsorship confirmation.82	///83	/// @dev After setting the sponsor for the collection, it must be confirmed with this function.84	/// @dev EVM selector for this function is: 0x3c50e97a,85	///  or in textual repr: confirmCollectionSponsorship()86	function confirmCollectionSponsorship() external;8788	/// Remove collection sponsor.89	/// @dev EVM selector for this function is: 0x6e0326a3,90	///  or in textual repr: removeCollectionSponsor()91	function removeCollectionSponsor() external;9293	/// Get current sponsor.94	///95	/// @return Tuble with sponsor address and his substrate mirror. If there is no confirmed sponsor error "Contract has no sponsor" throw.96	/// @dev EVM selector for this function is: 0x6ec0a9f1,97	///  or in textual repr: collectionSponsor()98	function collectionSponsor() external view returns (Tuple6 memory);99100	/// Set limits for the collection.101	/// @dev Throws error if limit not found.102	/// @param limit Name of the limit. Valid names:103	/// 	"accountTokenOwnershipLimit",104	/// 	"sponsoredDataSize",105	/// 	"sponsoredDataRateLimit",106	/// 	"tokenLimit",107	/// 	"sponsorTransferTimeout",108	/// 	"sponsorApproveTimeout"109	/// @param value Value of the limit.110	/// @dev EVM selector for this function is: 0x6a3841db,111	///  or in textual repr: setCollectionLimit(string,uint32)112	function setCollectionLimit(string memory limit, uint32 value) external;113114	/// Set limits for the collection.115	/// @dev Throws error if limit not found.116	/// @param limit Name of the limit. Valid names:117	/// 	"ownerCanTransfer",118	/// 	"ownerCanDestroy",119	/// 	"transfersEnabled"120	/// @param value Value of the limit.121	/// @dev EVM selector for this function is: 0x993b7fba,122	///  or in textual repr: setCollectionLimit(string,bool)123	function setCollectionLimit(string memory limit, bool value) external;124125	/// Get contract address.126	/// @dev EVM selector for this function is: 0xf6b4dfb4,127	///  or in textual repr: contractAddress()128	function contractAddress() external view returns (address);129130	/// Add collection admin.131	/// @param newAdmin Cross account administrator address.132	/// @dev EVM selector for this function is: 0x859aa7d6,133	///  or in textual repr: addCollectionAdminCross((address,uint256))134	function addCollectionAdminCross(Tuple6 memory newAdmin) external;135136	/// Remove collection admin.137	/// @param admin Cross account administrator address.138	/// @dev EVM selector for this function is: 0x6c0cd173,139	///  or in textual repr: removeCollectionAdminCross((address,uint256))140	function removeCollectionAdminCross(Tuple6 memory admin) external;141142	/// Add collection admin.143	/// @param newAdmin Address of the added administrator.144	/// @dev EVM selector for this function is: 0x92e462c7,145	///  or in textual repr: addCollectionAdmin(address)146	function addCollectionAdmin(address newAdmin) external;147148	/// Remove collection admin.149	///150	/// @param admin Address of the removed administrator.151	/// @dev EVM selector for this function is: 0xfafd7b42,152	///  or in textual repr: removeCollectionAdmin(address)153	function removeCollectionAdmin(address admin) external;154155	/// Toggle accessibility of collection nesting.156	///157	/// @param enable If "true" degenerates to nesting: 'Owner' else to nesting: 'Disabled'158	/// @dev EVM selector for this function is: 0x112d4586,159	///  or in textual repr: setCollectionNesting(bool)160	function setCollectionNesting(bool enable) external;161162	/// Toggle accessibility of collection nesting.163	///164	/// @param enable If "true" degenerates to nesting: {OwnerRestricted: [1, 2, 3]} else to nesting: 'Disabled'165	/// @param collections Addresses of collections that will be available for nesting.166	/// @dev EVM selector for this function is: 0x64872396,167	///  or in textual repr: setCollectionNesting(bool,address[])168	function setCollectionNesting(bool enable, address[] memory collections) external;169170	/// Set the collection access method.171	/// @param mode Access mode172	/// 	0 for Normal173	/// 	1 for AllowList174	/// @dev EVM selector for this function is: 0x41835d4c,175	///  or in textual repr: setCollectionAccess(uint8)176	function setCollectionAccess(uint8 mode) external;177178	/// Checks that user allowed to operate with collection.179	///180	/// @param user User address to check.181	/// @dev EVM selector for this function is: 0xd63a8e11,182	///  or in textual repr: allowed(address)183	function allowed(address user) external view returns (bool);184185	/// Add the user to the allowed list.186	///187	/// @param user Address of a trusted user.188	/// @dev EVM selector for this function is: 0x67844fe6,189	///  or in textual repr: addToCollectionAllowList(address)190	function addToCollectionAllowList(address user) external;191192	/// Add user to allowed list.193	///194	/// @param user User cross account address.195	/// @dev EVM selector for this function is: 0xa0184a3a,196	///  or in textual repr: addToCollectionAllowListCross((address,uint256))197	function addToCollectionAllowListCross(Tuple6 memory user) external;198199	/// Remove the user from the allowed list.200	///201	/// @param user Address of a removed user.202	/// @dev EVM selector for this function is: 0x85c51acb,203	///  or in textual repr: removeFromCollectionAllowList(address)204	function removeFromCollectionAllowList(address user) external;205206	/// Remove user from allowed list.207	///208	/// @param user User cross account address.209	/// @dev EVM selector for this function is: 0x09ba452a,210	///  or in textual repr: removeFromCollectionAllowListCross((address,uint256))211	function removeFromCollectionAllowListCross(Tuple6 memory user) external;212213	/// Switch permission for minting.214	///215	/// @param mode Enable if "true".216	/// @dev EVM selector for this function is: 0x00018e84,217	///  or in textual repr: setCollectionMintMode(bool)218	function setCollectionMintMode(bool mode) external;219220	/// Check that account is the owner or admin of the collection221	///222	/// @param user account to verify223	/// @return "true" if account is the owner or admin224	/// @dev EVM selector for this function is: 0x9811b0c7,225	///  or in textual repr: isOwnerOrAdmin(address)226	function isOwnerOrAdmin(address user) external view returns (bool);227228	/// Check that account is the owner or admin of the collection229	///230	/// @param user User cross account to verify231	/// @return "true" if account is the owner or admin232	/// @dev EVM selector for this function is: 0x3e75a905,233	///  or in textual repr: isOwnerOrAdminCross((address,uint256))234	function isOwnerOrAdminCross(Tuple6 memory user) external view returns (bool);235236	/// Returns collection type237	///238	/// @return `Fungible` or `NFT` or `ReFungible`239	/// @dev EVM selector for this function is: 0xd34b55b8,240	///  or in textual repr: uniqueCollectionType()241	function uniqueCollectionType() external view returns (string memory);242243	/// Get collection owner.244	///245	/// @return Tuble with sponsor address and his substrate mirror.246	/// If address is canonical then substrate mirror is zero and vice versa.247	/// @dev EVM selector for this function is: 0xdf727d3b,248	///  or in textual repr: collectionOwner()249	function collectionOwner() external view returns (Tuple6 memory);250251	/// Changes collection owner to another account252	///253	/// @dev Owner can be changed only by current owner254	/// @param newOwner new owner account255	/// @dev EVM selector for this function is: 0x4f53e226,256	///  or in textual repr: changeCollectionOwner(address)257	function changeCollectionOwner(address newOwner) external;258259	/// Get collection administrators260	///261	/// @return Vector of tuples with admins address and his substrate mirror.262	/// If address is canonical then substrate mirror is zero and vice versa.263	/// @dev EVM selector for this function is: 0x5813216b,264	///  or in textual repr: collectionAdmins()265	function collectionAdmins() external view returns (Tuple6[] memory);266267	/// Changes collection owner to another account268	///269	/// @dev Owner can be changed only by current owner270	/// @param newOwner new owner cross account271	/// @dev EVM selector for this function is: 0xe5c9913f,272	///  or in textual repr: setOwnerCross((address,uint256))273	function setOwnerCross(Tuple6 memory newOwner) external;274}275276/// @dev anonymous struct277struct Tuple10 {278	string field_0;279	bytes field_1;280}281282/// @dev the ERC-165 identifier for this interface is 0x032e5926283interface ERC20UniqueExtensions is Dummy, ERC165 {284	/// @dev EVM selector for this function is: 0x0ecd0ab0,285	///  or in textual repr: approveCross((address,uint256),uint256)286	function approveCross(Tuple6 memory spender, uint256 amount) external returns (bool);287288	/// Burn tokens from account289	/// @dev Function that burns an `amount` of the tokens of a given account,290	/// deducting from the sender's allowance for said account.291	/// @param from The account whose tokens will be burnt.292	/// @param amount The amount that will be burnt.293	/// @dev EVM selector for this function is: 0x79cc6790,294	///  or in textual repr: burnFrom(address,uint256)295	function burnFrom(address from, uint256 amount) external returns (bool);296297	/// Burn tokens from account298	/// @dev Function that burns an `amount` of the tokens of a given account,299	/// deducting from the sender's allowance for said account.300	/// @param from The account whose tokens will be burnt.301	/// @param amount The amount that will be burnt.302	/// @dev EVM selector for this function is: 0xbb2f5a58,303	///  or in textual repr: burnFromCross((address,uint256),uint256)304	function burnFromCross(Tuple6 memory from, uint256 amount) external returns (bool);305306	/// Mint tokens for multiple accounts.307	/// @param amounts array of pairs of account address and amount308	/// @dev EVM selector for this function is: 0x1acf2d55,309	///  or in textual repr: mintBulk((address,uint256)[])310	function mintBulk(Tuple6[] memory amounts) external returns (bool);311312	/// @dev EVM selector for this function is: 0xd5cf430b,313	///  or in textual repr: transferFromCross((address,uint256),(address,uint256),uint256)314	function transferFromCross(315		Tuple6 memory from,316		Tuple6 memory to,317		uint256 amount318	) external returns (bool);319}320321/// @dev anonymous struct322struct Tuple6 {323	address field_0;324	uint256 field_1;325}326327/// @dev the ERC-165 identifier for this interface is 0x40c10f19328interface ERC20Mintable is Dummy, ERC165 {329	/// Mint tokens for `to` account.330	/// @param to account that will receive minted tokens331	/// @param amount amount of tokens to mint332	/// @dev EVM selector for this function is: 0x40c10f19,333	///  or in textual repr: mint(address,uint256)334	function mint(address to, uint256 amount) external returns (bool);335}336337/// @dev inlined interface338interface ERC20Events {339	event Transfer(address indexed from, address indexed to, uint256 value);340	event Approval(address indexed owner, address indexed spender, uint256 value);341}342343/// @dev the ERC-165 identifier for this interface is 0x942e8b22344interface ERC20 is Dummy, ERC165, ERC20Events {345	/// @dev EVM selector for this function is: 0x06fdde03,346	///  or in textual repr: name()347	function name() external view returns (string memory);348349	/// @dev EVM selector for this function is: 0x95d89b41,350	///  or in textual repr: symbol()351	function symbol() external view returns (string memory);352353	/// @dev EVM selector for this function is: 0x18160ddd,354	///  or in textual repr: totalSupply()355	function totalSupply() external view returns (uint256);356357	/// @dev EVM selector for this function is: 0x313ce567,358	///  or in textual repr: decimals()359	function decimals() external view returns (uint8);360361	/// @dev EVM selector for this function is: 0x70a08231,362	///  or in textual repr: balanceOf(address)363	function balanceOf(address owner) external view returns (uint256);364365	/// @dev EVM selector for this function is: 0xa9059cbb,366	///  or in textual repr: transfer(address,uint256)367	function transfer(address to, uint256 amount) external returns (bool);368369	/// @dev EVM selector for this function is: 0x23b872dd,370	///  or in textual repr: transferFrom(address,address,uint256)371	function transferFrom(372		address from,373		address to,374		uint256 amount375	) external returns (bool);376377	/// @dev EVM selector for this function is: 0x095ea7b3,378	///  or in textual repr: approve(address,uint256)379	function approve(address spender, uint256 amount) external returns (bool);380381	/// @dev EVM selector for this function is: 0xdd62ed3e,382	///  or in textual repr: allowance(address,address)383	function allowance(address owner, address spender) external view returns (uint256);384}385386interface UniqueFungible is Dummy, ERC165, ERC20, ERC20Mintable, ERC20UniqueExtensions, Collection {}