git.delta.rocks / unique-network / refs/commits / 6b71957232bb

difftreelog

misc: update stubs

Trubnikov Sergey2022-08-25parent: #40371d4.patch.diff
in: master

14 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
@@ -21,20 +21,8 @@
 	}
 }
 
-<<<<<<< HEAD
-<<<<<<< HEAD
 /// @title Magic contract, which allows users to reconfigure other contracts
 /// @dev the ERC-165 identifier for this interface is 0xd77fab70
-=======
-<<<<<<< HEAD
-// Selector: 6073d917
-=======
-// 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
@@ -56,24 +44,11 @@
 		return 0x0000000000000000000000000000000000000000;
 	}
 
-<<<<<<< HEAD
-<<<<<<< HEAD
 	/// Set sponsor.
 	/// @param contractAddress Contract for which a sponsor is being established.
 	/// @param sponsor User address who set as pending sponsor.
 	/// @dev EVM selector for this function is: 0xf01fba93,
 	///  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.
-	//
-	// Selector: setSponsor(address,address) f01fba93
->>>>>>> path: add stubs
 	function setSponsor(address contractAddress, address sponsor) public {
 		require(false, stub_error);
 		contractAddress;
@@ -81,46 +56,22 @@
 		dummy = 0;
 	}
 
-<<<<<<< HEAD
-<<<<<<< HEAD
 	/// Set contract as self sponsored.
 	///
 	/// @param contractAddress Contract for which a self sponsoring is being enabled.
 	/// @dev EVM selector for this function is: 0x89f7d9ae,
 	///  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.
-	//
-	// Selector: selfSponsoredEnable(address) 89f7d9ae
->>>>>>> path: add stubs
 	function selfSponsoredEnable(address contractAddress) public {
 		require(false, stub_error);
 		contractAddress;
 		dummy = 0;
 	}
 
-<<<<<<< HEAD
-<<<<<<< HEAD
 	/// Remove sponsor.
 	///
 	/// @param contractAddress Contract for which a sponsorship is being removed.
 	/// @dev EVM selector for this function is: 0xef784250,
 	///  or in textual repr: removeSponsor(address)
-=======
-<<<<<<< HEAD
-=======
->>>>>>> misc: update stubs
-	// Remove sponsor.
-	//
-	// @param contract_address Contract for which a sponsorship is being removed.
-	//
-	// Selector: removeSponsor(address) ef784250
->>>>>>> path: add stubs
 	function removeSponsor(address contractAddress) public {
 		require(false, stub_error);
 		contractAddress;
@@ -170,25 +121,12 @@
 		return false;
 	}
 
-<<<<<<< HEAD
-<<<<<<< HEAD
 	/// Check tat contract has pending sponsor.
 	///
 	/// @param contractAddress The contract for which the presence of a pending sponsor is checked.
 	/// @return **true** if contract has pending sponsor.
 	/// @dev EVM selector for this function is: 0x39b9b242,
 	///  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.
-	// @return **true** if contract has pending sponsor.
-	//
-	// Selector: hasPendingSponsor(address) 39b9b242
->>>>>>> path: add stubs
 	function hasPendingSponsor(address contractAddress)
 		public
 		view
modifiedpallets/fungible/src/stubs/UniqueFungible.rawdiffbeforeafterboth

binary blob — no preview

modifiedpallets/fungible/src/stubs/UniqueFungible.soldiffbeforeafterboth
--- a/pallets/fungible/src/stubs/UniqueFungible.sol
+++ b/pallets/fungible/src/stubs/UniqueFungible.sol
@@ -3,17 +3,7 @@
 
 pragma solidity >=0.8.0 <0.9.0;
 
-<<<<<<< HEAD
 /// @dev common stubs holder
-=======
-// Anonymous struct
-struct Tuple0 {
-	address field_0;
-	uint256 field_1;
-}
-
-// Common stubs holder
->>>>>>> misk: Update stubs
 contract Dummy {
 	uint8 dummy;
 	string stub_error = "this contract is implemented in native";
@@ -31,125 +21,8 @@
 	}
 }
 
-<<<<<<< HEAD
 /// @title A contract that allows you to work with collections.
-/// @dev the ERC-165 identifier for this interface is 0xffe4da23
-=======
-// Inline
-contract ERC20Events {
-	event Transfer(address indexed from, address indexed to, uint256 value);
-	event Approval(
-		address indexed owner,
-		address indexed spender,
-		uint256 value
-	);
-}
-
-// Selector: 79cc6790
-contract ERC20UniqueExtensions is Dummy, ERC165 {
-	// Selector: burnFrom(address,uint256) 79cc6790
-	function burnFrom(address from, uint256 amount) public returns (bool) {
-		require(false, stub_error);
-		from;
-		amount;
-		dummy = 0;
-		return false;
-	}
-}
-
-// Selector: 942e8b22
-contract ERC20 is Dummy, ERC165, ERC20Events {
-	// Selector: name() 06fdde03
-	function name() public view returns (string memory) {
-		require(false, stub_error);
-		dummy;
-		return "";
-	}
-
-	// Selector: symbol() 95d89b41
-	function symbol() public view returns (string memory) {
-		require(false, stub_error);
-		dummy;
-		return "";
-	}
-
-	// Selector: totalSupply() 18160ddd
-	function totalSupply() public view returns (uint256) {
-		require(false, stub_error);
-		dummy;
-		return 0;
-	}
-
-	// Selector: decimals() 313ce567
-	function decimals() public view returns (uint8) {
-		require(false, stub_error);
-		dummy;
-		return 0;
-	}
-
-	// Selector: balanceOf(address) 70a08231
-	function balanceOf(address owner) public view returns (uint256) {
-		require(false, stub_error);
-		owner;
-		dummy;
-		return 0;
-	}
-
-	// Selector: transfer(address,uint256) a9059cbb
-	function transfer(address to, uint256 amount) public returns (bool) {
-		require(false, stub_error);
-		to;
-		amount;
-		dummy = 0;
-		return false;
-	}
-
-	// Selector: transferFrom(address,address,uint256) 23b872dd
-	function transferFrom(
-		address from,
-		address to,
-		uint256 amount
-	) public returns (bool) {
-		require(false, stub_error);
-		from;
-		to;
-		amount;
-		dummy = 0;
-		return false;
-	}
-
-	// Selector: approve(address,uint256) 095ea7b3
-	function approve(address spender, uint256 amount) public returns (bool) {
-		require(false, stub_error);
-		spender;
-		amount;
-		dummy = 0;
-		return false;
-	}
-
-	// Selector: allowance(address,address) dd62ed3e
-	function allowance(address owner, address spender)
-		public
-		view
-		returns (uint256)
-	{
-		require(false, stub_error);
-		owner;
-		spender;
-		dummy;
-		return 0;
-	}
-}
-
-<<<<<<< HEAD
-// Selector: ffe4da23
-=======
-// Selector: 765e2fae
->>>>>>> misk: Update stubs
->>>>>>> misk: Update stubs
-=======
-// Selector: e54be640
->>>>>>> misc: update stubs
+/// @dev the ERC-165 identifier for this interface is 0xe54be640
 contract Collection is Dummy, ERC165 {
 	/// Set collection property.
 	///
@@ -209,45 +82,56 @@
 		dummy = 0;
 	}
 
-<<<<<<< HEAD
-	/// Collection sponsorship confirmation.
+	/// Set the substrate sponsor of the collection.
+	///
+	/// @dev In order for sponsorship to work, it must be confirmed on behalf of the sponsor.
 	///
-	/// @dev After setting the sponsor for the collection, it must be confirmed with this function.
-	/// @dev EVM selector for this function is: 0x3c50e97a,
-	///  or in textual repr: confirmCollectionSponsorship()
-=======
-	// Set the substrate sponsor of the collection.
-	//
-	// @dev In order for sponsorship to work, it must be confirmed on behalf of the sponsor.
-	//
-	// @param sponsor Substrate address of the sponsor from whose account funds will be debited for operations with the contract.
-	//
-	// Selector: setCollectionSponsorSubstrate(uint256) c74d6751
+	/// @param sponsor Substrate address of the sponsor from whose account funds will be debited for operations with the contract.
+	/// @dev EVM selector for this function is: 0xc74d6751,
+	///  or in textual repr: setCollectionSponsorSubstrate(uint256)
 	function setCollectionSponsorSubstrate(uint256 sponsor) public {
 		require(false, stub_error);
 		sponsor;
 		dummy = 0;
 	}
 
-	// Selector: hasCollectionPendingSponsor() 058ac185
+	/// @dev EVM selector for this function is: 0x058ac185,
+	///  or in textual repr: hasCollectionPendingSponsor()
 	function hasCollectionPendingSponsor() public view returns (bool) {
 		require(false, stub_error);
 		dummy;
 		return false;
 	}
 
-	// Collection sponsorship confirmation.
-	//
-	// @dev After setting the sponsor for the collection, it must be confirmed with this function.
-	//
-	// Selector: confirmCollectionSponsorship() 3c50e97a
->>>>>>> misk: Update stubs
+	/// Collection sponsorship confirmation.
+	///
+	/// @dev After setting the sponsor for the collection, it must be confirmed with this function.
+	/// @dev EVM selector for this function is: 0x3c50e97a,
+	///  or in textual repr: confirmCollectionSponsorship()
 	function confirmCollectionSponsorship() public {
 		require(false, stub_error);
 		dummy = 0;
 	}
 
-<<<<<<< HEAD
+	/// Remove collection sponsor.
+	/// @dev EVM selector for this function is: 0x6e0326a3,
+	///  or in textual repr: removeCollectionSponsor()
+	function removeCollectionSponsor() public {
+		require(false, stub_error);
+		dummy = 0;
+	}
+
+	/// Get current sponsor.
+	///
+	/// @return Tuble with sponsor address and his substrate mirror. If there is no confirmed sponsor error "Contract has no sponsor" throw.
+	/// @dev EVM selector for this function is: 0xb66bbc14,
+	///  or in textual repr: getCollectionSponsor()
+	function getCollectionSponsor() public view returns (Tuple6 memory) {
+		require(false, stub_error);
+		dummy;
+		return Tuple6(0x0000000000000000000000000000000000000000, 0);
+	}
+
 	/// Set limits for the collection.
 	/// @dev Throws error if limit not found.
 	/// @param limit Name of the limit. Valid names:
