git.delta.rocks / unique-network / refs/commits / 4906885c14fb

difftreelog

Merge pull request #654 from UniqueNetwork/feature/solidity_methods_renaming

Yaroslav Bolyukin2022-10-18parents: #e26460b #8f23ca0.patch.diff
in: master
Feature/solidity methods renaming

21 files changed

modifiedpallets/common/src/erc.rsdiffbeforeafterboth
--- a/pallets/common/src/erc.rs
+++ b/pallets/common/src/erc.rs
@@ -592,6 +592,7 @@
 	///
 	/// @dev Owner can be changed only by current owner
 	/// @param newOwner new owner account
+	#[solidity(rename_selector = "changeCollectionOwner")]
 	fn set_owner(&mut self, caller: caller, new_owner: address) -> Result<void> {
 		self.consume_store_writes(1)?;
 
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
@@ -18,7 +18,7 @@
 }
 
 /// @title A contract that allows you to work with collections.
-/// @dev the ERC-165 identifier for this interface is 0x3e1e8083
+/// @dev the ERC-165 identifier for this interface is 0x62e22290
 contract Collection is Dummy, ERC165 {
 	/// Set collection property.
 	///
@@ -296,9 +296,9 @@
 	///
 	/// @dev Owner can be changed only by current owner
 	/// @param newOwner new owner account
-	/// @dev EVM selector for this function is: 0x13af4035,
-	///  or in textual repr: setOwner(address)
-	function setOwner(address newOwner) public {
+	/// @dev EVM selector for this function is: 0x4f53e226,
+	///  or in textual repr: changeCollectionOwner(address)
+	function changeCollectionOwner(address newOwner) public {
 		require(false, stub_error);
 		newOwner;
 		dummy = 0;
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
@@ -91,7 +91,7 @@
 }
 
 /// @title A contract that allows you to work with collections.
-/// @dev the ERC-165 identifier for this interface is 0x3e1e8083
+/// @dev the ERC-165 identifier for this interface is 0x62e22290
 contract Collection is Dummy, ERC165 {
 	/// Set collection property.
 	///
@@ -369,9 +369,9 @@
 	///
 	/// @dev Owner can be changed only by current owner
 	/// @param newOwner new owner account
-	/// @dev EVM selector for this function is: 0x13af4035,
-	///  or in textual repr: setOwner(address)
-	function setOwner(address newOwner) public {
+	/// @dev EVM selector for this function is: 0x4f53e226,
+	///  or in textual repr: changeCollectionOwner(address)
+	function changeCollectionOwner(address newOwner) public {
 		require(false, stub_error);
 		newOwner;
 		dummy = 0;
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
@@ -91,7 +91,7 @@
 }
 
 /// @title A contract that allows you to work with collections.
-/// @dev the ERC-165 identifier for this interface is 0x3e1e8083
+/// @dev the ERC-165 identifier for this interface is 0x62e22290
 contract Collection is Dummy, ERC165 {
 	/// Set collection property.
 	///
@@ -369,9 +369,9 @@
 	///
 	/// @dev Owner can be changed only by current owner
 	/// @param newOwner new owner account
-	/// @dev EVM selector for this function is: 0x13af4035,
-	///  or in textual repr: setOwner(address)
-	function setOwner(address newOwner) public {
+	/// @dev EVM selector for this function is: 0x4f53e226,
+	///  or in textual repr: changeCollectionOwner(address)
+	function changeCollectionOwner(address newOwner) public {
 		require(false, stub_error);
 		newOwner;
 		dummy = 0;
modifiedpallets/refungible/src/stubs/UniqueRefungibleToken.rawdiffbeforeafterboth

binary blob — no preview

modifiedpallets/unique/src/eth/mod.rsdiffbeforeafterboth
--- a/pallets/unique/src/eth/mod.rs
+++ b/pallets/unique/src/eth/mod.rs
@@ -184,6 +184,7 @@
 	/// @return address Address of the newly created collection
 	#[weight(<SelfWeightOf<T>>::create_collection())]
 	#[deprecated(note = "mathod was renamed to `create_nft_collection`, prefer it instead")]
+	#[solidity(hide)]
 	fn create_nonfungible_collection(
 		&mut self,
 		caller: caller,
modifiedpallets/unique/src/eth/stubs/CollectionHelpers.rawdiffbeforeafterboth

binary blob — no preview

modifiedpallets/unique/src/eth/stubs/CollectionHelpers.soldiffbeforeafterboth
--- a/pallets/unique/src/eth/stubs/CollectionHelpers.sol
+++ b/pallets/unique/src/eth/stubs/CollectionHelpers.sol
@@ -45,25 +45,21 @@
 		return 0x0000000000000000000000000000000000000000;
 	}
 
-	/// Create an NFT collection
-	/// @param name Name of the collection
-	/// @param description Informative description of the collection
-	/// @param tokenPrefix Token prefix to represent the collection tokens in UI and user applications
-	/// @return address Address of the newly created collection
-	/// @dev EVM selector for this function is: 0xe34a6844,
-	///  or in textual repr: createNonfungibleCollection(string,string,string)
-	function createNonfungibleCollection(
-		string memory name,
-		string memory description,
-		string memory tokenPrefix
-	) public payable returns (address) {
-		require(false, stub_error);
-		name;
-		description;
-		tokenPrefix;
-		dummy = 0;
-		return 0x0000000000000000000000000000000000000000;
-	}
+	// /// Create an NFT collection
+	// /// @param name Name of the collection
+	// /// @param description Informative description of the collection
+	// /// @param tokenPrefix Token prefix to represent the collection tokens in UI and user applications
+	// /// @return address Address of the newly created collection
+	// /// @dev EVM selector for this function is: 0xe34a6844,
+	// ///  or in textual repr: createNonfungibleCollection(string,string,string)
+	// function createNonfungibleCollection(string memory name, string memory description, string memory tokenPrefix) public payable returns (address) {
+	// 	require(false, stub_error);
+	// 	name;
+	// 	description;
+	// 	tokenPrefix;
+	// 	dummy = 0;
+	// 	return 0x0000000000000000000000000000000000000000;
+	// }
 
 	/// @dev EVM selector for this function is: 0xab173450,
 	///  or in textual repr: createRFTCollection(string,string,string)
modifiedtests/src/eth/api/CollectionHelpers.soldiffbeforeafterboth
--- a/tests/src/eth/api/CollectionHelpers.sol
+++ b/tests/src/eth/api/CollectionHelpers.sol
@@ -33,18 +33,14 @@
 		string memory tokenPrefix
 	) external payable returns (address);
 
-	/// Create an NFT collection
-	/// @param name Name of the collection
-	/// @param description Informative description of the collection
-	/// @param tokenPrefix Token prefix to represent the collection tokens in UI and user applications
-	/// @return address Address of the newly created collection
-	/// @dev EVM selector for this function is: 0xe34a6844,
-	///  or in textual repr: createNonfungibleCollection(string,string,string)
-	function createNonfungibleCollection(
-		string memory name,
-		string memory description,
-		string memory tokenPrefix
-	) external payable returns (address);
+	// /// Create an NFT collection
+	// /// @param name Name of the collection
+	// /// @param description Informative description of the collection
+	// /// @param tokenPrefix Token prefix to represent the collection tokens in UI and user applications
+	// /// @return address Address of the newly created collection
+	// /// @dev EVM selector for this function is: 0xe34a6844,
+	// ///  or in textual repr: createNonfungibleCollection(string,string,string)
+	// function createNonfungibleCollection(string memory name, string memory description, string memory tokenPrefix) external payable returns (address);
 
 	/// @dev EVM selector for this function is: 0xab173450,
 	///  or in textual repr: createRFTCollection(string,string,string)
modifiedtests/src/eth/api/UniqueFungible.soldiffbeforeafterboth
--- a/tests/src/eth/api/UniqueFungible.sol
+++ b/tests/src/eth/api/UniqueFungible.sol
@@ -13,7 +13,7 @@
 }
 
 /// @title A contract that allows you to work with collections.
-/// @dev the ERC-165 identifier for this interface is 0x3e1e8083
+/// @dev the ERC-165 identifier for this interface is 0x62e22290
 interface Collection is Dummy, ERC165 {
 	/// Set collection property.
 	///
@@ -194,9 +194,9 @@
 	///
 	/// @dev Owner can be changed only by current owner
 	/// @param newOwner new owner account
-	/// @dev EVM selector for this function is: 0x13af4035,
-	///  or in textual repr: setOwner(address)
-	function setOwner(address newOwner) external;
+	/// @dev EVM selector for this function is: 0x4f53e226,
+	///  or in textual repr: changeCollectionOwner(address)
+	function changeCollectionOwner(address newOwner) external;
 }
 
 /// @dev the ERC-165 identifier for this interface is 0x63034ac5
modifiedtests/src/eth/api/UniqueNFT.soldiffbeforeafterboth
--- a/tests/src/eth/api/UniqueNFT.sol
+++ b/tests/src/eth/api/UniqueNFT.sol
@@ -62,7 +62,7 @@
 }
 
 /// @title A contract that allows you to work with collections.
-/// @dev the ERC-165 identifier for this interface is 0x3e1e8083
+/// @dev the ERC-165 identifier for this interface is 0x62e22290
 interface Collection is Dummy, ERC165 {
 	/// Set collection property.
 	///
@@ -243,9 +243,9 @@
 	///
 	/// @dev Owner can be changed only by current owner
 	/// @param newOwner new owner account
-	/// @dev EVM selector for this function is: 0x13af4035,
-	///  or in textual repr: setOwner(address)
-	function setOwner(address newOwner) external;
+	/// @dev EVM selector for this function is: 0x4f53e226,
+	///  or in textual repr: changeCollectionOwner(address)
+	function changeCollectionOwner(address newOwner) external;
 }
 
 /// @dev anonymous struct
modifiedtests/src/eth/api/UniqueRefungible.soldiffbeforeafterboth
--- a/tests/src/eth/api/UniqueRefungible.sol
+++ b/tests/src/eth/api/UniqueRefungible.sol
@@ -62,7 +62,7 @@
 }
 
 /// @title A contract that allows you to work with collections.
-/// @dev the ERC-165 identifier for this interface is 0x3e1e8083
+/// @dev the ERC-165 identifier for this interface is 0x62e22290
 interface Collection is Dummy, ERC165 {
 	/// Set collection property.
 	///
@@ -243,9 +243,9 @@
 	///
 	/// @dev Owner can be changed only by current owner
 	/// @param newOwner new owner account
-	/// @dev EVM selector for this function is: 0x13af4035,
-	///  or in textual repr: setOwner(address)
-	function setOwner(address newOwner) external;
+	/// @dev EVM selector for this function is: 0x4f53e226,
+	///  or in textual repr: changeCollectionOwner(address)
+	function changeCollectionOwner(address newOwner) external;
 }
 
 /// @dev anonymous struct
modifiedtests/src/eth/collectionAdmin.test.tsdiffbeforeafterboth
--- a/tests/src/eth/collectionAdmin.test.ts
+++ b/tests/src/eth/collectionAdmin.test.ts
@@ -282,7 +282,7 @@
     const {collectionAddress} = await helper.eth.createNFTCollection(owner, 'A', 'B', 'C');
     const collectionEvm = helper.ethNativeContract.collection(collectionAddress, 'nft', owner);
 
-    await collectionEvm.methods.setOwner(newOwner).send();
+    await collectionEvm.methods.changeCollectionOwner(newOwner).send();
 
     expect(await collectionEvm.methods.isOwnerOrAdmin(owner).call()).to.be.false;
     expect(await collectionEvm.methods.isOwnerOrAdmin(newOwner).call()).to.be.true;
@@ -293,7 +293,7 @@
     const newOwner = await helper.eth.createAccountWithBalance(donor);
     const {collectionAddress} = await helper.eth.createNFTCollection(owner, 'A', 'B', 'C');
     const collectionEvm = helper.ethNativeContract.collection(collectionAddress, 'nft', owner);
-    const cost = await recordEthFee(helper, owner, () => collectionEvm.methods.setOwner(newOwner).send());
+    const cost = await recordEthFee(helper, owner, () => collectionEvm.methods.changeCollectionOwner(newOwner).send());
     expect(cost < BigInt(0.2 * Number(helper.balance.getOneTokenNominal())));
     expect(cost > 0);
   });
@@ -304,7 +304,7 @@
     const {collectionAddress} = await helper.eth.createNFTCollection(owner, 'A', 'B', 'C');
     const collectionEvm = helper.ethNativeContract.collection(collectionAddress, 'nft', owner);
 
-    await expect(collectionEvm.methods.setOwner(newOwner).send({from: newOwner})).to.be.rejected;
+    await expect(collectionEvm.methods.changeCollectionOwner(newOwner).send({from: newOwner})).to.be.rejected;
     expect(await collectionEvm.methods.isOwnerOrAdmin(newOwner).call()).to.be.false;
   });
 });
