git.delta.rocks / unique-network / refs/commits / 5c36133bb18f

difftreelog

chore regenerate stubs

Yaroslav Bolyukin2022-10-13parent: #825818b.patch.diff
in: master

8 files changed

modifiedpallets/nonfungible/src/stubs/UniqueNFT.rawdiffbeforeafterboth

binary blob — no preview

modifiedpallets/nonfungible/src/stubs/UniqueNFT.soldiffbeforeafterboth
17 }17 }
18}18}
19
20/// @title ERC-721 Non-Fungible Token Standard, optional metadata extension
21/// @dev See https://eips.ethereum.org/EIPS/eip-721
22/// @dev the ERC-165 identifier for this interface is 0x5b5e139f
23contract ERC721Metadata is Dummy, ERC165 {
24 // /// @notice A descriptive name for a collection of NFTs in this contract
25 // /// @dev real implementation of this function lies in `ERC721UniqueExtensions`
26 // /// @dev EVM selector for this function is: 0x06fdde03,
27 // /// or in textual repr: name()
28 // function name() public view returns (string memory) {
29 // require(false, stub_error);
30 // dummy;
31 // return "";
32 // }
33
34 // /// @notice An abbreviated name for NFTs in this contract
35 // /// @dev real implementation of this function lies in `ERC721UniqueExtensions`
36 // /// @dev EVM selector for this function is: 0x95d89b41,
37 // /// or in textual repr: symbol()
38 // function symbol() public view returns (string memory) {
39 // require(false, stub_error);
40 // dummy;
41 // return "";
42 // }
43
44 /// @notice A distinct Uniform Resource Identifier (URI) for a given asset.
45 ///
46 /// @dev If the token has a `url` property and it is not empty, it is returned.
47 /// 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`.
48 /// If the collection property `baseURI` is empty or absent, return "" (empty string)
49 /// otherwise, if token property `suffix` present and is non-empty, return concatenation of baseURI and suffix
50 /// otherwise, return concatenation of `baseURI` and stringified token id (decimal stringifying, without paddings).
51 ///
52 /// @return token's const_metadata
53 /// @dev EVM selector for this function is: 0xc87b56dd,
54 /// or in textual repr: tokenURI(uint256)
55 function tokenURI(uint256 tokenId) public view returns (string memory) {
56 require(false, stub_error);
57 tokenId;
58 dummy;
59 return "";
60 }
61}
6219
63/// @title A contract that allows to set and delete token properties and change token property permissions.20/// @title A contract that allows to set and delete token properties and change token property permissions.
64/// @dev the ERC-165 identifier for this interface is 0x4136937721/// @dev the ERC-165 identifier for this interface is 0x41369377
220 /// @return Tuble with sponsor address and his substrate mirror. If there is no confirmed sponsor error "Contract has no sponsor" throw.177 /// @return Tuble with sponsor address and his substrate mirror. If there is no confirmed sponsor error "Contract has no sponsor" throw.
221 /// @dev EVM selector for this function is: 0x6ec0a9f1,178 /// @dev EVM selector for this function is: 0x6ec0a9f1,
222 /// or in textual repr: collectionSponsor()179 /// or in textual repr: collectionSponsor()
223 function collectionSponsor() public view returns (Tuple15 memory) {180 function collectionSponsor() public view returns (Tuple17 memory) {
224 require(false, stub_error);181 require(false, stub_error);
225 dummy;182 dummy;
226 return Tuple15(0x0000000000000000000000000000000000000000, 0);183 return Tuple17(0x0000000000000000000000000000000000000000, 0);
227 }184 }
228185
229 /// Set limits for the collection.186 /// Set limits for the collection.
402 /// If address is canonical then substrate mirror is zero and vice versa.359 /// If address is canonical then substrate mirror is zero and vice versa.
403 /// @dev EVM selector for this function is: 0xdf727d3b,360 /// @dev EVM selector for this function is: 0xdf727d3b,
404 /// or in textual repr: collectionOwner()361 /// or in textual repr: collectionOwner()
405 function collectionOwner() public view returns (Tuple15 memory) {362 function collectionOwner() public view returns (Tuple17 memory) {
406 require(false, stub_error);363 require(false, stub_error);
407 dummy;364 dummy;
408 return Tuple15(0x0000000000000000000000000000000000000000, 0);365 return Tuple17(0x0000000000000000000000000000000000000000, 0);
409 }366 }
410367
411 /// Changes collection owner to another account368 /// Changes collection owner to another account
422}379}
423380
424/// @dev anonymous struct381/// @dev anonymous struct
425struct Tuple15 {382struct Tuple17 {
426 address field_0;383 address field_0;
427 uint256 field_1;384 uint256 field_1;
428}385}
386
387/// @title ERC-721 Non-Fungible Token Standard, optional metadata extension
388/// @dev See https://eips.ethereum.org/EIPS/eip-721
389/// @dev the ERC-165 identifier for this interface is 0x5b5e139f
390contract ERC721Metadata is Dummy, ERC165 {
391 // /// @notice A descriptive name for a collection of NFTs in this contract
392 // /// @dev real implementation of this function lies in `ERC721UniqueExtensions`
393 // /// @dev EVM selector for this function is: 0x06fdde03,
394 // /// or in textual repr: name()
395 // function name() public view returns (string memory) {
396 // require(false, stub_error);
397 // dummy;
398 // return "";
399 // }
400
401 // /// @notice An abbreviated name for NFTs in this contract
402 // /// @dev real implementation of this function lies in `ERC721UniqueExtensions`
403 // /// @dev EVM selector for this function is: 0x95d89b41,
404 // /// or in textual repr: symbol()
405 // function symbol() public view returns (string memory) {
406 // require(false, stub_error);
407 // dummy;
408 // return "";
409 // }
410
411 /// @notice A distinct Uniform Resource Identifier (URI) for a given asset.
412 ///
413 /// @dev If the token has a `url` property and it is not empty, it is returned.
414 /// 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`.
415 /// If the collection property `baseURI` is empty or absent, return "" (empty string)
416 /// otherwise, if token property `suffix` present and is non-empty, return concatenation of baseURI and suffix
417 /// otherwise, return concatenation of `baseURI` and stringified token id (decimal stringifying, without paddings).
418 ///
419 /// @return token's const_metadata
420 /// @dev EVM selector for this function is: 0xc87b56dd,
421 /// or in textual repr: tokenURI(uint256)
422 function tokenURI(uint256 tokenId) public view returns (string memory) {
423 require(false, stub_error);
424 tokenId;
425 dummy;
426 return "";
427 }
428}
429429
430/// @title ERC721 Token that can be irreversibly burned (destroyed).430/// @title ERC721 Token that can be irreversibly burned (destroyed).
431/// @dev the ERC-165 identifier for this interface is 0x42966c68431/// @dev the ERC-165 identifier for this interface is 0x42966c68
790 ERC721UniqueExtensions,790 ERC721UniqueExtensions,
791 ERC721Mintable,791 ERC721Mintable,
792 ERC721Burnable,792 ERC721Burnable,
793 ERC721Metadata,
793 Collection,794 Collection,
794 TokenProperties,795 TokenProperties
795 ERC721Metadata
796{}796{}
797797
modifiedpallets/refungible/src/stubs/UniqueRefungible.rawdiffbeforeafterboth