@@ -260,39 +144,6 @@
 	/// @param value Value of the limit.
 	/// @dev EVM selector for this function is: 0x6a3841db,
 	///  or in textual repr: setCollectionLimit(string,uint32)
-=======
-	// Remove collection sponsor.
-	//
-	// Selector: removeCollectionSponsor() 6e0326a3
-	function removeCollectionSponsor() public {
-		require(false, stub_error);
-		dummy = 0;
-	}
-
-	// Get current sponsor.
-	//
-	// @return Tuble with sponsor address and his substrate mirror. If there is no confirmed sponsor error "Contract has no sponsor" throw.
-	//
-	// Selector: getCollectionSponsor() b66bbc14
-	function getCollectionSponsor() public view returns (Tuple0 memory) {
-		require(false, stub_error);
-		dummy;
-		return Tuple0(0x0000000000000000000000000000000000000000, 0);
-	}
-
-	// Set limits for the collection.
-	// @dev Throws error if limit not found.
-	// @param limit Name of the limit. Valid names:
-	// 	"accountTokenOwnershipLimit",
-	// 	"sponsoredDataSize",
-	// 	"sponsoredDataRateLimit",
-	// 	"tokenLimit",
-	// 	"sponsorTransferTimeout",
-	// 	"sponsorApproveTimeout"
-	// @param value Value of the limit.
-	//
-	// Selector: setCollectionLimit(string,uint32) 6a3841db
->>>>>>> misk: Update stubs
 	function setCollectionLimit(string memory limit, uint32 value) public {
 		require(false, stub_error);
 		limit;
@@ -499,6 +350,12 @@
 	}
 }
 
+/// @dev anonymous struct
+struct Tuple6 {
+	address field_0;
+	uint256 field_1;
+}
+
 /// @dev the ERC-165 identifier for this interface is 0x79cc6790
 contract ERC20UniqueExtensions is Dummy, ERC165 {
 	/// @dev EVM selector for this function is: 0x79cc6790,
modifiedpallets/nonfungible/src/stubs/UniqueNFT.rawdiffbeforeafterboth

binary blob — no preview

modifiedpallets/nonfungible/src/stubs/UniqueNFT.soldiffbeforeafterboth
--- a/pallets/nonfungible/src/stubs/UniqueNFT.sol
+++ b/pallets/nonfungible/src/stubs/UniqueNFT.sol
@@ -3,23 +3,7 @@
 
 pragma solidity >=0.8.0 <0.9.0;
 
-<<<<<<< HEAD
 /// @dev common stubs holder
-=======
-// Anonymous struct
-struct Tuple0 {
-	uint256 field_0;
-	string field_1;
-}
-
-// Anonymous struct
-struct Tuple1 {
-	address field_0;
-	uint256 field_1;
-}
-
-// Common stubs holder
->>>>>>> misk: Update stubs
 contract Dummy {
 	uint8 dummy;
 	string stub_error = "this contract is implemented in native";
@@ -115,7 +99,7 @@
 }
 
 /// @title A contract that allows you to work with collections.
-/// @dev the ERC-165 identifier for this interface is 0xffe4da23
+/// @dev the ERC-165 identifier for this interface is 0xe54be640
 contract Collection is Dummy, ERC165 {
 	/// Set collection property.
 	///
@@ -175,6 +159,27 @@
 		dummy = 0;
 	}
 
+	/// Set the substrate sponsor of the collection.
+	///
+	/// @dev In order for sponsorship to work, it must be confirmed on behalf of the sponsor.
+	///
+	/// @param sponsor Substrate address of the sponsor from whose account funds will be debited for operations with the contract.
+	/// @dev EVM selector for this function is: 0xc74d6751,
+	///  or in textual repr: setCollectionSponsorSubstrate(uint256)
+	function setCollectionSponsorSubstrate(uint256 sponsor) public {
+		require(false, stub_error);
+		sponsor;
+		dummy = 0;
+	}
+
+	/// @dev EVM selector for this function is: 0x058ac185,
+	///  or in textual repr: hasCollectionPendingSponsor()
+	function hasCollectionPendingSponsor() public view returns (bool) {
+		require(false, stub_error);
+		dummy;
+		return false;
+	}
+
 	/// Collection sponsorship confirmation.
 	///
 	/// @dev After setting the sponsor for the collection, it must be confirmed with this function.
@@ -185,6 +190,25 @@
 		dummy = 0;
 	}
 
+	/// Remove collection sponsor.
+	/// @dev EVM selector for this function is: 0x6e0326a3,
+	///  or in textual repr: removeCollectionSponsor()
+	function removeCollectionSponsor() public {
+		require(false, stub_error);
+		dummy = 0;
+	}
+
+	/// Get current sponsor.
+	///
+	/// @return Tuble with sponsor address and his substrate mirror. If there is no confirmed sponsor error "Contract has no sponsor" throw.
+	/// @dev EVM selector for this function is: 0xb66bbc14,
+	///  or in textual repr: getCollectionSponsor()
+	function getCollectionSponsor() public view returns (Tuple17 memory) {
+		require(false, stub_error);
+		dummy;
+		return Tuple17(0x0000000000000000000000000000000000000000, 0);
+	}
+
 	/// Set limits for the collection.
 	/// @dev Throws error if limit not found.
 	/// @param limit Name of the limit. Valid names:
@@ -403,6 +427,12 @@
 	}
 }
 
+/// @dev anonymous struct
+struct Tuple17 {
+	address field_0;
+	uint256 field_1;
+}
+
 /// @title ERC721 Token that can be irreversibly burned (destroyed).
 /// @dev the ERC-165 identifier for this interface is 0x42966c68
 contract ERC721Burnable is Dummy, ERC165 {
@@ -481,58 +511,8 @@
 	}
 }
 
-<<<<<<< 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
-	// @param index A counter less than `totalSupply()`
-	// @return The token identifier for the `index`th NFT,
-	//  (sort order not specified)
-	//
-	// Selector: tokenByIndex(uint256) 4f6ccce7
-	function tokenByIndex(uint256 index) public view returns (uint256) {
-		require(false, stub_error);
-		index;
-		dummy;
-		return 0;
-	}
-
-	// @dev Not implemented
-	//
-	// Selector: tokenOfOwnerByIndex(address,uint256) 2f745c59
-	function tokenOfOwnerByIndex(address owner, uint256 index)
-		public
-		view
-		returns (uint256)
-	{
-		require(false, stub_error);
-		owner;
-		index;
-		dummy;
-		return 0;
-	}
-
-	// @notice Count NFTs tracked by this contract
-	// @return A count of valid NFTs tracked by this contract, where each one of
-	//  them has an assigned and queryable owner not equal to the zero address
-	//
-	// Selector: totalSupply() 18160ddd
-	function totalSupply() public view returns (uint256) {
-		require(false, stub_error);
-		dummy;
-		return 0;
-	}
-}
-
-// Selector: d74d154f
->>>>>>> misk: Update stubs
 contract ERC721UniqueExtensions is Dummy, ERC165 {
 	/// @notice Transfer ownership of an NFT
 	/// @dev Throws unless `msg.sender` is the current owner. Throws if `to`
@@ -609,37 +589,11 @@
 	}
 }
 
-<<<<<<< HEAD
-<<<<<<< HEAD
 /// @dev anonymous struct
 struct Tuple8 {
 	uint256 field_0;
 	string field_1;
 }
-=======
-// Selector: ffe4da23
-=======
-// Selector: 765e2fae
->>>>>>> misk: Update stubs
-=======
-// Selector: e54be640
->>>>>>> misc: update stubs
-contract Collection is Dummy, ERC165 {
-	// Set collection property.
-	//
-	// @param key Property key.
-	// @param value Propery value.
-	//
-	// Selector: setCollectionProperty(string,bytes) 2f073f66
-	function setCollectionProperty(string memory key, bytes memory value)
-		public
-	{
-		require(false, stub_error);
-		key;
-		value;
-		dummy = 0;
-	}
->>>>>>> misk: Update stubs
 
 /// @title ERC-721 Non-Fungible Token Standard, optional enumeration extension
 /// @dev See https://eips.ethereum.org/EIPS/eip-721
@@ -670,92 +624,7 @@
 		owner;
 		index;
 		dummy;
-<<<<<<< HEAD
 		return 0;
-=======
-		return hex"";
-	}
-
-	// Set the sponsor of the collection.
-	//
-	// @dev In order for sponsorship to work, it must be confirmed on behalf of the sponsor.
-	//
-	// @param sponsor Address of the sponsor from whose account funds will be debited for operations with the contract.
-	//
-	// Selector: setCollectionSponsor(address) 7623402e
-	function setCollectionSponsor(address sponsor) public {
-		require(false, stub_error);
-		sponsor;
-		dummy = 0;
-	}
-
-	// Set the substrate sponsor of the collection.
-	//
-	// @dev In order for sponsorship to work, it must be confirmed on behalf of the sponsor.
-	//
-	// @param sponsor Substrate address of the sponsor from whose account funds will be debited for operations with the contract.
-	//
-	// Selector: setCollectionSponsorSubstrate(uint256) c74d6751
-	function setCollectionSponsorSubstrate(uint256 sponsor) public {
-		require(false, stub_error);
-		sponsor;
-		dummy = 0;
-	}
-
-	// Selector: hasCollectionPendingSponsor() 058ac185
-	function hasCollectionPendingSponsor() public view returns (bool) {
-		require(false, stub_error);
-		dummy;
-		return false;
-	}
-
-	// Collection sponsorship confirmation.
-	//
-	// @dev After setting the sponsor for the collection, it must be confirmed with this function.
-	//
-	// Selector: confirmCollectionSponsorship() 3c50e97a
-	function confirmCollectionSponsorship() public {
-		require(false, stub_error);
-		dummy = 0;
-	}
-
-	// Remove collection sponsor.
-	//
-	// Selector: removeCollectionSponsor() 6e0326a3
-	function removeCollectionSponsor() public {
-		require(false, stub_error);
-		dummy = 0;
-	}
-
-	// Get current sponsor.
-	//
-	// @return Tuble with sponsor address and his substrate mirror. If there is no confirmed sponsor error "Contract has no sponsor" throw.
-	//
-	// Selector: getCollectionSponsor() b66bbc14
-	function getCollectionSponsor() public view returns (Tuple1 memory) {
-		require(false, stub_error);
-		dummy;
-		return Tuple1(0x0000000000000000000000000000000000000000, 0);
-	}
-
-	// Set limits for the collection.
-	// @dev Throws error if limit not found.
-	// @param limit Name of the limit. Valid names:
-	// 	"accountTokenOwnershipLimit",
-	// 	"sponsoredDataSize",
-	// 	"sponsoredDataRateLimit",
-	// 	"tokenLimit",
-	// 	"sponsorTransferTimeout",
-	// 	"sponsorApproveTimeout"
-	// @param value Value of the limit.
-	//
-	// Selector: setCollectionLimit(string,uint32) 6a3841db
-	function setCollectionLimit(string memory limit, uint32 value) public {
-		require(false, stub_error);
-		limit;
-		value;
-		dummy = 0;
->>>>>>> misk: Update stubs
 	}
 
 	/// @notice Count NFTs tracked by this contract
