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

difftreelog

CORE-386 Add methodt to evm

Trubnikov Sergey2022-05-31parent: #9e257c4.patch.diff
in: master

8 files changed

modifiedpallets/common/src/erc.rsdiffbeforeafterboth
--- a/pallets/common/src/erc.rs
+++ b/pallets/common/src/erc.rs
@@ -47,8 +47,9 @@
 }
 
 #[solidity_interface(name = "Collection")]
-impl<T: Config> CollectionHandle<T>
-// where
+
+impl<T: Config> CollectionHandle<T> 
+// where 
 // 	T::AccountId: From<H256>
 {
 	fn set_collection_property(&mut self, caller: caller, key: string, value: bytes) -> Result<()> {
@@ -192,7 +193,7 @@
 	// 	Ok(())
 	// }
 
-	fn add_collection_admin(&self, caller: caller, new_admin: address) -> Result<void> {
+	fn add_admin(&self, caller: caller, new_admin: address) -> Result<void> {
 		let caller = T::CrossAccountId::from_eth(caller);
 		self.check_is_owner_or_admin(&caller)
 			.map_err(dispatch_to_evm::<T>)?;
@@ -202,16 +203,17 @@
 		Ok(())
 	}
 
-	fn remove_collection_admin(&self, caller: caller, admin: address) -> Result<void> {
+	fn remove_admin(&self, caller: caller, admin: address) -> Result<void> {
 		let caller = T::CrossAccountId::from_eth(caller);
 		self.check_is_owner_or_admin(&caller)
 			.map_err(dispatch_to_evm::<T>)?;
 		let admin = T::CrossAccountId::from_eth(admin);
-		<Pallet<T>>::toggle_admin(&self, &caller, &admin, false).map_err(dispatch_to_evm::<T>)?;
+		<Pallet<T>>::toggle_admin(&self, &caller, &admin, false)
+			.map_err(dispatch_to_evm::<T>)?;
 		Ok(())
 	}
 
-	#[solidity(rename_selector = "setCollectionNesting")]
+	#[solidity(rename_selector = "setNesting")]
 	fn set_nesting_bool(&mut self, caller: caller, enable: bool) -> Result<void> {
 		let caller = T::CrossAccountId::from_eth(caller);
 		self.check_is_owner_or_admin(&caller)
@@ -224,22 +226,13 @@
 		Ok(())
 	}
 
-	#[solidity(rename_selector = "setCollectionNesting")]
-	fn set_nesting(
-		&mut self,
-		caller: caller,
-		enable: bool,
-		collections: Vec<address>,
-	) -> Result<void> {
+	#[solidity(rename_selector = "setNesting")]
+	fn set_nesting(&mut self, caller: caller, enable: bool, collections: Vec<address>) -> Result<void> {
 		if collections.is_empty() {
 			return Err("No addresses provided".into());
 		}
 		if collections.len() >= OwnerRestrictedSet::bound() {
-			return Err(Error::Revert(format!(
-				"Out of bound: {} >= {}",
-				collections.len(),
-				OwnerRestrictedSet::bound()
-			)));
+			return Err(Error::Revert(format!("Out of bound: {} >= {}", collections.len(), OwnerRestrictedSet::bound())));
 		}
 		let caller = T::CrossAccountId::from_eth(caller);
 		self.check_is_owner_or_admin(&caller)
@@ -249,48 +242,14 @@
 			true => {
 				let mut bv = OwnerRestrictedSet::new();
 				for i in collections {
-					bv.try_insert(crate::eth::map_eth_to_id(&i).ok_or(Error::Revert(
-						"Can't convert address into collection id".into(),
-					))?)
-					.map_err(|e| Error::Revert(format!("{:?}", e)))?;
+					bv.try_insert(
+						crate::eth::map_eth_to_id(&i)
+							.ok_or(Error::Revert("Can't convert address into collection id".into()))?
+					).map_err(|e| Error::Revert(format!("{:?}", e)))?;
 				}
-				NestingRule::OwnerRestricted(bv)
+				NestingRule::OwnerRestricted (bv)
 			}
-		});
-		save(self);
-		Ok(())
-	}
-
-	fn set_collection_access(&mut self, caller: caller, mode: uint8) -> Result<void> {
-		let caller = T::CrossAccountId::from_eth(caller);
-		self.check_is_owner_or_admin(&caller)
-			.map_err(dispatch_to_evm::<T>)?;
-		self.collection.permissions.access = Some(match mode {
-			0 => AccessMode::Normal,
-			1 => AccessMode::AllowList,
-			_ => return Err("Not supported access mode".into()),
 		});
-		save(self);
-		Ok(())
-	}
-
-	fn add_to_collection_allow_list(&self, caller: caller, user: address) -> Result<void> {
-		let caller = check_is_owner_or_admin(caller, self)?;
-		let user = T::CrossAccountId::from_eth(user);
-		<Pallet<T>>::toggle_allowlist(self, &caller, &user, true).map_err(dispatch_to_evm::<T>)?;
-		Ok(())
-	}
-
-	fn remove_from_collection_allow_list(&self, caller: caller, user: address) -> Result<void> {
-		let caller = check_is_owner_or_admin(caller, self)?;
-		let user = T::CrossAccountId::from_eth(user);
-		<Pallet<T>>::toggle_allowlist(self, &caller, &user, false).map_err(dispatch_to_evm::<T>)?;
-		Ok(())
-	}
-
-	fn set_collection_mint_mode(&mut self, caller: caller, mode: bool) -> Result<void> {
-		check_is_owner_or_admin(caller, self)?;
-		self.collection.permissions.mint_mode = Some(mode);
 		save(self);
 		Ok(())
 	}
modifiedpallets/common/src/lib.rsdiffbeforeafterboth
--- a/pallets/common/src/lib.rs
+++ b/pallets/common/src/lib.rs
@@ -148,7 +148,8 @@
 					.saturating_mul(writes),
 			))
 	}
-	pub fn save(self) -> Result<(), DispatchError> {
+
+	pub fn save(self) -> DispatchResult {
 		<CollectionById<T>>::insert(self.id, self.collection);
 		Ok(())
 	}
modifiedpallets/nonfungible/src/stubs/UniqueNFT.soldiffbeforeafterboth
--- a/pallets/nonfungible/src/stubs/UniqueNFT.sol
+++ b/pallets/nonfungible/src/stubs/UniqueNFT.sol
@@ -51,6 +51,105 @@
 	event MintingFinished();
 }
 
