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

difftreelog

feat hide mintBulk methods

Yaroslav Bolyukin2022-10-19parent: #39148f6.patch.diff
in: master

11 files changed

modifiedpallets/nonfungible/src/erc.rsdiffbeforeafterboth
--- a/pallets/nonfungible/src/erc.rs
+++ b/pallets/nonfungible/src/erc.rs
@@ -668,7 +668,7 @@
 	///  should be obtained with `nextTokenId` method
 	/// @param to The new owner
 	/// @param tokenIds IDs of the minted NFTs
-	// #[solidity(hide)]
+	#[solidity(hide)]
 	#[weight(<SelfWeightOf<T>>::create_multiple_items(token_ids.len() as u32))]
 	fn mint_bulk(&mut self, caller: caller, to: address, token_ids: Vec<uint256>) -> Result<bool> {
 		let caller = T::CrossAccountId::from_eth(caller);
@@ -705,7 +705,7 @@
 	///  numbers and first number should be obtained with `nextTokenId` method
 	/// @param to The new owner
 	/// @param tokens array of pairs of token ID and token URI for minted tokens
-	#[solidity(/*hide,*/ rename_selector = "mintBulkWithTokenURI")]
+	#[solidity(hide, rename_selector = "mintBulkWithTokenURI")]
 	#[weight(<SelfWeightOf<T>>::create_multiple_items(tokens.len() as u32))]
 	fn mint_bulk_with_token_uri(
 		&mut self,
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
@@ -585,36 +585,36 @@
 		dummy;
 		return 0;
 	}
+	// /// @notice Function to mint multiple tokens.
+	// /// @dev `tokenIds` should be an array of consecutive numbers and first number
+	// ///  should be obtained with `nextTokenId` method
+	// /// @param to The new owner
+	// /// @param tokenIds IDs of the minted NFTs
+	// /// @dev EVM selector for this function is: 0x44a9945e,
+	// ///  or in textual repr: mintBulk(address,uint256[])
+	// function mintBulk(address to, uint256[] memory tokenIds) public returns (bool) {
+	// 	require(false, stub_error);
+	// 	to;
+	// 	tokenIds;
+	// 	dummy = 0;
+	// 	return false;
+	// }
 
-	/// @notice Function to mint multiple tokens.
-	/// @dev `tokenIds` should be an array of consecutive numbers and first number
-	///  should be obtained with `nextTokenId` method
-	/// @param to The new owner
-	/// @param tokenIds IDs of the minted NFTs
-	/// @dev EVM selector for this function is: 0x44a9945e,
-	///  or in textual repr: mintBulk(address,uint256[])
-	function mintBulk(address to, uint256[] memory tokenIds) public returns (bool) {
-		require(false, stub_error);
-		to;
-		tokenIds;
-		dummy = 0;
-		return false;
-	}
+	// /// @notice Function to mint multiple tokens with the given tokenUris.
+	// /// @dev `tokenIds` is array of pairs of token ID and token URI. Token IDs should be consecutive
+	// ///  numbers and first number should be obtained with `nextTokenId` method
+	// /// @param to The new owner
+	// /// @param tokens array of pairs of token ID and token URI for minted tokens
+	// /// @dev EVM selector for this function is: 0x36543006,
+	// ///  or in textual repr: mintBulkWithTokenURI(address,(uint256,string)[])
+	// function mintBulkWithTokenURI(address to, Tuple6[] memory tokens) public returns (bool) {
+	// 	require(false, stub_error);
+	// 	to;
+	// 	tokens;
+	// 	dummy = 0;
+	// 	return false;
+	// }
 
-	/// @notice Function to mint multiple tokens with the given tokenUris.
-	/// @dev `tokenIds` is array of pairs of token ID and token URI. Token IDs should be consecutive
-	///  numbers and first number should be obtained with `nextTokenId` method
-	/// @param to The new owner
-	/// @param tokens array of pairs of token ID and token URI for minted tokens
-	/// @dev EVM selector for this function is: 0x36543006,
-	///  or in textual repr: mintBulkWithTokenURI(address,(uint256,string)[])
-	function mintBulkWithTokenURI(address to, Tuple6[] memory tokens) public returns (bool) {
-		require(false, stub_error);
-		to;
-		tokens;
-		dummy = 0;
-		return false;
-	}
 }
 
 /// @dev anonymous struct
modifiedpallets/refungible/src/erc.rsdiffbeforeafterboth
--- a/pallets/refungible/src/erc.rs
+++ b/pallets/refungible/src/erc.rs
@@ -705,7 +705,7 @@
 	///  should be obtained with `nextTokenId` method
 	/// @param to The new owner
 	/// @param tokenIds IDs of the minted RFTs