modifiedpallets/refungible/src/stubs/UniqueRefungible.rawdiffbeforeafterboth

binary blob — no preview

modifiedpallets/refungible/src/stubs/UniqueRefungible.soldiffbeforeafterboth
before · pallets/refungible/src/stubs/UniqueRefungible.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	uint256 field_0;12	string field_1;13}1415// Anonymous struct16struct Tuple1 {17	address field_0;18	uint256 field_1;19}2021// Common stubs holder22>>>>>>> misk: Update stubs23contract Dummy {24	uint8 dummy;25	string stub_error = "this contract is implemented in native";26}2728contract ERC165 is Dummy {29	function supportsInterface(bytes4 interfaceID)30		external31		view32		returns (bool)33	{34		require(false, stub_error);35		interfaceID;36		return true;37	}38}3940/// @title A contract that allows to set and delete token properties and change token property permissions.41/// @dev the ERC-165 identifier for this interface is 0x4136937742contract TokenProperties is Dummy, ERC165 {43	/// @notice Set permissions for token property.44	/// @dev Throws error if `msg.sender` is not admin or owner of the collection.45	/// @param key Property key.46	/// @param isMutable Permission to mutate property.47	/// @param collectionAdmin Permission to mutate property by collection admin if property is mutable.48	/// @param tokenOwner Permission to mutate property by token owner if property is mutable.49	/// @dev EVM selector for this function is: 0x222d97fa,50	///  or in textual repr: setTokenPropertyPermission(string,bool,bool,bool)51	function setTokenPropertyPermission(52		string memory key,53		bool isMutable,54		bool collectionAdmin,55		bool tokenOwner56	) public {57		require(false, stub_error);58		key;59		isMutable;60		collectionAdmin;61		tokenOwner;62		dummy = 0;63	}6465	/// @notice Set token property value.66	/// @dev Throws error if `msg.sender` has no permission to edit the property.67	/// @param tokenId ID of the token.68	/// @param key Property key.69	/// @param value Property value.70	/// @dev EVM selector for this function is: 0x1752d67b,71	///  or in textual repr: setProperty(uint256,string,bytes)72	function setProperty(73		uint256 tokenId,74		string memory key,75		bytes memory value76	) public {77		require(false, stub_error);78		tokenId;79		key;80		value;81		dummy = 0;82	}8384	/// @notice Delete token property value.85	/// @dev Throws error if `msg.sender` has no permission to edit the property.86	/// @param tokenId ID of the token.87	/// @param key Property key.88	/// @dev EVM selector for this function is: 0x066111d1,89	///  or in textual repr: deleteProperty(uint256,string)90	function deleteProperty(uint256 tokenId, string memory key) public {91		require(false, stub_error);92		tokenId;93		key;94		dummy = 0;95	}9697	/// @notice Get token property value.98	/// @dev Throws error if key not found99	/// @param tokenId ID of the token.100	/// @param key Property key.101	/// @return Property value bytes102	/// @dev EVM selector for this function is: 0x7228c327,103	///  or in textual repr: property(uint256,string)104	function property(uint256 tokenId, string memory key)105		public106		view107		returns (bytes memory)108	{109		require(false, stub_error);110		tokenId;111		key;112		dummy;113		return hex"";114	}115}116117/// @title A contract that allows you to work with collections.118/// @dev the ERC-165 identifier for this interface is 0xffe4da23119contract Collection is Dummy, ERC165 {120	/// Set collection property.121	///122	/// @param key Property key.123	/// @param value Propery value.124	/// @dev EVM selector for this function is: 0x2f073f66,125	///  or in textual repr: setCollectionProperty(string,bytes)126	function setCollectionProperty(string memory key, bytes memory value)127		public128	{129		require(false, stub_error);130		key;131		value;132		dummy = 0;133	}134135	/// Delete collection property.136	///137	/// @param key Property key.138	/// @dev EVM selector for this function is: 0x7b7debce,139	///  or in textual repr: deleteCollectionProperty(string)140	function deleteCollectionProperty(string memory key) public {141		require(false, stub_error);142		key;143		dummy = 0;144	}145146	/// Get collection property.147	///148	/// @dev Throws error if key not found.149	///150	/// @param key Property key.151	/// @return bytes The property corresponding to the key.152	/// @dev EVM selector for this function is: 0xcf24fd6d,153	///  or in textual repr: collectionProperty(string)154	function collectionProperty(string memory key)155		public156		view157		returns (bytes memory)158	{159		require(false, stub_error);160		key;161		dummy;162		return hex"";163	}164165	/// Set the sponsor of the collection.166	///167	/// @dev In order for sponsorship to work, it must be confirmed on behalf of the sponsor.168	///169	/// @param sponsor Address of the sponsor from whose account funds will be debited for operations with the contract.170	/// @dev EVM selector for this function is: 0x7623402e,171	///  or in textual repr: setCollectionSponsor(address)172	function setCollectionSponsor(address sponsor) public {173		require(false, stub_error);174		sponsor;175		dummy = 0;176	}177178	/// Collection sponsorship confirmation.179	///180	/// @dev After setting the sponsor for the collection, it must be confirmed with this function.181	/// @dev EVM selector for this function is: 0x3c50e97a,182	///  or in textual repr: confirmCollectionSponsorship()183	function confirmCollectionSponsorship() public {184		require(false, stub_error);185		dummy = 0;186	}187188	/// Set limits for the collection.189	/// @dev Throws error if limit not found.190	/// @param limit Name of the limit. Valid names:191	/// 	"accountTokenOwnershipLimit",192	/// 	"sponsoredDataSize",193	/// 	"sponsoredDataRateLimit",194	/// 	"tokenLimit",195	/// 	"sponsorTransferTimeout",196	/// 	"sponsorApproveTimeout"197	/// @param value Value of the limit.198	/// @dev EVM selector for this function is: 0x6a3841db,199	///  or in textual repr: setCollectionLimit(string,uint32)200	function setCollectionLimit(string memory limit, uint32 value) public {201		require(false, stub_error);202		limit;203		value;204		dummy = 0;205	}206207	/// Set limits for the collection.208	/// @dev Throws error if limit not found.209	/// @param limit Name of the limit. Valid names:210	/// 	"ownerCanTransfer",211	/// 	"ownerCanDestroy",212	/// 	"transfersEnabled"213	/// @param value Value of the limit.214	/// @dev EVM selector for this function is: 0x993b7fba,215	///  or in textual repr: setCollectionLimit(string,bool)216	function setCollectionLimit(string memory limit, bool value) public {217		require(false, stub_error);218		limit;219		value;220		dummy = 0;221	}222223	/// Get contract address.224	/// @dev EVM selector for this function is: 0xf6b4dfb4,225	///  or in textual repr: contractAddress()226	function contractAddress() public view returns (address) {227		require(false, stub_error);228		dummy;229		return 0x0000000000000000000000000000000000000000;230	}231232	/// Add collection admin by substrate address.233	/// @param newAdmin Substrate administrator address.234	/// @dev EVM selector for this function is: 0x5730062b,235	///  or in textual repr: addCollectionAdminSubstrate(uint256)236	function addCollectionAdminSubstrate(uint256 newAdmin) public {237		require(false, stub_error);238		newAdmin;239		dummy = 0;240	}241242	/// Remove collection admin by substrate address.243	/// @param admin Substrate administrator address.244	/// @dev EVM selector for this function is: 0x4048fcf9,245	///  or in textual repr: removeCollectionAdminSubstrate(uint256)246	function removeCollectionAdminSubstrate(uint256 admin) public {247		require(false, stub_error);248		admin;249		dummy = 0;250	}251252	/// Add collection admin.253	/// @param newAdmin Address of the added administrator.254	/// @dev EVM selector for this function is: 0x92e462c7,255	///  or in textual repr: addCollectionAdmin(address)256	function addCollectionAdmin(address newAdmin) public {257		require(false, stub_error);258		newAdmin;259		dummy = 0;260	}261262	/// Remove collection admin.263	///264	/// @param admin Address of the removed administrator.265	/// @dev EVM selector for this function is: 0xfafd7b42,266	///  or in textual repr: removeCollectionAdmin(address)267	function removeCollectionAdmin(address admin) public {268		require(false, stub_error);269		admin;270		dummy = 0;271	}272273	/// Toggle accessibility of collection nesting.274	///275	/// @param enable If "true" degenerates to nesting: 'Owner' else to nesting: 'Disabled'276	/// @dev EVM selector for this function is: 0x112d4586,277	///  or in textual repr: setCollectionNesting(bool)278	function setCollectionNesting(bool enable) public {279		require(false, stub_error);280		enable;281		dummy = 0;282	}283284	/// Toggle accessibility of collection nesting.285	///286	/// @param enable If "true" degenerates to nesting: {OwnerRestricted: [1, 2, 3]} else to nesting: 'Disabled'287	/// @param collections Addresses of collections that will be available for nesting.288	/// @dev EVM selector for this function is: 0x64872396,289	///  or in textual repr: setCollectionNesting(bool,address[])290	function setCollectionNesting(bool enable, address[] memory collections)291		public292	{293		require(false, stub_error);294		enable;295		collections;296		dummy = 0;297	}298299	/// Set the collection access method.300	/// @param mode Access mode301	/// 	0 for Normal302	/// 	1 for AllowList303	/// @dev EVM selector for this function is: 0x41835d4c,304	///  or in textual repr: setCollectionAccess(uint8)305	function setCollectionAccess(uint8 mode) public {306		require(false, stub_error);307		mode;308		dummy = 0;309	}310311	/// Add the user to the allowed list.312	///313	/// @param user Address of a trusted user.314	/// @dev EVM selector for this function is: 0x67844fe6,315	///  or in textual repr: addToCollectionAllowList(address)316	function addToCollectionAllowList(address user) public {317		require(false, stub_error);318		user;319		dummy = 0;320	}321322	/// Remove the user from the allowed list.323	///324	/// @param user Address of a removed user.325	/// @dev EVM selector for this function is: 0x85c51acb,326	///  or in textual repr: removeFromCollectionAllowList(address)327	function removeFromCollectionAllowList(address user) public {328		require(false, stub_error);329		user;330		dummy = 0;331	}332333	/// Switch permission for minting.334	///335	/// @param mode Enable if "true".336	/// @dev EVM selector for this function is: 0x00018e84,337	///  or in textual repr: setCollectionMintMode(bool)338	function setCollectionMintMode(bool mode) public {339		require(false, stub_error);340		mode;341		dummy = 0;342	}343344	/// Check that account is the owner or admin of the collection345	///346	/// @param user account to verify347	/// @return "true" if account is the owner or admin348	/// @dev EVM selector for this function is: 0x9811b0c7,349	///  or in textual repr: isOwnerOrAdmin(address)350	function isOwnerOrAdmin(address user) public view returns (bool) {351		require(false, stub_error);352		user;353		dummy;354		return false;355	}356357	/// Check that substrate account is the owner or admin of the collection358	///359	/// @param user account to verify360	/// @return "true" if account is the owner or admin361	/// @dev EVM selector for this function is: 0x68910e00,362	///  or in textual repr: isOwnerOrAdminSubstrate(uint256)363	function isOwnerOrAdminSubstrate(uint256 user) public view returns (bool) {364		require(false, stub_error);365		user;366		dummy;367		return false;368	}369370	/// Returns collection type371	///372	/// @return `Fungible` or `NFT` or `ReFungible`373	/// @dev EVM selector for this function is: 0xd34b55b8,374	///  or in textual repr: uniqueCollectionType()375	function uniqueCollectionType() public returns (string memory) {376		require(false, stub_error);377		dummy = 0;378		return "";379	}380381	/// Changes collection owner to another account382	///383	/// @dev Owner can be changed only by current owner384	/// @param newOwner new owner account385	/// @dev EVM selector for this function is: 0x13af4035,386	///  or in textual repr: setOwner(address)387	function setOwner(address newOwner) public {388		require(false, stub_error);389		newOwner;390		dummy = 0;391	}392393	/// Changes collection owner to another substrate account394	///395	/// @dev Owner can be changed only by current owner396	/// @param newOwner new owner substrate account397	/// @dev EVM selector for this function is: 0xb212138f,398	///  or in textual repr: setOwnerSubstrate(uint256)399	function setOwnerSubstrate(uint256 newOwner) public {400		require(false, stub_error);401		newOwner;402		dummy = 0;403	}404}405406/// @title ERC721 Token that can be irreversibly burned (destroyed).407/// @dev the ERC-165 identifier for this interface is 0x42966c68408contract ERC721Burnable is Dummy, ERC165 {409	/// @notice Burns a specific ERC721 token.410	/// @dev Throws unless `msg.sender` is the current RFT owner, or an authorized411	///  operator of the current owner.412	/// @param tokenId The RFT to approve413	/// @dev EVM selector for this function is: 0x42966c68,414	///  or in textual repr: burn(uint256)415	function burn(uint256 tokenId) public {416		require(false, stub_error);417		tokenId;418		dummy = 0;419	}420}421422/// @dev inlined interface423contract ERC721MintableEvents {424	event MintingFinished();425}426427/// @title ERC721 minting logic.428/// @dev the ERC-165 identifier for this interface is 0x68ccfe89429contract ERC721Mintable is Dummy, ERC165, ERC721MintableEvents {430	/// @dev EVM selector for this function is: 0x05d2035b,431	///  or in textual repr: mintingFinished()432	function mintingFinished() public view returns (bool) {433		require(false, stub_error);434		dummy;435		return false;436	}437438	/// @notice Function to mint token.439	/// @dev `tokenId` should be obtained with `nextTokenId` method,440	///  unlike standard, you can't specify it manually441	/// @param to The new owner442	/// @param tokenId ID of the minted RFT443	/// @dev EVM selector for this function is: 0x40c10f19,444	///  or in textual repr: mint(address,uint256)445	function mint(address to, uint256 tokenId) public returns (bool) {446		require(false, stub_error);447		to;448		tokenId;449		dummy = 0;450		return false;451	}452453	/// @notice Function to mint token with the given tokenUri.454	/// @dev `tokenId` should be obtained with `nextTokenId` method,455	///  unlike standard, you can't specify it manually456	/// @param to The new owner457	/// @param tokenId ID of the minted RFT458	/// @param tokenUri Token URI that would be stored in the RFT properties459	/// @dev EVM selector for this function is: 0x50bb4e7f,460	///  or in textual repr: mintWithTokenURI(address,uint256,string)461	function mintWithTokenURI(462		address to,463		uint256 tokenId,464		string memory tokenUri465	) public returns (bool) {466		require(false, stub_error);467		to;468		tokenId;469		tokenUri;470		dummy = 0;471		return false;472	}473474	/// @dev Not implemented475	/// @dev EVM selector for this function is: 0x7d64bcb4,476	///  or in textual repr: finishMinting()477	function finishMinting() public returns (bool) {478		require(false, stub_error);479		dummy = 0;480		return false;481	}482}483484<<<<<<< HEAD485<<<<<<< HEAD486/// @title Unique extensions for ERC721.487/// @dev the ERC-165 identifier for this interface is 0x7c3bef89488=======489<<<<<<< HEAD490=======491>>>>>>> misc: update stubs492// Selector: 780e9d63493contract ERC721Enumerable is Dummy, ERC165 {494	// @notice Enumerate valid RFTs495	// @param index A counter less than `totalSupply()`496	// @return The token identifier for the `index`th NFT,497	//  (sort order not specified)498	//499	// Selector: tokenByIndex(uint256) 4f6ccce7500	function tokenByIndex(uint256 index) public view returns (uint256) {501		require(false, stub_error);502		index;503		dummy;504		return 0;505	}506507	// Not implemented508	//509	// Selector: tokenOfOwnerByIndex(address,uint256) 2f745c59510	function tokenOfOwnerByIndex(address owner, uint256 index)511		public512		view513		returns (uint256)514	{515		require(false, stub_error);516		owner;517		index;518		dummy;519		return 0;520	}521522	// @notice Count RFTs tracked by this contract523	// @return A count of valid RFTs tracked by this contract, where each one of524	//  them has an assigned and queryable owner not equal to the zero address525	//526	// Selector: totalSupply() 18160ddd527	function totalSupply() public view returns (uint256) {528		require(false, stub_error);529		dummy;530		return 0;531	}532}533534// Selector: 7c3bef89535>>>>>>> misk: Update stubs536contract ERC721UniqueExtensions is Dummy, ERC165 {537	/// @notice Transfer ownership of an RFT538	/// @dev Throws unless `msg.sender` is the current owner. Throws if `to`539	///  is the zero address. Throws if `tokenId` is not a valid RFT.540	///  Throws if RFT pieces have multiple owners.541	/// @param to The new owner542	/// @param tokenId The RFT to transfer543	/// @dev EVM selector for this function is: 0xa9059cbb,544	///  or in textual repr: transfer(address,uint256)545	function transfer(address to, uint256 tokenId) public {546		require(false, stub_error);547		to;548		tokenId;549		dummy = 0;550	}551552	/// @notice Burns a specific ERC721 token.553	/// @dev Throws unless `msg.sender` is the current owner or an authorized554	///  operator for this RFT. Throws if `from` is not the current owner. Throws555	///  if `to` is the zero address. Throws if `tokenId` is not a valid RFT.556	///  Throws if RFT pieces have multiple owners.557	/// @param from The current owner of the RFT558	/// @param tokenId The RFT to transfer559	/// @dev EVM selector for this function is: 0x79cc6790,560	///  or in textual repr: burnFrom(address,uint256)561	function burnFrom(address from, uint256 tokenId) public {562		require(false, stub_error);563		from;564		tokenId;565		dummy = 0;566	}567568	/// @notice Returns next free RFT ID.569	/// @dev EVM selector for this function is: 0x75794a3c,570	///  or in textual repr: nextTokenId()571	function nextTokenId() public view returns (uint256) {572		require(false, stub_error);573		dummy;574		return 0;575	}576577	/// @notice Function to mint multiple tokens.578	/// @dev `tokenIds` should be an array of consecutive numbers and first number579	///  should be obtained with `nextTokenId` method580	/// @param to The new owner581	/// @param tokenIds IDs of the minted RFTs582	/// @dev EVM selector for this function is: 0x44a9945e,583	///  or in textual repr: mintBulk(address,uint256[])584	function mintBulk(address to, uint256[] memory tokenIds)585		public586		returns (bool)587	{588		require(false, stub_error);589		to;590		tokenIds;591		dummy = 0;592		return false;593	}594595	/// @notice Function to mint multiple tokens with the given tokenUris.596	/// @dev `tokenIds` is array of pairs of token ID and token URI. Token IDs should be consecutive597	///  numbers and first number should be obtained with `nextTokenId` method598	/// @param to The new owner599	/// @param tokens array of pairs of token ID and token URI for minted tokens600	/// @dev EVM selector for this function is: 0x36543006,601	///  or in textual repr: mintBulkWithTokenURI(address,(uint256,string)[])602	function mintBulkWithTokenURI(address to, Tuple8[] memory tokens)603		public604		returns (bool)605	{606		require(false, stub_error);607		to;608		tokens;609		dummy = 0;610		return false;611	}612613	/// Returns EVM address for refungible token614	///615	/// @param token ID of the token616	/// @dev EVM selector for this function is: 0xab76fac6,617	///  or in textual repr: tokenContractAddress(uint256)618	function tokenContractAddress(uint256 token) public view returns (address) {619		require(false, stub_error);620		token;621		dummy;622		return 0x0000000000000000000000000000000000000000;623	}624}625626<<<<<<< HEAD627<<<<<<< HEAD628/// @dev anonymous struct629struct Tuple8 {630	uint256 field_0;631	string field_1;632}633=======634// Selector: ffe4da23635=======636// Selector: 765e2fae637>>>>>>> misk: Update stubs638=======639// Selector: e54be640640>>>>>>> misc: update stubs641contract Collection is Dummy, ERC165 {642	// Set collection property.643	//644	// @param key Property key.645	// @param value Propery value.646	//647	// Selector: setCollectionProperty(string,bytes) 2f073f66648	function setCollectionProperty(string memory key, bytes memory value)649		public650	{651		require(false, stub_error);652		key;653		value;654		dummy = 0;655	}656>>>>>>> misk: Update stubs657658/// @title ERC-721 Non-Fungible Token Standard, optional enumeration extension659/// @dev See https://eips.ethereum.org/EIPS/eip-721660/// @dev the ERC-165 identifier for this interface is 0x780e9d63661contract ERC721Enumerable is Dummy, ERC165 {662	/// @notice Enumerate valid RFTs663	/// @param index A counter less than `totalSupply()`664	/// @return The token identifier for the `index`th NFT,665	///  (sort order not specified)666	/// @dev EVM selector for this function is: 0x4f6ccce7,667	///  or in textual repr: tokenByIndex(uint256)668	function tokenByIndex(uint256 index) public view returns (uint256) {669		require(false, stub_error);670		index;671		dummy;672		return 0;673	}674675	/// Not implemented676	/// @dev EVM selector for this function is: 0x2f745c59,677	///  or in textual repr: tokenOfOwnerByIndex(address,uint256)678	function tokenOfOwnerByIndex(address owner, uint256 index)679		public680		view681		returns (uint256)682	{683		require(false, stub_error);684		owner;685		index;686		dummy;687<<<<<<< HEAD688		return 0;689=======690		return hex"";691	}692693	// Set the sponsor of the collection.694	//695	// @dev In order for sponsorship to work, it must be confirmed on behalf of the sponsor.696	//697	// @param sponsor Address of the sponsor from whose account funds will be debited for operations with the contract.698	//699	// Selector: setCollectionSponsor(address) 7623402e700	function setCollectionSponsor(address sponsor) public {701		require(false, stub_error);702		sponsor;703		dummy = 0;704	}705706	// Set the substrate sponsor of the collection.707	//708	// @dev In order for sponsorship to work, it must be confirmed on behalf of the sponsor.709	//710	// @param sponsor Substrate address of the sponsor from whose account funds will be debited for operations with the contract.711	//712	// Selector: setCollectionSponsorSubstrate(uint256) c74d6751713	function setCollectionSponsorSubstrate(uint256 sponsor) public {714		require(false, stub_error);715		sponsor;716		dummy = 0;717	}718719	// Selector: hasCollectionPendingSponsor() 058ac185720	function hasCollectionPendingSponsor() public view returns (bool) {721		require(false, stub_error);722		dummy;723		return false;724	}725726	// Collection sponsorship confirmation.727	//728	// @dev After setting the sponsor for the collection, it must be confirmed with this function.729	//730	// Selector: confirmCollectionSponsorship() 3c50e97a731	function confirmCollectionSponsorship() public {732		require(false, stub_error);733		dummy = 0;734	}735736	// Remove collection sponsor.737	//738	// Selector: removeCollectionSponsor() 6e0326a3739	function removeCollectionSponsor() public {740		require(false, stub_error);741		dummy = 0;742	}743744	// Get current sponsor.745	//746	// @return Tuble with sponsor address and his substrate mirror. If there is no confirmed sponsor error "Contract has no sponsor" throw.747	//748	// Selector: getCollectionSponsor() b66bbc14749	function getCollectionSponsor() public view returns (Tuple1 memory) {750		require(false, stub_error);751		dummy;752		return Tuple1(0x0000000000000000000000000000000000000000, 0);753	}754755	// Set limits for the collection.756	// @dev Throws error if limit not found.757	// @param limit Name of the limit. Valid names:758	// 	"accountTokenOwnershipLimit",759	// 	"sponsoredDataSize",760	// 	"sponsoredDataRateLimit",761	// 	"tokenLimit",762	// 	"sponsorTransferTimeout",763	// 	"sponsorApproveTimeout"764	// @param value Value of the limit.765	//766	// Selector: setCollectionLimit(string,uint32) 6a3841db767	function setCollectionLimit(string memory limit, uint32 value) public {768		require(false, stub_error);769		limit;770		value;771		dummy = 0;772>>>>>>> misk: Update stubs773	}774775	/// @notice Count RFTs tracked by this contract776	/// @return A count of valid RFTs tracked by this contract, where each one of777	///  them has an assigned and queryable owner not equal to the zero address778	/// @dev EVM selector for this function is: 0x18160ddd,779	///  or in textual repr: totalSupply()780	function totalSupply() public view returns (uint256) {781		require(false, stub_error);782		dummy;783		return 0;784	}785}786787/// @dev the ERC-165 identifier for this interface is 0x5b5e139f788contract ERC721Metadata is Dummy, ERC165 {789	/// @notice A descriptive name for a collection of RFTs in this contract790	/// @dev EVM selector for this function is: 0x06fdde03,791	///  or in textual repr: name()792	function name() public view returns (string memory) {793		require(false, stub_error);794		dummy;795		return "";796	}797798	/// @notice An abbreviated name for RFTs in this contract799	/// @dev EVM selector for this function is: 0x95d89b41,800	///  or in textual repr: symbol()801	function symbol() public view returns (string memory) {802		require(false, stub_error);803		dummy;804		return "";805	}806807	/// @notice A distinct Uniform Resource Identifier (URI) for a given asset.808	///809	/// @dev If the token has a `url` property and it is not empty, it is returned.810	///  Else If the collection does not have a property with key `schemaName` or its value is not equal to `ERC721Metadata`, it return an error `tokenURI not set`.811	///  If the collection property `baseURI` is empty or absent, return "" (empty string)812	///  otherwise, if token property `suffix` present and is non-empty, return concatenation of baseURI and suffix813	///  otherwise, return concatenation of `baseURI` and stringified token id (decimal stringifying, without paddings).814	///815	/// @return token's const_metadata816	/// @dev EVM selector for this function is: 0xc87b56dd,817	///  or in textual repr: tokenURI(uint256)818	function tokenURI(uint256 tokenId) public view returns (string memory) {819		require(false, stub_error);820		tokenId;821		dummy;822		return "";823	}824}825826/// @dev inlined interface827contract ERC721Events {828	event Transfer(829		address indexed from,830		address indexed to,831		uint256 indexed tokenId832	);833	event Approval(834		address indexed owner,835		address indexed approved,836		uint256 indexed tokenId837	);838	event ApprovalForAll(839		address indexed owner,840		address indexed operator,841		bool approved842	);843}844845/// @title ERC-721 Non-Fungible Token Standard846/// @dev See https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md847/// @dev the ERC-165 identifier for this interface is 0x58800161848contract ERC721 is Dummy, ERC165, ERC721Events {849	/// @notice Count all RFTs assigned to an owner850	/// @dev RFTs assigned to the zero address are considered invalid, and this851	///  function throws for queries about the zero address.852	/// @param owner An address for whom to query the balance853	/// @return The number of RFTs owned by `owner`, possibly zero854	/// @dev EVM selector for this function is: 0x70a08231,855	///  or in textual repr: balanceOf(address)856	function balanceOf(address owner) public view returns (uint256) {857		require(false, stub_error);858		owner;859		dummy;860		return 0;861	}862863	/// @notice Find the owner of an RFT864	/// @dev RFTs assigned to zero address are considered invalid, and queries865	///  about them do throw.866	///  Returns special 0xffffffffffffffffffffffffffffffffffffffff address for867	///  the tokens that are partially owned.868	/// @param tokenId The identifier for an RFT869	/// @return The address of the owner of the RFT870	/// @dev EVM selector for this function is: 0x6352211e,871	///  or in textual repr: ownerOf(uint256)872	function ownerOf(uint256 tokenId) public view returns (address) {873		require(false, stub_error);874		tokenId;875		dummy;876		return 0x0000000000000000000000000000000000000000;877	}878879	/// @dev Not implemented880	/// @dev EVM selector for this function is: 0x60a11672,881	///  or in textual repr: safeTransferFromWithData(address,address,uint256,bytes)882	function safeTransferFromWithData(883		address from,884		address to,885		uint256 tokenId,886		bytes memory data887	) public {888		require(false, stub_error);889		from;890		to;891		tokenId;892		data;893		dummy = 0;894	}895896	/// @dev Not implemented897	/// @dev EVM selector for this function is: 0x42842e0e,898	///  or in textual repr: safeTransferFrom(address,address,uint256)899	function safeTransferFrom(900		address from,901		address to,902		uint256 tokenId903	) public {904		require(false, stub_error);905		from;906		to;907		tokenId;908		dummy = 0;909	}910911	/// @notice Transfer ownership of an RFT -- THE CALLER IS RESPONSIBLE912	///  TO CONFIRM THAT `to` IS CAPABLE OF RECEIVING NFTS OR ELSE913	///  THEY MAY BE PERMANENTLY LOST914	/// @dev Throws unless `msg.sender` is the current owner or an authorized915	///  operator for this RFT. Throws if `from` is not the current owner. Throws916	///  if `to` is the zero address. Throws if `tokenId` is not a valid RFT.917	///  Throws if RFT pieces have multiple owners.918	/// @param from The current owner of the NFT919	/// @param to The new owner920	/// @param tokenId The NFT to transfer921	/// @dev EVM selector for this function is: 0x23b872dd,922	///  or in textual repr: transferFrom(address,address,uint256)923	function transferFrom(924		address from,925		address to,926		uint256 tokenId927	) public {928		require(false, stub_error);929		from;930		to;931		tokenId;932		dummy = 0;933	}934935	/// @dev Not implemented936	/// @dev EVM selector for this function is: 0x095ea7b3,937	///  or in textual repr: approve(address,uint256)938	function approve(address approved, uint256 tokenId) public {939		require(false, stub_error);940		approved;941		tokenId;942		dummy = 0;943	}944945	/// @dev Not implemented946	/// @dev EVM selector for this function is: 0xa22cb465,947	///  or in textual repr: setApprovalForAll(address,bool)948	function setApprovalForAll(address operator, bool approved) public {949		require(false, stub_error);950		operator;951		approved;952		dummy = 0;953	}954955	/// @dev Not implemented956	/// @dev EVM selector for this function is: 0x081812fc,957	///  or in textual repr: getApproved(uint256)958	function getApproved(uint256 tokenId) public view returns (address) {959		require(false, stub_error);960		tokenId;961		dummy;962		return 0x0000000000000000000000000000000000000000;963	}964965	/// @dev Not implemented966	/// @dev EVM selector for this function is: 0xe985e9c5,967	///  or in textual repr: isApprovedForAll(address,address)968	function isApprovedForAll(address owner, address operator)969		public970		view971		returns (address)972	{973		require(false, stub_error);974		owner;975		operator;976		dummy;977		return 0x0000000000000000000000000000000000000000;978	}979}980981contract UniqueRefungible is982	Dummy,983	ERC165,984	ERC721,985	ERC721Metadata,986	ERC721Enumerable,987	ERC721UniqueExtensions,988	ERC721Mintable,989	ERC721Burnable,990	Collection,991	TokenProperties992{}
modifiedtests/src/eth/api/ContractHelpers.soldiffbeforeafterboth
--- a/tests/src/eth/api/ContractHelpers.sol
+++ b/tests/src/eth/api/ContractHelpers.sol
@@ -12,20 +12,8 @@
 	function supportsInterface(bytes4 interfaceID) external view returns (bool);
 }
 