+// Selector: 3a54513b
+contract Collection is Dummy, ERC165 {
+	// Selector: setCollectionProperty(string,bytes) 2f073f66
+	function setCollectionProperty(string memory key, bytes memory value)
+		public
+	{
+		require(false, stub_error);
+		key;
+		value;
+		dummy = 0;
+	}
+
+	// Selector: deleteCollectionProperty(string) 7b7debce
+	function deleteCollectionProperty(string memory key) public {
+		require(false, stub_error);
+		key;
+		dummy = 0;
+	}
+
+	// Throws error if key not found
+	//
+	// Selector: collectionProperty(string) cf24fd6d
+	function collectionProperty(string memory key)
+		public
+		view
+		returns (bytes memory)
+	{
+		require(false, stub_error);
+		key;
+		dummy;
+		return hex"";
+	}
+
+	// Selector: ethSetSponsor(address) 8f9af356
+	function ethSetSponsor(address sponsor) public {
+		require(false, stub_error);
+		sponsor;
+		dummy = 0;
+	}
+
+	// Selector: ethConfirmSponsorship() a8580d1a
+	function ethConfirmSponsorship() public {
+		require(false, stub_error);
+		dummy = 0;
+	}
+
+	// Selector: setLimit(string,uint32) 68db30ca
+	function setLimit(string memory limit, uint32 value) public {
+		require(false, stub_error);
+		limit;
+		value;
+		dummy = 0;
+	}
+
+	// Selector: setLimit(string,bool) ea67e4c2
+	function setLimit(string memory limit, bool value) public {
+		require(false, stub_error);
+		limit;
+		value;
+		dummy = 0;
+	}
+
+	// Selector: contractAddress() f6b4dfb4
+	function contractAddress() public view returns (address) {
+		require(false, stub_error);
+		dummy;
+		return 0x0000000000000000000000000000000000000000;
+	}
+
+	// Selector: addAdmin(address) 70480275
+	function addAdmin(address newAdmin) public view {
+		require(false, stub_error);
+		newAdmin;
+		dummy;
+	}
+
+	// Selector: removeAdmin(address) 1785f53c
+	function removeAdmin(address admin) public view {
+		require(false, stub_error);
+		admin;
+		dummy;
+	}
+
+	// Selector: setNesting(bool) e8fc50dd
+	function setNesting(bool enable) public {
+		require(false, stub_error);
+		enable;
+		dummy = 0;
+	}
+
+	// Selector: setNesting(bool,address[]) 7df12a9a
+	function setNesting(bool enable, address[] memory collections) public {
+		require(false, stub_error);
+		enable;
+		collections;
+		dummy = 0;
+	}
+}
+
 // Selector: 41369377
 contract TokenProperties is Dummy, ERC165 {
 	// Selector: setTokenPropertyPermission(string,bool,bool,bool) 222d97fa
@@ -294,135 +393,6 @@
 		require(false, stub_error);
 		dummy = 0;
 		return false;
-	}
-}
-
-// Selector: 6aea9834
-contract Collection is Dummy, ERC165 {
-	// Selector: setCollectionProperty(string,bytes) 2f073f66
-	function setCollectionProperty(string memory key, bytes memory value)
-		public
-	{
-		require(false, stub_error);
-		key;
-		value;
-		dummy = 0;
-	}
-
-	// Selector: deleteCollectionProperty(string) 7b7debce
-	function deleteCollectionProperty(string memory key) public {
-		require(false, stub_error);
-		key;
-		dummy = 0;
-	}
-
-	// Throws error if key not found
-	//
-	// Selector: collectionProperty(string) cf24fd6d
-	function collectionProperty(string memory key)
-		public
-		view
-		returns (bytes memory)
-	{
-		require(false, stub_error);
-		key;
-		dummy;
-		return hex"";
-	}
-
-	// Selector: setCollectionSponsor(address) 7623402e
-	function setCollectionSponsor(address sponsor) public {
-		require(false, stub_error);
-		sponsor;
-		dummy = 0;
-	}
-
-	// Selector: confirmCollectionSponsorship() 3c50e97a
-	function confirmCollectionSponsorship() public {
-		require(false, stub_error);
-		dummy = 0;
-	}
-
-	// Selector: setCollectionLimit(string,uint32) 6a3841db
-	function setCollectionLimit(string memory limit, uint32 value) public {
-		require(false, stub_error);
-		limit;
-		value;
-		dummy = 0;
-	}
-
-	// Selector: setCollectionLimit(string,bool) 993b7fba
-	function setCollectionLimit(string memory limit, bool value) public {
-		require(false, stub_error);
-		limit;
-		value;
-		dummy = 0;
-	}
-
-	// Selector: contractAddress() f6b4dfb4
-	function contractAddress() public view returns (address) {
-		require(false, stub_error);
-		dummy;
-		return 0x0000000000000000000000000000000000000000;
-	}
-
-	// Selector: addCollectionAdmin(address) 92e462c7
-	function addCollectionAdmin(address newAdmin) public view {
-		require(false, stub_error);
-		newAdmin;
-		dummy;
-	}
-
-	// Selector: removeCollectionAdmin(address) fafd7b42
-	function removeCollectionAdmin(address admin) public view {
-		require(false, stub_error);
-		admin;
-		dummy;
-	}
-
-	// Selector: setCollectionNesting(bool) 112d4586
-	function setCollectionNesting(bool enable) public {
-		require(false, stub_error);
-		enable;
-		dummy = 0;
-	}
-
-	// Selector: setCollectionNesting(bool,address[]) 64872396
-	function setCollectionNesting(bool enable, address[] memory collections)
-		public
-	{
-		require(false, stub_error);
-		enable;
-		collections;
-		dummy = 0;
-	}
-
-	// Selector: setCollectionAccess(uint8) 41835d4c
-	function setCollectionAccess(uint8 mode) public {
-		require(false, stub_error);
-		mode;
-		dummy = 0;
-	}
-
-	// Selector: addToCollectionAllowList(address) 67844fe6
-	function addToCollectionAllowList(address user) public view {
-		require(false, stub_error);
-		user;
-		dummy;
-	}
-
-	// Selector: removeFromCollectionAllowList(address) 85c51acb
-	function removeFromCollectionAllowList(address user) public view {
-		require(false, stub_error);
-		user;
-		dummy;
-	}
-
-	// Selector: setCollectionMintMode(bool) 00018e84
-	function setCollectionMintMode(bool mode) public {
-		require(false, stub_error);
-		mode;
-		dummy = 0;
 	}
 }
 
modifiedtests/src/eth/api/UniqueNFT.soldiffbeforeafterboth
--- a/tests/src/eth/api/UniqueNFT.sol
+++ b/tests/src/eth/api/UniqueNFT.sol
@@ -42,6 +42,51 @@
 	event MintingFinished();
 }
 