-	// #[solidity(hide)]
+	#[solidity(hide)]
 	#[weight(<SelfWeightOf<T>>::create_multiple_items(token_ids.len() as u32))]
 	fn mint_bulk(&mut self, caller: caller, to: address, token_ids: Vec<uint256>) -> Result<bool> {
 		let caller = T::CrossAccountId::from_eth(caller);
@@ -748,7 +748,7 @@
 	///  numbers and first number should be obtained with `nextTokenId` method
 	/// @param to The new owner
 	/// @param tokens array of pairs of token ID and token URI for minted tokens
-	#[solidity(/*hide,*/ rename_selector = "mintBulkWithTokenURI")]
+	#[solidity(hide, rename_selector = "mintBulkWithTokenURI")]
 	#[weight(<SelfWeightOf<T>>::create_multiple_items(tokens.len() as u32))]
 	fn mint_bulk_with_token_uri(
 		&mut self,
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
@@ -586,35 +586,35 @@
 		return 0;
 	}
 
-	/// @notice Function to mint multiple tokens.
-	/// @dev `tokenIds` should be an array of consecutive numbers and first number
-	///  should be obtained with `nextTokenId` method
-	/// @param to The new owner
-	/// @param tokenIds IDs of the minted RFTs
-	/// @dev EVM selector for this function is: 0x44a9945e,
-	///  or in textual repr: mintBulk(address,uint256[])
-	function mintBulk(address to, uint256[] memory tokenIds) public returns (bool) {
-		require(false, stub_error);
-		to;
-		tokenIds;
-		dummy = 0;
-		return false;
-	}
+	// /// @notice Function to mint multiple tokens.
+	// /// @dev `tokenIds` should be an array of consecutive numbers and first number
+	// ///  should be obtained with `nextTokenId` method
+	// /// @param to The new owner
+	// /// @param tokenIds IDs of the minted RFTs
+	// /// @dev EVM selector for this function is: 0x44a9945e,
+	// ///  or in textual repr: mintBulk(address,uint256[])
+	// function mintBulk(address to, uint256[] memory tokenIds) public returns (bool) {
+	// 	require(false, stub_error);
+	// 	to;
+	// 	tokenIds;
+	// 	dummy = 0;
+	// 	return false;
+	// }
 
-	/// @notice Function to mint multiple tokens with the given tokenUris.
-	/// @dev `tokenIds` is array of pairs of token ID and token URI. Token IDs should be consecutive
-	///  numbers and first number should be obtained with `nextTokenId` method
-	/// @param to The new owner
-	/// @param tokens array of pairs of token ID and token URI for minted tokens
-	/// @dev EVM selector for this function is: 0x36543006,
-	///  or in textual repr: mintBulkWithTokenURI(address,(uint256,string)[])
-	function mintBulkWithTokenURI(address to, Tuple6[] memory tokens) public returns (bool) {
-		require(false, stub_error);
-		to;
-		tokens;
-		dummy = 0;
-		return false;
-	}
+	// /// @notice Function to mint multiple tokens with the given tokenUris.
+	// /// @dev `tokenIds` is array of pairs of token ID and token URI. Token IDs should be consecutive
+	// ///  numbers and first number should be obtained with `nextTokenId` method
+	// /// @param to The new owner
+	// /// @param tokens array of pairs of token ID and token URI for minted tokens
+	// /// @dev EVM selector for this function is: 0x36543006,
+	// ///  or in textual repr: mintBulkWithTokenURI(address,(uint256,string)[])
+	// function mintBulkWithTokenURI(address to, Tuple6[] memory tokens) public returns (bool) {
+	// 	require(false, stub_error);
+	// 	to;
+	// 	tokens;
+	// 	dummy = 0;
+	// 	return false;
+	// }
 
 	/// Returns EVM address for refungible token
 	///
modifiedpallets/refungible/src/stubs/UniqueRefungibleToken.rawdiffbeforeafterboth

binary blob — no preview

modifiedtests/src/eth/api/UniqueNFT.soldiffbeforeafterboth
--- a/tests/src/eth/api/UniqueNFT.sol
+++ b/tests/src/eth/api/UniqueNFT.sol
@@ -384,24 +384,24 @@
 	/// @dev EVM selector for this function is: 0x75794a3c,
 	///  or in textual repr: nextTokenId()
 	function nextTokenId() external view returns (uint256);
+	// /// @notice Function to mint multiple tokens.
+	// /// @dev `tokenIds` should be an array of consecutive numbers and first number
+	// ///  should be obtained with `nextTokenId` method
+	// /// @param to The new owner
+	// /// @param tokenIds IDs of the minted NFTs
+	// /// @dev EVM selector for this function is: 0x44a9945e,
+	// ///  or in textual repr: mintBulk(address,uint256[])
+	// function mintBulk(address to, uint256[] memory tokenIds) external returns (bool);
 
-	/// @notice Function to mint multiple tokens.
-	/// @dev `tokenIds` should be an array of consecutive numbers and first number
-	///  should be obtained with `nextTokenId` method
-	/// @param to The new owner
-	/// @param tokenIds IDs of the minted NFTs
-	/// @dev EVM selector for this function is: 0x44a9945e,
-	///  or in textual repr: mintBulk(address,uint256[])
-	function mintBulk(address to, uint256[] memory tokenIds) external returns (bool);
+	// /// @notice Function to mint multiple tokens with the given tokenUris.
+	// /// @dev `tokenIds` is array of pairs of token ID and token URI. Token IDs should be consecutive
+	// ///  numbers and first number should be obtained with `nextTokenId` method
+	// /// @param to The new owner
+	// /// @param tokens array of pairs of token ID and token URI for minted tokens
+	// /// @dev EVM selector for this function is: 0x36543006,
+	// ///  or in textual repr: mintBulkWithTokenURI(address,(uint256,string)[])
+	// function mintBulkWithTokenURI(address to, Tuple6[] memory tokens) external returns (bool);
 
-	/// @notice Function to mint multiple tokens with the given tokenUris.
-	/// @dev `tokenIds` is array of pairs of token ID and token URI. Token IDs should be consecutive
-	///  numbers and first number should be obtained with `nextTokenId` method
-	/// @param to The new owner
-	/// @param tokens array of pairs of token ID and token URI for minted tokens
-	/// @dev EVM selector for this function is: 0x36543006,
-	///  or in textual repr: mintBulkWithTokenURI(address,(uint256,string)[])
-	function mintBulkWithTokenURI(address to, Tuple6[] memory tokens) external returns (bool);
 }
 
 /// @dev anonymous struct