-<<<<<<< HEAD
-<<<<<<< HEAD
 /// @title Magic contract, which allows users to reconfigure other contracts
 /// @dev the ERC-165 identifier for this interface is 0xd77fab70
-=======
-<<<<<<< HEAD
-// Selector: 6073d917
-=======
-// 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
@@ -41,24 +29,11 @@
 		view
 		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.
 	/// @dev EVM selector for this function is: 0xf01fba93,
 	///  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.
-	//
-	// Selector: setSponsor(address,address) f01fba93
->>>>>>> path: add stubs
 	function setSponsor(address contractAddress, address sponsor) external;
 
 	/// Set contract as self sponsored.
@@ -84,28 +59,17 @@
 	///  or in textual repr: confirmSponsorship(address)
 	function confirmSponsorship(address contractAddress) external;
 
-<<<<<<< HEAD
 	/// Get current sponsor.
 	///
 	/// @param contractAddress 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.
 	/// @dev EVM selector for this function is: 0x743fc745,
 	///  or in textual repr: getSponsor(address)
-=======
-	// Get current sponsor.
-	//
-	// @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: getSponsor(address) 743fc745
->>>>>>> path: add stubs
 	function getSponsor(address contractAddress)
 		external
 		view
 		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.
@@ -120,25 +84,6 @@
 	/// @return **true** if contract has pending sponsor.
 	/// @dev EVM selector for this function is: 0x39b9b242,
 	///  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.