+// Selector: 3a54513b
+interface Collection is Dummy, ERC165 {
+	// Selector: setCollectionProperty(string,bytes) 2f073f66
+	function setCollectionProperty(string memory key, bytes memory value)
+		external;
+
+	// Selector: deleteCollectionProperty(string) 7b7debce
+	function deleteCollectionProperty(string memory key) external;
+
+	// Throws error if key not found
+	//
+	// Selector: collectionProperty(string) cf24fd6d
+	function collectionProperty(string memory key)
+		external
+		view
+		returns (bytes memory);
+
+	// Selector: ethSetSponsor(address) 8f9af356
+	function ethSetSponsor(address sponsor) external;
+
+	// Selector: ethConfirmSponsorship() a8580d1a
+	function ethConfirmSponsorship() external;
+
+	// Selector: setLimit(string,uint32) 68db30ca
+	function setLimit(string memory limit, uint32 value) external;
+
+	// Selector: setLimit(string,bool) ea67e4c2
+	function setLimit(string memory limit, bool value) external;
+
+	// Selector: contractAddress() f6b4dfb4
+	function contractAddress() external view returns (address);
+
+	// Selector: addAdmin(address) 70480275
+	function addAdmin(address newAdmin) external view;
+
+	// Selector: removeAdmin(address) 1785f53c
+	function removeAdmin(address admin) external view;
+
+	// Selector: setNesting(bool) e8fc50dd
+	function setNesting(bool enable) external;
+
+	// Selector: setNesting(bool,address[]) 7df12a9a
+	function setNesting(bool enable, address[] memory collections) external;
+}
+
 // Selector: 41369377
 interface TokenProperties is Dummy, ERC165 {
 	// Selector: setTokenPropertyPermission(string,bool,bool,bool) 222d97fa
@@ -172,64 +217,6 @@
 	//
 	// Selector: finishMinting() 7d64bcb4
 	function finishMinting() external returns (bool);
-}
-
-// Selector: 6aea9834
-interface Collection is Dummy, ERC165 {
-	// Selector: setCollectionProperty(string,bytes) 2f073f66
-	function setCollectionProperty(string memory key, bytes memory value)
-		external;
-
-	// Selector: deleteCollectionProperty(string) 7b7debce
-	function deleteCollectionProperty(string memory key) external;
-
-	// Throws error if key not found
-	//
-	// Selector: collectionProperty(string) cf24fd6d
-	function collectionProperty(string memory key)
-		external
-		view
-		returns (bytes memory);
-
-	// Selector: setCollectionSponsor(address) 7623402e
-	function setCollectionSponsor(address sponsor) external;
-
-	// Selector: confirmCollectionSponsorship() 3c50e97a
-	function confirmCollectionSponsorship() external;
-
-	// Selector: setCollectionLimit(string,uint32) 6a3841db
-	function setCollectionLimit(string memory limit, uint32 value) external;
-
-	// Selector: setCollectionLimit(string,bool) 993b7fba
-	function setCollectionLimit(string memory limit, bool value) external;
-
-	// Selector: contractAddress() f6b4dfb4
-	function contractAddress() external view returns (address);
-
-	// Selector: addCollectionAdmin(address) 92e462c7
-	function addCollectionAdmin(address newAdmin) external view;
-
-	// Selector: removeCollectionAdmin(address) fafd7b42
-	function removeCollectionAdmin(address admin) external view;
-
-	// Selector: setCollectionNesting(bool) 112d4586
-	function setCollectionNesting(bool enable) external;
-
-	// Selector: setCollectionNesting(bool,address[]) 64872396
-	function setCollectionNesting(bool enable, address[] memory collections)
-		external;
-
-	// Selector: setCollectionAccess(uint8) 41835d4c
-	function setCollectionAccess(uint8 mode) external;
-
-	// Selector: addToCollectionAllowList(address) 67844fe6
-	function addToCollectionAllowList(address user) external view;
-
-	// Selector: removeFromCollectionAllowList(address) 85c51acb
-	function removeFromCollectionAllowList(address user) external view;
-
-	// Selector: setCollectionMintMode(bool) 00018e84
-	function setCollectionMintMode(bool mode) external;
 }
 
 // Selector: 780e9d63
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": "view",90    "type": "function"91  },92  {93    "inputs": [94      { "internalType": "address", "name": "user", "type": "address" }95    ],96    "name": "addToCollectionAllowList",97    "outputs": [],98    "stateMutability": "view",99    "type": "function"100  },101  {102    "inputs": [103      { "internalType": "address", "name": "approved", "type": "address" },104      { "internalType": "uint256", "name": "tokenId", "type": "uint256" }105    ],106    "name": "approve",107    "outputs": [],108    "stateMutability": "nonpayable",109    "type": "function"110  },111  {112    "inputs": [113      { "internalType": "address", "name": "owner", "type": "address" }114    ],115    "name": "balanceOf",116    "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],117    "stateMutability": "view",118    "type": "function"119  },120  {121    "inputs": [122      { "internalType": "uint256", "name": "tokenId", "type": "uint256" }123    ],124    "name": "burn",125    "outputs": [],126    "stateMutability": "nonpayable",127    "type": "function"128  },129  {130    "inputs": [131      { "internalType": "address", "name": "from", "type": "address" },132      { "internalType": "uint256", "name": "tokenId", "type": "uint256" }133    ],134    "name": "burnFrom",135    "outputs": [],136    "stateMutability": "nonpayable",137    "type": "function"138  },139  {140    "inputs": [{ "internalType": "string", "name": "key", "type": "string" }],141    "name": "collectionProperty",142    "outputs": [{ "internalType": "bytes", "name": "", "type": "bytes" }],143    "stateMutability": "view",144    "type": "function"145  },146  {147    "inputs": [],148    "name": "confirmCollectionSponsorship",149    "outputs": [],150    "stateMutability": "nonpayable",151    "type": "function"152  },153  {154    "inputs": [],155    "name": "contractAddress",156    "outputs": [{ "internalType": "address", "name": "", "type": "address" }],157    "stateMutability": "view",158    "type": "function"159  },160  {161    "inputs": [{ "internalType": "string", "name": "key", "type": "string" }],162    "name": "deleteCollectionProperty",163    "outputs": [],164    "stateMutability": "nonpayable",165    "type": "function"166  },167  {168    "inputs": [169      { "internalType": "uint256", "name": "tokenId", "type": "uint256" },170      { "internalType": "string", "name": "key", "type": "string" }171    ],172    "name": "deleteProperty",173    "outputs": [],174    "stateMutability": "nonpayable",175    "type": "function"176  },177  {178    "inputs": [],179    "name": "finishMinting",180    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],181    "stateMutability": "nonpayable",182    "type": "function"183  },184  {185    "inputs": [186      { "internalType": "uint256", "name": "tokenId", "type": "uint256" }187    ],188    "name": "getApproved",189    "outputs": [{ "internalType": "address", "name": "", "type": "address" }],190    "stateMutability": "view",191    "type": "function"192  },193  {194    "inputs": [195      { "internalType": "address", "name": "owner", "type": "address" },196      { "internalType": "address", "name": "operator", "type": "address" }197    ],198    "name": "isApprovedForAll",199    "outputs": [{ "internalType": "address", "name": "", "type": "address" }],200    "stateMutability": "view",201    "type": "function"202  },203  {204    "inputs": [205      { "internalType": "address", "name": "to", "type": "address" },206      { "internalType": "uint256", "name": "tokenId", "type": "uint256" }207    ],208    "name": "mint",209    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],210    "stateMutability": "nonpayable",211    "type": "function"212  },213  {214    "inputs": [215      { "internalType": "address", "name": "to", "type": "address" },216      { "internalType": "uint256[]", "name": "tokenIds", "type": "uint256[]" }217    ],218    "name": "mintBulk",219    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],220    "stateMutability": "nonpayable",221    "type": "function"222  },223  {224    "inputs": [225      { "internalType": "address", "name": "to", "type": "address" },226      {227        "components": [228          { "internalType": "uint256", "name": "field_0", "type": "uint256" },229          { "internalType": "string", "name": "field_1", "type": "string" }230        ],231        "internalType": "struct Tuple0[]",232        "name": "tokens",233        "type": "tuple[]"234      }235    ],236    "name": "mintBulkWithTokenURI",237    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],238    "stateMutability": "nonpayable",239    "type": "function"240  },241  {242    "inputs": [243      { "internalType": "address", "name": "to", "type": "address" },244      { "internalType": "uint256", "name": "tokenId", "type": "uint256" },245      { "internalType": "string", "name": "tokenUri", "type": "string" }246    ],247    "name": "mintWithTokenURI",248    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],249    "stateMutability": "nonpayable",250    "type": "function"251  },252  {253    "inputs": [],254    "name": "mintingFinished",255    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],256    "stateMutability": "view",257    "type": "function"258  },259  {260    "inputs": [],261    "name": "name",262    "outputs": [{ "internalType": "string", "name": "", "type": "string" }],263    "stateMutability": "view",264    "type": "function"265  },266  {267    "inputs": [],268    "name": "nextTokenId",269    "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],270    "stateMutability": "view",271    "type": "function"272  },273  {274    "inputs": [275      { "internalType": "uint256", "name": "tokenId", "type": "uint256" }276    ],277    "name": "ownerOf",278    "outputs": [{ "internalType": "address", "name": "", "type": "address" }],279    "stateMutability": "view",280    "type": "function"281  },282  {283    "inputs": [284      { "internalType": "uint256", "name": "tokenId", "type": "uint256" },285      { "internalType": "string", "name": "key", "type": "string" }286    ],287    "name": "property",288    "outputs": [{ "internalType": "bytes", "name": "", "type": "bytes" }],289    "stateMutability": "view",290    "type": "function"291  },292  {293    "inputs": [294      { "internalType": "address", "name": "admin", "type": "address" }295    ],296    "name": "removeCollectionAdmin",297    "outputs": [],298    "stateMutability": "view",299    "type": "function"300  },301  {302    "inputs": [303      { "internalType": "address", "name": "user", "type": "address" }304    ],305    "name": "removeFromCollectionAllowList",306    "outputs": [],307    "stateMutability": "view",308    "type": "function"309  },310  {311    "inputs": [312      { "internalType": "address", "name": "from", "type": "address" },313      { "internalType": "address", "name": "to", "type": "address" },314      { "internalType": "uint256", "name": "tokenId", "type": "uint256" }315    ],316    "name": "safeTransferFrom",317    "outputs": [],318    "stateMutability": "nonpayable",319    "type": "function"320  },321  {322    "inputs": [323      { "internalType": "address", "name": "from", "type": "address" },324      { "internalType": "address", "name": "to", "type": "address" },325      { "internalType": "uint256", "name": "tokenId", "type": "uint256" },326      { "internalType": "bytes", "name": "data", "type": "bytes" }327    ],328    "name": "safeTransferFromWithData",329    "outputs": [],330    "stateMutability": "nonpayable",331    "type": "function"332  },333  {334    "inputs": [335      { "internalType": "address", "name": "operator", "type": "address" },336      { "internalType": "bool", "name": "approved", "type": "bool" }337    ],338    "name": "setApprovalForAll",339    "outputs": [],340    "stateMutability": "nonpayable",341    "type": "function"342  },343  {344    "inputs": [{ "internalType": "uint8", "name": "mode", "type": "uint8" }],345    "name": "setCollectionAccess",346    "outputs": [],347    "stateMutability": "nonpayable",348    "type": "function"349  },350  {351    "inputs": [352      { "internalType": "string", "name": "limit", "type": "string" },353      { "internalType": "uint32", "name": "value", "type": "uint32" }354    ],355    "name": "setCollectionLimit",356    "outputs": [],357    "stateMutability": "nonpayable",358    "type": "function"359  },360  {361    "inputs": [362      { "internalType": "string", "name": "limit", "type": "string" },363      { "internalType": "bool", "name": "value", "type": "bool" }364    ],365    "name": "setCollectionLimit",366    "outputs": [],367    "stateMutability": "nonpayable",368    "type": "function"369  },370  {371    "inputs": [{ "internalType": "bool", "name": "mode", "type": "bool" }],372    "name": "setCollectionMintMode",373    "outputs": [],374    "stateMutability": "nonpayable",375    "type": "function"376  },377  {378    "inputs": [{ "internalType": "bool", "name": "enable", "type": "bool" }],379    "name": "setCollectionNesting",380    "outputs": [],381    "stateMutability": "nonpayable",382    "type": "function"383  },384  {385    "inputs": [386      { "internalType": "bool", "name": "enable", "type": "bool" },387      {388        "internalType": "address[]",389        "name": "collections",390        "type": "address[]"391      }392    ],393    "name": "setCollectionNesting",394    "outputs": [],395    "stateMutability": "nonpayable",396    "type": "function"397  },398  {399    "inputs": [400      { "internalType": "string", "name": "key", "type": "string" },401      { "internalType": "bytes", "name": "value", "type": "bytes" }402    ],403    "name": "setCollectionProperty",404    "outputs": [],405    "stateMutability": "nonpayable",406    "type": "function"407  },408  {409    "inputs": [410      { "internalType": "address", "name": "sponsor", "type": "address" }411    ],412    "name": "setCollectionSponsor",413    "outputs": [],414    "stateMutability": "nonpayable",415    "type": "function"416  },417  {418    "inputs": [419      { "internalType": "uint256", "name": "tokenId", "type": "uint256" },420      { "internalType": "string", "name": "key", "type": "string" },421      { "internalType": "bytes", "name": "value", "type": "bytes" }422    ],423    "name": "setProperty",424    "outputs": [],425    "stateMutability": "nonpayable",426    "type": "function"427  },428  {429    "inputs": [430      { "internalType": "string", "name": "key", "type": "string" },431      { "internalType": "bool", "name": "isMutable", "type": "bool" },432      { "internalType": "bool", "name": "collectionAdmin", "type": "bool" },433      { "internalType": "bool", "name": "tokenOwner", "type": "bool" }434    ],435    "name": "setTokenPropertyPermission",436    "outputs": [],437    "stateMutability": "nonpayable",438    "type": "function"439  },440  {441    "inputs": [442      { "internalType": "bytes4", "name": "interfaceID", "type": "bytes4" }443    ],444    "name": "supportsInterface",445    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],446    "stateMutability": "view",447    "type": "function"448  },449  {450    "inputs": [],451    "name": "symbol",452    "outputs": [{ "internalType": "string", "name": "", "type": "string" }],453    "stateMutability": "view",454    "type": "function"455  },456  {457    "inputs": [458      { "internalType": "uint256", "name": "index", "type": "uint256" }459    ],460    "name": "tokenByIndex",461    "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],462    "stateMutability": "view",463    "type": "function"464  },465  {466    "inputs": [467      { "internalType": "address", "name": "owner", "type": "address" },468      { "internalType": "uint256", "name": "index", "type": "uint256" }469    ],470    "name": "tokenOfOwnerByIndex",471    "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],472    "stateMutability": "view",473    "type": "function"474  },475  {476    "inputs": [477      { "internalType": "uint256", "name": "tokenId", "type": "uint256" }478    ],479    "name": "tokenURI",480    "outputs": [{ "internalType": "string", "name": "", "type": "string" }],481    "stateMutability": "view",482    "type": "function"483  },484  {485    "inputs": [],486    "name": "totalSupply",487    "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],488    "stateMutability": "view",489    "type": "function"490  },491  {492    "inputs": [493      { "internalType": "address", "name": "to", "type": "address" },494      { "internalType": "uint256", "name": "tokenId", "type": "uint256" }495    ],496    "name": "transfer",497    "outputs": [],498    "stateMutability": "nonpayable",499    "type": "function"500  },501  {502    "inputs": [503      { "internalType": "address", "name": "from", "type": "address" },504      { "internalType": "address", "name": "to", "type": "address" },505      { "internalType": "uint256", "name": "tokenId", "type": "uint256" }506    ],507    "name": "transferFrom",508    "outputs": [],509    "stateMutability": "nonpayable",510    "type": "function"511  }512]
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": "addAdmin",88    "outputs": [],89    "stateMutability": "view",90    "type": "function"91  },92  {93    "inputs": [94      { "internalType": "address", "name": "approved", "type": "address" },95      { "internalType": "uint256", "name": "tokenId", "type": "uint256" }96    ],97    "name": "approve",98    "outputs": [],99    "stateMutability": "nonpayable",100    "type": "function"101  },102  {103    "inputs": [104      { "internalType": "address", "name": "owner", "type": "address" }105    ],106    "name": "balanceOf",107    "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],108    "stateMutability": "view",109    "type": "function"110  },111  {112    "inputs": [113      { "internalType": "uint256", "name": "tokenId", "type": "uint256" }114    ],115    "name": "burn",116    "outputs": [],117    "stateMutability": "nonpayable",118    "type": "function"119  },120  {121    "inputs": [122      { "internalType": "address", "name": "from", "type": "address" },123      { "internalType": "uint256", "name": "tokenId", "type": "uint256" }124    ],125    "name": "burnFrom",126    "outputs": [],127    "stateMutability": "nonpayable",128    "type": "function"129  },130  {131    "inputs": [{ "internalType": "string", "name": "key", "type": "string" }],132    "name": "collectionProperty",133    "outputs": [{ "internalType": "bytes", "name": "", "type": "bytes" }],134    "stateMutability": "view",135    "type": "function"136  },137  {138    "inputs": [],139    "name": "confirmCollectionSponsorship",140    "outputs": [],141    "stateMutability": "nonpayable",142    "type": "function"143  },144  {145    "inputs": [],146    "name": "contractAddress",147    "outputs": [{ "internalType": "address", "name": "", "type": "address" }],148    "stateMutability": "view",149    "type": "function"150  },151  {152    "inputs": [{ "internalType": "string", "name": "key", "type": "string" }],153    "name": "deleteCollectionProperty",154    "outputs": [],155    "stateMutability": "nonpayable",156    "type": "function"157  },158  {159    "inputs": [160      { "internalType": "uint256", "name": "tokenId", "type": "uint256" },161      { "internalType": "string", "name": "key", "type": "string" }162    ],163    "name": "deleteProperty",164    "outputs": [],165    "stateMutability": "nonpayable",166    "type": "function"167  },168  {169    "inputs": [],170    "name": "finishMinting",171    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],172    "stateMutability": "nonpayable",173    "type": "function"174  },175  {176    "inputs": [177      { "internalType": "uint256", "name": "tokenId", "type": "uint256" }178    ],179    "name": "getApproved",180    "outputs": [{ "internalType": "address", "name": "", "type": "address" }],181    "stateMutability": "view",182    "type": "function"183  },184  {185    "inputs": [186      { "internalType": "address", "name": "owner", "type": "address" },187      { "internalType": "address", "name": "operator", "type": "address" }188    ],189    "name": "isApprovedForAll",190    "outputs": [{ "internalType": "address", "name": "", "type": "address" }],191    "stateMutability": "view",192    "type": "function"193  },194  {195    "inputs": [196      { "internalType": "address", "name": "to", "type": "address" },197      { "internalType": "uint256", "name": "tokenId", "type": "uint256" }198    ],199    "name": "mint",200    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],201    "stateMutability": "nonpayable",202    "type": "function"203  },204  {205    "inputs": [206      { "internalType": "address", "name": "to", "type": "address" },207      { "internalType": "uint256[]", "name": "tokenIds", "type": "uint256[]" }208    ],209    "name": "mintBulk",210    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],211    "stateMutability": "nonpayable",212    "type": "function"213  },214  {215    "inputs": [216      { "internalType": "address", "name": "to", "type": "address" },217      {218        "components": [219          { "internalType": "uint256", "name": "field_0", "type": "uint256" },220          { "internalType": "string", "name": "field_1", "type": "string" }221        ],222        "internalType": "struct Tuple0[]",223        "name": "tokens",224        "type": "tuple[]"225      }226    ],227    "name": "mintBulkWithTokenURI",228    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],229    "stateMutability": "nonpayable",230    "type": "function"231  },232  {233    "inputs": [234      { "internalType": "address", "name": "to", "type": "address" },235      { "internalType": "uint256", "name": "tokenId", "type": "uint256" },236      { "internalType": "string", "name": "tokenUri", "type": "string" }237    ],238    "name": "mintWithTokenURI",239    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],240    "stateMutability": "nonpayable",241    "type": "function"242  },243  {244    "inputs": [],245    "name": "mintingFinished",246    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],247    "stateMutability": "view",248    "type": "function"249  },250  {251    "inputs": [],252    "name": "name",253    "outputs": [{ "internalType": "string", "name": "", "type": "string" }],254    "stateMutability": "view",255    "type": "function"256  },257  {258    "inputs": [],259    "name": "nextTokenId",260    "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],261    "stateMutability": "view",262    "type": "function"263  },264  {265    "inputs": [266      { "internalType": "uint256", "name": "tokenId", "type": "uint256" }267    ],268    "name": "ownerOf",269    "outputs": [{ "internalType": "address", "name": "", "type": "address" }],270    "stateMutability": "view",271    "type": "function"272  },273  {274    "inputs": [275      { "internalType": "uint256", "name": "tokenId", "type": "uint256" },276      { "internalType": "string", "name": "key", "type": "string" }277    ],278    "name": "property",279    "outputs": [{ "internalType": "bytes", "name": "", "type": "bytes" }],280    "stateMutability": "view",281    "type": "function"282  },283  {284    "inputs": [285      { "internalType": "address", "name": "admin", "type": "address" }286    ],287    "name": "removeAdmin",288    "outputs": [],289    "stateMutability": "view",290    "type": "function"291  },292  {293    "inputs": [294      { "internalType": "address", "name": "from", "type": "address" },295      { "internalType": "address", "name": "to", "type": "address" },296      { "internalType": "uint256", "name": "tokenId", "type": "uint256" }297    ],298    "name": "safeTransferFrom",299    "outputs": [],300    "stateMutability": "nonpayable",301    "type": "function"302  },303  {304    "inputs": [305      { "internalType": "address", "name": "from", "type": "address" },306      { "internalType": "address", "name": "to", "type": "address" },307      { "internalType": "uint256", "name": "tokenId", "type": "uint256" },308      { "internalType": "bytes", "name": "data", "type": "bytes" }309    ],310    "name": "safeTransferFromWithData",311    "outputs": [],312    "stateMutability": "nonpayable",313    "type": "function"314  },315  {316    "inputs": [317      { "internalType": "address", "name": "operator", "type": "address" },318      { "internalType": "bool", "name": "approved", "type": "bool" }319    ],320    "name": "setApprovalForAll",321    "outputs": [],322    "stateMutability": "nonpayable",323    "type": "function"324  },325  {326    "inputs": [{ "internalType": "uint8", "name": "mode", "type": "uint8" }],327    "name": "setCollectionAccess",328    "outputs": [],329    "stateMutability": "nonpayable",330    "type": "function"331  },332  {333    "inputs": [334      { "internalType": "string", "name": "limit", "type": "string" },335      { "internalType": "uint32", "name": "value", "type": "uint32" }336    ],337    "name": "setCollectionLimit",338    "outputs": [],339    "stateMutability": "nonpayable",340    "type": "function"341  },342  {343    "inputs": [344      { "internalType": "string", "name": "limit", "type": "string" },345      { "internalType": "bool", "name": "value", "type": "bool" }346    ],347    "name": "setCollectionLimit",348    "outputs": [],349    "stateMutability": "nonpayable",350    "type": "function"351  },352  {353    "inputs": [{ "internalType": "bool", "name": "mode", "type": "bool" }],354    "name": "setCollectionMintMode",355    "outputs": [],356    "stateMutability": "nonpayable",357    "type": "function"358  },359  {360    "inputs": [{ "internalType": "bool", "name": "enable", "type": "bool" }],361    "name": "setCollectionNesting",362    "outputs": [],363    "stateMutability": "nonpayable",364    "type": "function"365  },366  {367    "inputs": [368      { "internalType": "bool", "name": "enable", "type": "bool" },369      {370        "internalType": "address[]",371        "name": "collections",372        "type": "address[]"373      }374    ],375    "name": "setCollectionNesting",376    "outputs": [],377    "stateMutability": "nonpayable",378    "type": "function"379  },380  {381    "inputs": [382      { "internalType": "string", "name": "key", "type": "string" },383      { "internalType": "bytes", "name": "value", "type": "bytes" }384    ],385    "name": "setCollectionProperty",386    "outputs": [],387    "stateMutability": "nonpayable",388    "type": "function"389  },390  {391    "inputs": [392      { "internalType": "address", "name": "sponsor", "type": "address" }393    ],394    "name": "setCollectionSponsor",395    "outputs": [],396    "stateMutability": "nonpayable",397    "type": "function"398  },399  {400    "inputs": [401      { "internalType": "bool", "name": "enable", "type": "bool" },402      {403        "internalType": "address[]",404        "name": "collections",405        "type": "address[]"406      }407    ],408    "name": "setNesting",409    "outputs": [],410    "stateMutability": "nonpayable",411    "type": "function"412  },413  {414    "inputs": [{ "internalType": "bool", "name": "enable", "type": "bool" }],415    "name": "setNesting",416    "outputs": [],417    "stateMutability": "nonpayable",418    "type": "function"419  },420  {421    "inputs": [422      { "internalType": "uint256", "name": "tokenId", "type": "uint256" },423      { "internalType": "string", "name": "key", "type": "string" },424      { "internalType": "bytes", "name": "value", "type": "bytes" }425    ],426    "name": "setProperty",427    "outputs": [],428    "stateMutability": "nonpayable",429    "type": "function"430  },431  {432    "inputs": [433      { "internalType": "string", "name": "key", "type": "string" },434      { "internalType": "bool", "name": "isMutable", "type": "bool" },435      { "internalType": "bool", "name": "collectionAdmin", "type": "bool" },436      { "internalType": "bool", "name": "tokenOwner", "type": "bool" }437    ],438    "name": "setTokenPropertyPermission",439    "outputs": [],440    "stateMutability": "nonpayable",441    "type": "function"442  },443  {444    "inputs": [445      { "internalType": "bytes4", "name": "interfaceID", "type": "bytes4" }446    ],447    "name": "supportsInterface",448    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],449    "stateMutability": "view",450    "type": "function"451  },452  {453    "inputs": [],454    "name": "symbol",455    "outputs": [{ "internalType": "string", "name": "", "type": "string" }],456    "stateMutability": "view",457    "type": "function"458  },459  {460    "inputs": [461      { "internalType": "uint256", "name": "index", "type": "uint256" }462    ],463    "name": "tokenByIndex",464    "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],465    "stateMutability": "view",466    "type": "function"467  },468  {469    "inputs": [470      { "internalType": "address", "name": "owner", "type": "address" },471      { "internalType": "uint256", "name": "index", "type": "uint256" }472    ],473    "name": "tokenOfOwnerByIndex",474    "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],475    "stateMutability": "view",476    "type": "function"477  },478  {479    "inputs": [480      { "internalType": "uint256", "name": "tokenId", "type": "uint256" }481    ],482    "name": "tokenURI",483    "outputs": [{ "internalType": "string", "name": "", "type": "string" }],484    "stateMutability": "view",485    "type": "function"486  },487  {488    "inputs": [],489    "name": "totalSupply",490    "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],491    "stateMutability": "view",492    "type": "function"493  },494  {495    "inputs": [496      { "internalType": "address", "name": "to", "type": "address" },497      { "internalType": "uint256", "name": "tokenId", "type": "uint256" }498    ],499    "name": "transfer",500    "outputs": [],501    "stateMutability": "nonpayable",502    "type": "function"503  },504  {505    "inputs": [506      { "internalType": "address", "name": "from", "type": "address" },507      { "internalType": "address", "name": "to", "type": "address" },508      { "internalType": "uint256", "name": "tokenId", "type": "uint256" }509    ],510    "name": "transferFrom",511    "outputs": [],512    "stateMutability": "nonpayable",513    "type": "function"514  }515]
modifiedtests/src/eth/proxy/nonFungibleProxy.test.tsdiffbeforeafterboth
--- a/tests/src/eth/proxy/nonFungibleProxy.test.ts
+++ b/tests/src/eth/proxy/nonFungibleProxy.test.ts
@@ -99,7 +99,7 @@
     const collectionEvmOwned = evmCollection(web3, owner, collectionIdAddress);
     const collectionEvm = evmCollection(web3, caller, collectionIdAddress);
     const contract = await proxyWrap(api, web3, collectionEvm);