binary blob — no preview

modifiedpallets/refungible/src/stubs/UniqueRefungible.soldiffbeforeafterboth
--- a/pallets/refungible/src/stubs/UniqueRefungible.sol
+++ b/pallets/refungible/src/stubs/UniqueRefungible.sol
@@ -17,45 +17,6 @@
 	}
 }
 
-/// @dev the ERC-165 identifier for this interface is 0x5b5e139f
-contract ERC721Metadata is Dummy, ERC165 {
-	/// @notice A descriptive name for a collection of RFTs in this contract
-	/// @dev EVM selector for this function is: 0x06fdde03,
-	///  or in textual repr: name()
-	function name() public view returns (string memory) {
-		require(false, stub_error);
-		dummy;
-		return "";
-	}
-
-	/// @notice An abbreviated name for RFTs in this contract
-	/// @dev EVM selector for this function is: 0x95d89b41,
-	///  or in textual repr: symbol()
-	function symbol() public view returns (string memory) {
-		require(false, stub_error);
-		dummy;
-		return "";
-	}
-
-	/// @notice A distinct Uniform Resource Identifier (URI) for a given asset.
-	///
-	/// @dev If the token has a `url` property and it is not empty, it is returned.
-	///  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`.
-	///  If the collection property `baseURI` is empty or absent, return "" (empty string)
-	///  otherwise, if token property `suffix` present and is non-empty, return concatenation of baseURI and suffix
-	///  otherwise, return concatenation of `baseURI` and stringified token id (decimal stringifying, without paddings).
-	///
-	/// @return token's const_metadata
-	/// @dev EVM selector for this function is: 0xc87b56dd,
-	///  or in textual repr: tokenURI(uint256)
-	function tokenURI(uint256 tokenId) public view returns (string memory) {
-		require(false, stub_error);
-		tokenId;
-		dummy;
-		return "";
-	}
-}
-
 /// @title A contract that allows to set and delete token properties and change token property permissions.
 /// @dev the ERC-165 identifier for this interface is 0x41369377
 contract TokenProperties is Dummy, ERC165 {
@@ -216,10 +177,10 @@
 	/// @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: 0x6ec0a9f1,
 	///  or in textual repr: collectionSponsor()
-	function collectionSponsor() public view returns (Tuple15 memory) {
+	function collectionSponsor() public view returns (Tuple17 memory) {
 		require(false, stub_error);
 		dummy;
-		return Tuple15(0x0000000000000000000000000000000000000000, 0);
+		return Tuple17(0x0000000000000000000000000000000000000000, 0);
 	}
 
 	/// Set limits for the collection.
@@ -398,10 +359,10 @@
 	/// If address is canonical then substrate mirror is zero and vice versa.
 	/// @dev EVM selector for this function is: 0xdf727d3b,
 	///  or in textual repr: collectionOwner()
-	function collectionOwner() public view returns (Tuple15 memory) {
+	function collectionOwner() public view returns (Tuple17 memory) {
 		require(false, stub_error);
 		dummy;
-		return Tuple15(0x0000000000000000000000000000000000000000, 0);
+		return Tuple17(0x0000000000000000000000000000000000000000, 0);
 	}
 
 	/// Changes collection owner to another account
@@ -418,11 +379,52 @@
 }
 
 /// @dev anonymous struct
-struct Tuple15 {
+struct Tuple17 {
 	address field_0;
 	uint256 field_1;
 }
 
+/// @dev the ERC-165 identifier for this interface is 0x5b5e139f
+contract ERC721Metadata is Dummy, ERC165 {
+	// /// @notice A descriptive name for a collection of NFTs in this contract
+	// /// @dev real implementation of this function lies in `ERC721UniqueExtensions`
+	// /// @dev EVM selector for this function is: 0x06fdde03,
+	// ///  or in textual repr: name()
+	// function name() public view returns (string memory) {
+	// 	require(false, stub_error);
+	// 	dummy;
+	// 	return "";
+	// }
+
+	// /// @notice An abbreviated name for NFTs in this contract
+	// /// @dev real implementation of this function lies in `ERC721UniqueExtensions`
+	// /// @dev EVM selector for this function is: 0x95d89b41,
+	// ///  or in textual repr: symbol()
+	// function symbol() public view returns (string memory) {
+	// 	require(false, stub_error);
+	// 	dummy;
+	// 	return "";
+	// }
+
+	/// @notice A distinct Uniform Resource Identifier (URI) for a given asset.
+	///
+	/// @dev If the token has a `url` property and it is not empty, it is returned.
+	///  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`.
+	///  If the collection property `baseURI` is empty or absent, return "" (empty string)
+	///  otherwise, if token property `suffix` present and is non-empty, return concatenation of baseURI and suffix
+	///  otherwise, return concatenation of `baseURI` and stringified token id (decimal stringifying, without paddings).
+	///
+	/// @return token's const_metadata
+	/// @dev EVM selector for this function is: 0xc87b56dd,
+	///  or in textual repr: tokenURI(uint256)
+	function tokenURI(uint256 tokenId) public view returns (string memory) {
+		require(false, stub_error);
+		tokenId;
+		dummy;
+		return "";
+	}
+}
+
 /// @title ERC721 Token that can be irreversibly burned (destroyed).
 /// @dev the ERC-165 identifier for this interface is 0x42966c68
 contract ERC721Burnable is Dummy, ERC165 {
@@ -502,8 +504,26 @@
 }
 
 /// @title Unique extensions for ERC721.
-/// @dev the ERC-165 identifier for this interface is 0x7c3bef89
+/// @dev the ERC-165 identifier for this interface is 0xef1eaacb
 contract ERC721UniqueExtensions is Dummy, ERC165 {
+	/// @notice A descriptive name for a collection of NFTs in this contract
+	/// @dev EVM selector for this function is: 0x06fdde03,
+	///  or in textual repr: name()
+	function name() public view returns (string memory) {
+		require(false, stub_error);
+		dummy;
+		return "";
+	}
+
+	/// @notice An abbreviated name for NFTs in this contract
+	/// @dev EVM selector for this function is: 0x95d89b41,
+	///  or in textual repr: symbol()
+	function symbol() public view returns (string memory) {
+		require(false, stub_error);
+		dummy;
+		return "";
+	}
+
 	/// @notice Transfer ownership of an RFT
 	/// @dev Throws unless `msg.sender` is the current owner. Throws if `to`
 	///  is the zero address. Throws if `tokenId` is not a valid RFT.
@@ -780,7 +800,7 @@
 	ERC721UniqueExtensions,
 	ERC721Mintable,
 	ERC721Burnable,
+	ERC721Metadata,
 	Collection,
-	TokenProperties,
-	ERC721Metadata
+	TokenProperties
 {}
modifiedtests/src/eth/api/UniqueNFT.soldiffbeforeafterboth
--- a/tests/src/eth/api/UniqueNFT.sol
+++ b/tests/src/eth/api/UniqueNFT.sol
@@ -12,36 +12,6 @@
 	function supportsInterface(bytes4 interfaceID) external view returns (bool);
 }
 
-/// @title ERC-721 Non-Fungible Token Standard, optional metadata extension
-/// @dev See https://eips.ethereum.org/EIPS/eip-721
-/// @dev the ERC-165 identifier for this interface is 0x5b5e139f
-interface ERC721Metadata is Dummy, ERC165 {
-	// /// @notice A descriptive name for a collection of NFTs in this contract
-	// /// @dev real implementation of this function lies in `ERC721UniqueExtensions`
-	// /// @dev EVM selector for this function is: 0x06fdde03,
-	// ///  or in textual repr: name()
-	// function name() external view returns (string memory);
-
-	// /// @notice An abbreviated name for NFTs in this contract
-	// /// @dev real implementation of this function lies in `ERC721UniqueExtensions`
-	// /// @dev EVM selector for this function is: 0x95d89b41,
-	// ///  or in textual repr: symbol()
-	// function symbol() external view returns (string memory);
-
-	/// @notice A distinct Uniform Resource Identifier (URI) for a given asset.
-	///
-	/// @dev If the token has a `url` property and it is not empty, it is returned.
-	///  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`.
-	///  If the collection property `baseURI` is empty or absent, return "" (empty string)
-	///  otherwise, if token property `suffix` present and is non-empty, return concatenation of baseURI and suffix
-	///  otherwise, return concatenation of `baseURI` and stringified token id (decimal stringifying, without paddings).
-	///
-	/// @return token's const_metadata
-	/// @dev EVM selector for this function is: 0xc87b56dd,
-	///  or in textual repr: tokenURI(uint256)
-	function tokenURI(uint256 tokenId) external view returns (string memory);
-}
-
 /// @title A contract that allows to set and delete token properties and change token property permissions.
 /// @dev the ERC-165 identifier for this interface is 0x41369377
 interface TokenProperties is Dummy, ERC165 {
@@ -150,7 +120,7 @@
 	/// @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: 0x6ec0a9f1,
 	///  or in textual repr: collectionSponsor()
-	function collectionSponsor() external view returns (Tuple15 memory);
+	function collectionSponsor() external view returns (Tuple17 memory);
 
 	/// Set limits for the collection.
 	/// @dev Throws error if limit not found.
@@ -267,7 +237,7 @@
 	/// If address is canonical then substrate mirror is zero and vice versa.
 	/// @dev EVM selector for this function is: 0xdf727d3b,
 	///  or in textual repr: collectionOwner()
-	function collectionOwner() external view returns (Tuple15 memory);
+	function collectionOwner() external view returns (Tuple17 memory);
 
 	/// Changes collection owner to another account
 	///
@@ -279,11 +249,41 @@
 }
 
 /// @dev anonymous struct
-struct Tuple15 {
+struct Tuple17 {
 	address field_0;
 	uint256 field_1;
 }
 
+/// @title ERC-721 Non-Fungible Token Standard, optional metadata extension
+/// @dev See https://eips.ethereum.org/EIPS/eip-721
+/// @dev the ERC-165 identifier for this interface is 0x5b5e139f
+interface ERC721Metadata is Dummy, ERC165 {
+	// /// @notice A descriptive name for a collection of NFTs in this contract
+	// /// @dev real implementation of this function lies in `ERC721UniqueExtensions`
+	// /// @dev EVM selector for this function is: 0x06fdde03,
+	// ///  or in textual repr: name()
+	// function name() external view returns (string memory);
+
+	// /// @notice An abbreviated name for NFTs in this contract
+	// /// @dev real implementation of this function lies in `ERC721UniqueExtensions`
+	// /// @dev EVM selector for this function is: 0x95d89b41,
+	// ///  or in textual repr: symbol()
+	// function symbol() external view returns (string memory);
+
+	/// @notice A distinct Uniform Resource Identifier (URI) for a given asset.
+	///
+	/// @dev If the token has a `url` property and it is not empty, it is returned.
+	///  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`.
+	///  If the collection property `baseURI` is empty or absent, return "" (empty string)
+	///  otherwise, if token property `suffix` present and is non-empty, return concatenation of baseURI and suffix
+	///  otherwise, return concatenation of `baseURI` and stringified token id (decimal stringifying, without paddings).
+	///
+	/// @return token's const_metadata
+	/// @dev EVM selector for this function is: 0xc87b56dd,
+	///  or in textual repr: tokenURI(uint256)
+	function tokenURI(uint256 tokenId) external view returns (string memory);
+}
+
 /// @title ERC721 Token that can be irreversibly burned (destroyed).
 /// @dev the ERC-165 identifier for this interface is 0x42966c68
 interface ERC721Burnable is Dummy, ERC165 {
@@ -523,7 +523,7 @@
 	ERC721UniqueExtensions,
 	ERC721Mintable,
 	ERC721Burnable,
+	ERC721Metadata,
 	Collection,
-	TokenProperties,
-	ERC721Metadata
+	TokenProperties
 {}
modifiedtests/src/eth/api/UniqueRefungible.soldiffbeforeafterboth
--- a/tests/src/eth/api/UniqueRefungible.sol
+++ b/tests/src/eth/api/UniqueRefungible.sol
@@ -12,32 +12,6 @@
 	function supportsInterface(bytes4 interfaceID) external view returns (bool);
 }
 
-/// @dev the ERC-165 identifier for this interface is 0x5b5e139f
-interface ERC721Metadata is Dummy, ERC165 {
-	/// @notice A descriptive name for a collection of RFTs in this contract
-	/// @dev EVM selector for this function is: 0x06fdde03,
-	///  or in textual repr: name()
-	function name() external view returns (string memory);
-
-	/// @notice An abbreviated name for RFTs in this contract
-	/// @dev EVM selector for this function is: 0x95d89b41,
-	///  or in textual repr: symbol()
-	function symbol() external view returns (string memory);
-
-	/// @notice A distinct Uniform Resource Identifier (URI) for a given asset.
-	///
-	/// @dev If the token has a `url` property and it is not empty, it is returned.
-	///  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`.
-	///  If the collection property `baseURI` is empty or absent, return "" (empty string)
-	///  otherwise, if token property `suffix` present and is non-empty, return concatenation of baseURI and suffix
-	///  otherwise, return concatenation of `baseURI` and stringified token id (decimal stringifying, without paddings).
-	///
-	/// @return token's const_metadata
-	/// @dev EVM selector for this function is: 0xc87b56dd,
-	///  or in textual repr: tokenURI(uint256)
-	function tokenURI(uint256 tokenId) external view returns (string memory);
-}
-
 /// @title A contract that allows to set and delete token properties and change token property permissions.
 /// @dev the ERC-165 identifier for this interface is 0x41369377
 interface TokenProperties is Dummy, ERC165 {
@@ -146,7 +120,7 @@
 	/// @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: 0x6ec0a9f1,
 	///  or in textual repr: collectionSponsor()
-	function collectionSponsor() external view returns (Tuple15 memory);
+	function collectionSponsor() external view returns (Tuple17 memory);
 
 	/// Set limits for the collection.
 	/// @dev Throws error if limit not found.
@@ -263,7 +237,7 @@
 	/// If address is canonical then substrate mirror is zero and vice versa.
 	/// @dev EVM selector for this function is: 0xdf727d3b,
 	///  or in textual repr: collectionOwner()
-	function collectionOwner() external view returns (Tuple15 memory);
+	function collectionOwner() external view returns (Tuple17 memory);
 
 	/// Changes collection owner to another account
 	///
@@ -275,11 +249,39 @@
 }
 
 /// @dev anonymous struct
-struct Tuple15 {
+struct Tuple17 {
 	address field_0;
 	uint256 field_1;
 }
 
+/// @dev the ERC-165 identifier for this interface is 0x5b5e139f
+interface ERC721Metadata is Dummy, ERC165 {
+	// /// @notice A descriptive name for a collection of NFTs in this contract
+	// /// @dev real implementation of this function lies in `ERC721UniqueExtensions`
+	// /// @dev EVM selector for this function is: 0x06fdde03,
+	// ///  or in textual repr: name()
+	// function name() external view returns (string memory);
+
+	// /// @notice An abbreviated name for NFTs in this contract
+	// /// @dev real implementation of this function lies in `ERC721UniqueExtensions`
+	// /// @dev EVM selector for this function is: 0x95d89b41,
+	// ///  or in textual repr: symbol()
+	// function symbol() external view returns (string memory);
+
+	/// @notice A distinct Uniform Resource Identifier (URI) for a given asset.
+	///
+	/// @dev If the token has a `url` property and it is not empty, it is returned.
+	///  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`.
+	///  If the collection property `baseURI` is empty or absent, return "" (empty string)
+	///  otherwise, if token property `suffix` present and is non-empty, return concatenation of baseURI and suffix
+	///  otherwise, return concatenation of `baseURI` and stringified token id (decimal stringifying, without paddings).
+	///
+	/// @return token's const_metadata
+	/// @dev EVM selector for this function is: 0xc87b56dd,
+	///  or in textual repr: tokenURI(uint256)
+	function tokenURI(uint256 tokenId) external view returns (string memory);
+}
+
 /// @title ERC721 Token that can be irreversibly burned (destroyed).
 /// @dev the ERC-165 identifier for this interface is 0x42966c68
 interface ERC721Burnable is Dummy, ERC165 {
@@ -334,8 +336,18 @@
 }
 
 /// @title Unique extensions for ERC721.
-/// @dev the ERC-165 identifier for this interface is 0x7c3bef89
+/// @dev the ERC-165 identifier for this interface is 0xef1eaacb
 interface ERC721UniqueExtensions is Dummy, ERC165 {
+	/// @notice A descriptive name for a collection of NFTs in this contract
+	/// @dev EVM selector for this function is: 0x06fdde03,
+	///  or in textual repr: name()
+	function name() external view returns (string memory);
+
+	/// @notice An abbreviated name for NFTs in this contract
+	/// @dev EVM selector for this function is: 0x95d89b41,
+	///  or in textual repr: symbol()
+	function symbol() external view returns (string memory);
+
 	/// @notice Transfer ownership of an RFT
 	/// @dev Throws unless `msg.sender` is the current owner. Throws if `to`
 	///  is the zero address. Throws if `tokenId` is not a valid RFT.
@@ -516,7 +528,7 @@
 	ERC721UniqueExtensions,
 	ERC721Mintable,
 	ERC721Burnable,
+	ERC721Metadata,
 	Collection,
-	TokenProperties,
-	ERC721Metadata
+	TokenProperties
 {}
modifiedtests/src/eth/nonFungibleAbi.jsondiffbeforeafterboth
--- a/tests/src/eth/nonFungibleAbi.json
+++ b/tests/src/eth/nonFungibleAbi.json
@@ -154,7 +154,7 @@
           { "internalType": "address", "name": "field_0", "type": "address" },
           { "internalType": "uint256", "name": "field_1", "type": "uint256" }
         ],
-        "internalType": "struct Tuple15",
+        "internalType": "struct Tuple17",
         "name": "",
         "type": "tuple"
       }
@@ -178,7 +178,7 @@
           { "internalType": "address", "name": "field_0", "type": "address" },
           { "internalType": "uint256", "name": "field_1", "type": "uint256" }
         ],
-        "internalType": "struct Tuple15",
+        "internalType": "struct Tuple17",
         "name": "",
         "type": "tuple"
       }
modifiedtests/src/eth/reFungibleAbi.jsondiffbeforeafterboth
--- a/tests/src/eth/reFungibleAbi.json
+++ b/tests/src/eth/reFungibleAbi.json
@@ -154,7 +154,7 @@
           { "internalType": "address", "name": "field_0", "type": "address" },
           { "internalType": "uint256", "name": "field_1", "type": "uint256" }
         ],
-        "internalType": "struct Tuple15",
+        "internalType": "struct Tuple17",
         "name": "",
         "type": "tuple"
       }
@@ -178,7 +178,7 @@
           { "internalType": "address", "name": "field_0", "type": "address" },
           { "internalType": "uint256", "name": "field_1", "type": "uint256" }
         ],
-        "internalType": "struct Tuple15",
+        "internalType": "struct Tuple17",
         "name": "",
         "type": "tuple"
       }