-	// @return **true** if contract has confirmed sponsor.
-	//
-	// Selector: hasSponsor(address) 97418603
-	function hasSponsor(address contractAddress) external view returns (bool);
-
-	// Check tat contract has pending sponsor.
-	//
-	// @param contract_address The contract for which the presence of a pending sponsor is checked.
-	// @return **true** if contract has pending sponsor.
-	//
-	// Selector: hasPendingSponsor(address) 39b9b242
->>>>>>> path: add stubs
 	function hasPendingSponsor(address contractAddress)
 		external
 		view
modifiedtests/src/eth/api/UniqueFungible.soldiffbeforeafterboth
--- a/tests/src/eth/api/UniqueFungible.sol
+++ b/tests/src/eth/api/UniqueFungible.sol
@@ -3,17 +3,7 @@
 
 pragma solidity >=0.8.0 <0.9.0;
 
-<<<<<<< HEAD
 /// @dev common stubs holder
-=======
-// Anonymous struct
-struct Tuple0 {
-	address field_0;
-	uint256 field_1;
-}
-
-// Common stubs holder
->>>>>>> misk: Update stubs
 interface Dummy {
 
 }
@@ -22,72 +12,8 @@
 	function supportsInterface(bytes4 interfaceID) external view returns (bool);
 }
 
