git.delta.rocks / unique-network / refs/commits / 2ba119d71c40

difftreelog

misc: update stubs

Trubnikov Sergey2022-08-25parent: #41b5a1d.patch.diff
in: master

12 files changed

modifiedpallets/evm-contract-helpers/src/stubs/ContractHelpers.soldiffbeforeafterboth
--- a/pallets/evm-contract-helpers/src/stubs/ContractHelpers.sol
+++ b/pallets/evm-contract-helpers/src/stubs/ContractHelpers.sol
@@ -22,6 +22,7 @@
 }
 
 <<<<<<< HEAD
+<<<<<<< HEAD
 /// @title Magic contract, which allows users to reconfigure other contracts
 /// @dev the ERC-165 identifier for this interface is 0xd77fab70
 =======
@@ -31,6 +32,9 @@
 // Selector: 06fc42e9
 >>>>>>> path: add stubs
 >>>>>>> path: add stubs
+=======
+// Selector: 6073d917
+>>>>>>> misc: update stubs
 contract ContractHelpers is Dummy, ERC165 {
 	/// Get user, which deployed specified contract
 	/// @dev May return zero address in case if contract is deployed
@@ -53,6 +57,7 @@
 	}
 
 <<<<<<< HEAD
+<<<<<<< HEAD
 	/// Set sponsor.
 	/// @param contractAddress Contract for which a sponsor is being established.
 	/// @param sponsor User address who set as pending sponsor.
@@ -60,13 +65,13 @@
 	///  or in textual repr: setSponsor(address,address)
 =======
 <<<<<<< HEAD
+=======
+>>>>>>> misc: update stubs
 	// Set sponsor.
 	//
 	// @param contract_address Contract for which a sponsor is being established.
 	// @param sponsor User address who set as pending sponsor.
 	//
-=======
->>>>>>> path: add stubs
 	// Selector: setSponsor(address,address) f01fba93
 >>>>>>> path: add stubs
 	function setSponsor(address contractAddress, address sponsor) public {
@@ -77,6 +82,7 @@
 	}
 
 <<<<<<< HEAD
+<<<<<<< HEAD
 	/// Set contract as self sponsored.
 	///
 	/// @param contractAddress Contract for which a self sponsoring is being enabled.
@@ -84,6 +90,8 @@
 	///  or in textual repr: selfSponsoredEnable(address)
 =======
 <<<<<<< HEAD
+=======
+>>>>>>> misc: update stubs
 	// Set contract as self sponsored.
 	//
 	// @param contract_address Contract for which a self sponsoring is being enabled.
@@ -91,16 +99,13 @@
 	// Selector: selfSponsoredEnable(address) 89f7d9ae
 >>>>>>> path: add stubs
 	function selfSponsoredEnable(address contractAddress) public {
-=======
-	// Selector: confirmSponsorship(address) abc00001
-	function confirmSponsorship(address contractAddress) public {
->>>>>>> path: add stubs
 		require(false, stub_error);
 		contractAddress;
 		dummy = 0;
 	}
 
 <<<<<<< HEAD
+<<<<<<< HEAD
 	/// Remove sponsor.
 	///
 	/// @param contractAddress Contract for which a sponsorship is being removed.
@@ -108,6 +113,8 @@
 	///  or in textual repr: removeSponsor(address)
 =======
 <<<<<<< HEAD
+=======
+>>>>>>> misc: update stubs
 	// Remove sponsor.
 	//
 	// @param contract_address Contract for which a sponsorship is being removed.
@@ -140,9 +147,6 @@
 	/// @dev EVM selector for this function is: 0x743fc745,
 	///  or in textual repr: getSponsor(address)
 	function getSponsor(address contractAddress)
-=======
-	// Selector: getSponsor(address) 743fc745
-	function getSponsor(address contractAddress)
 		public
 		view
 		returns (Tuple0 memory)
@@ -153,27 +157,6 @@
 		return Tuple0(0x0000000000000000000000000000000000000000, 0);
 	}
 
-	// Selector: hasSponsor(address) 97418603
-	function hasSponsor(address contractAddress) public view returns (bool) {
-		require(false, stub_error);
-		contractAddress;
-		dummy;
-		return false;
-	}
-
-	// Selector: hasPendingSponsor(address) 39b9b242
-	function hasPendingSponsor(address contractAddress)
->>>>>>> path: add stubs
-		public
-		view
-		returns (Tuple0 memory)
-	{
-		require(false, stub_error);
-		contractAddress;
-		dummy;
-		return Tuple0(0x0000000000000000000000000000000000000000, 0);
-	}
-
 	/// Check tat contract has confirmed sponsor.
 	///
 	/// @param contractAddress The contract for which the presence of a confirmed sponsor is checked.
@@ -188,6 +171,7 @@
 	}
 
 <<<<<<< HEAD
+<<<<<<< HEAD
 	/// Check tat contract has pending sponsor.
 	///
 	/// @param contractAddress The contract for which the presence of a pending sponsor is checked.
@@ -196,6 +180,8 @@
 	///  or in textual repr: hasPendingSponsor(address)
 =======
 <<<<<<< HEAD
+=======
+>>>>>>> misc: update stubs
 	// Check tat contract has pending sponsor.
 	//
 	// @param contract_address The contract for which the presence of a pending sponsor is checked.
@@ -204,10 +190,6 @@
 	// Selector: hasPendingSponsor(address) 39b9b242
 >>>>>>> path: add stubs
 	function hasPendingSponsor(address contractAddress)
-=======
-	// Selector: sponsoringEnabled(address) 6027dc61
-	function sponsoringEnabled(address contractAddress)
->>>>>>> path: add stubs
 		public
 		view
 		returns (bool)
@@ -216,7 +198,6 @@
 		contractAddress;
 		dummy;
 		return false;
-<<<<<<< HEAD
 	}
 
 	/// @dev EVM selector for this function is: 0x6027dc61,
@@ -230,8 +211,6 @@
 		contractAddress;
 		dummy;
 		return false;
-=======
->>>>>>> path: add stubs
 	}
 
 	/// @dev EVM selector for this function is: 0xfde8a560,
