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

difftreelog

feat change `collection_properties` return type to named struct

Grigoriy Simonov2022-11-23parent: #93efc9e.patch.diff
in: master

16 files changed

modifiedpallets/common/src/erc.rsdiffbeforeafterboth
--- a/pallets/common/src/erc.rs
+++ b/pallets/common/src/erc.rs
@@ -178,7 +178,7 @@
 	///
 	/// @param keys Properties keys. Empty keys for all propertyes.
 	/// @return Vector of properties key/value pairs.
-	fn collection_properties(&self, keys: Vec<string>) -> Result<Vec<(string, bytes)>> {
+	fn collection_properties(&self, keys: Vec<string>) -> Result<Vec<PropertyStruct>> {
 		let keys = keys
 			.into_iter()
 			.map(|key| {
@@ -200,7 +200,7 @@
 				let key =
 					string::from_utf8(p.key.into()).map_err(|e| Error::Revert(format!("{}", e)))?;
 				let value = bytes(p.value.to_vec());
-				Ok((key, value))
+				Ok(PropertyStruct { key, value })
 			})
 			.collect::<Result<Vec<_>>>()?;
 		Ok(properties)
modifiedpallets/evm-contract-helpers/src/stubs/ContractHelpers.rawdiffbeforeafterboth

binary blob — no preview

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
@@ -87,11 +87,11 @@
 	/// @return Vector of properties key/value pairs.
 	/// @dev EVM selector for this function is: 0x285fb8e6,
 	///  or in textual repr: collectionProperties(string[])
-	function collectionProperties(string[] memory keys) public view returns (Tuple16[] memory) {
+	function collectionProperties(string[] memory keys) public view returns (Property[] memory) {
 		require(false, stub_error);
 		keys;
 		dummy;
-		return new Tuple16[](0);
+		return new Property[](0);
 	}
 
 	// /// Set the sponsor of the collection.
@@ -423,12 +423,6 @@
 struct EthCrossAccount {
 	address eth;
 	uint256 sub;
-}
-
-/// @dev anonymous struct
-struct Tuple16 {
-	string field_0;
-	bytes field_1;
 }
 
 /// @dev Property struct
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
@@ -188,11 +188,11 @@
 	/// @return Vector of properties key/value pairs.
 	/// @dev EVM selector for this function is: 0x285fb8e6,
 	///  or in textual repr: collectionProperties(string[])
-	function collectionProperties(string[] memory keys) public view returns (Tuple27[] memory) {
+	function collectionProperties(string[] memory keys) public view returns (Property[] memory) {
 		require(false, stub_error);
 		keys;
 		dummy;
-		return new Tuple27[](0);
+		return new Property[](0);
 	}
 
 	// /// Set the sponsor of the collection.
@@ -530,12 +530,6 @@
 struct Tuple30 {
 	address field_0;
 	uint256 field_1;
-}
-
-/// @dev anonymous struct
-struct Tuple27 {
-	string field_0;
-	bytes field_1;
 }
 
 /// @title ERC-721 Non-Fungible Token Standard, optional metadata extension
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
@@ -188,11 +188,11 @@
 	/// @return Vector of properties key/value pairs.
 	/// @dev EVM selector for this function is: 0x285fb8e6,
 	///  or in textual repr: collectionProperties(string[])
-	function collectionProperties(string[] memory keys) public view returns (Tuple26[] memory) {
+	function collectionProperties(string[] memory keys) public view returns (Property[] memory) {
 		require(false, stub_error);
 		keys;
 		dummy;
-		return new Tuple26[](0);
+		return new Property[](0);
 	}
 
 	// /// Set the sponsor of the collection.
@@ -530,12 +530,6 @@
 struct Tuple29 {
 	address field_0;
 	uint256 field_1;
-}
-
-/// @dev anonymous struct
-struct Tuple26 {
-	string field_0;
-	bytes field_1;
 }
 
 /// @dev the ERC-165 identifier for this interface is 0x5b5e139f
modifiedpallets/refungible/src/stubs/UniqueRefungibleToken.rawdiffbeforeafterboth

binary blob — no preview

modifiedpallets/unique/src/eth/stubs/CollectionHelpers.rawdiffbeforeafterboth

binary blob — no preview

modifiedtests/src/eth/abi/fungible.jsondiffbeforeafterboth
before · tests/src/eth/abi/fungible.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": "spender",15        "type": "address"16      },17      {18        "indexed": false,19        "internalType": "uint256",20        "name": "value",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": "from",34        "type": "address"35      },36      {37        "indexed": true,38        "internalType": "address",39        "name": "to",40        "type": "address"41      },42      {43        "indexed": false,44        "internalType": "uint256",45        "name": "value",46        "type": "uint256"47      }48    ],49    "name": "Transfer",50    "type": "event"51  },52  {53    "inputs": [54      {55        "components": [56          { "internalType": "address", "name": "eth", "type": "address" },57          { "internalType": "uint256", "name": "sub", "type": "uint256" }58        ],59        "internalType": "struct EthCrossAccount",60        "name": "newAdmin",61        "type": "tuple"62      }63    ],64    "name": "addCollectionAdminCross",65    "outputs": [],66    "stateMutability": "nonpayable",67    "type": "function"68  },69  {70    "inputs": [71      {72        "components": [73          { "internalType": "address", "name": "eth", "type": "address" },74          { "internalType": "uint256", "name": "sub", "type": "uint256" }75        ],76        "internalType": "struct EthCrossAccount",77        "name": "user",78        "type": "tuple"79      }80    ],81    "name": "addToCollectionAllowListCross",82    "outputs": [],83    "stateMutability": "nonpayable",84    "type": "function"85  },86  {87    "inputs": [88      { "internalType": "address", "name": "owner", "type": "address" },89      { "internalType": "address", "name": "spender", "type": "address" }90    ],91    "name": "allowance",92    "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],93    "stateMutability": "view",94    "type": "function"95  },96  {97    "inputs": [98      { "internalType": "address", "name": "user", "type": "address" }99    ],100    "name": "allowed",101    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],102    "stateMutability": "view",103    "type": "function"104  },105  {106    "inputs": [107      { "internalType": "address", "name": "spender", "type": "address" },108      { "internalType": "uint256", "name": "amount", "type": "uint256" }109    ],110    "name": "approve",111    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],112    "stateMutability": "nonpayable",113    "type": "function"114  },115  {116    "inputs": [117      {118        "components": [119          { "internalType": "address", "name": "eth", "type": "address" },120          { "internalType": "uint256", "name": "sub", "type": "uint256" }121        ],122        "internalType": "struct EthCrossAccount",123        "name": "spender",124        "type": "tuple"125      },126      { "internalType": "uint256", "name": "amount", "type": "uint256" }127    ],128    "name": "approveCross",129    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],130    "stateMutability": "nonpayable",131    "type": "function"132  },133  {134    "inputs": [135      { "internalType": "address", "name": "owner", "type": "address" }136    ],137    "name": "balanceOf",138    "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],139    "stateMutability": "view",140    "type": "function"141  },142  {143    "inputs": [144      {145        "components": [146          { "internalType": "address", "name": "eth", "type": "address" },147          { "internalType": "uint256", "name": "sub", "type": "uint256" }148        ],149        "internalType": "struct EthCrossAccount",150        "name": "from",151        "type": "tuple"152      },153      { "internalType": "uint256", "name": "amount", "type": "uint256" }154    ],155    "name": "burnFromCross",156    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],157    "stateMutability": "nonpayable",158    "type": "function"159  },160  {161    "inputs": [162      {163        "components": [164          { "internalType": "address", "name": "eth", "type": "address" },165          { "internalType": "uint256", "name": "sub", "type": "uint256" }166        ],167        "internalType": "struct EthCrossAccount",168        "name": "newOwner",169        "type": "tuple"170      }171    ],172    "name": "changeCollectionOwnerCross",173    "outputs": [],174    "stateMutability": "nonpayable",175    "type": "function"176  },177  {178    "inputs": [],179    "name": "collectionAdmins",180    "outputs": [181      {182        "components": [183          { "internalType": "address", "name": "eth", "type": "address" },184          { "internalType": "uint256", "name": "sub", "type": "uint256" }185        ],186        "internalType": "struct EthCrossAccount[]",187        "name": "",188        "type": "tuple[]"189      }190    ],191    "stateMutability": "view",192    "type": "function"193  },194  {195    "inputs": [],196    "name": "collectionOwner",197    "outputs": [198      {199        "components": [200          { "internalType": "address", "name": "eth", "type": "address" },201          { "internalType": "uint256", "name": "sub", "type": "uint256" }202        ],203        "internalType": "struct EthCrossAccount",204        "name": "",205        "type": "tuple"206      }207    ],208    "stateMutability": "view",209    "type": "function"210  },211  {212    "inputs": [213      { "internalType": "string[]", "name": "keys", "type": "string[]" }214    ],215    "name": "collectionProperties",216    "outputs": [217      {218        "components": [219          { "internalType": "string", "name": "field_0", "type": "string" },220          { "internalType": "bytes", "name": "field_1", "type": "bytes" }221        ],222        "internalType": "struct Tuple16[]",223        "name": "",224        "type": "tuple[]"225      }226    ],227    "stateMutability": "view",228    "type": "function"229  },230  {231    "inputs": [{ "internalType": "string", "name": "key", "type": "string" }],232    "name": "collectionProperty",233    "outputs": [{ "internalType": "bytes", "name": "", "type": "bytes" }],234    "stateMutability": "view",235    "type": "function"236  },237  {238    "inputs": [],239    "name": "collectionSponsor",240    "outputs": [241      {242        "components": [243          { "internalType": "address", "name": "field_0", "type": "address" },244          { "internalType": "uint256", "name": "field_1", "type": "uint256" }245        ],246        "internalType": "struct Tuple8",247        "name": "",248        "type": "tuple"249      }250    ],251    "stateMutability": "view",252    "type": "function"253  },254  {255    "inputs": [],256    "name": "confirmCollectionSponsorship",257    "outputs": [],258    "stateMutability": "nonpayable",259    "type": "function"260  },261  {262    "inputs": [],263    "name": "contractAddress",264    "outputs": [{ "internalType": "address", "name": "", "type": "address" }],265    "stateMutability": "view",266    "type": "function"267  },268  {269    "inputs": [],270    "name": "decimals",271    "outputs": [{ "internalType": "uint8", "name": "", "type": "uint8" }],272    "stateMutability": "view",273    "type": "function"274  },275  {276    "inputs": [277      { "internalType": "string[]", "name": "keys", "type": "string[]" }278    ],279    "name": "deleteCollectionProperties",280    "outputs": [],281    "stateMutability": "nonpayable",282    "type": "function"283  },284  {285    "inputs": [],286    "name": "description",287    "outputs": [{ "internalType": "string", "name": "", "type": "string" }],288    "stateMutability": "view",289    "type": "function"290  },291  {292    "inputs": [],293    "name": "hasCollectionPendingSponsor",294    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],295    "stateMutability": "view",296    "type": "function"297  },298  {299    "inputs": [300      {301        "components": [302          { "internalType": "address", "name": "eth", "type": "address" },303          { "internalType": "uint256", "name": "sub", "type": "uint256" }304        ],305        "internalType": "struct EthCrossAccount",306        "name": "user",307        "type": "tuple"308      }309    ],310    "name": "isOwnerOrAdminCross",311    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],312    "stateMutability": "view",313    "type": "function"314  },315  {316    "inputs": [317      { "internalType": "address", "name": "to", "type": "address" },318      { "internalType": "uint256", "name": "amount", "type": "uint256" }319    ],320    "name": "mint",321    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],322    "stateMutability": "nonpayable",323    "type": "function"324  },325  {326    "inputs": [327      {328        "components": [329          { "internalType": "address", "name": "field_0", "type": "address" },330          { "internalType": "uint256", "name": "field_1", "type": "uint256" }331        ],332        "internalType": "struct Tuple8[]",333        "name": "amounts",334        "type": "tuple[]"335      }336    ],337    "name": "mintBulk",338    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],339    "stateMutability": "nonpayable",340    "type": "function"341  },342  {343    "inputs": [],344    "name": "name",345    "outputs": [{ "internalType": "string", "name": "", "type": "string" }],346    "stateMutability": "view",347    "type": "function"348  },349  {350    "inputs": [351      {352        "components": [353          { "internalType": "address", "name": "eth", "type": "address" },354          { "internalType": "uint256", "name": "sub", "type": "uint256" }355        ],356        "internalType": "struct EthCrossAccount",357        "name": "admin",358        "type": "tuple"359      }360    ],361    "name": "removeCollectionAdminCross",362    "outputs": [],363    "stateMutability": "nonpayable",364    "type": "function"365  },366  {367    "inputs": [],368    "name": "removeCollectionSponsor",369    "outputs": [],370    "stateMutability": "nonpayable",371    "type": "function"372  },373  {374    "inputs": [375      {376        "components": [377          { "internalType": "address", "name": "eth", "type": "address" },378          { "internalType": "uint256", "name": "sub", "type": "uint256" }379        ],380        "internalType": "struct EthCrossAccount",381        "name": "user",382        "type": "tuple"383      }384    ],385    "name": "removeFromCollectionAllowListCross",386    "outputs": [],387    "stateMutability": "nonpayable",388    "type": "function"389  },390  {391    "inputs": [{ "internalType": "uint8", "name": "mode", "type": "uint8" }],392    "name": "setCollectionAccess",393    "outputs": [],394    "stateMutability": "nonpayable",395    "type": "function"396  },397  {398    "inputs": [399      { "internalType": "string", "name": "limit", "type": "string" },400      { "internalType": "uint256", "name": "value", "type": "uint256" }401    ],402    "name": "setCollectionLimit",403    "outputs": [],404    "stateMutability": "nonpayable",405    "type": "function"406  },407  {408    "inputs": [{ "internalType": "bool", "name": "mode", "type": "bool" }],409    "name": "setCollectionMintMode",410    "outputs": [],411    "stateMutability": "nonpayable",412    "type": "function"413  },414  {415    "inputs": [{ "internalType": "bool", "name": "enable", "type": "bool" }],416    "name": "setCollectionNesting",417    "outputs": [],418    "stateMutability": "nonpayable",419    "type": "function"420  },421  {422    "inputs": [423      { "internalType": "bool", "name": "enable", "type": "bool" },424      {425        "internalType": "address[]",426        "name": "collections",427        "type": "address[]"428      }429    ],430    "name": "setCollectionNesting",431    "outputs": [],432    "stateMutability": "nonpayable",433    "type": "function"434  },435  {436    "inputs": [437      {438        "components": [439          { "internalType": "string", "name": "key", "type": "string" },440          { "internalType": "bytes", "name": "value", "type": "bytes" }441        ],442        "internalType": "struct Property[]",443        "name": "properties",444        "type": "tuple[]"445      }446    ],447    "name": "setCollectionProperties",448    "outputs": [],449    "stateMutability": "nonpayable",450    "type": "function"451  },452  {453    "inputs": [454      {455        "components": [456          { "internalType": "address", "name": "eth", "type": "address" },457          { "internalType": "uint256", "name": "sub", "type": "uint256" }458        ],459        "internalType": "struct EthCrossAccount",460        "name": "sponsor",461        "type": "tuple"462      }463    ],464    "name": "setCollectionSponsorCross",465    "outputs": [],466    "stateMutability": "nonpayable",467    "type": "function"468  },469  {470    "inputs": [471      { "internalType": "bytes4", "name": "interfaceID", "type": "bytes4" }472    ],473    "name": "supportsInterface",474    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],475    "stateMutability": "view",476    "type": "function"477  },478  {479    "inputs": [],480    "name": "symbol",481    "outputs": [{ "internalType": "string", "name": "", "type": "string" }],482    "stateMutability": "view",483    "type": "function"484  },485  {486    "inputs": [],487    "name": "totalSupply",488    "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],489    "stateMutability": "view",490    "type": "function"491  },492  {493    "inputs": [494      { "internalType": "address", "name": "to", "type": "address" },495      { "internalType": "uint256", "name": "amount", "type": "uint256" }496    ],497    "name": "transfer",498    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],499    "stateMutability": "nonpayable",500    "type": "function"501  },502  {503    "inputs": [504      {505        "components": [506          { "internalType": "address", "name": "eth", "type": "address" },507          { "internalType": "uint256", "name": "sub", "type": "uint256" }508        ],509        "internalType": "struct EthCrossAccount",510        "name": "to",511        "type": "tuple"512      },513      { "internalType": "uint256", "name": "amount", "type": "uint256" }514    ],515    "name": "transferCross",516    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],517    "stateMutability": "nonpayable",518    "type": "function"519  },520  {521    "inputs": [522      { "internalType": "address", "name": "from", "type": "address" },523      { "internalType": "address", "name": "to", "type": "address" },524      { "internalType": "uint256", "name": "amount", "type": "uint256" }525    ],526    "name": "transferFrom",527    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],528    "stateMutability": "nonpayable",529    "type": "function"530  },531  {532    "inputs": [533      {534        "components": [535          { "internalType": "address", "name": "eth", "type": "address" },536          { "internalType": "uint256", "name": "sub", "type": "uint256" }537        ],538        "internalType": "struct EthCrossAccount",539        "name": "from",540        "type": "tuple"541      },542      {543        "components": [544          { "internalType": "address", "name": "eth", "type": "address" },545          { "internalType": "uint256", "name": "sub", "type": "uint256" }546        ],547        "internalType": "struct EthCrossAccount",548        "name": "to",549        "type": "tuple"550      },551      { "internalType": "uint256", "name": "amount", "type": "uint256" }552    ],553    "name": "transferFromCross",554    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],555    "stateMutability": "nonpayable",556    "type": "function"557  },558  {559    "inputs": [],560    "name": "uniqueCollectionType",561    "outputs": [{ "internalType": "string", "name": "", "type": "string" }],562    "stateMutability": "view",563    "type": "function"564  }565]
modifiedtests/src/eth/abi/nonFungible.jsondiffbeforeafterboth
--- a/tests/src/eth/abi/nonFungible.json
+++ b/tests/src/eth/abi/nonFungible.json
@@ -246,10 +246,10 @@
     "outputs": [
       {
         "components": [
-          { "internalType": "string", "name": "field_0", "type": "string" },
-          { "internalType": "bytes", "name": "field_1", "type": "bytes" }
+          { "internalType": "string", "name": "key", "type": "string" },
+          { "internalType": "bytes", "name": "value", "type": "bytes" }
         ],
-        "internalType": "struct Tuple27[]",
+        "internalType": "struct Property[]",
         "name": "",
         "type": "tuple[]"
       }
modifiedtests/src/eth/abi/reFungible.jsondiffbeforeafterboth
--- a/tests/src/eth/abi/reFungible.json
+++ b/tests/src/eth/abi/reFungible.json
@@ -228,10 +228,10 @@
     "outputs": [
       {
         "components": [
-          { "internalType": "string", "name": "field_0", "type": "string" },
-          { "internalType": "bytes", "name": "field_1", "type": "bytes" }
+          { "internalType": "string", "name": "key", "type": "string" },
+          { "internalType": "bytes", "name": "value", "type": "bytes" }
         ],
-        "internalType": "struct Tuple26[]",
+        "internalType": "struct Property[]",
         "name": "",
         "type": "tuple[]"
       }
modifiedtests/src/eth/api/UniqueFungible.soldiffbeforeafterboth
--- a/tests/src/eth/api/UniqueFungible.sol
+++ b/tests/src/eth/api/UniqueFungible.sol
@@ -60,7 +60,7 @@
 	/// @return Vector of properties key/value pairs.
 	/// @dev EVM selector for this function is: 0x285fb8e6,
 	///  or in textual repr: collectionProperties(string[])
-	function collectionProperties(string[] memory keys) external view returns (Tuple16[] memory);
+	function collectionProperties(string[] memory keys) external view returns (Property[] memory);
 
 	// /// Set the sponsor of the collection.
 	// ///
@@ -276,12 +276,6 @@
 struct EthCrossAccount {
 	address eth;
 	uint256 sub;
-}
-
-/// @dev anonymous struct
-struct Tuple16 {
-	string field_0;
-	bytes field_1;
 }
 
 /// @dev Property struct
modifiedtests/src/eth/api/UniqueNFT.soldiffbeforeafterboth
--- a/tests/src/eth/api/UniqueNFT.sol
+++ b/tests/src/eth/api/UniqueNFT.sol
@@ -127,7 +127,7 @@
 	/// @return Vector of properties key/value pairs.
 	/// @dev EVM selector for this function is: 0x285fb8e6,
 	///  or in textual repr: collectionProperties(string[])
-	function collectionProperties(string[] memory keys) external view returns (Tuple25[] memory);
+	function collectionProperties(string[] memory keys) external view returns (Property[] memory);
 
 	// /// Set the sponsor of the collection.
 	// ///
@@ -169,7 +169,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 (Tuple28 memory);
+	function collectionSponsor() external view returns (Tuple27 memory);
 
 	/// Set limits for the collection.
 	/// @dev Throws error if limit not found.
@@ -346,15 +346,9 @@
 }
 
 /// @dev anonymous struct
-struct Tuple28 {
+struct Tuple27 {
 	address field_0;
 	uint256 field_1;
-}
-
-/// @dev anonymous struct
-struct Tuple25 {
-	string field_0;
-	bytes field_1;
 }
 
 /// @title ERC-721 Non-Fungible Token Standard, optional metadata extension
modifiedtests/src/eth/api/UniqueRefungible.soldiffbeforeafterboth
--- a/tests/src/eth/api/UniqueRefungible.sol
+++ b/tests/src/eth/api/UniqueRefungible.sol
@@ -127,7 +127,7 @@
 	/// @return Vector of properties key/value pairs.
 	/// @dev EVM selector for this function is: 0x285fb8e6,
 	///  or in textual repr: collectionProperties(string[])
-	function collectionProperties(string[] memory keys) external view returns (Tuple24[] memory);
+	function collectionProperties(string[] memory keys) external view returns (Property[] memory);
 
 	// /// Set the sponsor of the collection.
 	// ///
@@ -169,7 +169,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 (Tuple27 memory);
+	function collectionSponsor() external view returns (Tuple26 memory);
 
 	/// Set limits for the collection.
 	/// @dev Throws error if limit not found.
@@ -346,15 +346,9 @@
 }
 
 /// @dev anonymous struct
-struct Tuple27 {
+struct Tuple26 {
 	address field_0;
 	uint256 field_1;
-}
-
-/// @dev anonymous struct
-struct Tuple24 {
-	string field_0;
-	bytes field_1;
 }
 
 /// @dev the ERC-165 identifier for this interface is 0x5b5e139f