-<<<<<<< HEAD
 /// @title A contract that allows you to work with collections.
-/// @dev the ERC-165 identifier for this interface is 0xffe4da23
-=======
-// Inline
-interface ERC20Events {
-	event Transfer(address indexed from, address indexed to, uint256 value);
-	event Approval(
-		address indexed owner,
-		address indexed spender,
-		uint256 value
-	);
-}
-
-// Selector: 79cc6790
-interface ERC20UniqueExtensions is Dummy, ERC165 {
-	// Selector: burnFrom(address,uint256) 79cc6790
-	function burnFrom(address from, uint256 amount) external returns (bool);
-}
-
-// Selector: 942e8b22
-interface ERC20 is Dummy, ERC165, ERC20Events {
-	// Selector: name() 06fdde03
-	function name() external view returns (string memory);
-
-	// Selector: symbol() 95d89b41
-	function symbol() external view returns (string memory);
-
-	// Selector: totalSupply() 18160ddd
-	function totalSupply() external view returns (uint256);
-
-	// Selector: decimals() 313ce567
-	function decimals() external view returns (uint8);
-
-	// Selector: balanceOf(address) 70a08231
-	function balanceOf(address owner) external view returns (uint256);
-
-	// Selector: transfer(address,uint256) a9059cbb
-	function transfer(address to, uint256 amount) external returns (bool);
-
-	// Selector: transferFrom(address,address,uint256) 23b872dd
-	function transferFrom(
-		address from,
-		address to,
-		uint256 amount
-	) external returns (bool);
-
-	// Selector: approve(address,uint256) 095ea7b3
-	function approve(address spender, uint256 amount) external returns (bool);
-
-	// Selector: allowance(address,address) dd62ed3e
-	function allowance(address owner, address spender)
-		external
-		view
-		returns (uint256);
-}
-
-<<<<<<< HEAD
-// Selector: ffe4da23
-=======
-// Selector: 765e2fae
->>>>>>> misk: Update stubs
->>>>>>> misk: Update stubs
-=======
-// Selector: e54be640
->>>>>>> misc: update stubs
+/// @dev the ERC-165 identifier for this interface is 0xe54be640
 interface Collection is Dummy, ERC165 {
 	/// Set collection property.
 	///
@@ -127,7 +53,19 @@
 	///  or in textual repr: setCollectionSponsor(address)
 	function setCollectionSponsor(address sponsor) external;
 
-<<<<<<< HEAD
+	/// Set the substrate sponsor of the collection.
+	///
+	/// @dev In order for sponsorship to work, it must be confirmed on behalf of the sponsor.
+	///
+	/// @param sponsor Substrate address of the sponsor from whose account funds will be debited for operations with the contract.
+	/// @dev EVM selector for this function is: 0xc74d6751,
+	///  or in textual repr: setCollectionSponsorSubstrate(uint256)
+	function setCollectionSponsorSubstrate(uint256 sponsor) external;
+
+	/// @dev EVM selector for this function is: 0x058ac185,
+	///  or in textual repr: hasCollectionPendingSponsor()
+	function hasCollectionPendingSponsor() external view returns (bool);
+
 	/// Collection sponsorship confirmation.
 	///
 	/// @dev After setting the sponsor for the collection, it must be confirmed with this function.
@@ -135,6 +73,18 @@
 	///  or in textual repr: confirmCollectionSponsorship()
 	function confirmCollectionSponsorship() external;
 
+	/// Remove collection sponsor.
+	/// @dev EVM selector for this function is: 0x6e0326a3,
+	///  or in textual repr: removeCollectionSponsor()
+	function removeCollectionSponsor() external;
+
+	/// Get current sponsor.
+	///
+	/// @return Tuble with sponsor address and his substrate mirror. If there is no confirmed sponsor error "Contract has no sponsor" throw.
+	/// @dev EVM selector for this function is: 0xb66bbc14,
+	///  or in textual repr: getCollectionSponsor()
+	function getCollectionSponsor() external view returns (Tuple6 memory);
+
 	/// Set limits for the collection.
 	/// @dev Throws error if limit not found.
 	/// @param limit Name of the limit. Valid names:
@@ -147,51 +97,6 @@
 	/// @param value Value of the limit.
 	/// @dev EVM selector for this function is: 0x6a3841db,
 	///  or in textual repr: setCollectionLimit(string,uint32)
-=======
-	// Set the substrate sponsor of the collection.
-	//
-	// @dev In order for sponsorship to work, it must be confirmed on behalf of the sponsor.
-	//
-	// @param sponsor Substrate address of the sponsor from whose account funds will be debited for operations with the contract.
-	//
-	// Selector: setCollectionSponsorSubstrate(uint256) c74d6751
-	function setCollectionSponsorSubstrate(uint256 sponsor) external;
-
-	// Selector: hasCollectionPendingSponsor() 058ac185
-	function hasCollectionPendingSponsor() external view returns (bool);
-
-	// Collection sponsorship confirmation.
-	//
-	// @dev After setting the sponsor for the collection, it must be confirmed with this function.
-	//
-	// Selector: confirmCollectionSponsorship() 3c50e97a
-	function confirmCollectionSponsorship() external;
-
-	// Remove collection sponsor.
-	//
-	// Selector: removeCollectionSponsor() 6e0326a3
-	function removeCollectionSponsor() external;
-
-	// Get current sponsor.
-	//
-	// @return Tuble with sponsor address and his substrate mirror. If there is no confirmed sponsor error "Contract has no sponsor" throw.
-	//
-	// Selector: getCollectionSponsor() b66bbc14
-	function getCollectionSponsor() external view returns (Tuple0 memory);
-
-	// Set limits for the collection.
-	// @dev Throws error if limit not found.
-	// @param limit Name of the limit. Valid names:
-	// 	"accountTokenOwnershipLimit",
-	// 	"sponsoredDataSize",
-	// 	"sponsoredDataRateLimit",
-	// 	"tokenLimit",
-	// 	"sponsorTransferTimeout",
-	// 	"sponsorApproveTimeout"
-	// @param value Value of the limit.
-	//
-	// Selector: setCollectionLimit(string,uint32) 6a3841db
->>>>>>> misk: Update stubs
 	function setCollectionLimit(string memory limit, uint32 value) external;
 
 	/// Set limits for the collection.
@@ -320,6 +225,12 @@
 	function setOwnerSubstrate(uint256 newOwner) external;
 }
 