modifiedpallets/fungible/src/stubs/UniqueFungible.soldiffbeforeafterboth
--- a/pallets/fungible/src/stubs/UniqueFungible.sol
+++ b/pallets/fungible/src/stubs/UniqueFungible.sol
@@ -45,7 +45,6 @@
 	);
 }
 
-<<<<<<< HEAD
 // Selector: 79cc6790
 contract ERC20UniqueExtensions is Dummy, ERC165 {
 	// Selector: burnFrom(address,uint256) 79cc6790
@@ -142,11 +141,15 @@
 	}
 }
 
+<<<<<<< HEAD
 // Selector: ffe4da23
 =======
 // Selector: 765e2fae
 >>>>>>> misk: Update stubs
 >>>>>>> misk: Update stubs
+=======
+// Selector: e54be640
+>>>>>>> misc: update stubs
 contract Collection is Dummy, ERC165 {
 	/// Set collection property.
 	///
modifiedpallets/nonfungible/src/stubs/UniqueNFT.soldiffbeforeafterboth
--- a/pallets/nonfungible/src/stubs/UniqueNFT.sol
+++ b/pallets/nonfungible/src/stubs/UniqueNFT.sol
@@ -482,10 +482,13 @@
 }
 
 <<<<<<< HEAD
+<<<<<<< HEAD
 /// @title Unique extensions for ERC721.
 /// @dev the ERC-165 identifier for this interface is 0xd74d154f
 =======
 <<<<<<< HEAD
+=======
+>>>>>>> misc: update stubs
 // Selector: 780e9d63
 contract ERC721Enumerable is Dummy, ERC165 {
 	// @notice Enumerate valid NFTs
@@ -607,6 +610,7 @@
 }
 
 <<<<<<< HEAD