-    await collectionEvmOwned.methods.addCollectionAdmin(contract.options.address).send();
+    await collectionEvmOwned.methods.addAdmin(contract.options.address).send();
 
     {
       const nextTokenId = await contract.methods.nextTokenId().call();
modifiedtests/src/interfaces/augment-api-rpc.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-api-rpc.ts
+++ b/tests/src/interfaces/augment-api-rpc.ts
@@ -18,7 +18,7 @@
 import type { EthAccount, EthCallRequest, EthFilter, EthFilterChanges, EthLog, EthReceipt, EthRichBlock, EthSubKind, EthSubParams, EthSyncStatus, EthTransaction, EthTransactionRequest, EthWork } from '@polkadot/types/interfaces/eth';
 import type { Extrinsic } from '@polkadot/types/interfaces/extrinsics';
 import type { EncodedFinalityProofs, JustificationNotification, ReportedRoundStates } from '@polkadot/types/interfaces/grandpa';
-import type { MmrLeafBatchProof, MmrLeafProof } from '@polkadot/types/interfaces/mmr';
+import type { MmrLeafProof } from '@polkadot/types/interfaces/mmr';
 import type { StorageKind } from '@polkadot/types/interfaces/offchain';
 import type { FeeDetails, RuntimeDispatchInfo } from '@polkadot/types/interfaces/payment';
 import type { RpcMethods } from '@polkadot/types/interfaces/rpc';
@@ -354,14 +354,10 @@
       subscribeJustifications: AugmentedRpc<() => Observable<JustificationNotification>>;
     };
     mmr: {
-      /**
-       * Generate MMR proof for the given leaf indices.
-       **/
-      generateBatchProof: AugmentedRpc<(leafIndices: Vec<u64> | (u64 | AnyNumber | Uint8Array)[], at?: BlockHash | string | Uint8Array) => Observable<MmrLeafProof>>;
       /**
        * Generate MMR proof for given leaf index.
        **/
-      generateProof: AugmentedRpc<(leafIndex: u64 | AnyNumber | Uint8Array, at?: BlockHash | string | Uint8Array) => Observable<MmrLeafBatchProof>>;
+      generateProof: AugmentedRpc<(leafIndex: u64 | AnyNumber | Uint8Array, at?: BlockHash | string | Uint8Array) => Observable<MmrLeafProof>>;
     };
     net: {
       /**
modifiedtests/src/interfaces/augment-types.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-types.ts
+++ b/tests/src/interfaces/augment-types.ts
@@ -3,7 +3,7 @@
 
 import type { CumulusPalletDmpQueueCall, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueueError, CumulusPalletDmpQueueEvent, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCall, CumulusPalletParachainSystemError, CumulusPalletParachainSystemEvent, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmCall, CumulusPalletXcmError, CumulusPalletXcmEvent, CumulusPalletXcmOrigin, CumulusPalletXcmpQueueCall, CumulusPalletXcmpQueueError, CumulusPalletXcmpQueueEvent, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueInboundState, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueOutboundState, CumulusPalletXcmpQueueQueueConfigData, CumulusPrimitivesParachainInherentParachainInherentData, EthbloomBloom, EthereumBlock, EthereumHeader, EthereumLog, EthereumReceiptEip658ReceiptData, EthereumReceiptReceiptV3, EthereumTransactionAccessListItem, EthereumTransactionEip1559Transaction, EthereumTransactionEip2930Transaction, EthereumTransactionLegacyTransaction, EthereumTransactionTransactionAction, EthereumTransactionTransactionSignature, EthereumTransactionTransactionV2, EthereumTypesHashH64, EvmCoreErrorExitError, EvmCoreErrorExitFatal, EvmCoreErrorExitReason, EvmCoreErrorExitRevert, EvmCoreErrorExitSucceed, FpRpcTransactionStatus, FrameSupportDispatchRawOrigin, FrameSupportPalletId, FrameSupportScheduleLookupError, FrameSupportScheduleMaybeHashed, FrameSupportTokensMiscBalanceStatus, FrameSupportWeightsDispatchClass, FrameSupportWeightsDispatchInfo, FrameSupportWeightsPays, FrameSupportWeightsPerDispatchClassU32, FrameSupportWeightsPerDispatchClassU64, FrameSupportWeightsPerDispatchClassWeightsPerClass, FrameSupportWeightsRuntimeDbWeight, FrameSupportWeightsWeightToFeeCoefficient, FrameSystemAccountInfo, FrameSystemCall, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckNonce, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, OpalRuntimeOriginCaller, OpalRuntimeRuntime, OrmlVestingModuleCall, OrmlVestingModuleError, OrmlVestingModuleEvent, OrmlVestingVestingSchedule, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesReasons, PalletBalancesReleases, PalletBalancesReserveData, PalletCommonError, PalletCommonEvent, PalletEthereumCall, PalletEthereumError, PalletEthereumEvent, PalletEthereumFakeTransactionFinalizer, PalletEthereumRawOrigin, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmCall, PalletEvmCoderSubstrateError, PalletEvmContractHelpersError, PalletEvmContractHelpersSponsoringModeT, PalletEvmError, PalletEvmEvent, PalletEvmMigrationCall, PalletEvmMigrationError, PalletFungibleError, PalletInflationCall, PalletNonfungibleError, PalletNonfungibleItemData, PalletRefungibleError, PalletRefungibleItemData, PalletRmrkCoreCall, PalletRmrkCoreError, PalletRmrkCoreEvent, PalletRmrkEquipCall, PalletRmrkEquipError, PalletRmrkEquipEvent, PalletStructureCall, PalletStructureError, PalletStructureEvent, PalletSudoCall, PalletSudoError, PalletSudoEvent, PalletTemplateTransactionPaymentCall, PalletTemplateTransactionPaymentChargeTransactionPayment, PalletTimestampCall, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUniqueCall, PalletUniqueError, PalletUniqueRawEvent, PalletUnqSchedulerCall, PalletUnqSchedulerError, PalletUnqSchedulerEvent, PalletUnqSchedulerScheduledV3, PalletXcmCall, PalletXcmError, PalletXcmEvent, PalletXcmOrigin, PhantomTypeUpDataStructs, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2AbridgedHrmpChannel, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, RmrkTraitsBaseBaseInfo, RmrkTraitsCollectionCollectionInfo, RmrkTraitsNftAccountIdOrCollectionNftTuple, RmrkTraitsNftNftChild, RmrkTraitsNftNftInfo, RmrkTraitsNftRoyaltyInfo, RmrkTraitsPartEquippableList, RmrkTraitsPartFixedPart, RmrkTraitsPartPartType, RmrkTraitsPartSlotPart, RmrkTraitsPropertyPropertyInfo, RmrkTraitsResourceBasicResource, RmrkTraitsResourceComposableResource, RmrkTraitsResourceResourceInfo, RmrkTraitsResourceResourceTypes, RmrkTraitsResourceSlotResource, RmrkTraitsTheme, RmrkTraitsThemeThemeProperty, SpCoreEcdsaSignature, SpCoreEd25519Signature, SpCoreSr25519Signature, SpCoreVoid, SpRuntimeArithmeticError, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpRuntimeTransactionalError, SpTrieStorageProof, SpVersionRuntimeVersion, UpDataStructsAccessMode, UpDataStructsCollection, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionPermissions, UpDataStructsCollectionStats, UpDataStructsCreateCollectionData, UpDataStructsCreateFungibleData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsCreateNftData, UpDataStructsCreateNftExData, UpDataStructsCreateReFungibleData, UpDataStructsCreateRefungibleExData, UpDataStructsNestingRule, UpDataStructsProperties, UpDataStructsPropertiesMapBoundedVec, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, UpDataStructsPropertyPermission, UpDataStructsRpcCollection, UpDataStructsSponsoringRateLimit, UpDataStructsSponsorshipState, UpDataStructsTokenChild, UpDataStructsTokenData, XcmDoubleEncoded, XcmV0Junction, XcmV0JunctionBodyId, XcmV0JunctionBodyPart, XcmV0JunctionNetworkId, XcmV0MultiAsset, XcmV0MultiLocation, XcmV0Order, XcmV0OriginKind, XcmV0Response, XcmV0Xcm, XcmV1Junction, XcmV1MultiAsset, XcmV1MultiLocation, XcmV1MultiassetAssetId, XcmV1MultiassetAssetInstance, XcmV1MultiassetFungibility, XcmV1MultiassetMultiAssetFilter, XcmV1MultiassetMultiAssets, XcmV1MultiassetWildFungibility, XcmV1MultiassetWildMultiAsset, XcmV1MultilocationJunctions, XcmV1Order, XcmV1Response, XcmV1Xcm, XcmV2Instruction, XcmV2Response, XcmV2TraitsError, XcmV2TraitsOutcome, XcmV2WeightLimit, XcmV2Xcm, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from './default';
 import type { Data, StorageKey } from '@polkadot/types';
-import type { BitVec, Bool, Bytes, I128, I16, I256, I32, I64, I8, Json, Null, OptionBool, Raw, Text, Type, U128, U16, U256, U32, U64, U8, USize, bool, i128, i16, i256, i32, i64, i8, u128, u16, u256, u32, u64, u8, usize } from '@polkadot/types-codec';
+import type { BitVec, Bool, Bytes, I128, I16, I256, I32, I64, I8, Json, Null, Raw, Text, Type, U128, U16, U256, U32, U64, U8, USize, bool, i128, i16, i256, i32, i64, i8, u128, u16, u256, u32, u64, u8, usize } from '@polkadot/types-codec';
 import type { AssetApproval, AssetApprovalKey, AssetBalance, AssetDestroyWitness, AssetDetails, AssetMetadata, TAssetBalance, TAssetDepositBalance } from '@polkadot/types/interfaces/assets';
 import type { BlockAttestations, IncludedBlocks, MoreAttestations } from '@polkadot/types/interfaces/attestations';
 import type { RawAuraPreDigest } from '@polkadot/types/interfaces/aura';
@@ -36,7 +36,7 @@
 import type { AuthIndex, AuthoritySignature, Heartbeat, HeartbeatTo244, OpaqueMultiaddr, OpaqueNetworkState, OpaquePeerId } from '@polkadot/types/interfaces/imOnline';
 import type { CallIndex, LotteryConfig } from '@polkadot/types/interfaces/lottery';
 import type { ErrorMetadataLatest, ErrorMetadataV10, ErrorMetadataV11, ErrorMetadataV12, ErrorMetadataV13, ErrorMetadataV14, ErrorMetadataV9, EventMetadataLatest, EventMetadataV10, EventMetadataV11, EventMetadataV12, EventMetadataV13, EventMetadataV14, EventMetadataV9, ExtrinsicMetadataLatest, ExtrinsicMetadataV11, ExtrinsicMetadataV12, ExtrinsicMetadataV13, ExtrinsicMetadataV14, FunctionArgumentMetadataLatest, FunctionArgumentMetadataV10, FunctionArgumentMetadataV11, FunctionArgumentMetadataV12, FunctionArgumentMetadataV13, FunctionArgumentMetadataV14, FunctionArgumentMetadataV9, FunctionMetadataLatest, FunctionMetadataV10, FunctionMetadataV11, FunctionMetadataV12, FunctionMetadataV13, FunctionMetadataV14, FunctionMetadataV9, MetadataAll, MetadataLatest, MetadataV10, MetadataV11, MetadataV12, MetadataV13, MetadataV14, MetadataV9, ModuleConstantMetadataV10, ModuleConstantMetadataV11, ModuleConstantMetadataV12, ModuleConstantMetadataV13, ModuleConstantMetadataV9, ModuleMetadataV10, ModuleMetadataV11, ModuleMetadataV12, ModuleMetadataV13, ModuleMetadataV9, PalletCallMetadataLatest, PalletCallMetadataV14, PalletConstantMetadataLatest, PalletConstantMetadataV14, PalletErrorMetadataLatest, PalletErrorMetadataV14, PalletEventMetadataLatest, PalletEventMetadataV14, PalletMetadataLatest, PalletMetadataV14, PalletStorageMetadataLatest, PalletStorageMetadataV14, PortableType, PortableTypeV14, SignedExtensionMetadataLatest, SignedExtensionMetadataV14, StorageEntryMetadataLatest, StorageEntryMetadataV10, StorageEntryMetadataV11, StorageEntryMetadataV12, StorageEntryMetadataV13, StorageEntryMetadataV14, StorageEntryMetadataV9, StorageEntryModifierLatest, StorageEntryModifierV10, StorageEntryModifierV11, StorageEntryModifierV12, StorageEntryModifierV13, StorageEntryModifierV14, StorageEntryModifierV9, StorageEntryTypeLatest, StorageEntryTypeV10, StorageEntryTypeV11, StorageEntryTypeV12, StorageEntryTypeV13, StorageEntryTypeV14, StorageEntryTypeV9, StorageHasher, StorageHasherV10, StorageHasherV11, StorageHasherV12, StorageHasherV13, StorageHasherV14, StorageHasherV9, StorageMetadataV10, StorageMetadataV11, StorageMetadataV12, StorageMetadataV13, StorageMetadataV9 } from '@polkadot/types/interfaces/metadata';
-import type { MmrLeafBatchProof, MmrLeafProof } from '@polkadot/types/interfaces/mmr';
+import type { MmrLeafProof } from '@polkadot/types/interfaces/mmr';
 import type { StorageKind } from '@polkadot/types/interfaces/offchain';
 import type { DeferredOffenceOf, Kind, OffenceDetails, Offender, OpaqueTimeSlot, ReportIdOf, Reporter } from '@polkadot/types/interfaces/offences';
 import type { AbridgedCandidateReceipt, AbridgedHostConfiguration, AbridgedHrmpChannel, AssignmentId, AssignmentKind, AttestedCandidate, AuctionIndex, AuthorityDiscoveryId, AvailabilityBitfield, AvailabilityBitfieldRecord, BackedCandidate, Bidder, BufferedSessionChange, CandidateCommitments, CandidateDescriptor, CandidateHash, CandidateInfo, CandidatePendingAvailability, CandidateReceipt, CollatorId, CollatorSignature, CommittedCandidateReceipt, CoreAssignment, CoreIndex, CoreOccupied, DisputeLocation, DisputeResult, DisputeState, DisputeStatement, DisputeStatementSet, DoubleVoteReport, DownwardMessage, ExplicitDisputeStatement, GlobalValidationData, GlobalValidationSchedule, GroupIndex, HeadData, HostConfiguration, HrmpChannel, HrmpChannelId, HrmpOpenChannelRequest, InboundDownwardMessage, InboundHrmpMessage, InboundHrmpMessages, IncomingParachain, IncomingParachainDeploy, IncomingParachainFixed, InvalidDisputeStatementKind, LeasePeriod, LeasePeriodOf, LocalValidationData, MessageIngestionType, MessageQueueChain, MessagingStateSnapshot, MessagingStateSnapshotEgressEntry, MultiDisputeStatementSet, NewBidder, OutboundHrmpMessage, ParaGenesisArgs, ParaId, ParaInfo, ParaLifecycle, ParaPastCodeMeta, ParaScheduling, ParaValidatorIndex, ParachainDispatchOrigin, ParachainInherentData, ParachainProposal, ParachainsInherentData, ParathreadClaim, ParathreadClaimQueue, ParathreadEntry, PersistedValidationData, QueuedParathread, RegisteredParachainInfo, RelayBlockNumber, RelayChainBlockNumber, RelayChainHash, RelayHash, Remark, ReplacementTimes, Retriable, Scheduling, ServiceQuality, SessionInfo, SessionInfoValidatorGroup, SignedAvailabilityBitfield, SignedAvailabilityBitfields, SigningContext, SlotRange, SlotRange10, Statement, SubId, SystemInherentData, TransientValidationData, UpgradeGoAhead, UpgradeRestriction, UpwardMessage, ValidDisputeStatementKind, ValidationCode, ValidationCodeHash, ValidationData, ValidationDataType, ValidationFunctionParams, ValidatorSignature, ValidityAttestation, VecInboundHrmpMessage, WinnersData, WinnersData10, WinnersDataTuple, WinnersDataTuple10, WinningData, WinningData10, WinningDataEntry } from '@polkadot/types/interfaces/parachains';
@@ -664,7 +664,6 @@
     MetadataV14: MetadataV14;
     MetadataV9: MetadataV9;
     MigrationStatusResult: MigrationStatusResult;
-    MmrLeafBatchProof: MmrLeafBatchProof;
     MmrLeafProof: MmrLeafProof;
     MmrRootHash: MmrRootHash;
     ModuleConstantMetadataV10: ModuleConstantMetadataV10;
@@ -732,7 +731,6 @@
     OpenTipTip: OpenTipTip;
     OpenTipTo225: OpenTipTo225;
     OperatingMode: OperatingMode;
-    OptionBool: OptionBool;
     Origin: Origin;
     OriginCaller: OriginCaller;
     OriginKindV0: OriginKindV0;