+/// @dev anonymous struct
+struct Tuple6 {
+	address field_0;
+	uint256 field_1;
+}
+
 /// @dev the ERC-165 identifier for this interface is 0x79cc6790
 interface ERC20UniqueExtensions is Dummy, ERC165 {
 	/// @dev EVM selector for this function is: 0x79cc6790,
modifiedtests/src/eth/api/UniqueNFT.soldiffbeforeafterboth
--- a/tests/src/eth/api/UniqueNFT.sol
+++ b/tests/src/eth/api/UniqueNFT.sol
@@ -3,23 +3,7 @@
 
 pragma solidity >=0.8.0 <0.9.0;
 
-<<<<<<< HEAD
 /// @dev common stubs holder
-=======
-// Anonymous struct
-struct Tuple0 {
-	uint256 field_0;
-	string field_1;
-}
-
-// Anonymous struct
-struct Tuple1 {
-	address field_0;
-	uint256 field_1;
-}
-
-// Common stubs holder
->>>>>>> misk: Update stubs
 interface Dummy {
 
 }
@@ -81,7 +65,7 @@
 }
 
 /// @title A contract that allows you to work with collections.
-/// @dev the ERC-165 identifier for this interface is 0xffe4da23
+/// @dev the ERC-165 identifier for this interface is 0xe54be640
 interface Collection is Dummy, ERC165 {
 	/// Set collection property.
 	///
@@ -121,6 +105,19 @@
 	///  or in textual repr: setCollectionSponsor(address)
 	function setCollectionSponsor(address sponsor) external;
 
+	/// Set the substrate sponsor of the collection.
+	///
+	/// @dev In order for sponsorship to work, it must be confirmed on behalf of the sponsor.
+	///
+	/// @param sponsor Substrate address of the sponsor from whose account funds will be debited for operations with the contract.
+	/// @dev EVM selector for this function is: 0xc74d6751,
+	///  or in textual repr: setCollectionSponsorSubstrate(uint256)
+	function setCollectionSponsorSubstrate(uint256 sponsor) external;
+
+	/// @dev EVM selector for this function is: 0x058ac185,
+	///  or in textual repr: hasCollectionPendingSponsor()
+	function hasCollectionPendingSponsor() external view returns (bool);
+
 	/// Collection sponsorship confirmation.
 	///
 	/// @dev After setting the sponsor for the collection, it must be confirmed with this function.
@@ -128,6 +125,18 @@
 	///  or in textual repr: confirmCollectionSponsorship()
 	function confirmCollectionSponsorship() external;
 
+	/// Remove collection sponsor.
+	/// @dev EVM selector for this function is: 0x6e0326a3,
+	///  or in textual repr: removeCollectionSponsor()
+	function removeCollectionSponsor() external;
+
+	/// Get current sponsor.
+	///
+	/// @return Tuble with sponsor address and his substrate mirror. If there is no confirmed sponsor error "Contract has no sponsor" throw.
+	/// @dev EVM selector for this function is: 0xb66bbc14,
+	///  or in textual repr: getCollectionSponsor()
+	function getCollectionSponsor() external view returns (Tuple17 memory);
+
 	/// Set limits for the collection.
 	/// @dev Throws error if limit not found.
 	/// @param limit Name of the limit. Valid names:
@@ -268,6 +277,12 @@
 	function setOwnerSubstrate(uint256 newOwner) external;
 }
 
+/// @dev anonymous struct
+struct Tuple17 {
+	address field_0;
+	uint256 field_1;
+}
+
 /// @title ERC721 Token that can be irreversibly burned (destroyed).
 /// @dev the ERC-165 identifier for this interface is 0x42966c68
 interface ERC721Burnable is Dummy, ERC165 {
@@ -321,42 +336,8 @@
 	function finishMinting() external returns (bool);
 }
 
-<<<<<<< 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
-	// @param index A counter less than `totalSupply()`
-	// @return The token identifier for the `index`th NFT,
-	//  (sort order not specified)
-	//
-	// Selector: tokenByIndex(uint256) 4f6ccce7
-	function tokenByIndex(uint256 index) external view returns (uint256);
-
-	// @dev Not implemented
-	//
-	// Selector: tokenOfOwnerByIndex(address,uint256) 2f745c59
-	function tokenOfOwnerByIndex(address owner, uint256 index)
-		external
-		view
-		returns (uint256);
-
-	// @notice Count NFTs tracked by this contract
-	// @return A count of valid NFTs tracked by this contract, where each one of
-	//  them has an assigned and queryable owner not equal to the zero address
-	//
-	// Selector: totalSupply() 18160ddd
-	function totalSupply() external view returns (uint256);
-}
-
-// Selector: d74d154f
->>>>>>> misk: Update stubs
 interface ERC721UniqueExtensions is Dummy, ERC165 {
 	/// @notice Transfer ownership of an NFT
 	/// @dev Throws unless `msg.sender` is the current owner. Throws if `to`
@@ -405,31 +386,11 @@
 		returns (bool);
 }
 
-<<<<<<< HEAD
-<<<<<<< HEAD
 /// @dev anonymous struct
 struct Tuple8 {
 	uint256 field_0;
 	string field_1;
 }
-=======
-// Selector: ffe4da23
-=======
-// Selector: 765e2fae
->>>>>>> misk: Update stubs
-=======
-// Selector: e54be640
->>>>>>> misc: update stubs
-interface Collection is Dummy, ERC165 {
-	// Set collection property.
-	//
-	// @param key Property key.
-	// @param value Propery value.
-	//
-	// Selector: setCollectionProperty(string,bytes) 2f073f66
-	function setCollectionProperty(string memory key, bytes memory value)
-		external;
->>>>>>> misk: Update stubs
 
 /// @title ERC-721 Non-Fungible Token Standard, optional enumeration extension
 /// @dev See https://eips.ethereum.org/EIPS/eip-721
@@ -449,87 +410,7 @@
 	function tokenOfOwnerByIndex(address owner, uint256 index)
 		external
 		view
-<<<<<<< HEAD
 		returns (uint256);
-=======
-		returns (bytes memory);
-
-	// Set the sponsor of the collection.
-	//
-	// @dev In order for sponsorship to work, it must be confirmed on behalf of the sponsor.
-	//
-	// @param sponsor Address of the sponsor from whose account funds will be debited for operations with the contract.
-	//
-	// Selector: setCollectionSponsor(address) 7623402e
-	function setCollectionSponsor(address sponsor) external;
-
-	// Set the substrate sponsor of the collection.
-	//
-	// @dev In order for sponsorship to work, it must be confirmed on behalf of the sponsor.
-	//
-	// @param sponsor Substrate address of the sponsor from whose account funds will be debited for operations with the contract.
-	//
-	// Selector: setCollectionSponsorSubstrate(uint256) c74d6751
-	function setCollectionSponsorSubstrate(uint256 sponsor) external;
-
-	// Selector: hasCollectionPendingSponsor() 058ac185
-	function hasCollectionPendingSponsor() external view returns (bool);
-
-	// Collection sponsorship confirmation.
-	//
-	// @dev After setting the sponsor for the collection, it must be confirmed with this function.
-	//
-	// Selector: confirmCollectionSponsorship() 3c50e97a
-	function confirmCollectionSponsorship() external;
-
-	// Remove collection sponsor.
-	//
-	// Selector: removeCollectionSponsor() 6e0326a3
-	function removeCollectionSponsor() external;
-
-	// Get current sponsor.
-	//
-	// @return Tuble with sponsor address and his substrate mirror. If there is no confirmed sponsor error "Contract has no sponsor" throw.
-	//
-	// Selector: getCollectionSponsor() b66bbc14
-	function getCollectionSponsor() external view returns (Tuple1 memory);
-
-	// Set limits for the collection.
-	// @dev Throws error if limit not found.
-	// @param limit Name of the limit. Valid names:
-	// 	"accountTokenOwnershipLimit",
-	// 	"sponsoredDataSize",
-	// 	"sponsoredDataRateLimit",
-	// 	"tokenLimit",
-	// 	"sponsorTransferTimeout",
-	// 	"sponsorApproveTimeout"
-	// @param value Value of the limit.
-	//
-	// Selector: setCollectionLimit(string,uint32) 6a3841db
-	function setCollectionLimit(string memory limit, uint32 value) external;
-
-	// Set limits for the collection.
-	// @dev Throws error if limit not found.
-	// @param limit Name of the limit. Valid names:
-	// 	"ownerCanTransfer",
-	// 	"ownerCanDestroy",
-	// 	"transfersEnabled"
-	// @param value Value of the limit.
-	//
-	// Selector: setCollectionLimit(string,bool) 993b7fba
-	function setCollectionLimit(string memory limit, bool value) external;
-
-	// Get contract address.
-	//
-	// Selector: contractAddress() f6b4dfb4
-	function contractAddress() external view returns (address);
-
-	// Add collection admin by substrate address.
-	// @param new_admin Substrate administrator address.
-	//
-	// Selector: addCollectionAdminSubstrate(uint256) 5730062b
-	function addCollectionAdminSubstrate(uint256 newAdmin) external;
->>>>>>> misk: Update stubs
 
 	/// @notice Count NFTs tracked by this contract
 	/// @return A count of valid NFTs tracked by this contract, where each one of
modifiedtests/src/eth/api/UniqueRefungible.soldiffbeforeafterboth
--- a/tests/src/eth/api/UniqueRefungible.sol
+++ b/tests/src/eth/api/UniqueRefungible.sol
@@ -3,23 +3,7 @@
 
 pragma solidity >=0.8.0 <0.9.0;
 
-<<<<<<< HEAD
 /// @dev common stubs holder
-=======
-// Anonymous struct
-struct Tuple0 {
-	uint256 field_0;
-	string field_1;
-}
-
-// Anonymous struct
-struct Tuple1 {
-	address field_0;
-	uint256 field_1;
-}
-
-// Common stubs holder
->>>>>>> misk: Update stubs
 interface Dummy {
 
 }
@@ -81,7 +65,7 @@
 }
 
 /// @title A contract that allows you to work with collections.
