git.delta.rocks / unique-network / refs/commits / 7c531595588c

difftreelog

chore generate stubs

PraetorP2022-12-15parent: #62800e3.patch.diff
in: master

11 files changed

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
@@ -18,7 +18,7 @@
 }
 
 /// @title A contract that allows you to work with collections.
-/// @dev the ERC-165 identifier for this interface is 0xb5e1747f
+/// @dev the ERC-165 identifier for this interface is 0x81172a75
 contract Collection is Dummy, ERC165 {
 	// /// Set collection property.
 	// ///
@@ -191,6 +191,7 @@
 	///  	"ownerCanTransfer",
 	/// 	"ownerCanDestroy",
 	/// 	"transfersEnabled"
+	/// @param status enable\disable limit. Works only with `true`.
 	/// @param value Value of the limit.
 	/// @dev EVM selector for this function is: 0x88150bd0,
 	///  or in textual repr: setCollectionLimit(uint8,bool,uint256)
@@ -283,19 +284,19 @@
 	/// Returns nesting for a collection
 	/// @dev EVM selector for this function is: 0x22d25bfe,
 	///  or in textual repr: collectionNestingRestrictedCollectionIds()
-	function collectionNestingRestrictedCollectionIds() public view returns (Tuple21 memory) {
+	function collectionNestingRestrictedCollectionIds() public view returns (Tuple26 memory) {
 		require(false, stub_error);
 		dummy;
-		return Tuple21(false, new uint256[](0));
+		return Tuple26(false, new uint256[](0));
 	}
 
 	/// Returns permissions for a collection
 	/// @dev EVM selector for this function is: 0x5b2eaf4b,
 	///  or in textual repr: collectionNestingPermissions()
-	function collectionNestingPermissions() public view returns (Tuple24[] memory) {
+	function collectionNestingPermissions() public view returns (Tuple29[] memory) {
 		require(false, stub_error);
 		dummy;
-		return new Tuple24[](0);
+		return new Tuple29[](0);
 	}
 
 	/// Set the collection access method.
@@ -475,17 +476,36 @@
 }
 
 /// @dev anonymous struct
-struct Tuple24 {
+struct Tuple29 {
 	CollectionPermissions field_0;
 	bool field_1;
 }
 
 /// @dev anonymous struct
-struct Tuple21 {
+struct Tuple26 {
 	bool field_0;
 	uint256[] field_1;
 }
 
+enum CollectionLimits {
+	AccountTokenOwnership,
+	SponsoredDataSize,
+	SponsoredDataRateLimit,
+	TokenLimit,
+	SponsorTransferTimeout,
+	SponsorApproveTimeout,
+	OwnerCanTransfer,
+	OwnerCanDestroy,
+	TransferEnabled
+}
+
+/// @dev anonymous struct
+struct Tuple20 {
+	CollectionLimits field_0;
+	bool field_1;
+	uint256 field_2;
+}
+
 /// @dev Property struct
 struct Property {
 	string key;
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
@@ -151,7 +151,7 @@
 }
 
 /// @title A contract that allows you to work with collections.
-/// @dev the ERC-165 identifier for this interface is 0xb5e1747f
+/// @dev the ERC-165 identifier for this interface is 0x81172a75
 contract Collection is Dummy, ERC165 {
 	// /// Set collection property.
 	// ///
@@ -324,6 +324,7 @@
 	///  	"ownerCanTransfer",
 	/// 	"ownerCanDestroy",
 	/// 	"transfersEnabled"
+	/// @param status enable\disable limit. Works only with `true`.
 	/// @param value Value of the limit.
 	/// @dev EVM selector for this function is: 0x88150bd0,
 	///  or in textual repr: setCollectionLimit(uint8,bool,uint256)
@@ -416,19 +417,19 @@
 	/// Returns nesting for a collection
 	/// @dev EVM selector for this function is: 0x22d25bfe,
 	///  or in textual repr: collectionNestingRestrictedCollectionIds()
-	function collectionNestingRestrictedCollectionIds() public view returns (Tuple34 memory) {
+	function collectionNestingRestrictedCollectionIds() public view returns (Tuple39 memory) {
 		require(false, stub_error);
 		dummy;
-		return Tuple34(false, new uint256[](0));
+		return Tuple39(false, new uint256[](0));
 	}
 
 	/// Returns permissions for a collection
 	/// @dev EVM selector for this function is: 0x5b2eaf4b,
 	///  or in textual repr: collectionNestingPermissions()
-	function collectionNestingPermissions() public view returns (Tuple37[] memory) {
+	function collectionNestingPermissions() public view returns (Tuple42[] memory) {
 		require(false, stub_error);
 		dummy;
-		return new Tuple37[](0);
+		return new Tuple42[](0);
 	}
 
 	/// Set the collection access method.
@@ -608,17 +609,36 @@
 }
 
 /// @dev anonymous struct
-struct Tuple37 {
+struct Tuple42 {
 	CollectionPermissions field_0;
 	bool field_1;
 }
 
 /// @dev anonymous struct
-struct Tuple34 {
+struct Tuple39 {
 	bool field_0;
 	uint256[] field_1;
 }
 
+enum CollectionLimits {
+	AccountTokenOwnership,
+	SponsoredDataSize,
+	SponsoredDataRateLimit,
+	TokenLimit,
+	SponsorTransferTimeout,
+	SponsorApproveTimeout,
+	OwnerCanTransfer,
+	OwnerCanDestroy,
+	TransferEnabled
+}
+
+/// @dev anonymous struct
+struct Tuple33 {
+	CollectionLimits field_0;
+	bool field_1;
+	uint256 field_2;
+}
+
 /// @dev anonymous struct
 struct Tuple30 {
 	address field_0;
modifiedpallets/refungible/src/stubs/UniqueRefungible.soldiffbeforeafterboth
--- a/pallets/refungible/src/stubs/UniqueRefungible.sol
+++ b/pallets/refungible/src/stubs/UniqueRefungible.sol
@@ -152,7 +152,7 @@
 }
 
 /// @title A contract that allows you to work with collections.
-/// @dev the ERC-165 identifier for this interface is 0xb5e1747f
+/// @dev the ERC-165 identifier for this interface is 0x81172a75
 contract Collection is Dummy, ERC165 {
 	// /// Set collection property.
 	// ///
@@ -325,6 +325,7 @@
 	///  	"ownerCanTransfer",
 	/// 	"ownerCanDestroy",
 	/// 	"transfersEnabled"
+	/// @param status enable\disable limit. Works only with `true`.
 	/// @param value Value of the limit.
 	/// @dev EVM selector for this function is: 0x88150bd0,
 	///  or in textual repr: setCollectionLimit(uint8,bool,uint256)
@@ -417,19 +418,19 @@
 	/// Returns nesting for a collection
 	/// @dev EVM selector for this function is: 0x22d25bfe,
 	///  or in textual repr: collectionNestingRestrictedCollectionIds()
-	function collectionNestingRestrictedCollectionIds() public view returns (Tuple33 memory) {
+	function collectionNestingRestrictedCollectionIds() public view returns (Tuple38 memory) {
 		require(false, stub_error);
 		dummy;
-		return Tuple33(false, new uint256[](0));
+		return Tuple38(false, new uint256[](0));
 	}
 
 	/// Returns permissions for a collection
 	/// @dev EVM selector for this function is: 0x5b2eaf4b,
 	///  or in textual repr: collectionNestingPermissions()
-	function collectionNestingPermissions() public view returns (Tuple36[] memory) {
+	function collectionNestingPermissions() public view returns (Tuple41[] memory) {
 		require(false, stub_error);
 		dummy;
-		return new Tuple36[](0);
+		return new Tuple41[](0);
 	}
 
 	/// Set the collection access method.
@@ -609,17 +610,36 @@
 }
 
 /// @dev anonymous struct
-struct Tuple36 {
+struct Tuple41 {
 	CollectionPermissions field_0;
 	bool field_1;
 }
 
 /// @dev anonymous struct
-struct Tuple33 {
+struct Tuple38 {
 	bool field_0;
 	uint256[] field_1;
 }
 
+enum CollectionLimits {
+	AccountTokenOwnership,
+	SponsoredDataSize,
+	SponsoredDataRateLimit,
+	TokenLimit,
+	SponsorTransferTimeout,
+	SponsorApproveTimeout,
+	OwnerCanTransfer,
+	OwnerCanDestroy,
+	TransferEnabled
+}
+
+/// @dev anonymous struct
+struct Tuple32 {
+	CollectionLimits field_0;
+	bool field_1;
+	uint256 field_2;
+}
+
 /// @dev anonymous struct
 struct Tuple29 {
 	address field_0;
modifiedtests/src/eth/abi/fungible.jsondiffbeforeafterboth
--- a/tests/src/eth/abi/fungible.json
+++ b/tests/src/eth/abi/fungible.json
@@ -208,33 +208,40 @@
   },
   {
     "inputs": [],
-<<<<<<< HEAD
-    "name": "collectionNestingPermissions",
-=======
     "name": "collectionLimits",
->>>>>>> 32e011ce... added `collectionLimits` function in `Collection` interface,  changed signture for `setCollectionLimit`
     "outputs": [
       {
         "components": [
           {
-<<<<<<< HEAD
-            "internalType": "enum CollectionPermissions",
+            "internalType": "enum CollectionLimits",
             "name": "field_0",
             "type": "uint8"
           },
-          { "internalType": "bool", "name": "field_1", "type": "bool" }
+          { "internalType": "bool", "name": "field_1", "type": "bool" },
+          { "internalType": "uint256", "name": "field_2", "type": "uint256" }
         ],
-        "internalType": "struct Tuple24[]",
-=======
-            "internalType": "enum CollectionLimits",
+        "internalType": "struct Tuple20[]",
+        "name": "",
+        "type": "tuple[]"
+      }
+    ],
+    "stateMutability": "view",
+    "type": "function"
+  },
+  {
+    "inputs": [],
+    "name": "collectionNestingPermissions",
+    "outputs": [
+      {
+        "components": [
+          {
+            "internalType": "enum CollectionPermissions",
             "name": "field_0",
             "type": "uint8"
           },
-          { "internalType": "bool", "name": "field_1", "type": "bool" },
-          { "internalType": "uint256", "name": "field_2", "type": "uint256" }
+          { "internalType": "bool", "name": "field_1", "type": "bool" }
         ],
-        "internalType": "struct Tuple20[]",
->>>>>>> 32e011ce... added `collectionLimits` function in `Collection` interface,  changed signture for `setCollectionLimit`
+        "internalType": "struct Tuple29[]",
         "name": "",
         "type": "tuple[]"
       }
@@ -244,7 +251,6 @@
   },
   {
     "inputs": [],
-<<<<<<< HEAD
     "name": "collectionNestingRestrictedCollectionIds",
     "outputs": [
       {
@@ -256,7 +262,7 @@
             "type": "uint256[]"
           }
         ],
-        "internalType": "struct Tuple21",
+        "internalType": "struct Tuple26",
         "name": "",
         "type": "tuple"
       }
@@ -266,8 +272,6 @@
   },
   {
     "inputs": [],
-=======
->>>>>>> 32e011ce... added `collectionLimits` function in `Collection` interface,  changed signture for `setCollectionLimit`
     "name": "collectionOwner",
     "outputs": [
       {
modifiedtests/src/eth/abi/nonFungible.jsondiffbeforeafterboth
before · tests/src/eth/abi/nonFungible.json
1[2  {3    "anonymous": false,4    "inputs": [5      {6        "indexed": true,7        "internalType": "address",8        "name": "owner",9        "type": "address"10      },11      {12        "indexed": true,13        "internalType": "address",14        "name": "approved",15        "type": "address"16      },17      {18        "indexed": true,19        "internalType": "uint256",20        "name": "tokenId",21        "type": "uint256"22      }23    ],24    "name": "Approval",25    "type": "event"26  },27  {28    "anonymous": false,29    "inputs": [30      {31        "indexed": true,32        "internalType": "address",33        "name": "owner",34        "type": "address"35      },36      {37        "indexed": true,38        "internalType": "address",39        "name": "operator",40        "type": "address"41      },42      {43        "indexed": false,44        "internalType": "bool",45        "name": "approved",46        "type": "bool"47      }48    ],49    "name": "ApprovalForAll",50    "type": "event"51  },52  {53    "anonymous": false,54    "inputs": [],55    "name": "MintingFinished",56    "type": "event"57  },58  {59    "anonymous": false,60    "inputs": [61      {62        "indexed": true,63        "internalType": "address",64        "name": "from",65        "type": "address"66      },67      {68        "indexed": true,69        "internalType": "address",70        "name": "to",71        "type": "address"72      },73      {74        "indexed": true,75        "internalType": "uint256",76        "name": "tokenId",77        "type": "uint256"78      }79    ],80    "name": "Transfer",81    "type": "event"82  },83  {84    "inputs": [85      {86        "components": [87          { "internalType": "address", "name": "eth", "type": "address" },88          { "internalType": "uint256", "name": "sub", "type": "uint256" }89        ],90        "internalType": "struct EthCrossAccount",91        "name": "newAdmin",92        "type": "tuple"93      }94    ],95    "name": "addCollectionAdminCross",96    "outputs": [],97    "stateMutability": "nonpayable",98    "type": "function"99  },100  {101    "inputs": [102      {103        "components": [104          { "internalType": "address", "name": "eth", "type": "address" },105          { "internalType": "uint256", "name": "sub", "type": "uint256" }106        ],107        "internalType": "struct EthCrossAccount",108        "name": "user",109        "type": "tuple"110      }111    ],112    "name": "addToCollectionAllowListCross",113    "outputs": [],114    "stateMutability": "nonpayable",115    "type": "function"116  },117  {118    "inputs": [119      {120        "components": [121          { "internalType": "address", "name": "eth", "type": "address" },122          { "internalType": "uint256", "name": "sub", "type": "uint256" }123        ],124        "internalType": "struct EthCrossAccount",125        "name": "user",126        "type": "tuple"127      }128    ],129    "name": "allowlistedCross",130    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],131    "stateMutability": "view",132    "type": "function"133  },134  {135    "inputs": [136      { "internalType": "address", "name": "approved", "type": "address" },137      { "internalType": "uint256", "name": "tokenId", "type": "uint256" }138    ],139    "name": "approve",140    "outputs": [],141    "stateMutability": "nonpayable",142    "type": "function"143  },144  {145    "inputs": [146      {147        "components": [148          { "internalType": "address", "name": "eth", "type": "address" },149          { "internalType": "uint256", "name": "sub", "type": "uint256" }150        ],151        "internalType": "struct EthCrossAccount",152        "name": "approved",153        "type": "tuple"154      },155      { "internalType": "uint256", "name": "tokenId", "type": "uint256" }156    ],157    "name": "approveCross",158    "outputs": [],159    "stateMutability": "nonpayable",160    "type": "function"161  },162  {163    "inputs": [164      { "internalType": "address", "name": "owner", "type": "address" }165    ],166    "name": "balanceOf",167    "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],168    "stateMutability": "view",169    "type": "function"170  },171  {172    "inputs": [173      { "internalType": "uint256", "name": "tokenId", "type": "uint256" }174    ],175    "name": "burn",176    "outputs": [],177    "stateMutability": "nonpayable",178    "type": "function"179  },180  {181    "inputs": [182      {183        "components": [184          { "internalType": "address", "name": "eth", "type": "address" },185          { "internalType": "uint256", "name": "sub", "type": "uint256" }186        ],187        "internalType": "struct EthCrossAccount",188        "name": "from",189        "type": "tuple"190      },191      { "internalType": "uint256", "name": "tokenId", "type": "uint256" }192    ],193    "name": "burnFromCross",194    "outputs": [],195    "stateMutability": "nonpayable",196    "type": "function"197  },198  {199    "inputs": [200      {201        "components": [202          { "internalType": "address", "name": "eth", "type": "address" },203          { "internalType": "uint256", "name": "sub", "type": "uint256" }204        ],205        "internalType": "struct EthCrossAccount",206        "name": "newOwner",207        "type": "tuple"208      }209    ],210    "name": "changeCollectionOwnerCross",211    "outputs": [],212    "stateMutability": "nonpayable",213    "type": "function"214  },215  {216    "inputs": [],217    "name": "collectionAdmins",218    "outputs": [219      {220        "components": [221          { "internalType": "address", "name": "eth", "type": "address" },222          { "internalType": "uint256", "name": "sub", "type": "uint256" }223        ],224        "internalType": "struct EthCrossAccount[]",225        "name": "",226        "type": "tuple[]"227      }228    ],229    "stateMutability": "view",230    "type": "function"231  },232  {233    "inputs": [],234    "name": "collectionHelperAddress",235    "outputs": [{ "internalType": "address", "name": "", "type": "address" }],236    "stateMutability": "view",237    "type": "function"238  },239  {240    "inputs": [],241    "name": "collectionNestingPermissions",242    "outputs": [243      {244        "components": [245          {246            "internalType": "enum CollectionPermissions",247            "name": "field_0",248            "type": "uint8"249          },250          { "internalType": "bool", "name": "field_1", "type": "bool" }251        ],252        "internalType": "struct Tuple37[]",253        "name": "",254        "type": "tuple[]"255      }256    ],257    "stateMutability": "view",258    "type": "function"259  },260  {261    "inputs": [],262    "name": "collectionNestingRestrictedCollectionIds",263    "outputs": [264      {265        "components": [266          { "internalType": "bool", "name": "field_0", "type": "bool" },267          {268            "internalType": "uint256[]",269            "name": "field_1",270            "type": "uint256[]"271          }272        ],273        "internalType": "struct Tuple34",274        "name": "",275        "type": "tuple"276      }277    ],278    "stateMutability": "view",279    "type": "function"280  },281  {282    "inputs": [],283    "name": "collectionOwner",284    "outputs": [285      {286        "components": [287          { "internalType": "address", "name": "eth", "type": "address" },288          { "internalType": "uint256", "name": "sub", "type": "uint256" }289        ],290        "internalType": "struct EthCrossAccount",291        "name": "",292        "type": "tuple"293      }294    ],295    "stateMutability": "view",296    "type": "function"297  },298  {299    "inputs": [300      { "internalType": "string[]", "name": "keys", "type": "string[]" }301    ],302    "name": "collectionProperties",303    "outputs": [304      {305        "components": [306          { "internalType": "string", "name": "key", "type": "string" },307          { "internalType": "bytes", "name": "value", "type": "bytes" }308        ],309        "internalType": "struct Property[]",310        "name": "",311        "type": "tuple[]"312      }313    ],314    "stateMutability": "view",315    "type": "function"316  },317  {318    "inputs": [{ "internalType": "string", "name": "key", "type": "string" }],319    "name": "collectionProperty",320    "outputs": [{ "internalType": "bytes", "name": "", "type": "bytes" }],321    "stateMutability": "view",322    "type": "function"323  },324  {325    "inputs": [],326    "name": "collectionSponsor",327    "outputs": [328      {329        "components": [330          { "internalType": "address", "name": "field_0", "type": "address" },331          { "internalType": "uint256", "name": "field_1", "type": "uint256" }332        ],333        "internalType": "struct Tuple30",334        "name": "",335        "type": "tuple"336      }337    ],338    "stateMutability": "view",339    "type": "function"340  },341  {342    "inputs": [],343    "name": "confirmCollectionSponsorship",344    "outputs": [],345    "stateMutability": "nonpayable",346    "type": "function"347  },348  {349    "inputs": [],350    "name": "contractAddress",351    "outputs": [{ "internalType": "address", "name": "", "type": "address" }],352    "stateMutability": "view",353    "type": "function"354  },355  {356    "inputs": [357      { "internalType": "uint256", "name": "tokenId", "type": "uint256" }358    ],359    "name": "crossOwnerOf",360    "outputs": [361      {362        "components": [363          { "internalType": "address", "name": "eth", "type": "address" },364          { "internalType": "uint256", "name": "sub", "type": "uint256" }365        ],366        "internalType": "struct EthCrossAccount",367        "name": "",368        "type": "tuple"369      }370    ],371    "stateMutability": "view",372    "type": "function"373  },374  {375    "inputs": [376      { "internalType": "string[]", "name": "keys", "type": "string[]" }377    ],378    "name": "deleteCollectionProperties",379    "outputs": [],380    "stateMutability": "nonpayable",381    "type": "function"382  },383  {384    "inputs": [385      { "internalType": "uint256", "name": "tokenId", "type": "uint256" },386      { "internalType": "string[]", "name": "keys", "type": "string[]" }387    ],388    "name": "deleteProperties",389    "outputs": [],390    "stateMutability": "nonpayable",391    "type": "function"392  },393  {394    "inputs": [],395    "name": "description",396    "outputs": [{ "internalType": "string", "name": "", "type": "string" }],397    "stateMutability": "view",398    "type": "function"399  },400  {401    "inputs": [],402    "name": "finishMinting",403    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],404    "stateMutability": "nonpayable",405    "type": "function"406  },407  {408    "inputs": [409      { "internalType": "uint256", "name": "tokenId", "type": "uint256" }410    ],411    "name": "getApproved",412    "outputs": [{ "internalType": "address", "name": "", "type": "address" }],413    "stateMutability": "view",414    "type": "function"415  },416  {417    "inputs": [],418    "name": "hasCollectionPendingSponsor",419    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],420    "stateMutability": "view",421    "type": "function"422  },423  {424    "inputs": [425      { "internalType": "address", "name": "owner", "type": "address" },426      { "internalType": "address", "name": "operator", "type": "address" }427    ],428    "name": "isApprovedForAll",429    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],430    "stateMutability": "view",431    "type": "function"432  },433  {434    "inputs": [435      {436        "components": [437          { "internalType": "address", "name": "eth", "type": "address" },438          { "internalType": "uint256", "name": "sub", "type": "uint256" }439        ],440        "internalType": "struct EthCrossAccount",441        "name": "user",442        "type": "tuple"443      }444    ],445    "name": "isOwnerOrAdminCross",446    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],447    "stateMutability": "view",448    "type": "function"449  },450  {451    "inputs": [{ "internalType": "address", "name": "to", "type": "address" }],452    "name": "mint",453    "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],454    "stateMutability": "nonpayable",455    "type": "function"456  },457  {458    "inputs": [459      { "internalType": "address", "name": "to", "type": "address" },460      { "internalType": "string", "name": "tokenUri", "type": "string" }461    ],462    "name": "mintWithTokenURI",463    "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],464    "stateMutability": "nonpayable",465    "type": "function"466  },467  {468    "inputs": [],469    "name": "mintingFinished",470    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],471    "stateMutability": "view",472    "type": "function"473  },474  {475    "inputs": [],476    "name": "name",477    "outputs": [{ "internalType": "string", "name": "", "type": "string" }],478    "stateMutability": "view",479    "type": "function"480  },481  {482    "inputs": [],483    "name": "nextTokenId",484    "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],485    "stateMutability": "view",486    "type": "function"487  },488  {489    "inputs": [490      { "internalType": "uint256", "name": "tokenId", "type": "uint256" }491    ],492    "name": "ownerOf",493    "outputs": [{ "internalType": "address", "name": "", "type": "address" }],494    "stateMutability": "view",495    "type": "function"496  },497  {498    "inputs": [499      { "internalType": "uint256", "name": "tokenId", "type": "uint256" },500      { "internalType": "string[]", "name": "keys", "type": "string[]" }501    ],502    "name": "properties",503    "outputs": [504      {505        "components": [506          { "internalType": "string", "name": "key", "type": "string" },507          { "internalType": "bytes", "name": "value", "type": "bytes" }508        ],509        "internalType": "struct Property[]",510        "name": "",511        "type": "tuple[]"512      }513    ],514    "stateMutability": "view",515    "type": "function"516  },517  {518    "inputs": [519      { "internalType": "uint256", "name": "tokenId", "type": "uint256" },520      { "internalType": "string", "name": "key", "type": "string" }521    ],522    "name": "property",523    "outputs": [{ "internalType": "bytes", "name": "", "type": "bytes" }],524    "stateMutability": "view",525    "type": "function"526  },527  {528    "inputs": [529      {530        "components": [531          { "internalType": "address", "name": "eth", "type": "address" },532          { "internalType": "uint256", "name": "sub", "type": "uint256" }533        ],534        "internalType": "struct EthCrossAccount",535        "name": "admin",536        "type": "tuple"537      }538    ],539    "name": "removeCollectionAdminCross",540    "outputs": [],541    "stateMutability": "nonpayable",542    "type": "function"543  },544  {545    "inputs": [],546    "name": "removeCollectionSponsor",547    "outputs": [],548    "stateMutability": "nonpayable",549    "type": "function"550  },551  {552    "inputs": [553      {554        "components": [555          { "internalType": "address", "name": "eth", "type": "address" },556          { "internalType": "uint256", "name": "sub", "type": "uint256" }557        ],558        "internalType": "struct EthCrossAccount",559        "name": "user",560        "type": "tuple"561      }562    ],563    "name": "removeFromCollectionAllowListCross",564    "outputs": [],565    "stateMutability": "nonpayable",566    "type": "function"567  },568  {569    "inputs": [570      { "internalType": "address", "name": "from", "type": "address" },571      { "internalType": "address", "name": "to", "type": "address" },572      { "internalType": "uint256", "name": "tokenId", "type": "uint256" }573    ],574    "name": "safeTransferFrom",575    "outputs": [],576    "stateMutability": "nonpayable",577    "type": "function"578  },579  {580    "inputs": [581      { "internalType": "address", "name": "from", "type": "address" },582      { "internalType": "address", "name": "to", "type": "address" },583      { "internalType": "uint256", "name": "tokenId", "type": "uint256" },584      { "internalType": "bytes", "name": "data", "type": "bytes" }585    ],586    "name": "safeTransferFrom",587    "outputs": [],588    "stateMutability": "nonpayable",589    "type": "function"590  },591  {592    "inputs": [593      { "internalType": "address", "name": "operator", "type": "address" },594      { "internalType": "bool", "name": "approved", "type": "bool" }595    ],596    "name": "setApprovalForAll",597    "outputs": [],598    "stateMutability": "nonpayable",599    "type": "function"600  },601  {602    "inputs": [{ "internalType": "uint8", "name": "mode", "type": "uint8" }],603    "name": "setCollectionAccess",604    "outputs": [],605    "stateMutability": "nonpayable",606    "type": "function"607  },608  {609    "inputs": [610      {611        "internalType": "enum CollectionLimits",612        "name": "limit",613        "type": "uint8"614      },615      { "internalType": "bool", "name": "status", "type": "bool" },616      { "internalType": "uint256", "name": "value", "type": "uint256" }617    ],618    "name": "setCollectionLimit",619    "outputs": [],620    "stateMutability": "nonpayable",621    "type": "function"622  },623  {624    "inputs": [{ "internalType": "bool", "name": "mode", "type": "bool" }],625    "name": "setCollectionMintMode",626    "outputs": [],627    "stateMutability": "nonpayable",628    "type": "function"629  },630  {631    "inputs": [{ "internalType": "bool", "name": "enable", "type": "bool" }],632    "name": "setCollectionNesting",633    "outputs": [],634    "stateMutability": "nonpayable",635    "type": "function"636  },637  {638    "inputs": [639      { "internalType": "bool", "name": "enable", "type": "bool" },640      {641        "internalType": "address[]",642        "name": "collections",643        "type": "address[]"644      }645    ],646    "name": "setCollectionNesting",647    "outputs": [],648    "stateMutability": "nonpayable",649    "type": "function"650  },651  {652    "inputs": [653      {654        "components": [655          { "internalType": "string", "name": "key", "type": "string" },656          { "internalType": "bytes", "name": "value", "type": "bytes" }657        ],658        "internalType": "struct Property[]",659        "name": "properties",660        "type": "tuple[]"661      }662    ],663    "name": "setCollectionProperties",664    "outputs": [],665    "stateMutability": "nonpayable",666    "type": "function"667  },668  {669    "inputs": [670      {671        "components": [672          { "internalType": "address", "name": "eth", "type": "address" },673          { "internalType": "uint256", "name": "sub", "type": "uint256" }674        ],675        "internalType": "struct EthCrossAccount",676        "name": "sponsor",677        "type": "tuple"678      }679    ],680    "name": "setCollectionSponsorCross",681    "outputs": [],682    "stateMutability": "nonpayable",683    "type": "function"684  },685  {686    "inputs": [687      { "internalType": "uint256", "name": "tokenId", "type": "uint256" },688      {689        "components": [690          { "internalType": "string", "name": "key", "type": "string" },691          { "internalType": "bytes", "name": "value", "type": "bytes" }692        ],693        "internalType": "struct Property[]",694        "name": "properties",695        "type": "tuple[]"696      }697    ],698    "name": "setProperties",699    "outputs": [],700    "stateMutability": "nonpayable",701    "type": "function"702  },703  {704    "inputs": [705      {706        "components": [707          { "internalType": "string", "name": "field_0", "type": "string" },708          {709            "components": [710              {711                "internalType": "enum EthTokenPermissions",712                "name": "field_0",713                "type": "uint8"714              },715              { "internalType": "bool", "name": "field_1", "type": "bool" }716            ],717            "internalType": "struct Tuple46[]",718            "name": "field_1",719            "type": "tuple[]"720          }721        ],722        "internalType": "struct Tuple48[]",723        "name": "permissions",724        "type": "tuple[]"725      }726    ],727    "name": "setTokenPropertyPermissions",728    "outputs": [],729    "stateMutability": "nonpayable",730    "type": "function"731  },732  {733    "inputs": [734      { "internalType": "bytes4", "name": "interfaceID", "type": "bytes4" }735    ],736    "name": "supportsInterface",737    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],738    "stateMutability": "view",739    "type": "function"740  },741  {742    "inputs": [],743    "name": "symbol",744    "outputs": [{ "internalType": "string", "name": "", "type": "string" }],745    "stateMutability": "view",746    "type": "function"747  },748  {749    "inputs": [750      { "internalType": "uint256", "name": "index", "type": "uint256" }751    ],752    "name": "tokenByIndex",753    "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],754    "stateMutability": "view",755    "type": "function"756  },757  {758    "inputs": [759      { "internalType": "address", "name": "owner", "type": "address" },760      { "internalType": "uint256", "name": "index", "type": "uint256" }761    ],762    "name": "tokenOfOwnerByIndex",763    "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],764    "stateMutability": "view",765    "type": "function"766  },767  {768    "inputs": [],769    "name": "tokenPropertyPermissions",770    "outputs": [771      {772        "components": [773          { "internalType": "string", "name": "field_0", "type": "string" },774          {775            "components": [776              {777                "internalType": "enum EthTokenPermissions",778                "name": "field_0",779                "type": "uint8"780              },781              { "internalType": "bool", "name": "field_1", "type": "bool" }782            ],783            "internalType": "struct Tuple46[]",784            "name": "field_1",785            "type": "tuple[]"786          }787        ],788        "internalType": "struct Tuple48[]",789        "name": "",790        "type": "tuple[]"791      }792    ],793    "stateMutability": "view",794    "type": "function"795  },796  {797    "inputs": [798      { "internalType": "uint256", "name": "tokenId", "type": "uint256" }799    ],800    "name": "tokenURI",801    "outputs": [{ "internalType": "string", "name": "", "type": "string" }],802    "stateMutability": "view",803    "type": "function"804  },805  {806    "inputs": [],807    "name": "totalSupply",808    "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],809    "stateMutability": "view",810    "type": "function"811  },812  {813    "inputs": [814      { "internalType": "address", "name": "to", "type": "address" },815      { "internalType": "uint256", "name": "tokenId", "type": "uint256" }816    ],817    "name": "transfer",818    "outputs": [],819    "stateMutability": "nonpayable",820    "type": "function"821  },822  {823    "inputs": [824      {825        "components": [826          { "internalType": "address", "name": "eth", "type": "address" },827          { "internalType": "uint256", "name": "sub", "type": "uint256" }828        ],829        "internalType": "struct EthCrossAccount",830        "name": "to",831        "type": "tuple"832      },833      { "internalType": "uint256", "name": "tokenId", "type": "uint256" }834    ],835    "name": "transferCross",836    "outputs": [],837    "stateMutability": "nonpayable",838    "type": "function"839  },840  {841    "inputs": [842      { "internalType": "address", "name": "from", "type": "address" },843      { "internalType": "address", "name": "to", "type": "address" },844      { "internalType": "uint256", "name": "tokenId", "type": "uint256" }845    ],846    "name": "transferFrom",847    "outputs": [],848    "stateMutability": "nonpayable",849    "type": "function"850  },851  {852    "inputs": [853      {854        "components": [855          { "internalType": "address", "name": "eth", "type": "address" },856          { "internalType": "uint256", "name": "sub", "type": "uint256" }857        ],858        "internalType": "struct EthCrossAccount",859        "name": "from",860        "type": "tuple"861      },862      {863        "components": [864          { "internalType": "address", "name": "eth", "type": "address" },865          { "internalType": "uint256", "name": "sub", "type": "uint256" }866        ],867        "internalType": "struct EthCrossAccount",868        "name": "to",869        "type": "tuple"870      },871      { "internalType": "uint256", "name": "tokenId", "type": "uint256" }872    ],873    "name": "transferFromCross",874    "outputs": [],875    "stateMutability": "nonpayable",876    "type": "function"877  },878  {879    "inputs": [],880    "name": "uniqueCollectionType",881    "outputs": [{ "internalType": "string", "name": "", "type": "string" }],882    "stateMutability": "view",883    "type": "function"884  }885]
after · tests/src/eth/abi/nonFungible.json
1[2  {3    "anonymous": false,4    "inputs": [5      {6        "indexed": true,7        "internalType": "address",8        "name": "owner",9        "type": "address"10      },11      {12        "indexed": true,13        "internalType": "address",14        "name": "approved",15        "type": "address"16      },17      {18        "indexed": true,19        "internalType": "uint256",20        "name": "tokenId",21        "type": "uint256"22      }23    ],24    "name": "Approval",25    "type": "event"26  },27  {28    "anonymous": false,29    "inputs": [30      {31        "indexed": true,32        "internalType": "address",33        "name": "owner",34        "type": "address"35      },36      {37        "indexed": true,38        "internalType": "address",39        "name": "operator",40        "type": "address"41      },42      {43        "indexed": false,44        "internalType": "bool",45        "name": "approved",46        "type": "bool"47      }48    ],49    "name": "ApprovalForAll",50    "type": "event"51  },52  {53    "anonymous": false,54    "inputs": [],55    "name": "MintingFinished",56    "type": "event"57  },58  {59    "anonymous": false,60    "inputs": [61      {62        "indexed": true,63        "internalType": "address",64        "name": "from",65        "type": "address"66      },67      {68        "indexed": true,69        "internalType": "address",70        "name": "to",71        "type": "address"72      },73      {74        "indexed": true,75        "internalType": "uint256",76        "name": "tokenId",77        "type": "uint256"78      }79    ],80    "name": "Transfer",81    "type": "event"82  },83  {84    "inputs": [85      {86        "components": [87          { "internalType": "address", "name": "eth", "type": "address" },88          { "internalType": "uint256", "name": "sub", "type": "uint256" }89        ],90        "internalType": "struct EthCrossAccount",91        "name": "newAdmin",92        "type": "tuple"93      }94    ],95    "name": "addCollectionAdminCross",96    "outputs": [],97    "stateMutability": "nonpayable",98    "type": "function"99  },100  {101    "inputs": [102      {103        "components": [104          { "internalType": "address", "name": "eth", "type": "address" },105          { "internalType": "uint256", "name": "sub", "type": "uint256" }106        ],107        "internalType": "struct EthCrossAccount",108        "name": "user",109        "type": "tuple"110      }111    ],112    "name": "addToCollectionAllowListCross",113    "outputs": [],114    "stateMutability": "nonpayable",115    "type": "function"116  },117  {118    "inputs": [119      {120        "components": [121          { "internalType": "address", "name": "eth", "type": "address" },122          { "internalType": "uint256", "name": "sub", "type": "uint256" }123        ],124        "internalType": "struct EthCrossAccount",125        "name": "user",126        "type": "tuple"127      }128    ],129    "name": "allowlistedCross",130    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],131    "stateMutability": "view",132    "type": "function"133  },134  {135    "inputs": [136      { "internalType": "address", "name": "approved", "type": "address" },137      { "internalType": "uint256", "name": "tokenId", "type": "uint256" }138    ],139    "name": "approve",140    "outputs": [],141    "stateMutability": "nonpayable",142    "type": "function"143  },144  {145    "inputs": [146      {147        "components": [148          { "internalType": "address", "name": "eth", "type": "address" },149          { "internalType": "uint256", "name": "sub", "type": "uint256" }150        ],151        "internalType": "struct EthCrossAccount",152        "name": "approved",153        "type": "tuple"154      },155      { "internalType": "uint256", "name": "tokenId", "type": "uint256" }156    ],157    "name": "approveCross",158    "outputs": [],159    "stateMutability": "nonpayable",160    "type": "function"161  },162  {163    "inputs": [164      { "internalType": "address", "name": "owner", "type": "address" }165    ],166    "name": "balanceOf",167    "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],168    "stateMutability": "view",169    "type": "function"170  },171  {172    "inputs": [173      { "internalType": "uint256", "name": "tokenId", "type": "uint256" }174    ],175    "name": "burn",176    "outputs": [],177    "stateMutability": "nonpayable",178    "type": "function"179  },180  {181    "inputs": [182      {183        "components": [184          { "internalType": "address", "name": "eth", "type": "address" },185          { "internalType": "uint256", "name": "sub", "type": "uint256" }186        ],187        "internalType": "struct EthCrossAccount",188        "name": "from",189        "type": "tuple"190      },191      { "internalType": "uint256", "name": "tokenId", "type": "uint256" }192    ],193    "name": "burnFromCross",194    "outputs": [],195    "stateMutability": "nonpayable",196    "type": "function"197  },198  {199    "inputs": [200      {201        "components": [202          { "internalType": "address", "name": "eth", "type": "address" },203          { "internalType": "uint256", "name": "sub", "type": "uint256" }204        ],205        "internalType": "struct EthCrossAccount",206        "name": "newOwner",207        "type": "tuple"208      }209    ],210    "name": "changeCollectionOwnerCross",211    "outputs": [],212    "stateMutability": "nonpayable",213    "type": "function"214  },215  {216    "inputs": [],217    "name": "collectionAdmins",218    "outputs": [219      {220        "components": [221          { "internalType": "address", "name": "eth", "type": "address" },222          { "internalType": "uint256", "name": "sub", "type": "uint256" }223        ],224        "internalType": "struct EthCrossAccount[]",225        "name": "",226        "type": "tuple[]"227      }228    ],229    "stateMutability": "view",230    "type": "function"231  },232  {233    "inputs": [],234    "name": "collectionHelperAddress",235    "outputs": [{ "internalType": "address", "name": "", "type": "address" }],236    "stateMutability": "view",237    "type": "function"238  },239  {240    "inputs": [],241    "name": "collectionLimits",242    "outputs": [243      {244        "components": [245          {246            "internalType": "enum CollectionLimits",247            "name": "field_0",248            "type": "uint8"249          },250          { "internalType": "bool", "name": "field_1", "type": "bool" },251          { "internalType": "uint256", "name": "field_2", "type": "uint256" }252        ],253        "internalType": "struct Tuple33[]",254        "name": "",255        "type": "tuple[]"256      }257    ],258    "stateMutability": "view",259    "type": "function"260  },261  {262    "inputs": [],263    "name": "collectionNestingPermissions",264    "outputs": [265      {266        "components": [267          {268            "internalType": "enum CollectionPermissions",269            "name": "field_0",270            "type": "uint8"271          },272          { "internalType": "bool", "name": "field_1", "type": "bool" }273        ],274        "internalType": "struct Tuple42[]",275        "name": "",276        "type": "tuple[]"277      }278    ],279    "stateMutability": "view",280    "type": "function"281  },282  {283    "inputs": [],284    "name": "collectionNestingRestrictedCollectionIds",285    "outputs": [286      {287        "components": [288          { "internalType": "bool", "name": "field_0", "type": "bool" },289          {290            "internalType": "uint256[]",291            "name": "field_1",292            "type": "uint256[]"293          }294        ],295        "internalType": "struct Tuple39",296        "name": "",297        "type": "tuple"298      }299    ],300    "stateMutability": "view",301    "type": "function"302  },303  {304    "inputs": [],305    "name": "collectionOwner",306    "outputs": [307      {308        "components": [309          { "internalType": "address", "name": "eth", "type": "address" },310          { "internalType": "uint256", "name": "sub", "type": "uint256" }311        ],312        "internalType": "struct EthCrossAccount",313        "name": "",314        "type": "tuple"315      }316    ],317    "stateMutability": "view",318    "type": "function"319  },320  {321    "inputs": [322      { "internalType": "string[]", "name": "keys", "type": "string[]" }323    ],324    "name": "collectionProperties",325    "outputs": [326      {327        "components": [328          { "internalType": "string", "name": "key", "type": "string" },329          { "internalType": "bytes", "name": "value", "type": "bytes" }330        ],331        "internalType": "struct Property[]",332        "name": "",333        "type": "tuple[]"334      }335    ],336    "stateMutability": "view",337    "type": "function"338  },339  {340    "inputs": [{ "internalType": "string", "name": "key", "type": "string" }],341    "name": "collectionProperty",342    "outputs": [{ "internalType": "bytes", "name": "", "type": "bytes" }],343    "stateMutability": "view",344    "type": "function"345  },346  {347    "inputs": [],348    "name": "collectionSponsor",349    "outputs": [350      {351        "components": [352          { "internalType": "address", "name": "field_0", "type": "address" },353          { "internalType": "uint256", "name": "field_1", "type": "uint256" }354        ],355        "internalType": "struct Tuple30",356        "name": "",357        "type": "tuple"358      }359    ],360    "stateMutability": "view",361    "type": "function"362  },363  {364    "inputs": [],365    "name": "confirmCollectionSponsorship",366    "outputs": [],367    "stateMutability": "nonpayable",368    "type": "function"369  },370  {371    "inputs": [],372    "name": "contractAddress",373    "outputs": [{ "internalType": "address", "name": "", "type": "address" }],374    "stateMutability": "view",375    "type": "function"376  },377  {378    "inputs": [379      { "internalType": "uint256", "name": "tokenId", "type": "uint256" }380    ],381    "name": "crossOwnerOf",382    "outputs": [383      {384        "components": [385          { "internalType": "address", "name": "eth", "type": "address" },386          { "internalType": "uint256", "name": "sub", "type": "uint256" }387        ],388        "internalType": "struct EthCrossAccount",389        "name": "",390        "type": "tuple"391      }392    ],393    "stateMutability": "view",394    "type": "function"395  },396  {397    "inputs": [398      { "internalType": "string[]", "name": "keys", "type": "string[]" }399    ],400    "name": "deleteCollectionProperties",401    "outputs": [],402    "stateMutability": "nonpayable",403    "type": "function"404  },405  {406    "inputs": [407      { "internalType": "uint256", "name": "tokenId", "type": "uint256" },408      { "internalType": "string[]", "name": "keys", "type": "string[]" }409    ],410    "name": "deleteProperties",411    "outputs": [],412    "stateMutability": "nonpayable",413    "type": "function"414  },415  {416    "inputs": [],417    "name": "description",418    "outputs": [{ "internalType": "string", "name": "", "type": "string" }],419    "stateMutability": "view",420    "type": "function"421  },422  {423    "inputs": [],424    "name": "finishMinting",425    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],426    "stateMutability": "nonpayable",427    "type": "function"428  },429  {430    "inputs": [431      { "internalType": "uint256", "name": "tokenId", "type": "uint256" }432    ],433    "name": "getApproved",434    "outputs": [{ "internalType": "address", "name": "", "type": "address" }],435    "stateMutability": "view",436    "type": "function"437  },438  {439    "inputs": [],440    "name": "hasCollectionPendingSponsor",441    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],442    "stateMutability": "view",443    "type": "function"444  },445  {446    "inputs": [447      { "internalType": "address", "name": "owner", "type": "address" },448      { "internalType": "address", "name": "operator", "type": "address" }449    ],450    "name": "isApprovedForAll",451    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],452    "stateMutability": "view",453    "type": "function"454  },455  {456    "inputs": [457      {458        "components": [459          { "internalType": "address", "name": "eth", "type": "address" },460          { "internalType": "uint256", "name": "sub", "type": "uint256" }461        ],462        "internalType": "struct EthCrossAccount",463        "name": "user",464        "type": "tuple"465      }466    ],467    "name": "isOwnerOrAdminCross",468    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],469    "stateMutability": "view",470    "type": "function"471  },472  {473    "inputs": [{ "internalType": "address", "name": "to", "type": "address" }],474    "name": "mint",475    "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],476    "stateMutability": "nonpayable",477    "type": "function"478  },479  {480    "inputs": [481      { "internalType": "address", "name": "to", "type": "address" },482      { "internalType": "string", "name": "tokenUri", "type": "string" }483    ],484    "name": "mintWithTokenURI",485    "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],486    "stateMutability": "nonpayable",487    "type": "function"488  },489  {490    "inputs": [],491    "name": "mintingFinished",492    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],493    "stateMutability": "view",494    "type": "function"495  },496  {497    "inputs": [],498    "name": "name",499    "outputs": [{ "internalType": "string", "name": "", "type": "string" }],500    "stateMutability": "view",501    "type": "function"502  },503  {504    "inputs": [],505    "name": "nextTokenId",506    "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],507    "stateMutability": "view",508    "type": "function"509  },510  {511    "inputs": [512      { "internalType": "uint256", "name": "tokenId", "type": "uint256" }513    ],514    "name": "ownerOf",515    "outputs": [{ "internalType": "address", "name": "", "type": "address" }],516    "stateMutability": "view",517    "type": "function"518  },519  {520    "inputs": [521      { "internalType": "uint256", "name": "tokenId", "type": "uint256" },522      { "internalType": "string[]", "name": "keys", "type": "string[]" }523    ],524    "name": "properties",525    "outputs": [526      {527        "components": [528          { "internalType": "string", "name": "key", "type": "string" },529          { "internalType": "bytes", "name": "value", "type": "bytes" }530        ],531        "internalType": "struct Property[]",532        "name": "",533        "type": "tuple[]"534      }535    ],536    "stateMutability": "view",537    "type": "function"538  },539  {540    "inputs": [541      { "internalType": "uint256", "name": "tokenId", "type": "uint256" },542      { "internalType": "string", "name": "key", "type": "string" }543    ],544    "name": "property",545    "outputs": [{ "internalType": "bytes", "name": "", "type": "bytes" }],546    "stateMutability": "view",547    "type": "function"548  },549  {550    "inputs": [551      {552        "components": [553          { "internalType": "address", "name": "eth", "type": "address" },554          { "internalType": "uint256", "name": "sub", "type": "uint256" }555        ],556        "internalType": "struct EthCrossAccount",557        "name": "admin",558        "type": "tuple"559      }560    ],561    "name": "removeCollectionAdminCross",562    "outputs": [],563    "stateMutability": "nonpayable",564    "type": "function"565  },566  {567    "inputs": [],568    "name": "removeCollectionSponsor",569    "outputs": [],570    "stateMutability": "nonpayable",571    "type": "function"572  },573  {574    "inputs": [575      {576        "components": [577          { "internalType": "address", "name": "eth", "type": "address" },578          { "internalType": "uint256", "name": "sub", "type": "uint256" }579        ],580        "internalType": "struct EthCrossAccount",581        "name": "user",582        "type": "tuple"583      }584    ],585    "name": "removeFromCollectionAllowListCross",586    "outputs": [],587    "stateMutability": "nonpayable",588    "type": "function"589  },590  {591    "inputs": [592      { "internalType": "address", "name": "from", "type": "address" },593      { "internalType": "address", "name": "to", "type": "address" },594      { "internalType": "uint256", "name": "tokenId", "type": "uint256" }595    ],596    "name": "safeTransferFrom",597    "outputs": [],598    "stateMutability": "nonpayable",599    "type": "function"600  },601  {602    "inputs": [603      { "internalType": "address", "name": "from", "type": "address" },604      { "internalType": "address", "name": "to", "type": "address" },605      { "internalType": "uint256", "name": "tokenId", "type": "uint256" },606      { "internalType": "bytes", "name": "data", "type": "bytes" }607    ],608    "name": "safeTransferFrom",609    "outputs": [],610    "stateMutability": "nonpayable",611    "type": "function"612  },613  {614    "inputs": [615      { "internalType": "address", "name": "operator", "type": "address" },616      { "internalType": "bool", "name": "approved", "type": "bool" }617    ],618    "name": "setApprovalForAll",619    "outputs": [],620    "stateMutability": "nonpayable",621    "type": "function"622  },623  {624    "inputs": [{ "internalType": "uint8", "name": "mode", "type": "uint8" }],625    "name": "setCollectionAccess",626    "outputs": [],627    "stateMutability": "nonpayable",628    "type": "function"629  },630  {631    "inputs": [632      {633        "internalType": "enum CollectionLimits",634        "name": "limit",635        "type": "uint8"636      },637      { "internalType": "bool", "name": "status", "type": "bool" },638      { "internalType": "uint256", "name": "value", "type": "uint256" }639    ],640    "name": "setCollectionLimit",641    "outputs": [],642    "stateMutability": "nonpayable",643    "type": "function"644  },645  {646    "inputs": [{ "internalType": "bool", "name": "mode", "type": "bool" }],647    "name": "setCollectionMintMode",648    "outputs": [],649    "stateMutability": "nonpayable",650    "type": "function"651  },652  {653    "inputs": [{ "internalType": "bool", "name": "enable", "type": "bool" }],654    "name": "setCollectionNesting",655    "outputs": [],656    "stateMutability": "nonpayable",657    "type": "function"658  },659  {660    "inputs": [661      { "internalType": "bool", "name": "enable", "type": "bool" },662      {663        "internalType": "address[]",664        "name": "collections",665        "type": "address[]"666      }667    ],668    "name": "setCollectionNesting",669    "outputs": [],670    "stateMutability": "nonpayable",671    "type": "function"672  },673  {674    "inputs": [675      {676        "components": [677          { "internalType": "string", "name": "key", "type": "string" },678          { "internalType": "bytes", "name": "value", "type": "bytes" }679        ],680        "internalType": "struct Property[]",681        "name": "properties",682        "type": "tuple[]"683      }684    ],685    "name": "setCollectionProperties",686    "outputs": [],687    "stateMutability": "nonpayable",688    "type": "function"689  },690  {691    "inputs": [692      {693        "components": [694          { "internalType": "address", "name": "eth", "type": "address" },695          { "internalType": "uint256", "name": "sub", "type": "uint256" }696        ],697        "internalType": "struct EthCrossAccount",698        "name": "sponsor",699        "type": "tuple"700      }701    ],702    "name": "setCollectionSponsorCross",703    "outputs": [],704    "stateMutability": "nonpayable",705    "type": "function"706  },707  {708    "inputs": [709      { "internalType": "uint256", "name": "tokenId", "type": "uint256" },710      {711        "components": [712          { "internalType": "string", "name": "key", "type": "string" },713          { "internalType": "bytes", "name": "value", "type": "bytes" }714        ],715        "internalType": "struct Property[]",716        "name": "properties",717        "type": "tuple[]"718      }719    ],720    "name": "setProperties",721    "outputs": [],722    "stateMutability": "nonpayable",723    "type": "function"724  },725  {726    "inputs": [727      {728        "components": [729          { "internalType": "string", "name": "field_0", "type": "string" },730          {731            "components": [732              {733                "internalType": "enum EthTokenPermissions",734                "name": "field_0",735                "type": "uint8"736              },737              { "internalType": "bool", "name": "field_1", "type": "bool" }738            ],739            "internalType": "struct Tuple46[]",740            "name": "field_1",741            "type": "tuple[]"742          }743        ],744        "internalType": "struct Tuple48[]",745        "name": "permissions",746        "type": "tuple[]"747      }748    ],749    "name": "setTokenPropertyPermissions",750    "outputs": [],751    "stateMutability": "nonpayable",752    "type": "function"753  },754  {755    "inputs": [756      { "internalType": "bytes4", "name": "interfaceID", "type": "bytes4" }757    ],758    "name": "supportsInterface",759    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],760    "stateMutability": "view",761    "type": "function"762  },763  {764    "inputs": [],765    "name": "symbol",766    "outputs": [{ "internalType": "string", "name": "", "type": "string" }],767    "stateMutability": "view",768    "type": "function"769  },770  {771    "inputs": [772      { "internalType": "uint256", "name": "index", "type": "uint256" }773    ],774    "name": "tokenByIndex",775    "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],776    "stateMutability": "view",777    "type": "function"778  },779  {780    "inputs": [781      { "internalType": "address", "name": "owner", "type": "address" },782      { "internalType": "uint256", "name": "index", "type": "uint256" }783    ],784    "name": "tokenOfOwnerByIndex",785    "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],786    "stateMutability": "view",787    "type": "function"788  },789  {790    "inputs": [],791    "name": "tokenPropertyPermissions",792    "outputs": [793      {794        "components": [795          { "internalType": "string", "name": "field_0", "type": "string" },796          {797            "components": [798              {799                "internalType": "enum EthTokenPermissions",800                "name": "field_0",801                "type": "uint8"802              },803              { "internalType": "bool", "name": "field_1", "type": "bool" }804            ],805            "internalType": "struct Tuple46[]",806            "name": "field_1",807            "type": "tuple[]"808          }809        ],810        "internalType": "struct Tuple48[]",811        "name": "",812        "type": "tuple[]"813      }814    ],815    "stateMutability": "view",816    "type": "function"817  },818  {819    "inputs": [820      { "internalType": "uint256", "name": "tokenId", "type": "uint256" }821    ],822    "name": "tokenURI",823    "outputs": [{ "internalType": "string", "name": "", "type": "string" }],824    "stateMutability": "view",825    "type": "function"826  },827  {828    "inputs": [],829    "name": "totalSupply",830    "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],831    "stateMutability": "view",832    "type": "function"833  },834  {835    "inputs": [836      { "internalType": "address", "name": "to", "type": "address" },837      { "internalType": "uint256", "name": "tokenId", "type": "uint256" }838    ],839    "name": "transfer",840    "outputs": [],841    "stateMutability": "nonpayable",842    "type": "function"843  },844  {845    "inputs": [846      {847        "components": [848          { "internalType": "address", "name": "eth", "type": "address" },849          { "internalType": "uint256", "name": "sub", "type": "uint256" }850        ],851        "internalType": "struct EthCrossAccount",852        "name": "to",853        "type": "tuple"854      },855      { "internalType": "uint256", "name": "tokenId", "type": "uint256" }856    ],857    "name": "transferCross",858    "outputs": [],859    "stateMutability": "nonpayable",860    "type": "function"861  },862  {863    "inputs": [864      { "internalType": "address", "name": "from", "type": "address" },865      { "internalType": "address", "name": "to", "type": "address" },866      { "internalType": "uint256", "name": "tokenId", "type": "uint256" }867    ],868    "name": "transferFrom",869    "outputs": [],870    "stateMutability": "nonpayable",871    "type": "function"872  },873  {874    "inputs": [875      {876        "components": [877          { "internalType": "address", "name": "eth", "type": "address" },878          { "internalType": "uint256", "name": "sub", "type": "uint256" }879        ],880        "internalType": "struct EthCrossAccount",881        "name": "from",882        "type": "tuple"883      },884      {885        "components": [886          { "internalType": "address", "name": "eth", "type": "address" },887          { "internalType": "uint256", "name": "sub", "type": "uint256" }888        ],889        "internalType": "struct EthCrossAccount",890        "name": "to",891        "type": "tuple"892      },893      { "internalType": "uint256", "name": "tokenId", "type": "uint256" }894    ],895    "name": "transferFromCross",896    "outputs": [],897    "stateMutability": "nonpayable",898    "type": "function"899  },900  {901    "inputs": [],902    "name": "uniqueCollectionType",903    "outputs": [{ "internalType": "string", "name": "", "type": "string" }],904    "stateMutability": "view",905    "type": "function"906  }907]
modifiedtests/src/eth/abi/reFungible.jsondiffbeforeafterboth
--- a/tests/src/eth/abi/reFungible.json
+++ b/tests/src/eth/abi/reFungible.json
@@ -220,6 +220,28 @@
   },
   {
     "inputs": [],
+    "name": "collectionLimits",
+    "outputs": [
+      {
+        "components": [
+          {
+            "internalType": "enum CollectionLimits",
+            "name": "field_0",
+            "type": "uint8"
+          },
+          { "internalType": "bool", "name": "field_1", "type": "bool" },
+          { "internalType": "uint256", "name": "field_2", "type": "uint256" }
+        ],
+        "internalType": "struct Tuple32[]",
+        "name": "",
+        "type": "tuple[]"
+      }
+    ],
+    "stateMutability": "view",
+    "type": "function"
+  },
+  {
+    "inputs": [],
     "name": "collectionNestingPermissions",
     "outputs": [
       {
@@ -231,7 +253,7 @@
           },
           { "internalType": "bool", "name": "field_1", "type": "bool" }
         ],
-        "internalType": "struct Tuple36[]",
+        "internalType": "struct Tuple41[]",
         "name": "",
         "type": "tuple[]"
       }
@@ -252,7 +274,7 @@
             "type": "uint256[]"
           }
         ],
-        "internalType": "struct Tuple33",
+        "internalType": "struct Tuple38",
         "name": "",
         "type": "tuple"
       }
modifiedtests/src/eth/api/UniqueFungible.soldiffbeforeafterboth
--- a/tests/src/eth/api/UniqueFungible.sol
+++ b/tests/src/eth/api/UniqueFungible.sol
@@ -13,11 +13,7 @@
 }
 
 /// @title A contract that allows you to work with collections.
-<<<<<<< HEAD
-/// @dev the ERC-165 identifier for this interface is 0xb5e1747f
-=======
-/// @dev the ERC-165 identifier for this interface is 0xf8ebdec0
->>>>>>> 32e011ce... added `collectionLimits` function in `Collection` interface,  changed signture for `setCollectionLimit`
+/// @dev the ERC-165 identifier for this interface is 0x81172a75
 interface Collection is Dummy, ERC165 {
 	// /// Set collection property.
 	// ///
@@ -137,6 +133,7 @@
 	///  	"ownerCanTransfer",
 	/// 	"ownerCanDestroy",
 	/// 	"transfersEnabled"
+	/// @param status enable\disable limit. Works only with `true`.
 	/// @param value Value of the limit.
 	/// @dev EVM selector for this function is: 0x88150bd0,
 	///  or in textual repr: setCollectionLimit(uint8,bool,uint256)
@@ -194,12 +191,12 @@
 	/// Returns nesting for a collection
 	/// @dev EVM selector for this function is: 0x22d25bfe,
 	///  or in textual repr: collectionNestingRestrictedCollectionIds()
-	function collectionNestingRestrictedCollectionIds() external view returns (Tuple20 memory);
+	function collectionNestingRestrictedCollectionIds() external view returns (Tuple24 memory);
 
 	/// Returns permissions for a collection
 	/// @dev EVM selector for this function is: 0x5b2eaf4b,
 	///  or in textual repr: collectionNestingPermissions()
-	function collectionNestingPermissions() external view returns (Tuple23[] memory);
+	function collectionNestingPermissions() external view returns (Tuple27[] memory);
 
 	/// Set the collection access method.
 	/// @param mode Access mode
@@ -313,9 +310,8 @@
 	uint256 sub;
 }
 
-<<<<<<< HEAD
 /// @dev anonymous struct
-struct Tuple23 {
+struct Tuple27 {
 	CollectionPermissions field_0;
 	bool field_1;
 }
@@ -326,10 +322,11 @@
 }
 
 /// @dev anonymous struct
-struct Tuple20 {
+struct Tuple24 {
 	bool field_0;
 	uint256[] field_1;
-=======
+}
+
 enum CollectionLimits {
 	AccountTokenOwnership,
 	SponsoredDataSize,
@@ -347,7 +344,6 @@
 	CollectionLimits field_0;
 	bool field_1;
 	uint256 field_2;
->>>>>>> 32e011ce... added `collectionLimits` function in `Collection` interface,  changed signture for `setCollectionLimit`
 }
 
 /// @dev Property struct
modifiedtests/src/eth/api/UniqueNFT.soldiffbeforeafterboth
--- a/tests/src/eth/api/UniqueNFT.sol
+++ b/tests/src/eth/api/UniqueNFT.sol
@@ -104,11 +104,7 @@
 }
 
 /// @title A contract that allows you to work with collections.
-<<<<<<< HEAD
-/// @dev the ERC-165 identifier for this interface is 0xb5e1747f
-=======
-/// @dev the ERC-165 identifier for this interface is 0xf8ebdec0
->>>>>>> 32e011ce... added `collectionLimits` function in `Collection` interface,  changed signture for `setCollectionLimit`
+/// @dev the ERC-165 identifier for this interface is 0x81172a75
 interface Collection is Dummy, ERC165 {
 	// /// Set collection property.
 	// ///
@@ -228,6 +224,7 @@
 	///  	"ownerCanTransfer",
 	/// 	"ownerCanDestroy",
 	/// 	"transfersEnabled"
+	/// @param status enable\disable limit. Works only with `true`.
 	/// @param value Value of the limit.
 	/// @dev EVM selector for this function is: 0x88150bd0,
 	///  or in textual repr: setCollectionLimit(uint8,bool,uint256)
@@ -285,12 +282,12 @@
 	/// Returns nesting for a collection
 	/// @dev EVM selector for this function is: 0x22d25bfe,
 	///  or in textual repr: collectionNestingRestrictedCollectionIds()
-	function collectionNestingRestrictedCollectionIds() external view returns (Tuple31 memory);
+	function collectionNestingRestrictedCollectionIds() external view returns (Tuple35 memory);
 
 	/// Returns permissions for a collection
 	/// @dev EVM selector for this function is: 0x5b2eaf4b,
 	///  or in textual repr: collectionNestingPermissions()
-	function collectionNestingPermissions() external view returns (Tuple34[] memory);
+	function collectionNestingPermissions() external view returns (Tuple38[] memory);
 
 	/// Set the collection access method.
 	/// @param mode Access mode
@@ -404,6 +401,23 @@
 	uint256 sub;
 }
 
+/// @dev anonymous struct
+struct Tuple38 {
+	CollectionPermissions field_0;
+	bool field_1;
+}
+
+enum CollectionPermissions {
+	CollectionAdmin,
+	TokenOwner
+}
+
+/// @dev anonymous struct
+struct Tuple35 {
+	bool field_0;
+	uint256[] field_1;
+}
+
 enum CollectionLimits {
 	AccountTokenOwnership,
 	SponsoredDataSize,
@@ -421,23 +435,6 @@
 	CollectionLimits field_0;
 	bool field_1;
 	uint256 field_2;
-}
-
-/// @dev anonymous struct
-struct Tuple34 {
-	CollectionPermissions field_0;
-	bool field_1;
-}
-
-enum CollectionPermissions {
-	CollectionAdmin,
-	TokenOwner
-}
-
-/// @dev anonymous struct
-struct Tuple31 {
-	bool field_0;
-	uint256[] field_1;
 }
 
 /// @dev anonymous struct
modifiedtests/src/eth/api/UniqueRefungible.soldiffbeforeafterboth
--- a/tests/src/eth/api/UniqueRefungible.sol
+++ b/tests/src/eth/api/UniqueRefungible.sol
@@ -105,11 +105,7 @@
 }
 
 /// @title A contract that allows you to work with collections.
-<<<<<<< HEAD
-/// @dev the ERC-165 identifier for this interface is 0xb5e1747f
-=======
-/// @dev the ERC-165 identifier for this interface is 0xf8ebdec0
->>>>>>> 32e011ce... added `collectionLimits` function in `Collection` interface,  changed signture for `setCollectionLimit`
+/// @dev the ERC-165 identifier for this interface is 0x81172a75
 interface Collection is Dummy, ERC165 {
 	// /// Set collection property.
 	// ///
@@ -229,6 +225,7 @@
 	///  	"ownerCanTransfer",
 	/// 	"ownerCanDestroy",
 	/// 	"transfersEnabled"
+	/// @param status enable\disable limit. Works only with `true`.
 	/// @param value Value of the limit.
 	/// @dev EVM selector for this function is: 0x88150bd0,
 	///  or in textual repr: setCollectionLimit(uint8,bool,uint256)
@@ -286,12 +283,12 @@
 	/// Returns nesting for a collection
 	/// @dev EVM selector for this function is: 0x22d25bfe,
 	///  or in textual repr: collectionNestingRestrictedCollectionIds()
-	function collectionNestingRestrictedCollectionIds() external view returns (Tuple30 memory);
+	function collectionNestingRestrictedCollectionIds() external view returns (Tuple34 memory);
 
 	/// Returns permissions for a collection
 	/// @dev EVM selector for this function is: 0x5b2eaf4b,
 	///  or in textual repr: collectionNestingPermissions()
-	function collectionNestingPermissions() external view returns (Tuple33[] memory);
+	function collectionNestingPermissions() external view returns (Tuple37[] memory);
 
 	/// Set the collection access method.
 	/// @param mode Access mode
@@ -405,6 +402,23 @@
 	uint256 sub;
 }
 
+/// @dev anonymous struct
+struct Tuple37 {
+	CollectionPermissions field_0;
+	bool field_1;
+}
+
+enum CollectionPermissions {
+	CollectionAdmin,
+	TokenOwner
+}
+
+/// @dev anonymous struct
+struct Tuple34 {
+	bool field_0;
+	uint256[] field_1;
+}
+
 enum CollectionLimits {
 	AccountTokenOwnership,
 	SponsoredDataSize,
@@ -422,23 +436,6 @@
 	CollectionLimits field_0;
 	bool field_1;
 	uint256 field_2;
-}
-
-/// @dev anonymous struct
-struct Tuple33 {
-	CollectionPermissions field_0;
-	bool field_1;
-}
-
-enum CollectionPermissions {
-	CollectionAdmin,
-	TokenOwner
-}
-
-/// @dev anonymous struct
-struct Tuple30 {
-	bool field_0;
-	uint256[] field_1;
 }
 
 /// @dev anonymous struct