+<<<<<<< HEAD
 /// @dev anonymous struct
 struct Tuple8 {
 	uint256 field_0;
@@ -617,6 +621,9 @@
 =======
 // Selector: 765e2fae
 >>>>>>> misk: Update stubs
+=======
+// Selector: e54be640
+>>>>>>> misc: update stubs
 contract Collection is Dummy, ERC165 {
 	// Set collection property.
 	//
modifiedpallets/refungible/src/stubs/UniqueRefungible.soldiffbeforeafterboth
--- a/pallets/refungible/src/stubs/UniqueRefungible.sol
+++ b/pallets/refungible/src/stubs/UniqueRefungible.sol
@@ -482,10 +482,13 @@
 }
 
 <<<<<<< HEAD
+<<<<<<< HEAD
 /// @title Unique extensions for ERC721.
 /// @dev the ERC-165 identifier for this interface is 0x7c3bef89
 =======
 <<<<<<< HEAD
+=======
+>>>>>>> misc: update stubs
 // Selector: 780e9d63
 contract ERC721Enumerable is Dummy, ERC165 {
 	// @notice Enumerate valid RFTs
@@ -621,6 +624,7 @@
 }
 
 <<<<<<< HEAD
+<<<<<<< HEAD
 /// @dev anonymous struct
 struct Tuple8 {
 	uint256 field_0;
@@ -631,6 +635,9 @@
 =======
 // Selector: 765e2fae
 >>>>>>> misk: Update stubs
+=======
+// Selector: e54be640
+>>>>>>> misc: update stubs
 contract Collection is Dummy, ERC165 {
 	// Set collection property.
 	//
modifiedtests/src/eth/api/ContractHelpers.soldiffbeforeafterboth
--- a/tests/src/eth/api/ContractHelpers.sol
+++ b/tests/src/eth/api/ContractHelpers.sol
@@ -13,6 +13,7 @@
 }
 
 <<<<<<< HEAD
+<<<<<<< HEAD
 /// @title Magic contract, which allows users to reconfigure other contracts
 /// @dev the ERC-165 identifier for this interface is 0xd77fab70
 =======
@@ -22,6 +23,9 @@
 // Selector: 06fc42e9
 >>>>>>> path: add stubs
 >>>>>>> path: add stubs
+=======
+// Selector: 6073d917
+>>>>>>> misc: update stubs
 interface ContractHelpers is Dummy, ERC165 {
 	/// Get user, which deployed specified contract
 	/// @dev May return zero address in case if contract is deployed
@@ -38,6 +42,7 @@
 		returns (address);
 
 <<<<<<< HEAD
+<<<<<<< HEAD
 	/// Set sponsor.
 	/// @param contractAddress Contract for which a sponsor is being established.
 	/// @param sponsor User address who set as pending sponsor.
@@ -45,6 +50,8 @@
 	///  or in textual repr: setSponsor(address,address)
 =======
 <<<<<<< HEAD
+=======
+>>>>>>> misc: update stubs
 	// Set sponsor.
 	//
 	// @param contract_address Contract for which a sponsor is being established.
@@ -90,14 +97,6 @@
 	// @param contract_address The contract for which a sponsor is requested.
 	// @return Tuble with sponsor address and his substrate mirror. If there is no confirmed sponsor error "Contract has no sponsor" throw.
 	//
-=======
-	// Selector: setSponsor(address,address) f01fba93
-	function setSponsor(address contractAddress, address sponsor) external;
-
-	// Selector: confirmSponsorship(address) abc00001
-	function confirmSponsorship(address contractAddress) external;
-
->>>>>>> path: add stubs
 	// Selector: getSponsor(address) 743fc745
 >>>>>>> path: add stubs
 	function getSponsor(address contractAddress)
@@ -106,6 +105,7 @@
 		returns (Tuple0 memory);
 
 <<<<<<< HEAD
+<<<<<<< HEAD
 	/// Check tat contract has confirmed sponsor.
 	///
 	/// @param contractAddress The contract for which the presence of a confirmed sponsor is checked.
@@ -122,6 +122,8 @@
 	///  or in textual repr: hasPendingSponsor(address)
 =======
 <<<<<<< HEAD
+=======
+>>>>>>> misc: update stubs
 	// Check tat contract has confirmed sponsor.
 	//
 	// @param contract_address The contract for which the presence of a confirmed sponsor is checked.
@@ -135,11 +137,6 @@
 	// @param contract_address The contract for which the presence of a pending sponsor is checked.
 	// @return **true** if contract has pending sponsor.
 	//
-=======
-	// Selector: hasSponsor(address) 97418603
-	function hasSponsor(address contractAddress) external view returns (bool);
-
->>>>>>> path: add stubs
 	// Selector: hasPendingSponsor(address) 39b9b242
 >>>>>>> path: add stubs
 	function hasPendingSponsor(address contractAddress)
modifiedtests/src/eth/api/UniqueFungible.soldiffbeforeafterboth
before · tests/src/eth/api/UniqueFungible.sol
1// SPDX-License-Identifier: OTHER2// This code is automatically generated34pragma solidity >=0.8.0 <0.9.0;56<<<<<<< HEAD7/// @dev common stubs holder8=======9// Anonymous struct10struct Tuple0 {11	address field_0;12	uint256 field_1;13}1415// Common stubs holder16>>>>>>> misk: Update stubs17interface Dummy {1819}2021interface ERC165 is Dummy {22	function supportsInterface(bytes4 interfaceID) external view returns (bool);23}2425<<<<<<< HEAD26/// @title A contract that allows you to work with collections.27/// @dev the ERC-165 identifier for this interface is 0xffe4da2328=======29// Inline30interface ERC20Events {31	event Transfer(address indexed from, address indexed to, uint256 value);32	event Approval(33		address indexed owner,34		address indexed spender,35		uint256 value36	);37}3839<<<<<<< HEAD40// Selector: 79cc679041interface ERC20UniqueExtensions is Dummy, ERC165 {42	// Selector: burnFrom(address,uint256) 79cc679043	function burnFrom(address from, uint256 amount) external returns (bool);44}4546// Selector: 942e8b2247interface ERC20 is Dummy, ERC165, ERC20Events {48	// Selector: name() 06fdde0349	function name() external view returns (string memory);5051	// Selector: symbol() 95d89b4152	function symbol() external view returns (string memory);5354	// Selector: totalSupply() 18160ddd55	function totalSupply() external view returns (uint256);5657	// Selector: decimals() 313ce56758	function decimals() external view returns (uint8);5960	// Selector: balanceOf(address) 70a0823161	function balanceOf(address owner) external view returns (uint256);6263	// Selector: transfer(address,uint256) a9059cbb64	function transfer(address to, uint256 amount) external returns (bool);6566	// Selector: transferFrom(address,address,uint256) 23b872dd67	function transferFrom(68		address from,69		address to,70		uint256 amount71	) external returns (bool);7273	// Selector: approve(address,uint256) 095ea7b374	function approve(address spender, uint256 amount) external returns (bool);7576	// Selector: allowance(address,address) dd62ed3e77	function allowance(address owner, address spender)78		external79		view80		returns (uint256);81}8283// Selector: ffe4da2384=======85// Selector: 765e2fae86>>>>>>> misk: Update stubs87>>>>>>> misk: Update stubs88interface Collection is Dummy, ERC165 {89	/// Set collection property.90	///91	/// @param key Property key.92	/// @param value Propery value.93	/// @dev EVM selector for this function is: 0x2f073f66,94	///  or in textual repr: setCollectionProperty(string,bytes)95	function setCollectionProperty(string memory key, bytes memory value)96		external;9798	/// Delete collection property.99	///100	/// @param key Property key.101	/// @dev EVM selector for this function is: 0x7b7debce,102	///  or in textual repr: deleteCollectionProperty(string)103	function deleteCollectionProperty(string memory key) external;104105	/// Get collection property.106	///107	/// @dev Throws error if key not found.108	///109	/// @param key Property key.110	/// @return bytes The property corresponding to the key.111	/// @dev EVM selector for this function is: 0xcf24fd6d,112	///  or in textual repr: collectionProperty(string)113	function collectionProperty(string memory key)114		external115		view116		returns (bytes memory);117118	/// Set the sponsor of the collection.119	///120	/// @dev In order for sponsorship to work, it must be confirmed on behalf of the sponsor.121	///122	/// @param sponsor Address of the sponsor from whose account funds will be debited for operations with the contract.123	/// @dev EVM selector for this function is: 0x7623402e,124	///  or in textual repr: setCollectionSponsor(address)125	function setCollectionSponsor(address sponsor) external;126127<<<<<<< HEAD128	/// Collection sponsorship confirmation.129	///130	/// @dev After setting the sponsor for the collection, it must be confirmed with this function.131	/// @dev EVM selector for this function is: 0x3c50e97a,132	///  or in textual repr: confirmCollectionSponsorship()133	function confirmCollectionSponsorship() external;134135	/// Set limits for the collection.136	/// @dev Throws error if limit not found.137	/// @param limit Name of the limit. Valid names:138	/// 	"accountTokenOwnershipLimit",139	/// 	"sponsoredDataSize",140	/// 	"sponsoredDataRateLimit",141	/// 	"tokenLimit",142	/// 	"sponsorTransferTimeout",143	/// 	"sponsorApproveTimeout"144	/// @param value Value of the limit.145	/// @dev EVM selector for this function is: 0x6a3841db,146	///  or in textual repr: setCollectionLimit(string,uint32)147=======148	// Set the substrate sponsor of the collection.149	//150	// @dev In order for sponsorship to work, it must be confirmed on behalf of the sponsor.151	//152	// @param sponsor Substrate address of the sponsor from whose account funds will be debited for operations with the contract.153	//154	// Selector: setCollectionSponsorSubstrate(uint256) c74d6751155	function setCollectionSponsorSubstrate(uint256 sponsor) external;156157	// Selector: hasCollectionPendingSponsor() 058ac185158	function hasCollectionPendingSponsor() external view returns (bool);159160	// Collection sponsorship confirmation.161	//162	// @dev After setting the sponsor for the collection, it must be confirmed with this function.163	//164	// Selector: confirmCollectionSponsorship() 3c50e97a165	function confirmCollectionSponsorship() external;166167	// Remove collection sponsor.168	//169	// Selector: removeCollectionSponsor() 6e0326a3170	function removeCollectionSponsor() external;171172	// Get current sponsor.173	//174	// @return Tuble with sponsor address and his substrate mirror. If there is no confirmed sponsor error "Contract has no sponsor" throw.175	//176	// Selector: getCollectionSponsor() b66bbc14177	function getCollectionSponsor() external view returns (Tuple0 memory);178179	// Set limits for the collection.180	// @dev Throws error if limit not found.181	// @param limit Name of the limit. Valid names:182	// 	"accountTokenOwnershipLimit",183	// 	"sponsoredDataSize",184	// 	"sponsoredDataRateLimit",185	// 	"tokenLimit",186	// 	"sponsorTransferTimeout",187	// 	"sponsorApproveTimeout"188	// @param value Value of the limit.189	//190	// Selector: setCollectionLimit(string,uint32) 6a3841db191>>>>>>> misk: Update stubs192	function setCollectionLimit(string memory limit, uint32 value) external;193194	/// Set limits for the collection.195	/// @dev Throws error if limit not found.196	/// @param limit Name of the limit. Valid names:197	/// 	"ownerCanTransfer",198	/// 	"ownerCanDestroy",199	/// 	"transfersEnabled"200	/// @param value Value of the limit.201	/// @dev EVM selector for this function is: 0x993b7fba,202	///  or in textual repr: setCollectionLimit(string,bool)203	function setCollectionLimit(string memory limit, bool value) external;204205	/// Get contract address.206	/// @dev EVM selector for this function is: 0xf6b4dfb4,207	///  or in textual repr: contractAddress()208	function contractAddress() external view returns (address);209210	/// Add collection admin by substrate address.211	/// @param newAdmin Substrate administrator address.212	/// @dev EVM selector for this function is: 0x5730062b,213	///  or in textual repr: addCollectionAdminSubstrate(uint256)214	function addCollectionAdminSubstrate(uint256 newAdmin) external;215216	/// Remove collection admin by substrate address.217	/// @param admin Substrate administrator address.218	/// @dev EVM selector for this function is: 0x4048fcf9,219	///  or in textual repr: removeCollectionAdminSubstrate(uint256)220	function removeCollectionAdminSubstrate(uint256 admin) external;221222	/// Add collection admin.223	/// @param newAdmin Address of the added administrator.224	/// @dev EVM selector for this function is: 0x92e462c7,225	///  or in textual repr: addCollectionAdmin(address)226	function addCollectionAdmin(address newAdmin) external;227228	/// Remove collection admin.229	///230	/// @param admin Address of the removed administrator.231	/// @dev EVM selector for this function is: 0xfafd7b42,232	///  or in textual repr: removeCollectionAdmin(address)233	function removeCollectionAdmin(address admin) external;234235	/// Toggle accessibility of collection nesting.236	///237	/// @param enable If "true" degenerates to nesting: 'Owner' else to nesting: 'Disabled'238	/// @dev EVM selector for this function is: 0x112d4586,239	///  or in textual repr: setCollectionNesting(bool)240	function setCollectionNesting(bool enable) external;241242	/// Toggle accessibility of collection nesting.243	///244	/// @param enable If "true" degenerates to nesting: {OwnerRestricted: [1, 2, 3]} else to nesting: 'Disabled'245	/// @param collections Addresses of collections that will be available for nesting.246	/// @dev EVM selector for this function is: 0x64872396,247	///  or in textual repr: setCollectionNesting(bool,address[])248	function setCollectionNesting(bool enable, address[] memory collections)249		external;250251	/// Set the collection access method.252	/// @param mode Access mode253	/// 	0 for Normal254	/// 	1 for AllowList255	/// @dev EVM selector for this function is: 0x41835d4c,256	///  or in textual repr: setCollectionAccess(uint8)257	function setCollectionAccess(uint8 mode) external;258259	/// Add the user to the allowed list.260	///261	/// @param user Address of a trusted user.262	/// @dev EVM selector for this function is: 0x67844fe6,263	///  or in textual repr: addToCollectionAllowList(address)264	function addToCollectionAllowList(address user) external;265266	/// Remove the user from the allowed list.267	///268	/// @param user Address of a removed user.269	/// @dev EVM selector for this function is: 0x85c51acb,270	///  or in textual repr: removeFromCollectionAllowList(address)271	function removeFromCollectionAllowList(address user) external;272273	/// Switch permission for minting.274	///275	/// @param mode Enable if "true".276	/// @dev EVM selector for this function is: 0x00018e84,277	///  or in textual repr: setCollectionMintMode(bool)278	function setCollectionMintMode(bool mode) external;279280	/// Check that account is the owner or admin of the collection281	///282	/// @param user account to verify283	/// @return "true" if account is the owner or admin284	/// @dev EVM selector for this function is: 0x9811b0c7,285	///  or in textual repr: isOwnerOrAdmin(address)286	function isOwnerOrAdmin(address user) external view returns (bool);287288	/// Check that substrate account is the owner or admin of the collection289	///290	/// @param user account to verify291	/// @return "true" if account is the owner or admin292	/// @dev EVM selector for this function is: 0x68910e00,293	///  or in textual repr: isOwnerOrAdminSubstrate(uint256)294	function isOwnerOrAdminSubstrate(uint256 user) external view returns (bool);295296	/// Returns collection type297	///298	/// @return `Fungible` or `NFT` or `ReFungible`299	/// @dev EVM selector for this function is: 0xd34b55b8,300	///  or in textual repr: uniqueCollectionType()301	function uniqueCollectionType() external returns (string memory);302303	/// Changes collection owner to another account304	///305	/// @dev Owner can be changed only by current owner306	/// @param newOwner new owner account307	/// @dev EVM selector for this function is: 0x13af4035,308	///  or in textual repr: setOwner(address)309	function setOwner(address newOwner) external;310311	/// Changes collection owner to another substrate account312	///313	/// @dev Owner can be changed only by current owner314	/// @param newOwner new owner substrate account315	/// @dev EVM selector for this function is: 0xb212138f,316	///  or in textual repr: setOwnerSubstrate(uint256)317	function setOwnerSubstrate(uint256 newOwner) external;318}319320/// @dev the ERC-165 identifier for this interface is 0x79cc6790321interface ERC20UniqueExtensions is Dummy, ERC165 {322	/// @dev EVM selector for this function is: 0x79cc6790,323	///  or in textual repr: burnFrom(address,uint256)324	function burnFrom(address from, uint256 amount) external returns (bool);325}326327/// @dev inlined interface328interface ERC20Events {329	event Transfer(address indexed from, address indexed to, uint256 value);330	event Approval(331		address indexed owner,332		address indexed spender,333		uint256 value334	);335}336337/// @dev the ERC-165 identifier for this interface is 0x942e8b22338interface ERC20 is Dummy, ERC165, ERC20Events {339	/// @dev EVM selector for this function is: 0x06fdde03,340	///  or in textual repr: name()341	function name() external view returns (string memory);342343	/// @dev EVM selector for this function is: 0x95d89b41,344	///  or in textual repr: symbol()345	function symbol() external view returns (string memory);346347	/// @dev EVM selector for this function is: 0x18160ddd,348	///  or in textual repr: totalSupply()349	function totalSupply() external view returns (uint256);350351	/// @dev EVM selector for this function is: 0x313ce567,352	///  or in textual repr: decimals()353	function decimals() external view returns (uint8);354355	/// @dev EVM selector for this function is: 0x70a08231,356	///  or in textual repr: balanceOf(address)357	function balanceOf(address owner) external view returns (uint256);358359	/// @dev EVM selector for this function is: 0xa9059cbb,360	///  or in textual repr: transfer(address,uint256)361	function transfer(address to, uint256 amount) external returns (bool);362363	/// @dev EVM selector for this function is: 0x23b872dd,364	///  or in textual repr: transferFrom(address,address,uint256)365	function transferFrom(366		address from,367		address to,368		uint256 amount369	) external returns (bool);370371	/// @dev EVM selector for this function is: 0x095ea7b3,372	///  or in textual repr: approve(address,uint256)373	function approve(address spender, uint256 amount) external returns (bool);374375	/// @dev EVM selector for this function is: 0xdd62ed3e,376	///  or in textual repr: allowance(address,address)377	function allowance(address owner, address spender)378		external379		view380		returns (uint256);381}382383interface UniqueFungible is384	Dummy,385	ERC165,386	ERC20,387	ERC20UniqueExtensions,388	Collection389{}
after · tests/src/eth/api/UniqueFungible.sol
1// SPDX-License-Identifier: OTHER2// This code is automatically generated34pragma solidity >=0.8.0 <0.9.0;56<<<<<<< HEAD7/// @dev common stubs holder8=======9// Anonymous struct10struct Tuple0 {11	address field_0;12	uint256 field_1;13}1415// Common stubs holder16>>>>>>> misk: Update stubs17interface Dummy {1819}2021interface ERC165 is Dummy {22	function supportsInterface(bytes4 interfaceID) external view returns (bool);23}2425<<<<<<< HEAD26/// @title A contract that allows you to work with collections.27/// @dev the ERC-165 identifier for this interface is 0xffe4da2328=======29// Inline30interface ERC20Events {31	event Transfer(address indexed from, address indexed to, uint256 value);32	event Approval(33		address indexed owner,34		address indexed spender,35		uint256 value36	);37}3839// Selector: 79cc679040interface ERC20UniqueExtensions is Dummy, ERC165 {41	// Selector: burnFrom(address,uint256) 79cc679042	function burnFrom(address from, uint256 amount) external returns (bool);43}4445// Selector: 942e8b2246interface ERC20 is Dummy, ERC165, ERC20Events {47	// Selector: name() 06fdde0348	function name() external view returns (string memory);4950	// Selector: symbol() 95d89b4151	function symbol() external view returns (string memory);5253	// Selector: totalSupply() 18160ddd54	function totalSupply() external view returns (uint256);5556	// Selector: decimals() 313ce56757	function decimals() external view returns (uint8);5859	// Selector: balanceOf(address) 70a0823160	function balanceOf(address owner) external view returns (uint256);6162	// Selector: transfer(address,uint256) a9059cbb63	function transfer(address to, uint256 amount) external returns (bool);6465	// Selector: transferFrom(address,address,uint256) 23b872dd66	function transferFrom(67		address from,68		address to,69		uint256 amount70	) external returns (bool);7172	// Selector: approve(address,uint256) 095ea7b373	function approve(address spender, uint256 amount) external returns (bool);7475	// Selector: allowance(address,address) dd62ed3e76	function allowance(address owner, address spender)77		external78		view79		returns (uint256);80}8182<<<<<<< HEAD83// Selector: ffe4da2384=======85// Selector: 765e2fae86>>>>>>> misk: Update stubs87>>>>>>> misk: Update stubs88=======89// Selector: e54be64090>>>>>>> misc: update stubs91interface Collection is Dummy, ERC165 {92	/// Set collection property.93	///94	/// @param key Property key.95	/// @param value Propery value.96	/// @dev EVM selector for this function is: 0x2f073f66,97	///  or in textual repr: setCollectionProperty(string,bytes)98	function setCollectionProperty(string memory key, bytes memory value)99		external;100101	/// Delete collection property.102	///103	/// @param key Property key.104	/// @dev EVM selector for this function is: 0x7b7debce,105	///  or in textual repr: deleteCollectionProperty(string)106	function deleteCollectionProperty(string memory key) external;107108	/// Get collection property.109	///110	/// @dev Throws error if key not found.111	///112	/// @param key Property key.113	/// @return bytes The property corresponding to the key.114	/// @dev EVM selector for this function is: 0xcf24fd6d,115	///  or in textual repr: collectionProperty(string)116	function collectionProperty(string memory key)117		external118		view119		returns (bytes memory);120121	/// Set the sponsor of the collection.122	///123	/// @dev In order for sponsorship to work, it must be confirmed on behalf of the sponsor.124	///125	/// @param sponsor Address of the sponsor from whose account funds will be debited for operations with the contract.126	/// @dev EVM selector for this function is: 0x7623402e,127	///  or in textual repr: setCollectionSponsor(address)128	function setCollectionSponsor(address sponsor) external;129130<<<<<<< HEAD131	/// Collection sponsorship confirmation.132	///133	/// @dev After setting the sponsor for the collection, it must be confirmed with this function.134	/// @dev EVM selector for this function is: 0x3c50e97a,135	///  or in textual repr: confirmCollectionSponsorship()136	function confirmCollectionSponsorship() external;137138	/// Set limits for the collection.139	/// @dev Throws error if limit not found.140	/// @param limit Name of the limit. Valid names:141	/// 	"accountTokenOwnershipLimit",142	/// 	"sponsoredDataSize",143	/// 	"sponsoredDataRateLimit",144	/// 	"tokenLimit",145	/// 	"sponsorTransferTimeout",146	/// 	"sponsorApproveTimeout"147	/// @param value Value of the limit.148	/// @dev EVM selector for this function is: 0x6a3841db,149	///  or in textual repr: setCollectionLimit(string,uint32)150=======151	// Set the substrate sponsor of the collection.152	//153	// @dev In order for sponsorship to work, it must be confirmed on behalf of the sponsor.154	//155	// @param sponsor Substrate address of the sponsor from whose account funds will be debited for operations with the contract.156	//157	// Selector: setCollectionSponsorSubstrate(uint256) c74d6751158	function setCollectionSponsorSubstrate(uint256 sponsor) external;159160	// Selector: hasCollectionPendingSponsor() 058ac185161	function hasCollectionPendingSponsor() external view returns (bool);162163	// Collection sponsorship confirmation.164	//165	// @dev After setting the sponsor for the collection, it must be confirmed with this function.166	//167	// Selector: confirmCollectionSponsorship() 3c50e97a168	function confirmCollectionSponsorship() external;169170	// Remove collection sponsor.171	//172	// Selector: removeCollectionSponsor() 6e0326a3173	function removeCollectionSponsor() external;174175	// Get current sponsor.176	//177	// @return Tuble with sponsor address and his substrate mirror. If there is no confirmed sponsor error "Contract has no sponsor" throw.178	//179	// Selector: getCollectionSponsor() b66bbc14180	function getCollectionSponsor() external view returns (Tuple0 memory);181182	// Set limits for the collection.183	// @dev Throws error if limit not found.184	// @param limit Name of the limit. Valid names:185	// 	"accountTokenOwnershipLimit",186	// 	"sponsoredDataSize",187	// 	"sponsoredDataRateLimit",188	// 	"tokenLimit",189	// 	"sponsorTransferTimeout",190	// 	"sponsorApproveTimeout"191	// @param value Value of the limit.192	//193	// Selector: setCollectionLimit(string,uint32) 6a3841db194>>>>>>> misk: Update stubs195	function setCollectionLimit(string memory limit, uint32 value) external;196197	/// Set limits for the collection.198	/// @dev Throws error if limit not found.199	/// @param limit Name of the limit. Valid names:200	/// 	"ownerCanTransfer",201	/// 	"ownerCanDestroy",202	/// 	"transfersEnabled"203	/// @param value Value of the limit.204	/// @dev EVM selector for this function is: 0x993b7fba,205	///  or in textual repr: setCollectionLimit(string,bool)206	function setCollectionLimit(string memory limit, bool value) external;207208	/// Get contract address.209	/// @dev EVM selector for this function is: 0xf6b4dfb4,210	///  or in textual repr: contractAddress()211	function contractAddress() external view returns (address);212213	/// Add collection admin by substrate address.214	/// @param newAdmin Substrate administrator address.215	/// @dev EVM selector for this function is: 0x5730062b,216	///  or in textual repr: addCollectionAdminSubstrate(uint256)217	function addCollectionAdminSubstrate(uint256 newAdmin) external;218219	/// Remove collection admin by substrate address.220	/// @param admin Substrate administrator address.221	/// @dev EVM selector for this function is: 0x4048fcf9,222	///  or in textual repr: removeCollectionAdminSubstrate(uint256)223	function removeCollectionAdminSubstrate(uint256 admin) external;224225	/// Add collection admin.226	/// @param newAdmin Address of the added administrator.227	/// @dev EVM selector for this function is: 0x92e462c7,228	///  or in textual repr: addCollectionAdmin(address)229	function addCollectionAdmin(address newAdmin) external;230231	/// Remove collection admin.232	///233	/// @param admin Address of the removed administrator.234	/// @dev EVM selector for this function is: 0xfafd7b42,235	///  or in textual repr: removeCollectionAdmin(address)236	function removeCollectionAdmin(address admin) external;237238	/// Toggle accessibility of collection nesting.239	///240	/// @param enable If "true" degenerates to nesting: 'Owner' else to nesting: 'Disabled'241	/// @dev EVM selector for this function is: 0x112d4586,242	///  or in textual repr: setCollectionNesting(bool)243	function setCollectionNesting(bool enable) external;244245	/// Toggle accessibility of collection nesting.246	///247	/// @param enable If "true" degenerates to nesting: {OwnerRestricted: [1, 2, 3]} else to nesting: 'Disabled'248	/// @param collections Addresses of collections that will be available for nesting.249	/// @dev EVM selector for this function is: 0x64872396,250	///  or in textual repr: setCollectionNesting(bool,address[])251	function setCollectionNesting(bool enable, address[] memory collections)252		external;253254	/// Set the collection access method.255	/// @param mode Access mode256	/// 	0 for Normal257	/// 	1 for AllowList258	/// @dev EVM selector for this function is: 0x41835d4c,259	///  or in textual repr: setCollectionAccess(uint8)260	function setCollectionAccess(uint8 mode) external;261262	/// Add the user to the allowed list.263	///264	/// @param user Address of a trusted user.265	/// @dev EVM selector for this function is: 0x67844fe6,266	///  or in textual repr: addToCollectionAllowList(address)267	function addToCollectionAllowList(address user) external;268269	/// Remove the user from the allowed list.270	///271	/// @param user Address of a removed user.272	/// @dev EVM selector for this function is: 0x85c51acb,273	///  or in textual repr: removeFromCollectionAllowList(address)274	function removeFromCollectionAllowList(address user) external;275276	/// Switch permission for minting.277	///278	/// @param mode Enable if "true".279	/// @dev EVM selector for this function is: 0x00018e84,280	///  or in textual repr: setCollectionMintMode(bool)281	function setCollectionMintMode(bool mode) external;282283	/// Check that account is the owner or admin of the collection284	///285	/// @param user account to verify286	/// @return "true" if account is the owner or admin287	/// @dev EVM selector for this function is: 0x9811b0c7,288	///  or in textual repr: isOwnerOrAdmin(address)289	function isOwnerOrAdmin(address user) external view returns (bool);290291	/// Check that substrate account is the owner or admin of the collection292	///293	/// @param user account to verify294	/// @return "true" if account is the owner or admin295	/// @dev EVM selector for this function is: 0x68910e00,296	///  or in textual repr: isOwnerOrAdminSubstrate(uint256)297	function isOwnerOrAdminSubstrate(uint256 user) external view returns (bool);298299	/// Returns collection type300	///301	/// @return `Fungible` or `NFT` or `ReFungible`302	/// @dev EVM selector for this function is: 0xd34b55b8,303	///  or in textual repr: uniqueCollectionType()304	function uniqueCollectionType() external returns (string memory);305306	/// Changes collection owner to another account307	///308	/// @dev Owner can be changed only by current owner309	/// @param newOwner new owner account310	/// @dev EVM selector for this function is: 0x13af4035,311	///  or in textual repr: setOwner(address)312	function setOwner(address newOwner) external;313314	/// Changes collection owner to another substrate account315	///316	/// @dev Owner can be changed only by current owner317	/// @param newOwner new owner substrate account318	/// @dev EVM selector for this function is: 0xb212138f,319	///  or in textual repr: setOwnerSubstrate(uint256)320	function setOwnerSubstrate(uint256 newOwner) external;321}322323/// @dev the ERC-165 identifier for this interface is 0x79cc6790324interface ERC20UniqueExtensions is Dummy, ERC165 {325	/// @dev EVM selector for this function is: 0x79cc6790,326	///  or in textual repr: burnFrom(address,uint256)327	function burnFrom(address from, uint256 amount) external returns (bool);328}329330/// @dev inlined interface331interface ERC20Events {332	event Transfer(address indexed from, address indexed to, uint256 value);333	event Approval(334		address indexed owner,335		address indexed spender,336		uint256 value337	);338}339340/// @dev the ERC-165 identifier for this interface is 0x942e8b22341interface ERC20 is Dummy, ERC165, ERC20Events {342	/// @dev EVM selector for this function is: 0x06fdde03,343	///  or in textual repr: name()344	function name() external view returns (string memory);345346	/// @dev EVM selector for this function is: 0x95d89b41,347	///  or in textual repr: symbol()348	function symbol() external view returns (string memory);349350	/// @dev EVM selector for this function is: 0x18160ddd,351	///  or in textual repr: totalSupply()352	function totalSupply() external view returns (uint256);353354	/// @dev EVM selector for this function is: 0x313ce567,355	///  or in textual repr: decimals()356	function decimals() external view returns (uint8);357358	/// @dev EVM selector for this function is: 0x70a08231,359	///  or in textual repr: balanceOf(address)360	function balanceOf(address owner) external view returns (uint256);361362	/// @dev EVM selector for this function is: 0xa9059cbb,363	///  or in textual repr: transfer(address,uint256)364	function transfer(address to, uint256 amount) external returns (bool);365366	/// @dev EVM selector for this function is: 0x23b872dd,367	///  or in textual repr: transferFrom(address,address,uint256)368	function transferFrom(369		address from,370		address to,371		uint256 amount372	) external returns (bool);373374	/// @dev EVM selector for this function is: 0x095ea7b3,375	///  or in textual repr: approve(address,uint256)376	function approve(address spender, uint256 amount) external returns (bool);377378	/// @dev EVM selector for this function is: 0xdd62ed3e,379	///  or in textual repr: allowance(address,address)380	function allowance(address owner, address spender)381		external382		view383		returns (uint256);384}385386interface UniqueFungible is387	Dummy,388	ERC165,389	ERC20,390	ERC20UniqueExtensions,391	Collection392{}
modifiedtests/src/eth/api/UniqueNFT.soldiffbeforeafterboth
--- a/tests/src/eth/api/UniqueNFT.sol
+++ b/tests/src/eth/api/UniqueNFT.sol
@@ -322,10 +322,13 @@
 }
 
 <<<<<<< HEAD
+<<<<<<< HEAD
 /// @title Unique extensions for ERC721.
 /// @dev the ERC-165 identifier for this interface is 0xd74d154f
 =======
 <<<<<<< HEAD
+=======
+>>>>>>> misc: update stubs
 // Selector: 780e9d63
 interface ERC721Enumerable is Dummy, ERC165 {
 	// @notice Enumerate valid NFTs
@@ -403,6 +406,7 @@
 }
 
 <<<<<<< HEAD
+<<<<<<< HEAD
 /// @dev anonymous struct
 struct Tuple8 {
 	uint256 field_0;
@@ -413,6 +417,9 @@
 =======
 // Selector: 765e2fae
 >>>>>>> misk: Update stubs
+=======
+// Selector: e54be640
+>>>>>>> misc: update stubs
 interface Collection is Dummy, ERC165 {
 	// Set collection property.
 	//
modifiedtests/src/eth/api/UniqueRefungible.soldiffbeforeafterboth
--- a/tests/src/eth/api/UniqueRefungible.sol
+++ b/tests/src/eth/api/UniqueRefungible.sol
@@ -322,10 +322,13 @@
 }
 
 <<<<<<< HEAD
+<<<<<<< HEAD
 /// @title Unique extensions for ERC721.
 /// @dev the ERC-165 identifier for this interface is 0x7c3bef89
 =======
 <<<<<<< HEAD
+=======
+>>>>>>> misc: update stubs
 // Selector: 780e9d63
 interface ERC721Enumerable is Dummy, ERC165 {
 	// @notice Enumerate valid RFTs
@@ -415,6 +418,7 @@
 }
 
 <<<<<<< HEAD
+<<<<<<< HEAD
 /// @dev anonymous struct
 struct Tuple8 {
 	uint256 field_0;
@@ -425,6 +429,9 @@
 =======
 // Selector: 765e2fae
 >>>>>>> misk: Update stubs
+=======
+// Selector: e54be640
+>>>>>>> misc: update stubs
 interface Collection is Dummy, ERC165 {
 	// Set collection property.
 	//
modifiedtests/src/eth/fungibleAbi.jsondiffbeforeafterboth
--- a/tests/src/eth/fungibleAbi.json
+++ b/tests/src/eth/fungibleAbi.json
@@ -151,24 +151,6 @@
     "type": "function"
   },
   {
-    "inputs": [
-      { "internalType": "address", "name": "user", "type": "address" }
-    ],
-    "name": "isOwnerOrAdmin",
-    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],
-    "stateMutability": "view",
-    "type": "function"
-  },
-  {
-    "inputs": [
-      { "internalType": "uint256", "name": "user", "type": "uint256" }
-    ],
-    "name": "isOwnerOrAdminSubstrate",
-    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],
-    "stateMutability": "view",
-    "type": "function"
-  },
-  {
     "inputs": [],
     "name": "getCollectionSponsor",
     "outputs": [
@@ -193,6 +175,24 @@
     "type": "function"
   },
   {
+    "inputs": [
+      { "internalType": "address", "name": "user", "type": "address" }
+    ],
+    "name": "isOwnerOrAdmin",
+    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],
+    "stateMutability": "view",
+    "type": "function"
+  },
+  {
+    "inputs": [
+      { "internalType": "uint256", "name": "user", "type": "uint256" }
+    ],
+    "name": "isOwnerOrAdminSubstrate",
+    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],
+    "stateMutability": "view",
+    "type": "function"
+  },
+  {
     "inputs": [],
     "name": "name",
     "outputs": [{ "internalType": "string", "name": "", "type": "string" }],
@@ -309,7 +309,15 @@
   },
   {
     "inputs": [
-<<<<<<< HEAD
+      { "internalType": "uint256", "name": "sponsor", "type": "uint256" }
+    ],
+    "name": "setCollectionSponsorSubstrate",
+    "outputs": [],
+    "stateMutability": "nonpayable",
+    "type": "function"
+  },
+  {
+    "inputs": [
       { "internalType": "address", "name": "newOwner", "type": "address" }
     ],
     "name": "setOwner",
@@ -322,11 +330,6 @@
       { "internalType": "uint256", "name": "newOwner", "type": "uint256" }
     ],
     "name": "setOwnerSubstrate",
-=======
-      { "internalType": "uint256", "name": "sponsor", "type": "uint256" }
-    ],
-    "name": "setCollectionSponsorSubstrate",
->>>>>>> misk: Update stubs
     "outputs": [],
     "stateMutability": "nonpayable",
     "type": "function"