modifiedtests/src/eth/collectionHelpersAbi.jsondiffbeforeafterboth
--- a/tests/src/eth/collectionHelpersAbi.json
+++ b/tests/src/eth/collectionHelpersAbi.json
@@ -42,17 +42,6 @@
       { "internalType": "string", "name": "description", "type": "string" },
       { "internalType": "string", "name": "tokenPrefix", "type": "string" }
     ],
-    "name": "createNonfungibleCollection",
-    "outputs": [{ "internalType": "address", "name": "", "type": "address" }],
-    "stateMutability": "payable",
-    "type": "function"
-  },
-  {
-    "inputs": [
-      { "internalType": "string", "name": "name", "type": "string" },
-      { "internalType": "string", "name": "description", "type": "string" },
-      { "internalType": "string", "name": "tokenPrefix", "type": "string" }
-    ],
     "name": "createRFTCollection",
     "outputs": [{ "internalType": "address", "name": "", "type": "address" }],
     "stateMutability": "payable",
modifiedtests/src/eth/fungibleAbi.jsondiffbeforeafterboth
before · tests/src/eth/fungibleAbi.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      { "internalType": "address", "name": "newAdmin", "type": "address" }55    ],56    "name": "addCollectionAdmin",57    "outputs": [],58    "stateMutability": "nonpayable",59    "type": "function"60  },61  {62    "inputs": [63      { "internalType": "address", "name": "user", "type": "address" }64    ],65    "name": "addToCollectionAllowList",66    "outputs": [],67    "stateMutability": "nonpayable",68    "type": "function"69  },70  {71    "inputs": [72      { "internalType": "address", "name": "owner", "type": "address" },73      { "internalType": "address", "name": "spender", "type": "address" }74    ],75    "name": "allowance",76    "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],77    "stateMutability": "view",78    "type": "function"79  },80  {81    "inputs": [82      { "internalType": "address", "name": "user", "type": "address" }83    ],84    "name": "allowed",85    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],86    "stateMutability": "view",87    "type": "function"88  },89  {90    "inputs": [91      { "internalType": "address", "name": "spender", "type": "address" },92      { "internalType": "uint256", "name": "amount", "type": "uint256" }93    ],94    "name": "approve",95    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],96    "stateMutability": "nonpayable",97    "type": "function"98  },99  {100    "inputs": [101      { "internalType": "address", "name": "owner", "type": "address" }102    ],103    "name": "balanceOf",104    "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],105    "stateMutability": "view",106    "type": "function"107  },108  {109    "inputs": [110      { "internalType": "address", "name": "from", "type": "address" },111      { "internalType": "uint256", "name": "amount", "type": "uint256" }112    ],113    "name": "burnFrom",114    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],115    "stateMutability": "nonpayable",116    "type": "function"117  },118  {119    "inputs": [],120    "name": "collectionOwner",121    "outputs": [122      {123        "components": [124          { "internalType": "address", "name": "field_0", "type": "address" },125          { "internalType": "uint256", "name": "field_1", "type": "uint256" }126        ],127        "internalType": "struct Tuple6",128        "name": "",129        "type": "tuple"130      }131    ],132    "stateMutability": "view",133    "type": "function"134  },135  {136    "inputs": [{ "internalType": "string", "name": "key", "type": "string" }],137    "name": "collectionProperty",138    "outputs": [{ "internalType": "bytes", "name": "", "type": "bytes" }],139    "stateMutability": "view",140    "type": "function"141  },142  {143    "inputs": [],144    "name": "collectionSponsor",145    "outputs": [146      {147        "components": [148          { "internalType": "address", "name": "field_0", "type": "address" },149          { "internalType": "uint256", "name": "field_1", "type": "uint256" }150        ],151        "internalType": "struct Tuple6",152        "name": "",153        "type": "tuple"154      }155    ],156    "stateMutability": "view",157    "type": "function"158  },159  {160    "inputs": [],161    "name": "confirmCollectionSponsorship",162    "outputs": [],163    "stateMutability": "nonpayable",164    "type": "function"165  },166  {167    "inputs": [],168    "name": "contractAddress",169    "outputs": [{ "internalType": "address", "name": "", "type": "address" }],170    "stateMutability": "view",171    "type": "function"172  },173  {174    "inputs": [],175    "name": "decimals",176    "outputs": [{ "internalType": "uint8", "name": "", "type": "uint8" }],177    "stateMutability": "view",178    "type": "function"179  },180  {181    "inputs": [{ "internalType": "string", "name": "key", "type": "string" }],182    "name": "deleteCollectionProperty",183    "outputs": [],184    "stateMutability": "nonpayable",185    "type": "function"186  },187  {188    "inputs": [],189    "name": "hasCollectionPendingSponsor",190    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],191    "stateMutability": "view",192    "type": "function"193  },194  {195    "inputs": [196      { "internalType": "address", "name": "user", "type": "address" }197    ],198    "name": "isOwnerOrAdmin",199    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],200    "stateMutability": "view",201    "type": "function"202  },203  {204    "inputs": [205      { "internalType": "address", "name": "to", "type": "address" },206      { "internalType": "uint256", "name": "amount", "type": "uint256" }207    ],208    "name": "mint",209    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],210    "stateMutability": "nonpayable",211    "type": "function"212  },213  {214    "inputs": [215      {216        "components": [217          { "internalType": "address", "name": "field_0", "type": "address" },218          { "internalType": "uint256", "name": "field_1", "type": "uint256" }219        ],220        "internalType": "struct Tuple6[]",221        "name": "amounts",222        "type": "tuple[]"223      }224    ],225    "name": "mintBulk",226    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],227    "stateMutability": "nonpayable",228    "type": "function"229  },230  {231    "inputs": [],232    "name": "name",233    "outputs": [{ "internalType": "string", "name": "", "type": "string" }],234    "stateMutability": "view",235    "type": "function"236  },237  {238    "inputs": [239      { "internalType": "address", "name": "admin", "type": "address" }240    ],241    "name": "removeCollectionAdmin",242    "outputs": [],243    "stateMutability": "nonpayable",244    "type": "function"245  },246  {247    "inputs": [],248    "name": "removeCollectionSponsor",249    "outputs": [],250    "stateMutability": "nonpayable",251    "type": "function"252  },253  {254    "inputs": [255      { "internalType": "address", "name": "user", "type": "address" }256    ],257    "name": "removeFromCollectionAllowList",258    "outputs": [],259    "stateMutability": "nonpayable",260    "type": "function"261  },262  {263    "inputs": [{ "internalType": "uint8", "name": "mode", "type": "uint8" }],264    "name": "setCollectionAccess",265    "outputs": [],266    "stateMutability": "nonpayable",267    "type": "function"268  },269  {270    "inputs": [271      { "internalType": "string", "name": "limit", "type": "string" },272      { "internalType": "uint32", "name": "value", "type": "uint32" }273    ],274    "name": "setCollectionLimit",275    "outputs": [],276    "stateMutability": "nonpayable",277    "type": "function"278  },279  {280    "inputs": [281      { "internalType": "string", "name": "limit", "type": "string" },282      { "internalType": "bool", "name": "value", "type": "bool" }283    ],284    "name": "setCollectionLimit",285    "outputs": [],286    "stateMutability": "nonpayable",287    "type": "function"288  },289  {290    "inputs": [{ "internalType": "bool", "name": "mode", "type": "bool" }],291    "name": "setCollectionMintMode",292    "outputs": [],293    "stateMutability": "nonpayable",294    "type": "function"295  },296  {297    "inputs": [{ "internalType": "bool", "name": "enable", "type": "bool" }],298    "name": "setCollectionNesting",299    "outputs": [],300    "stateMutability": "nonpayable",301    "type": "function"302  },303  {304    "inputs": [305      { "internalType": "bool", "name": "enable", "type": "bool" },306      {307        "internalType": "address[]",308        "name": "collections",309        "type": "address[]"310      }311    ],312    "name": "setCollectionNesting",313    "outputs": [],314    "stateMutability": "nonpayable",315    "type": "function"316  },317  {318    "inputs": [319      { "internalType": "string", "name": "key", "type": "string" },320      { "internalType": "bytes", "name": "value", "type": "bytes" }321    ],322    "name": "setCollectionProperty",323    "outputs": [],324    "stateMutability": "nonpayable",325    "type": "function"326  },327  {328    "inputs": [329      { "internalType": "address", "name": "sponsor", "type": "address" }330    ],331    "name": "setCollectionSponsor",332    "outputs": [],333    "stateMutability": "nonpayable",334    "type": "function"335  },336  {337    "inputs": [338      { "internalType": "address", "name": "newOwner", "type": "address" }339    ],340    "name": "setOwner",341    "outputs": [],342    "stateMutability": "nonpayable",343    "type": "function"344  },345  {346    "inputs": [347      { "internalType": "bytes4", "name": "interfaceID", "type": "bytes4" }348    ],349    "name": "supportsInterface",350    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],351    "stateMutability": "view",352    "type": "function"353  },354  {355    "inputs": [],356    "name": "symbol",357    "outputs": [{ "internalType": "string", "name": "", "type": "string" }],358    "stateMutability": "view",359    "type": "function"360  },361  {362    "inputs": [],363    "name": "totalSupply",364    "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],365    "stateMutability": "view",366    "type": "function"367  },368  {369    "inputs": [370      { "internalType": "address", "name": "to", "type": "address" },371      { "internalType": "uint256", "name": "amount", "type": "uint256" }372    ],373    "name": "transfer",374    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],375    "stateMutability": "nonpayable",376    "type": "function"377  },378  {379    "inputs": [380      { "internalType": "address", "name": "from", "type": "address" },381      { "internalType": "address", "name": "to", "type": "address" },382      { "internalType": "uint256", "name": "amount", "type": "uint256" }383    ],384    "name": "transferFrom",385    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],386    "stateMutability": "nonpayable",387    "type": "function"388  },389  {390    "inputs": [],391    "name": "uniqueCollectionType",392    "outputs": [{ "internalType": "string", "name": "", "type": "string" }],393    "stateMutability": "view",394    "type": "function"395  }396]
after · tests/src/eth/fungibleAbi.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      { "internalType": "address", "name": "newAdmin", "type": "address" }55    ],56    "name": "addCollectionAdmin",57    "outputs": [],58    "stateMutability": "nonpayable",59    "type": "function"60  },61  {62    "inputs": [63      { "internalType": "address", "name": "user", "type": "address" }64    ],65    "name": "addToCollectionAllowList",66    "outputs": [],67    "stateMutability": "nonpayable",68    "type": "function"69  },70  {71    "inputs": [72      { "internalType": "address", "name": "owner", "type": "address" },73      { "internalType": "address", "name": "spender", "type": "address" }74    ],75    "name": "allowance",76    "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],77    "stateMutability": "view",78    "type": "function"79  },80  {81    "inputs": [82      { "internalType": "address", "name": "user", "type": "address" }83    ],84    "name": "allowed",85    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],86    "stateMutability": "view",87    "type": "function"88  },89  {90    "inputs": [91      { "internalType": "address", "name": "spender", "type": "address" },92      { "internalType": "uint256", "name": "amount", "type": "uint256" }93    ],94    "name": "approve",95    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],96    "stateMutability": "nonpayable",97    "type": "function"98  },99  {100    "inputs": [101      { "internalType": "address", "name": "owner", "type": "address" }102    ],103    "name": "balanceOf",104    "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],105    "stateMutability": "view",106    "type": "function"107  },108  {109    "inputs": [110      { "internalType": "address", "name": "from", "type": "address" },111      { "internalType": "uint256", "name": "amount", "type": "uint256" }112    ],113    "name": "burnFrom",114    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],115    "stateMutability": "nonpayable",116    "type": "function"117  },118  {119    "inputs": [120      { "internalType": "address", "name": "newOwner", "type": "address" }121    ],122    "name": "changeCollectionOwner",123    "outputs": [],124    "stateMutability": "nonpayable",125    "type": "function"126  },127  {128    "inputs": [],129    "name": "collectionOwner",130    "outputs": [131      {132        "components": [133          { "internalType": "address", "name": "field_0", "type": "address" },134          { "internalType": "uint256", "name": "field_1", "type": "uint256" }135        ],136        "internalType": "struct Tuple6",137        "name": "",138        "type": "tuple"139      }140    ],141    "stateMutability": "view",142    "type": "function"143  },144  {145    "inputs": [{ "internalType": "string", "name": "key", "type": "string" }],146    "name": "collectionProperty",147    "outputs": [{ "internalType": "bytes", "name": "", "type": "bytes" }],148    "stateMutability": "view",149    "type": "function"150  },151  {152    "inputs": [],153    "name": "collectionSponsor",154    "outputs": [155      {156        "components": [157          { "internalType": "address", "name": "field_0", "type": "address" },158          { "internalType": "uint256", "name": "field_1", "type": "uint256" }159        ],160        "internalType": "struct Tuple6",161        "name": "",162        "type": "tuple"163      }164    ],165    "stateMutability": "view",166    "type": "function"167  },168  {169    "inputs": [],170    "name": "confirmCollectionSponsorship",171    "outputs": [],172    "stateMutability": "nonpayable",173    "type": "function"174  },175  {176    "inputs": [],177    "name": "contractAddress",178    "outputs": [{ "internalType": "address", "name": "", "type": "address" }],179    "stateMutability": "view",180    "type": "function"181  },182  {183    "inputs": [],184    "name": "decimals",185    "outputs": [{ "internalType": "uint8", "name": "", "type": "uint8" }],186    "stateMutability": "view",187    "type": "function"188  },189  {190    "inputs": [{ "internalType": "string", "name": "key", "type": "string" }],191    "name": "deleteCollectionProperty",192    "outputs": [],193    "stateMutability": "nonpayable",194    "type": "function"195  },196  {197    "inputs": [],198    "name": "hasCollectionPendingSponsor",199    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],200    "stateMutability": "view",201    "type": "function"202  },203  {204    "inputs": [205      { "internalType": "address", "name": "user", "type": "address" }206    ],207    "name": "isOwnerOrAdmin",208    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],209    "stateMutability": "view",210    "type": "function"211  },212  {213    "inputs": [214      { "internalType": "address", "name": "to", "type": "address" },215      { "internalType": "uint256", "name": "amount", "type": "uint256" }216    ],217    "name": "mint",218    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],219    "stateMutability": "nonpayable",220    "type": "function"221  },222  {223    "inputs": [224      {225        "components": [226          { "internalType": "address", "name": "field_0", "type": "address" },227          { "internalType": "uint256", "name": "field_1", "type": "uint256" }228        ],229        "internalType": "struct Tuple6[]",230        "name": "amounts",231        "type": "tuple[]"232      }233    ],234    "name": "mintBulk",235    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],236    "stateMutability": "nonpayable",237    "type": "function"238  },239  {240    "inputs": [],241    "name": "name",242    "outputs": [{ "internalType": "string", "name": "", "type": "string" }],243    "stateMutability": "view",244    "type": "function"245  },246  {247    "inputs": [248      { "internalType": "address", "name": "admin", "type": "address" }249    ],250    "name": "removeCollectionAdmin",251    "outputs": [],252    "stateMutability": "nonpayable",253    "type": "function"254  },255  {256    "inputs": [],257    "name": "removeCollectionSponsor",258    "outputs": [],259    "stateMutability": "nonpayable",260    "type": "function"261  },262  {263    "inputs": [264      { "internalType": "address", "name": "user", "type": "address" }265    ],266    "name": "removeFromCollectionAllowList",267    "outputs": [],268    "stateMutability": "nonpayable",269    "type": "function"270  },271  {272    "inputs": [{ "internalType": "uint8", "name": "mode", "type": "uint8" }],273    "name": "setCollectionAccess",274    "outputs": [],275    "stateMutability": "nonpayable",276    "type": "function"277  },278  {279    "inputs": [280      { "internalType": "string", "name": "limit", "type": "string" },281      { "internalType": "uint32", "name": "value", "type": "uint32" }282    ],283    "name": "setCollectionLimit",284    "outputs": [],285    "stateMutability": "nonpayable",286    "type": "function"287  },288  {289    "inputs": [290      { "internalType": "string", "name": "limit", "type": "string" },291      { "internalType": "bool", "name": "value", "type": "bool" }292    ],293    "name": "setCollectionLimit",294    "outputs": [],295    "stateMutability": "nonpayable",296    "type": "function"297  },298  {299    "inputs": [{ "internalType": "bool", "name": "mode", "type": "bool" }],300    "name": "setCollectionMintMode",301    "outputs": [],302    "stateMutability": "nonpayable",303    "type": "function"304  },305  {306    "inputs": [{ "internalType": "bool", "name": "enable", "type": "bool" }],307    "name": "setCollectionNesting",308    "outputs": [],309    "stateMutability": "nonpayable",310    "type": "function"311  },312  {313    "inputs": [314      { "internalType": "bool", "name": "enable", "type": "bool" },315      {316        "internalType": "address[]",317        "name": "collections",318        "type": "address[]"319      }320    ],321    "name": "setCollectionNesting",322    "outputs": [],323    "stateMutability": "nonpayable",324    "type": "function"325  },326  {327    "inputs": [328      { "internalType": "string", "name": "key", "type": "string" },329      { "internalType": "bytes", "name": "value", "type": "bytes" }330    ],331    "name": "setCollectionProperty",332    "outputs": [],333    "stateMutability": "nonpayable",334    "type": "function"335  },336  {337    "inputs": [338      { "internalType": "address", "name": "sponsor", "type": "address" }339    ],340    "name": "setCollectionSponsor",341    "outputs": [],342    "stateMutability": "nonpayable",343    "type": "function"344  },345  {346    "inputs": [347      { "internalType": "bytes4", "name": "interfaceID", "type": "bytes4" }348    ],349    "name": "supportsInterface",350    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],351    "stateMutability": "view",352    "type": "function"353  },354  {355    "inputs": [],356    "name": "symbol",357    "outputs": [{ "internalType": "string", "name": "", "type": "string" }],358    "stateMutability": "view",359    "type": "function"360  },361  {362    "inputs": [],363    "name": "totalSupply",364    "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],365    "stateMutability": "view",366    "type": "function"367  },368  {369    "inputs": [370      { "internalType": "address", "name": "to", "type": "address" },371      { "internalType": "uint256", "name": "amount", "type": "uint256" }372    ],373    "name": "transfer",374    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],375    "stateMutability": "nonpayable",376    "type": "function"377  },378  {379    "inputs": [380      { "internalType": "address", "name": "from", "type": "address" },381      { "internalType": "address", "name": "to", "type": "address" },382      { "internalType": "uint256", "name": "amount", "type": "uint256" }383    ],384    "name": "transferFrom",385    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],386    "stateMutability": "nonpayable",387    "type": "function"388  },389  {390    "inputs": [],391    "name": "uniqueCollectionType",392    "outputs": [{ "internalType": "string", "name": "", "type": "string" }],393    "stateMutability": "view",394    "type": "function"395  }396]
modifiedtests/src/eth/nonFungibleAbi.jsondiffbeforeafterboth
--- a/tests/src/eth/nonFungibleAbi.json
+++ b/tests/src/eth/nonFungibleAbi.json
@@ -146,6 +146,15 @@
     "type": "function"
   },
   {
+    "inputs": [
+      { "internalType": "address", "name": "newOwner", "type": "address" }
+    ],
+    "name": "changeCollectionOwner",
+    "outputs": [],
+    "stateMutability": "nonpayable",
+    "type": "function"
+  },
+  {
     "inputs": [],
     "name": "collectionOwner",
     "outputs": [
@@ -472,15 +481,6 @@
       { "internalType": "address", "name": "sponsor", "type": "address" }
     ],
     "name": "setCollectionSponsor",
-    "outputs": [],
-    "stateMutability": "nonpayable",
-    "type": "function"
-  },
-  {
-    "inputs": [
-      { "internalType": "address", "name": "newOwner", "type": "address" }
-    ],
-    "name": "setOwner",
     "outputs": [],
     "stateMutability": "nonpayable",
     "type": "function"
modifiedtests/src/eth/reFungibleAbi.jsondiffbeforeafterboth
--- a/tests/src/eth/reFungibleAbi.json
+++ b/tests/src/eth/reFungibleAbi.json
@@ -146,6 +146,15 @@
     "type": "function"
   },
   {
+    "inputs": [
+      { "internalType": "address", "name": "newOwner", "type": "address" }
+    ],
+    "name": "changeCollectionOwner",
+    "outputs": [],
+    "stateMutability": "nonpayable",
+    "type": "function"
+  },
+  {
     "inputs": [],
     "name": "collectionOwner",
     "outputs": [
@@ -472,15 +481,6 @@
       { "internalType": "address", "name": "sponsor", "type": "address" }
     ],
     "name": "setCollectionSponsor",
-    "outputs": [],
-    "stateMutability": "nonpayable",
-    "type": "function"
-  },
-  {
-    "inputs": [
-      { "internalType": "address", "name": "newOwner", "type": "address" }
-    ],
-    "name": "setOwner",
     "outputs": [],
     "stateMutability": "nonpayable",
     "type": "function"