modifiedtests/src/eth/api/UniqueRefungible.soldiffbeforeafterboth
--- a/tests/src/eth/api/UniqueRefungible.sol
+++ b/tests/src/eth/api/UniqueRefungible.sol
@@ -385,23 +385,23 @@
 	///  or in textual repr: nextTokenId()
 	function nextTokenId() external view returns (uint256);
 
-	/// @notice Function to mint multiple tokens.
-	/// @dev `tokenIds` should be an array of consecutive numbers and first number
-	///  should be obtained with `nextTokenId` method
-	/// @param to The new owner
-	/// @param tokenIds IDs of the minted RFTs
-	/// @dev EVM selector for this function is: 0x44a9945e,
-	///  or in textual repr: mintBulk(address,uint256[])
-	function mintBulk(address to, uint256[] memory tokenIds) external returns (bool);
+	// /// @notice Function to mint multiple tokens.
+	// /// @dev `tokenIds` should be an array of consecutive numbers and first number
+	// ///  should be obtained with `nextTokenId` method
+	// /// @param to The new owner
+	// /// @param tokenIds IDs of the minted RFTs
+	// /// @dev EVM selector for this function is: 0x44a9945e,
+	// ///  or in textual repr: mintBulk(address,uint256[])
+	// function mintBulk(address to, uint256[] memory tokenIds) external returns (bool);
 
-	/// @notice Function to mint multiple tokens with the given tokenUris.
-	/// @dev `tokenIds` is array of pairs of token ID and token URI. Token IDs should be consecutive
-	///  numbers and first number should be obtained with `nextTokenId` method
-	/// @param to The new owner
-	/// @param tokens array of pairs of token ID and token URI for minted tokens
-	/// @dev EVM selector for this function is: 0x36543006,
-	///  or in textual repr: mintBulkWithTokenURI(address,(uint256,string)[])
-	function mintBulkWithTokenURI(address to, Tuple6[] memory tokens) external returns (bool);
+	// /// @notice Function to mint multiple tokens with the given tokenUris.
+	// /// @dev `tokenIds` is array of pairs of token ID and token URI. Token IDs should be consecutive
+	// ///  numbers and first number should be obtained with `nextTokenId` method
+	// /// @param to The new owner
+	// /// @param tokens array of pairs of token ID and token URI for minted tokens
+	// /// @dev EVM selector for this function is: 0x36543006,
+	// ///  or in textual repr: mintBulkWithTokenURI(address,(uint256,string)[])
+	// function mintBulkWithTokenURI(address to, Tuple6[] memory tokens) external returns (bool);
 
 	/// Returns EVM address for refungible token
 	///