modifiedtests/src/eth/nonFungibleAbi.jsondiffbeforeafterboth
--- a/tests/src/eth/nonFungibleAbi.json
+++ b/tests/src/eth/nonFungibleAbi.json
@@ -483,7 +483,15 @@
   },
   {
     "inputs": [
-<<<<<<< HEAD
+      { "internalType": "uint256", "name": "sponsor", "type": "uint256" }
+    ],
+    "name": "setCollectionSponsorSubstrate",
+    "outputs": [],
+    "stateMutability": "nonpayable",
+    "type": "function"
+  },
+  {
+    "inputs": [
       { "internalType": "address", "name": "newOwner", "type": "address" }
     ],
     "name": "setOwner",
@@ -496,11 +504,6 @@
       { "internalType": "uint256", "name": "newOwner", "type": "uint256" }
     ],
     "name": "setOwnerSubstrate",
-=======
-      { "internalType": "uint256", "name": "sponsor", "type": "uint256" }
-    ],
-    "name": "setCollectionSponsorSubstrate",
->>>>>>> misk: Update stubs
     "outputs": [],
     "stateMutability": "nonpayable",
     "type": "function"
modifiedtests/src/eth/reFungibleAbi.jsondiffbeforeafterboth
--- a/tests/src/eth/reFungibleAbi.json
+++ b/tests/src/eth/reFungibleAbi.json
@@ -483,7 +483,15 @@
   },
   {
     "inputs": [
-<<<<<<< HEAD
+      { "internalType": "uint256", "name": "sponsor", "type": "uint256" }
+    ],
+    "name": "setCollectionSponsorSubstrate",
+    "outputs": [],
+    "stateMutability": "nonpayable",
+    "type": "function"
+  },
+  {
+    "inputs": [
       { "internalType": "address", "name": "newOwner", "type": "address" }
     ],
     "name": "setOwner",
@@ -496,11 +504,6 @@
       { "internalType": "uint256", "name": "newOwner", "type": "uint256" }
     ],
     "name": "setOwnerSubstrate",
-=======
-      { "internalType": "uint256", "name": "sponsor", "type": "uint256" }
-    ],
-    "name": "setCollectionSponsorSubstrate",
->>>>>>> misk: Update stubs
     "outputs": [],
     "stateMutability": "nonpayable",
     "type": "function"
modifiedtests/src/eth/util/contractHelpersAbi.jsondiffbeforeafterboth
--- a/tests/src/eth/util/contractHelpersAbi.json
+++ b/tests/src/eth/util/contractHelpersAbi.json
@@ -120,7 +120,6 @@
         "internalType": "address",
         "name": "contractAddress",
         "type": "address"
-<<<<<<< HEAD
       }
     ],
     "name": "removeSponsor",
@@ -147,8 +146,6 @@
         "internalType": "address",
         "name": "contractAddress",
         "type": "address"
-=======
->>>>>>> path: add stubs
       },
       { "internalType": "address", "name": "sponsor", "type": "address" }
     ],