-/// @dev the ERC-165 identifier for this interface is 0xffe4da23
+/// @dev the ERC-165 identifier for this interface is 0xe54be640
 interface Collection is Dummy, ERC165 {
 	/// Set collection property.
 	///
@@ -121,6 +105,19 @@
 	///  or in textual repr: setCollectionSponsor(address)
 	function setCollectionSponsor(address sponsor) external;
 
+	/// Set the substrate sponsor of the collection.
+	///
+	/// @dev In order for sponsorship to work, it must be confirmed on behalf of the sponsor.
+	///
+	/// @param sponsor Substrate address of the sponsor from whose account funds will be debited for operations with the contract.
+	/// @dev EVM selector for this function is: 0xc74d6751,
+	///  or in textual repr: setCollectionSponsorSubstrate(uint256)
+	function setCollectionSponsorSubstrate(uint256 sponsor) external;
+
+	/// @dev EVM selector for this function is: 0x058ac185,
+	///  or in textual repr: hasCollectionPendingSponsor()
+	function hasCollectionPendingSponsor() external view returns (bool);
+
 	/// Collection sponsorship confirmation.
 	///
 	/// @dev After setting the sponsor for the collection, it must be confirmed with this function.
@@ -128,6 +125,18 @@
 	///  or in textual repr: confirmCollectionSponsorship()
 	function confirmCollectionSponsorship() external;
 
+	/// Remove collection sponsor.
+	/// @dev EVM selector for this function is: 0x6e0326a3,
+	///  or in textual repr: removeCollectionSponsor()
+	function removeCollectionSponsor() external;
+
+	/// Get current sponsor.
+	///
+	/// @return Tuble with sponsor address and his substrate mirror. If there is no confirmed sponsor error "Contract has no sponsor" throw.
+	/// @dev EVM selector for this function is: 0xb66bbc14,
+	///  or in textual repr: getCollectionSponsor()
+	function getCollectionSponsor() external view returns (Tuple17 memory);
+
 	/// Set limits for the collection.
 	/// @dev Throws error if limit not found.
 	/// @param limit Name of the limit. Valid names:
@@ -268,6 +277,12 @@
 	function setOwnerSubstrate(uint256 newOwner) external;
 }
 
+/// @dev anonymous struct
+struct Tuple17 {
+	address field_0;
+	uint256 field_1;
+}
+
 /// @title ERC721 Token that can be irreversibly burned (destroyed).
 /// @dev the ERC-165 identifier for this interface is 0x42966c68
 interface ERC721Burnable is Dummy, ERC165 {
@@ -321,42 +336,8 @@
 	function finishMinting() external returns (bool);
 }
 
-<<<<<<< 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
-	// @param index A counter less than `totalSupply()`
-	// @return The token identifier for the `index`th NFT,
-	//  (sort order not specified)
-	//
-	// Selector: tokenByIndex(uint256) 4f6ccce7
-	function tokenByIndex(uint256 index) external view returns (uint256);
-
-	// Not implemented
-	//
-	// Selector: tokenOfOwnerByIndex(address,uint256) 2f745c59
-	function tokenOfOwnerByIndex(address owner, uint256 index)
-		external
-		view
-		returns (uint256);
-
-	// @notice Count RFTs tracked by this contract
-	// @return A count of valid RFTs tracked by this contract, where each one of
-	//  them has an assigned and queryable owner not equal to the zero address
-	//
-	// Selector: totalSupply() 18160ddd
-	function totalSupply() external view returns (uint256);
-}
-
-// Selector: 7c3bef89
->>>>>>> misk: Update stubs
 interface ERC721UniqueExtensions is Dummy, ERC165 {
 	/// @notice Transfer ownership of an RFT
 	/// @dev Throws unless `msg.sender` is the current owner. Throws if `to`
@@ -417,31 +398,11 @@
 		returns (address);
 }
 
-<<<<<<< HEAD
-<<<<<<< HEAD
 /// @dev anonymous struct
 struct Tuple8 {
 	uint256 field_0;
 	string field_1;
 }
-=======
-// Selector: ffe4da23
-=======
-// Selector: 765e2fae
->>>>>>> misk: Update stubs
-=======
-// Selector: e54be640
->>>>>>> misc: update stubs
-interface Collection is Dummy, ERC165 {
-	// Set collection property.
-	//
-	// @param key Property key.
-	// @param value Propery value.
-	//
-	// Selector: setCollectionProperty(string,bytes) 2f073f66
-	function setCollectionProperty(string memory key, bytes memory value)
-		external;
->>>>>>> misk: Update stubs
 
 /// @title ERC-721 Non-Fungible Token Standard, optional enumeration extension
 /// @dev See https://eips.ethereum.org/EIPS/eip-721
@@ -461,87 +422,7 @@
 	function tokenOfOwnerByIndex(address owner, uint256 index)
 		external
 		view
-<<<<<<< HEAD
 		returns (uint256);
-=======
-		returns (bytes memory);
-
-	// Set the sponsor of the collection.
-	//
-	// @dev In order for sponsorship to work, it must be confirmed on behalf of the sponsor.
-	//
-	// @param sponsor Address of the sponsor from whose account funds will be debited for operations with the contract.
-	//
-	// Selector: setCollectionSponsor(address) 7623402e
-	function setCollectionSponsor(address sponsor) external;
-
-	// Set the substrate sponsor of the collection.
-	//
-	// @dev In order for sponsorship to work, it must be confirmed on behalf of the sponsor.
-	//
-	// @param sponsor Substrate address of the sponsor from whose account funds will be debited for operations with the contract.
-	//
-	// Selector: setCollectionSponsorSubstrate(uint256) c74d6751
-	function setCollectionSponsorSubstrate(uint256 sponsor) external;
-
-	// Selector: hasCollectionPendingSponsor() 058ac185
-	function hasCollectionPendingSponsor() external view returns (bool);
-
-	// Collection sponsorship confirmation.
-	//
-	// @dev After setting the sponsor for the collection, it must be confirmed with this function.
-	//
-	// Selector: confirmCollectionSponsorship() 3c50e97a
-	function confirmCollectionSponsorship() external;
-
-	// Remove collection sponsor.
-	//
-	// Selector: removeCollectionSponsor() 6e0326a3
-	function removeCollectionSponsor() external;
-
-	// Get current sponsor.
-	//
-	// @return Tuble with sponsor address and his substrate mirror. If there is no confirmed sponsor error "Contract has no sponsor" throw.
-	//
-	// Selector: getCollectionSponsor() b66bbc14
-	function getCollectionSponsor() external view returns (Tuple1 memory);
-
-	// Set limits for the collection.
-	// @dev Throws error if limit not found.
-	// @param limit Name of the limit. Valid names:
-	// 	"accountTokenOwnershipLimit",
-	// 	"sponsoredDataSize",
-	// 	"sponsoredDataRateLimit",
-	// 	"tokenLimit",
-	// 	"sponsorTransferTimeout",
-	// 	"sponsorApproveTimeout"
-	// @param value Value of the limit.
-	//
-	// Selector: setCollectionLimit(string,uint32) 6a3841db
-	function setCollectionLimit(string memory limit, uint32 value) external;
-
-	// Set limits for the collection.
-	// @dev Throws error if limit not found.
-	// @param limit Name of the limit. Valid names:
-	// 	"ownerCanTransfer",
-	// 	"ownerCanDestroy",
-	// 	"transfersEnabled"
-	// @param value Value of the limit.
-	//
-	// Selector: setCollectionLimit(string,bool) 993b7fba
-	function setCollectionLimit(string memory limit, bool value) external;
-
-	// Get contract address.
-	//
-	// Selector: contractAddress() f6b4dfb4
-	function contractAddress() external view returns (address);
-
-	// Add collection admin by substrate address.
-	// @param new_admin Substrate administrator address.
-	//
-	// Selector: addCollectionAdminSubstrate(uint256) 5730062b
-	function addCollectionAdminSubstrate(uint256 newAdmin) external;
->>>>>>> misk: Update stubs
 
 	/// @notice Count RFTs tracked by this contract
 	/// @return A count of valid RFTs tracked by this contract, where each one of
modifiedtests/src/eth/fungibleAbi.jsondiffbeforeafterboth
--- a/tests/src/eth/fungibleAbi.json
+++ b/tests/src/eth/fungibleAbi.json
@@ -159,7 +159,7 @@
           { "internalType": "address", "name": "field_0", "type": "address" },
           { "internalType": "uint256", "name": "field_1", "type": "uint256" }
         ],
-        "internalType": "struct Tuple0",
+        "internalType": "struct Tuple6",
         "name": "",
         "type": "tuple"
       }
modifiedtests/src/eth/nonFungibleAbi.jsondiffbeforeafterboth
--- a/tests/src/eth/nonFungibleAbi.json
+++ b/tests/src/eth/nonFungibleAbi.json
@@ -208,7 +208,7 @@
           { "internalType": "address", "name": "field_0", "type": "address" },
           { "internalType": "uint256", "name": "field_1", "type": "uint256" }
         ],
-        "internalType": "struct Tuple1",
+        "internalType": "struct Tuple17",
         "name": "",
         "type": "tuple"
       }
modifiedtests/src/eth/reFungibleAbi.jsondiffbeforeafterboth
--- a/tests/src/eth/reFungibleAbi.json
+++ b/tests/src/eth/reFungibleAbi.json
@@ -208,7 +208,7 @@
           { "internalType": "address", "name": "field_0", "type": "address" },
           { "internalType": "uint256", "name": "field_1", "type": "uint256" }
         ],
-        "internalType": "struct Tuple1",
+        "internalType": "struct Tuple17",
         "name": "",
         "type": "tuple"
       }