modifiedtests/src/eth/nonFungibleAbi.jsondiffbeforeafterboth
before · tests/src/eth/nonFungibleAbi.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      { "internalType": "address", "name": "newAdmin", "type": "address" }86    ],87    "name": "addCollectionAdmin",88    "outputs": [],89    "stateMutability": "nonpayable",90    "type": "function"91  },92  {93    "inputs": [94      { "internalType": "address", "name": "user", "type": "address" }95    ],96    "name": "addToCollectionAllowList",97    "outputs": [],98    "stateMutability": "nonpayable",99    "type": "function"100  },101  {102    "inputs": [103      { "internalType": "address", "name": "user", "type": "address" }104    ],105    "name": "allowed",106    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],107    "stateMutability": "view",108    "type": "function"109  },110  {111    "inputs": [112      { "internalType": "address", "name": "approved", "type": "address" },113      { "internalType": "uint256", "name": "tokenId", "type": "uint256" }114    ],115    "name": "approve",116    "outputs": [],117    "stateMutability": "nonpayable",118    "type": "function"119  },120  {121    "inputs": [122      { "internalType": "address", "name": "owner", "type": "address" }123    ],124    "name": "balanceOf",125    "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],126    "stateMutability": "view",127    "type": "function"128  },129  {130    "inputs": [131      { "internalType": "uint256", "name": "tokenId", "type": "uint256" }132    ],133    "name": "burn",134    "outputs": [],135    "stateMutability": "nonpayable",136    "type": "function"137  },138  {139    "inputs": [140      { "internalType": "address", "name": "from", "type": "address" },141      { "internalType": "uint256", "name": "tokenId", "type": "uint256" }142    ],143    "name": "burnFrom",144    "outputs": [],145    "stateMutability": "nonpayable",146    "type": "function"147  },148  {149    "inputs": [150      { "internalType": "address", "name": "newOwner", "type": "address" }151    ],152    "name": "changeCollectionOwner",153    "outputs": [],154    "stateMutability": "nonpayable",155    "type": "function"156  },157  {158    "inputs": [],159    "name": "collectionOwner",160    "outputs": [161      {162        "components": [163          { "internalType": "address", "name": "field_0", "type": "address" },164          { "internalType": "uint256", "name": "field_1", "type": "uint256" }165        ],166        "internalType": "struct Tuple17",167        "name": "",168        "type": "tuple"169      }170    ],171    "stateMutability": "view",172    "type": "function"173  },174  {175    "inputs": [{ "internalType": "string", "name": "key", "type": "string" }],176    "name": "collectionProperty",177    "outputs": [{ "internalType": "bytes", "name": "", "type": "bytes" }],178    "stateMutability": "view",179    "type": "function"180  },181  {182    "inputs": [],183    "name": "collectionSponsor",184    "outputs": [185      {186        "components": [187          { "internalType": "address", "name": "field_0", "type": "address" },188          { "internalType": "uint256", "name": "field_1", "type": "uint256" }189        ],190        "internalType": "struct Tuple17",191        "name": "",192        "type": "tuple"193      }194    ],195    "stateMutability": "view",196    "type": "function"197  },198  {199    "inputs": [],200    "name": "confirmCollectionSponsorship",201    "outputs": [],202    "stateMutability": "nonpayable",203    "type": "function"204  },205  {206    "inputs": [],207    "name": "contractAddress",208    "outputs": [{ "internalType": "address", "name": "", "type": "address" }],209    "stateMutability": "view",210    "type": "function"211  },212  {213    "inputs": [{ "internalType": "string", "name": "key", "type": "string" }],214    "name": "deleteCollectionProperty",215    "outputs": [],216    "stateMutability": "nonpayable",217    "type": "function"218  },219  {220    "inputs": [221      { "internalType": "uint256", "name": "tokenId", "type": "uint256" },222      { "internalType": "string", "name": "key", "type": "string" }223    ],224    "name": "deleteProperty",225    "outputs": [],226    "stateMutability": "nonpayable",227    "type": "function"228  },229  {230    "inputs": [],231    "name": "finishMinting",232    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],233    "stateMutability": "nonpayable",234    "type": "function"235  },236  {237    "inputs": [238      { "internalType": "uint256", "name": "tokenId", "type": "uint256" }239    ],240    "name": "getApproved",241    "outputs": [{ "internalType": "address", "name": "", "type": "address" }],242    "stateMutability": "view",243    "type": "function"244  },245  {246    "inputs": [],247    "name": "hasCollectionPendingSponsor",248    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],249    "stateMutability": "view",250    "type": "function"251  },252  {253    "inputs": [254      { "internalType": "address", "name": "owner", "type": "address" },255      { "internalType": "address", "name": "operator", "type": "address" }256    ],257    "name": "isApprovedForAll",258    "outputs": [{ "internalType": "address", "name": "", "type": "address" }],259    "stateMutability": "view",260    "type": "function"261  },262  {263    "inputs": [264      { "internalType": "address", "name": "user", "type": "address" }265    ],266    "name": "isOwnerOrAdmin",267    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],268    "stateMutability": "view",269    "type": "function"270  },271  {272    "inputs": [{ "internalType": "address", "name": "to", "type": "address" }],273    "name": "mint",274    "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],275    "stateMutability": "nonpayable",276    "type": "function"277  },278  {279    "inputs": [280      { "internalType": "address", "name": "to", "type": "address" },281      { "internalType": "uint256[]", "name": "tokenIds", "type": "uint256[]" }282    ],283    "name": "mintBulk",284    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],285    "stateMutability": "nonpayable",286    "type": "function"287  },288  {289    "inputs": [290      { "internalType": "address", "name": "to", "type": "address" },291      {292        "components": [293          { "internalType": "uint256", "name": "field_0", "type": "uint256" },294          { "internalType": "string", "name": "field_1", "type": "string" }295        ],296        "internalType": "struct Tuple6[]",297        "name": "tokens",298        "type": "tuple[]"299      }300    ],301    "name": "mintBulkWithTokenURI",302    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],303    "stateMutability": "nonpayable",304    "type": "function"305  },306  {307    "inputs": [308      { "internalType": "address", "name": "to", "type": "address" },309      { "internalType": "string", "name": "tokenUri", "type": "string" }310    ],311    "name": "mintWithTokenURI",312    "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],313    "stateMutability": "nonpayable",314    "type": "function"315  },316  {317    "inputs": [],318    "name": "mintingFinished",319    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],320    "stateMutability": "view",321    "type": "function"322  },323  {324    "inputs": [],325    "name": "name",326    "outputs": [{ "internalType": "string", "name": "", "type": "string" }],327    "stateMutability": "view",328    "type": "function"329  },330  {331    "inputs": [],332    "name": "nextTokenId",333    "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],334    "stateMutability": "view",335    "type": "function"336  },337  {338    "inputs": [339      { "internalType": "uint256", "name": "tokenId", "type": "uint256" }340    ],341    "name": "ownerOf",342    "outputs": [{ "internalType": "address", "name": "", "type": "address" }],343    "stateMutability": "view",344    "type": "function"345  },346  {347    "inputs": [348      { "internalType": "uint256", "name": "tokenId", "type": "uint256" },349      { "internalType": "string", "name": "key", "type": "string" }350    ],351    "name": "property",352    "outputs": [{ "internalType": "bytes", "name": "", "type": "bytes" }],353    "stateMutability": "view",354    "type": "function"355  },356  {357    "inputs": [358      { "internalType": "address", "name": "admin", "type": "address" }359    ],360    "name": "removeCollectionAdmin",361    "outputs": [],362    "stateMutability": "nonpayable",363    "type": "function"364  },365  {366    "inputs": [],367    "name": "removeCollectionSponsor",368    "outputs": [],369    "stateMutability": "nonpayable",370    "type": "function"371  },372  {373    "inputs": [374      { "internalType": "address", "name": "user", "type": "address" }375    ],376    "name": "removeFromCollectionAllowList",377    "outputs": [],378    "stateMutability": "nonpayable",379    "type": "function"380  },381  {382    "inputs": [383      { "internalType": "address", "name": "from", "type": "address" },384      { "internalType": "address", "name": "to", "type": "address" },385      { "internalType": "uint256", "name": "tokenId", "type": "uint256" }386    ],387    "name": "safeTransferFrom",388    "outputs": [],389    "stateMutability": "nonpayable",390    "type": "function"391  },392  {393    "inputs": [394      { "internalType": "address", "name": "from", "type": "address" },395      { "internalType": "address", "name": "to", "type": "address" },396      { "internalType": "uint256", "name": "tokenId", "type": "uint256" },397      { "internalType": "bytes", "name": "data", "type": "bytes" }398    ],399    "name": "safeTransferFrom",400    "outputs": [],401    "stateMutability": "nonpayable",402    "type": "function"403  },404  {405    "inputs": [406      { "internalType": "address", "name": "operator", "type": "address" },407      { "internalType": "bool", "name": "approved", "type": "bool" }408    ],409    "name": "setApprovalForAll",410    "outputs": [],411    "stateMutability": "nonpayable",412    "type": "function"413  },414  {415    "inputs": [{ "internalType": "uint8", "name": "mode", "type": "uint8" }],416    "name": "setCollectionAccess",417    "outputs": [],418    "stateMutability": "nonpayable",419    "type": "function"420  },421  {422    "inputs": [423      { "internalType": "string", "name": "limit", "type": "string" },424      { "internalType": "uint32", "name": "value", "type": "uint32" }425    ],426    "name": "setCollectionLimit",427    "outputs": [],428    "stateMutability": "nonpayable",429    "type": "function"430  },431  {432    "inputs": [433      { "internalType": "string", "name": "limit", "type": "string" },434      { "internalType": "bool", "name": "value", "type": "bool" }435    ],436    "name": "setCollectionLimit",437    "outputs": [],438    "stateMutability": "nonpayable",439    "type": "function"440  },441  {442    "inputs": [{ "internalType": "bool", "name": "mode", "type": "bool" }],443    "name": "setCollectionMintMode",444    "outputs": [],445    "stateMutability": "nonpayable",446    "type": "function"447  },448  {449    "inputs": [{ "internalType": "bool", "name": "enable", "type": "bool" }],450    "name": "setCollectionNesting",451    "outputs": [],452    "stateMutability": "nonpayable",453    "type": "function"454  },455  {456    "inputs": [457      { "internalType": "bool", "name": "enable", "type": "bool" },458      {459        "internalType": "address[]",460        "name": "collections",461        "type": "address[]"462      }463    ],464    "name": "setCollectionNesting",465    "outputs": [],466    "stateMutability": "nonpayable",467    "type": "function"468  },469  {470    "inputs": [471      { "internalType": "string", "name": "key", "type": "string" },472      { "internalType": "bytes", "name": "value", "type": "bytes" }473    ],474    "name": "setCollectionProperty",475    "outputs": [],476    "stateMutability": "nonpayable",477    "type": "function"478  },479  {480    "inputs": [481      { "internalType": "address", "name": "sponsor", "type": "address" }482    ],483    "name": "setCollectionSponsor",484    "outputs": [],485    "stateMutability": "nonpayable",486    "type": "function"487  },488  {489    "inputs": [490      { "internalType": "uint256", "name": "tokenId", "type": "uint256" },491      { "internalType": "string", "name": "key", "type": "string" },492      { "internalType": "bytes", "name": "value", "type": "bytes" }493    ],494    "name": "setProperty",495    "outputs": [],496    "stateMutability": "nonpayable",497    "type": "function"498  },499  {500    "inputs": [501      { "internalType": "string", "name": "key", "type": "string" },502      { "internalType": "bool", "name": "isMutable", "type": "bool" },503      { "internalType": "bool", "name": "collectionAdmin", "type": "bool" },504      { "internalType": "bool", "name": "tokenOwner", "type": "bool" }505    ],506    "name": "setTokenPropertyPermission",507    "outputs": [],508    "stateMutability": "nonpayable",509    "type": "function"510  },511  {512    "inputs": [513      { "internalType": "bytes4", "name": "interfaceID", "type": "bytes4" }514    ],515    "name": "supportsInterface",516    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],517    "stateMutability": "view",518    "type": "function"519  },520  {521    "inputs": [],522    "name": "symbol",523    "outputs": [{ "internalType": "string", "name": "", "type": "string" }],524    "stateMutability": "view",525    "type": "function"526  },527  {528    "inputs": [529      { "internalType": "uint256", "name": "index", "type": "uint256" }530    ],531    "name": "tokenByIndex",532    "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],533    "stateMutability": "view",534    "type": "function"535  },536  {537    "inputs": [538      { "internalType": "address", "name": "owner", "type": "address" },539      { "internalType": "uint256", "name": "index", "type": "uint256" }540    ],541    "name": "tokenOfOwnerByIndex",542    "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],543    "stateMutability": "view",544    "type": "function"545  },546  {547    "inputs": [548      { "internalType": "uint256", "name": "tokenId", "type": "uint256" }549    ],550    "name": "tokenURI",551    "outputs": [{ "internalType": "string", "name": "", "type": "string" }],552    "stateMutability": "view",553    "type": "function"554  },555  {556    "inputs": [],557    "name": "totalSupply",558    "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],559    "stateMutability": "view",560    "type": "function"561  },562  {563    "inputs": [564      { "internalType": "address", "name": "to", "type": "address" },565      { "internalType": "uint256", "name": "tokenId", "type": "uint256" }566    ],567    "name": "transfer",568    "outputs": [],569    "stateMutability": "nonpayable",570    "type": "function"571  },572  {573    "inputs": [574      { "internalType": "address", "name": "from", "type": "address" },575      { "internalType": "address", "name": "to", "type": "address" },576      { "internalType": "uint256", "name": "tokenId", "type": "uint256" }577    ],578    "name": "transferFrom",579    "outputs": [],580    "stateMutability": "nonpayable",581    "type": "function"582  },583  {584    "inputs": [],585    "name": "uniqueCollectionType",586    "outputs": [{ "internalType": "string", "name": "", "type": "string" }],587    "stateMutability": "view",588    "type": "function"589  }590]
after · tests/src/eth/nonFungibleAbi.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      { "internalType": "address", "name": "newAdmin", "type": "address" }86    ],87    "name": "addCollectionAdmin",88    "outputs": [],89    "stateMutability": "nonpayable",90    "type": "function"91  },92  {93    "inputs": [94      { "internalType": "address", "name": "user", "type": "address" }95    ],96    "name": "addToCollectionAllowList",97    "outputs": [],98    "stateMutability": "nonpayable",99    "type": "function"100  },101  {102    "inputs": [103      { "internalType": "address", "name": "user", "type": "address" }104    ],105    "name": "allowed",106    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],107    "stateMutability": "view",108    "type": "function"109  },110  {111    "inputs": [112      { "internalType": "address", "name": "approved", "type": "address" },113      { "internalType": "uint256", "name": "tokenId", "type": "uint256" }114    ],115    "name": "approve",116    "outputs": [],117    "stateMutability": "nonpayable",118    "type": "function"119  },120  {121    "inputs": [122      { "internalType": "address", "name": "owner", "type": "address" }123    ],124    "name": "balanceOf",125    "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],126    "stateMutability": "view",127    "type": "function"128  },129  {130    "inputs": [131      { "internalType": "uint256", "name": "tokenId", "type": "uint256" }132    ],133    "name": "burn",134    "outputs": [],135    "stateMutability": "nonpayable",136    "type": "function"137  },138  {139    "inputs": [140      { "internalType": "address", "name": "from", "type": "address" },141      { "internalType": "uint256", "name": "tokenId", "type": "uint256" }142    ],143    "name": "burnFrom",144    "outputs": [],145    "stateMutability": "nonpayable",146    "type": "function"147  },148  {149    "inputs": [150      { "internalType": "address", "name": "newOwner", "type": "address" }151    ],152    "name": "changeCollectionOwner",153    "outputs": [],154    "stateMutability": "nonpayable",155    "type": "function"156  },157  {158    "inputs": [],159    "name": "collectionOwner",160    "outputs": [161      {162        "components": [163          { "internalType": "address", "name": "field_0", "type": "address" },164          { "internalType": "uint256", "name": "field_1", "type": "uint256" }165        ],166        "internalType": "struct Tuple17",167        "name": "",168        "type": "tuple"169      }170    ],171    "stateMutability": "view",172    "type": "function"173  },174  {175    "inputs": [{ "internalType": "string", "name": "key", "type": "string" }],176    "name": "collectionProperty",177    "outputs": [{ "internalType": "bytes", "name": "", "type": "bytes" }],178    "stateMutability": "view",179    "type": "function"180  },181  {182    "inputs": [],183    "name": "collectionSponsor",184    "outputs": [185      {186        "components": [187          { "internalType": "address", "name": "field_0", "type": "address" },188          { "internalType": "uint256", "name": "field_1", "type": "uint256" }189        ],190        "internalType": "struct Tuple17",191        "name": "",192        "type": "tuple"193      }194    ],195    "stateMutability": "view",196    "type": "function"197  },198  {199    "inputs": [],200    "name": "confirmCollectionSponsorship",201    "outputs": [],202    "stateMutability": "nonpayable",203    "type": "function"204  },205  {206    "inputs": [],207    "name": "contractAddress",208    "outputs": [{ "internalType": "address", "name": "", "type": "address" }],209    "stateMutability": "view",210    "type": "function"211  },212  {213    "inputs": [{ "internalType": "string", "name": "key", "type": "string" }],214    "name": "deleteCollectionProperty",215    "outputs": [],216    "stateMutability": "nonpayable",217    "type": "function"218  },219  {220    "inputs": [221      { "internalType": "uint256", "name": "tokenId", "type": "uint256" },222      { "internalType": "string", "name": "key", "type": "string" }223    ],224    "name": "deleteProperty",225    "outputs": [],226    "stateMutability": "nonpayable",227    "type": "function"228  },229  {230    "inputs": [],231    "name": "finishMinting",232    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],233    "stateMutability": "nonpayable",234    "type": "function"235  },236  {237    "inputs": [238      { "internalType": "uint256", "name": "tokenId", "type": "uint256" }239    ],240    "name": "getApproved",241    "outputs": [{ "internalType": "address", "name": "", "type": "address" }],242    "stateMutability": "view",243    "type": "function"244  },245  {246    "inputs": [],247    "name": "hasCollectionPendingSponsor",248    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],249    "stateMutability": "view",250    "type": "function"251  },252  {253    "inputs": [254      { "internalType": "address", "name": "owner", "type": "address" },255      { "internalType": "address", "name": "operator", "type": "address" }256    ],257    "name": "isApprovedForAll",258    "outputs": [{ "internalType": "address", "name": "", "type": "address" }],259    "stateMutability": "view",260    "type": "function"261  },262  {263    "inputs": [264      { "internalType": "address", "name": "user", "type": "address" }265    ],266    "name": "isOwnerOrAdmin",267    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],268    "stateMutability": "view",269    "type": "function"270  },271  {272    "inputs": [{ "internalType": "address", "name": "to", "type": "address" }],273    "name": "mint",274    "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],275    "stateMutability": "nonpayable",276    "type": "function"277  },278  {279    "inputs": [280      { "internalType": "address", "name": "to", "type": "address" },281      { "internalType": "string", "name": "tokenUri", "type": "string" }282    ],283    "name": "mintWithTokenURI",284    "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],285    "stateMutability": "nonpayable",286    "type": "function"287  },288  {289    "inputs": [],290    "name": "mintingFinished",291    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],292    "stateMutability": "view",293    "type": "function"294  },295  {296    "inputs": [],297    "name": "name",298    "outputs": [{ "internalType": "string", "name": "", "type": "string" }],299    "stateMutability": "view",300    "type": "function"301  },302  {303    "inputs": [],304    "name": "nextTokenId",305    "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],306    "stateMutability": "view",307    "type": "function"308  },309  {310    "inputs": [311      { "internalType": "uint256", "name": "tokenId", "type": "uint256" }312    ],313    "name": "ownerOf",314    "outputs": [{ "internalType": "address", "name": "", "type": "address" }],315    "stateMutability": "view",316    "type": "function"317  },318  {319    "inputs": [320      { "internalType": "uint256", "name": "tokenId", "type": "uint256" },321      { "internalType": "string", "name": "key", "type": "string" }322    ],323    "name": "property",324    "outputs": [{ "internalType": "bytes", "name": "", "type": "bytes" }],325    "stateMutability": "view",326    "type": "function"327  },328  {329    "inputs": [330      { "internalType": "address", "name": "admin", "type": "address" }331    ],332    "name": "removeCollectionAdmin",333    "outputs": [],334    "stateMutability": "nonpayable",335    "type": "function"336  },337  {338    "inputs": [],339    "name": "removeCollectionSponsor",340    "outputs": [],341    "stateMutability": "nonpayable",342    "type": "function"343  },344  {345    "inputs": [346      { "internalType": "address", "name": "user", "type": "address" }347    ],348    "name": "removeFromCollectionAllowList",349    "outputs": [],350    "stateMutability": "nonpayable",351    "type": "function"352  },353  {354    "inputs": [355      { "internalType": "address", "name": "from", "type": "address" },356      { "internalType": "address", "name": "to", "type": "address" },357      { "internalType": "uint256", "name": "tokenId", "type": "uint256" }358    ],359    "name": "safeTransferFrom",360    "outputs": [],361    "stateMutability": "nonpayable",362    "type": "function"363  },364  {365    "inputs": [366      { "internalType": "address", "name": "from", "type": "address" },367      { "internalType": "address", "name": "to", "type": "address" },368      { "internalType": "uint256", "name": "tokenId", "type": "uint256" },369      { "internalType": "bytes", "name": "data", "type": "bytes" }370    ],371    "name": "safeTransferFrom",372    "outputs": [],373    "stateMutability": "nonpayable",374    "type": "function"375  },376  {377    "inputs": [378      { "internalType": "address", "name": "operator", "type": "address" },379      { "internalType": "bool", "name": "approved", "type": "bool" }380    ],381    "name": "setApprovalForAll",382    "outputs": [],383    "stateMutability": "nonpayable",384    "type": "function"385  },386  {387    "inputs": [{ "internalType": "uint8", "name": "mode", "type": "uint8" }],388    "name": "setCollectionAccess",389    "outputs": [],390    "stateMutability": "nonpayable",391    "type": "function"392  },393  {394    "inputs": [395      { "internalType": "string", "name": "limit", "type": "string" },396      { "internalType": "uint32", "name": "value", "type": "uint32" }397    ],398    "name": "setCollectionLimit",399    "outputs": [],400    "stateMutability": "nonpayable",401    "type": "function"402  },403  {404    "inputs": [405      { "internalType": "string", "name": "limit", "type": "string" },406      { "internalType": "bool", "name": "value", "type": "bool" }407    ],408    "name": "setCollectionLimit",409    "outputs": [],410    "stateMutability": "nonpayable",411    "type": "function"412  },413  {414    "inputs": [{ "internalType": "bool", "name": "mode", "type": "bool" }],415    "name": "setCollectionMintMode",416    "outputs": [],417    "stateMutability": "nonpayable",418    "type": "function"419  },420  {421    "inputs": [{ "internalType": "bool", "name": "enable", "type": "bool" }],422    "name": "setCollectionNesting",423    "outputs": [],424    "stateMutability": "nonpayable",425    "type": "function"426  },427  {428    "inputs": [429      { "internalType": "bool", "name": "enable", "type": "bool" },430      {431        "internalType": "address[]",432        "name": "collections",433        "type": "address[]"434      }435    ],436    "name": "setCollectionNesting",437    "outputs": [],438    "stateMutability": "nonpayable",439    "type": "function"440  },441  {442    "inputs": [443      { "internalType": "string", "name": "key", "type": "string" },444      { "internalType": "bytes", "name": "value", "type": "bytes" }445    ],446    "name": "setCollectionProperty",447    "outputs": [],448    "stateMutability": "nonpayable",449    "type": "function"450  },451  {452    "inputs": [453      { "internalType": "address", "name": "sponsor", "type": "address" }454    ],455    "name": "setCollectionSponsor",456    "outputs": [],457    "stateMutability": "nonpayable",458    "type": "function"459  },460  {461    "inputs": [462      { "internalType": "uint256", "name": "tokenId", "type": "uint256" },463      { "internalType": "string", "name": "key", "type": "string" },464      { "internalType": "bytes", "name": "value", "type": "bytes" }465    ],466    "name": "setProperty",467    "outputs": [],468    "stateMutability": "nonpayable",469    "type": "function"470  },471  {472    "inputs": [473      { "internalType": "string", "name": "key", "type": "string" },474      { "internalType": "bool", "name": "isMutable", "type": "bool" },475      { "internalType": "bool", "name": "collectionAdmin", "type": "bool" },476      { "internalType": "bool", "name": "tokenOwner", "type": "bool" }477    ],478    "name": "setTokenPropertyPermission",479    "outputs": [],480    "stateMutability": "nonpayable",481    "type": "function"482  },483  {484    "inputs": [485      { "internalType": "bytes4", "name": "interfaceID", "type": "bytes4" }486    ],487    "name": "supportsInterface",488    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],489    "stateMutability": "view",490    "type": "function"491  },492  {493    "inputs": [],494    "name": "symbol",495    "outputs": [{ "internalType": "string", "name": "", "type": "string" }],496    "stateMutability": "view",497    "type": "function"498  },499  {500    "inputs": [501      { "internalType": "uint256", "name": "index", "type": "uint256" }502    ],503    "name": "tokenByIndex",504    "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],505    "stateMutability": "view",506    "type": "function"507  },508  {509    "inputs": [510      { "internalType": "address", "name": "owner", "type": "address" },511      { "internalType": "uint256", "name": "index", "type": "uint256" }512    ],513    "name": "tokenOfOwnerByIndex",514    "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],515    "stateMutability": "view",516    "type": "function"517  },518  {519    "inputs": [520      { "internalType": "uint256", "name": "tokenId", "type": "uint256" }521    ],522    "name": "tokenURI",523    "outputs": [{ "internalType": "string", "name": "", "type": "string" }],524    "stateMutability": "view",525    "type": "function"526  },527  {528    "inputs": [],529    "name": "totalSupply",530    "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],531    "stateMutability": "view",532    "type": "function"533  },534  {535    "inputs": [536      { "internalType": "address", "name": "to", "type": "address" },537      { "internalType": "uint256", "name": "tokenId", "type": "uint256" }538    ],539    "name": "transfer",540    "outputs": [],541    "stateMutability": "nonpayable",542    "type": "function"543  },544  {545    "inputs": [546      { "internalType": "address", "name": "from", "type": "address" },547      { "internalType": "address", "name": "to", "type": "address" },548      { "internalType": "uint256", "name": "tokenId", "type": "uint256" }549    ],550    "name": "transferFrom",551    "outputs": [],552    "stateMutability": "nonpayable",553    "type": "function"554  },555  {556    "inputs": [],557    "name": "uniqueCollectionType",558    "outputs": [{ "internalType": "string", "name": "", "type": "string" }],559    "stateMutability": "view",560    "type": "function"561  }562]
modifiedtests/src/eth/reFungibleAbi.jsondiffbeforeafterboth
--- a/tests/src/eth/reFungibleAbi.json
+++ b/tests/src/eth/reFungibleAbi.json
@@ -278,34 +278,6 @@
   {
     "inputs": [
       { "internalType": "address", "name": "to", "type": "address" },
-      { "internalType": "uint256[]", "name": "tokenIds", "type": "uint256[]" }
-    ],
-    "name": "mintBulk",
-    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],
-    "stateMutability": "nonpayable",
-    "type": "function"
-  },
-  {
-    "inputs": [
-      { "internalType": "address", "name": "to", "type": "address" },
-      {
-        "components": [
-          { "internalType": "uint256", "name": "field_0", "type": "uint256" },
-          { "internalType": "string", "name": "field_1", "type": "string" }
-        ],
-        "internalType": "struct Tuple6[]",
-        "name": "tokens",
-        "type": "tuple[]"
-      }
-    ],
-    "name": "mintBulkWithTokenURI",
-    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],
-    "stateMutability": "nonpayable",
-    "type": "function"
-  },
-  {
-    "inputs": [
-      { "internalType": "address", "name": "to", "type": "address" },
       { "internalType": "string", "name": "tokenUri", "type": "string" }
     ],
     "name": "mintWithTokenURI",