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

difftreelog

CORE-345 Split evm collection to collection and helper

Trubnikov Sergey2022-05-18parent: #2cfa7af.patch.diff
in: master

16 files changed

modifiedMakefilediffbeforeafterboth
--- a/Makefile
+++ b/Makefile
@@ -18,6 +18,9 @@
 COLLECTION_STUBS=./pallets/unique/src/eth/stubs/
 COLLECTION_ABI=./tests/src/eth/collectionAbi.json
 
+COLLECTION_HELPER_STUBS=$(COLLECTION_STUBS)
+COLLECTION_HELPER_ABI=./tests/src/eth/collectionHelperAbi.json
+
 TESTS_API=./tests/src/eth/api/
 
 .PHONY: regenerate_solidity
@@ -36,9 +39,13 @@
 	PACKAGE=pallet-evm-contract-helpers NAME=eth::contract_helpers_impl OUTPUT=$(CONTRACT_HELPERS_STUBS)/$@ ./.maintain/scripts/generate_sol.sh
 
 Collection.sol:
-	PACKAGE=pallet-unique NAME=eth::pallet_evm_collection::collection_iface OUTPUT=$(TESTS_API)/$@ ./.maintain/scripts/generate_sol.sh
-	PACKAGE=pallet-unique NAME=eth::pallet_evm_collection::collection_impl OUTPUT=$(COLLECTION_STUBS)/$@ ./.maintain/scripts/generate_sol.sh
+	PACKAGE=pallet-unique NAME=eth::evm_collection::collection_iface OUTPUT=$(TESTS_API)/$@ ./.maintain/scripts/generate_sol.sh
+	PACKAGE=pallet-unique NAME=eth::evm_collection::collection_impl OUTPUT=$(COLLECTION_STUBS)/$@ ./.maintain/scripts/generate_sol.sh
 
+CollectionHelper.sol:
+	PACKAGE=pallet-unique NAME=eth::evm_collection::collection_helper_iface OUTPUT=$(TESTS_API)/$@ ./.maintain/scripts/generate_sol.sh
+	PACKAGE=pallet-unique NAME=eth::evm_collection::collection_helper_impl OUTPUT=$(COLLECTION_HELPER_STUBS)/$@ ./.maintain/scripts/generate_sol.sh
+
 UniqueFungible: UniqueFungible.sol
 	INPUT=$(FUNGIBLE_EVM_STUBS)/$< OUTPUT=$(FUNGIBLE_EVM_STUBS)/UniqueFungible.raw ./.maintain/scripts/compile_stub.sh
 	INPUT=$(FUNGIBLE_EVM_STUBS)/$< OUTPUT=$(FUNGIBLE_EVM_ABI) ./.maintain/scripts/generate_abi.sh
@@ -55,7 +62,11 @@
 	INPUT=$(COLLECTION_STUBS)/$< OUTPUT=$(COLLECTION_STUBS)/Collection.raw ./.maintain/scripts/compile_stub.sh
 	INPUT=$(COLLECTION_STUBS)/$< OUTPUT=$(COLLECTION_ABI) ./.maintain/scripts/generate_abi.sh
 
-evm_stubs: UniqueFungible UniqueNFT ContractHelpers Collection
+CollectionHelper: CollectionHelper.sol
+	INPUT=$(COLLECTION_HELPER_STUBS)/$< OUTPUT=$(COLLECTION_HELPER_STUBS)/CollectionHelper.raw ./.maintain/scripts/compile_stub.sh
+	INPUT=$(COLLECTION_HELPER_STUBS)/$< OUTPUT=$(COLLECTION_HELPER_ABI) ./.maintain/scripts/generate_abi.sh
+
+evm_stubs: UniqueFungible UniqueNFT ContractHelpers Collection CollectionHelper
 
 .PHONY: _bench
 _bench:
modifiedpallets/unique/src/eth/mod.rsdiffbeforeafterboth
--- a/pallets/unique/src/eth/mod.rs
+++ b/pallets/unique/src/eth/mod.rs
@@ -112,7 +112,6 @@
 	use sp_std::{vec::Vec, rc::Rc};
 	use alloc::format;
 	
-	// #[pallet::config]
 	pub trait Config:
 		frame_system::Config
 		+ pallet_evm_coder_substrate::Config
@@ -122,8 +121,8 @@
 		type ContractAddress: Get<H160>;
 	}
 
-	struct EvmCollection<T: Config>(Rc<SubstrateRecorder<T>>);
-	impl<T: Config> WithRecorder<T> for EvmCollection<T> {
+	struct EvmCollectionHelper<T: Config>(Rc<SubstrateRecorder<T>>);
+	impl<T: Config> WithRecorder<T> for EvmCollectionHelper<T> {
 		fn recorder(&self) -> &SubstrateRecorder<T> {
 			&self.0
 		}
@@ -132,19 +131,9 @@
 			self.0
 		}
 	}
-	
-	#[derive(ToLog)]
-	pub enum EthCollectionEvent {
-		CollectionCreated {
-			#[indexed]
-			owner: address,
-			#[indexed]
-			collection_id: address,
-		},
-	}
-	
-	#[solidity_interface(name = "Collection")]
-	impl<T: Config> EvmCollection<T> {
+
+	#[solidity_interface(name = "CollectionHelper")]
+	impl<T: Config> EvmCollectionHelper<T> {
 		fn create_721_collection(
 			&self,
 			caller: caller,
@@ -188,14 +177,37 @@
 			});
 			Ok(address)
 		}
+	}
+	
+	struct EvmCollection<T: Config>(Rc<SubstrateRecorder<T>>);
+	impl<T: Config> WithRecorder<T> for EvmCollection<T> {
+		fn recorder(&self) -> &SubstrateRecorder<T> {
+			&self.0
+		}
+	
+		fn into_recorder(self) -> Rc<SubstrateRecorder<T>> {
+			self.0
+		}
+	}
+	
+	#[derive(ToLog)]
+	pub enum EthCollectionEvent {
+		CollectionCreated {
+			#[indexed]
+			owner: address,
+			#[indexed]
+			collection_id: address,
+		},
+	}
 	
+	#[solidity_interface(name = "Collection")]
+	impl<T: Config> EvmCollection<T> {
 		fn set_sponsor(
 			&self,
 			caller: caller,
-			collection_address: address,
 			sponsor: address,
 		) -> Result<void> {
-			let mut collection = collection_from_address(collection_address, &self.0)?;
+			let mut collection = collection_from_address(self.contract_address(caller).unwrap(), &self.0)?;
 			check_is_owner(caller, &collection)?;
 	
 			let sponsor = T::CrossAccountId::from_eth(sponsor);
@@ -203,8 +215,8 @@
 			save_eth(collection)
 		}
 	
-		fn confirm_sponsorship(&self, caller: caller, collection_address: address) -> Result<void> {
-			let mut collection = collection_from_address(collection_address, &self.0)?;
+		fn confirm_sponsorship(&self, caller: caller) -> Result<void> {
+			let mut collection = collection_from_address(self.contract_address(caller).unwrap(), &self.0)?;
 			let caller = T::CrossAccountId::from_eth(caller);
 			if !collection.confirm_sponsorship(caller.as_sub()) {
 				return Err(Error::Revert("Caller is not set as sponsor".into()));
@@ -215,10 +227,9 @@
 		fn set_limits(
 			&self,
 			caller: caller,
-			collection_address: address,
 			limits_json: string,
 		) -> Result<void> {
-			let mut collection = collection_from_address(collection_address, &self.0)?;
+			let mut collection = collection_from_address(self.contract_address(caller).unwrap(), &self.0)?;
 			check_is_owner(caller, &collection)?;
 	
 			let limits = serde_json_core::from_str(limits_json.as_ref())
@@ -226,6 +237,10 @@
 			collection.limits = limits.0;
 			save_eth(collection)
 		}
+
+		fn contract_address(&self, _caller: caller) -> Result<address> {
+			Ok(self.0.contract())
+		}
 	}
 	
 	fn error_feild_too_long(feild: &str, bound: u32) -> Error {
@@ -251,9 +266,9 @@
 			.map_err(pallet_evm_coder_substrate::dispatch_to_evm::<T>)?;
 		Ok(())
 	}
-	
-	pub struct CollectionOnMethodCall<T: Config>(PhantomData<*const T>);
-	impl<T: Config> OnMethodCall<T> for CollectionOnMethodCall<T> {
+
+	pub struct CollectionHelperOnMethodCall<T: Config>(PhantomData<*const T>);
+	impl<T: Config> OnMethodCall<T> for CollectionHelperOnMethodCall<T> {
 		fn is_reserved(contract: &sp_core::H160) -> bool {
 			contract == &T::ContractAddress::get()
 		}
@@ -273,6 +288,36 @@
 				return None;
 			}
 	
+			let helpers = EvmCollectionHelper::<T>(Rc::new(SubstrateRecorder::<T>::new(*target, gas_left)));
+			pallet_evm_coder_substrate::call(*source, helpers, value, input)
+		}
+	
+		fn get_code(contract: &sp_core::H160) -> Option<Vec<u8>> {
+			(contract == &T::ContractAddress::get())
+				.then(|| include_bytes!("./stubs/CollectionHelper.raw").to_vec())
+		}
+	}
+	
+	generate_stubgen!(collection_helper_impl, CollectionHelperCall<()>, true);
+	generate_stubgen!(collection_helper_iface, CollectionHelperCall<()>, false);
+	
+	pub struct CollectionOnMethodCall<T: Config>(PhantomData<*const T>);
+	impl<T: Config> OnMethodCall<T> for CollectionOnMethodCall<T> {
+		fn is_reserved(contract: &sp_core::H160) -> bool {
+			contract == &T::ContractAddress::get()
+		}
+	
+		fn is_used(contract: &sp_core::H160) -> bool {
+			contract == &T::ContractAddress::get()
+		}
+	
+		fn call(
+			source: &sp_core::H160,
+			target: &sp_core::H160,
+			gas_left: u64,
+			input: &[u8],
+			value: sp_core::U256,
+		) -> Option<PrecompileResult> {
 			let helpers = EvmCollection::<T>(Rc::new(SubstrateRecorder::<T>::new(*target, gas_left)));
 			pallet_evm_coder_substrate::call(*source, helpers, value, input)
 		}
modifiedpallets/unique/src/eth/stubs/Collection.rawdiffbeforeafterboth

binary blob — no preview

modifiedpallets/unique/src/eth/stubs/Collection.soldiffbeforeafterboth
--- a/pallets/unique/src/eth/stubs/Collection.sol
+++ b/pallets/unique/src/eth/stubs/Collection.sol
@@ -21,48 +21,32 @@
 	}
 }
 
-// Selector: 1e95830f
+// Selector: 15cc740e
 contract Collection is Dummy, ERC165 {
-	// Selector: create721Collection(string,string,string) 951c0151
-	function create721Collection(
-		string memory name,
-		string memory description,
-		string memory tokenPrefix
-	) public view returns (address) {
+	// Selector: setSponsor(address) 59753fb1
+	function setSponsor(address sponsor) public view {
 		require(false, stub_error);
-		name;
-		description;
-		tokenPrefix;
+		sponsor;
 		dummy;
-		return 0x0000000000000000000000000000000000000000;
 	}
 
-	// Selector: setSponsor(address,address) f01fba93
-	function setSponsor(address collectionAddress, address sponsor)
-		public
-		view
-	{
+	// Selector: confirmSponsorship() c8c6a056
+	function confirmSponsorship() public view {
 		require(false, stub_error);
-		collectionAddress;
-		sponsor;
 		dummy;
 	}
 
-	// Selector: confirmSponsorship(address) abc00001
-	function confirmSponsorship(address collectionAddress) public view {
+	// Selector: setLimits(string) 72cb345d
+	function setLimits(string memory limitsJson) public view {
 		require(false, stub_error);
-		collectionAddress;
+		limitsJson;
 		dummy;
 	}
 
-	// Selector: setLimits(address,string) d05638cc
-	function setLimits(address collectionAddress, string memory limitsJson)
-		public
-		view
-	{
+	// Selector: contractAddress() f6b4dfb4
+	function contractAddress() public view returns (address) {
 		require(false, stub_error);
-		collectionAddress;
-		limitsJson;
 		dummy;
+		return 0x0000000000000000000000000000000000000000;
 	}
 }
addedpallets/unique/src/eth/stubs/CollectionHelper.rawdiffbeforeafterboth

binary blob — no preview

addedpallets/unique/src/eth/stubs/CollectionHelper.soldiffbeforeafterboth
--- /dev/null
+++ b/pallets/unique/src/eth/stubs/CollectionHelper.sol
@@ -0,0 +1,39 @@
+// SPDX-License-Identifier: OTHER
+// This code is automatically generated
+
+pragma solidity >=0.8.0 <0.9.0;
+
+// Common stubs holder
+contract Dummy {
+	uint8 dummy;
+	string stub_error = "this contract is implemented in native";
+}
+
+contract ERC165 is Dummy {
+	function supportsInterface(bytes4 interfaceID)
+		external
+		view
+		returns (bool)
+	{
+		require(false, stub_error);
+		interfaceID;
+		return true;
+	}
+}
+
+// Selector: 951c0151
+contract CollectionHelper is Dummy, ERC165 {
+	// Selector: create721Collection(string,string,string) 951c0151
+	function create721Collection(
+		string memory name,
+		string memory description,
+		string memory tokenPrefix
+	) public view returns (address) {
+		require(false, stub_error);
+		name;
+		description;
+		tokenPrefix;
+		dummy;
+		return 0x0000000000000000000000000000000000000000;
+	}
+}
modifiedruntime/opal/src/lib.rsdiffbeforeafterboth
--- a/runtime/opal/src/lib.rs
+++ b/runtime/opal/src/lib.rs
@@ -308,6 +308,7 @@
 		pallet_evm_contract_helpers::HelpersOnMethodCall<Self>,
 		CollectionDispatchT<Self>,
 		evm_collection::CollectionOnMethodCall<Self>,
+		evm_collection::CollectionHelperOnMethodCall<Self>,
 	);
 	type OnCreate = pallet_evm_contract_helpers::HelpersOnCreate<Self>;
 	type ChainId = ChainId;
@@ -978,7 +979,7 @@
 	]);
 
 	// 0x6c4e9fe1ae37a41e93cee429e8e1881abdcbb54f
-	pub const EvmCollectionAddress: H160 = H160([
+	pub const EvmCollectionHelperAddress: H160 = H160([
 		0x6c, 0x4e, 0x9f, 0xe1, 0xae, 0x37, 0xa4, 0x1e, 0x93, 0xce, 0xe4, 0x29, 0xe8, 0xe1, 0x88, 0x1a, 0xbd, 0xcb, 0xb5, 0x4f,
 	]);
 }
@@ -989,7 +990,7 @@
 }
 
 impl evm_collection::Config for Runtime {
-	type ContractAddress = EvmCollectionAddress;
+	type ContractAddress = EvmCollectionHelperAddress;
 }
 
 construct_runtime!(
modifiedruntime/quartz/src/lib.rsdiffbeforeafterboth
--- a/runtime/quartz/src/lib.rs
+++ b/runtime/quartz/src/lib.rs
@@ -280,6 +280,7 @@
 		pallet_evm_contract_helpers::HelpersOnMethodCall<Self>,
 		CollectionDispatchT<Self>,
 		evm_collection::CollectionOnMethodCall<Self>,
+		evm_collection::CollectionHelperOnMethodCall<Self>,
 	);
 	type OnCreate = pallet_evm_contract_helpers::HelpersOnCreate<Self>;
 	type ChainId = ChainId;
@@ -955,7 +956,7 @@
 	]);
 		
 	// 0x6c4e9fe1ae37a41e93cee429e8e1881abdcbb54f
-	pub const EvmCollectionAddress: H160 = H160([
+	pub const EvmCollectionHelperAddress: H160 = H160([
 		0x6c, 0x4e, 0x9f, 0xe1, 0xae, 0x37, 0xa4, 0x1e, 0x93, 0xce, 0xe4, 0x29, 0xe8, 0xe1, 0x88, 0x1a, 0xbd, 0xcb, 0xb5, 0x4f,
 	]);
 }
@@ -966,7 +967,7 @@
 }
 
 impl evm_collection::Config for Runtime {
-	type ContractAddress = EvmCollectionAddress;
+	type ContractAddress = EvmCollectionHelperAddress;
 }
 
 construct_runtime!(
modifiedruntime/unique/src/lib.rsdiffbeforeafterboth
--- a/runtime/unique/src/lib.rs
+++ b/runtime/unique/src/lib.rs
@@ -284,6 +284,7 @@
 		pallet_evm_contract_helpers::HelpersOnMethodCall<Self>,
 		CollectionDispatchT<Self>,
 		evm_collection::CollectionOnMethodCall<Self>,
+		evm_collection::CollectionHelperOnMethodCall<Self>,
 	);
 	type OnCreate = pallet_evm_contract_helpers::HelpersOnCreate<Self>;
 	type ChainId = ChainId;
@@ -960,7 +961,7 @@
 	]);
 		
 	// 0x6c4e9fe1ae37a41e93cee429e8e1881abdcbb54f
-	pub const EvmCollectionAddress: H160 = H160([
+	pub const EvmCollectionHelperAddress: H160 = H160([
 		0x6c, 0x4e, 0x9f, 0xe1, 0xae, 0x37, 0xa4, 0x1e, 0x93, 0xce, 0xe4, 0x29, 0xe8, 0xe1, 0x88, 0x1a, 0xbd, 0xcb, 0xb5, 0x4f,
 	]);
 }
@@ -971,7 +972,7 @@
 }
 
 impl evm_collection::Config for Runtime {
-	type ContractAddress = EvmCollectionAddress;
+	type ContractAddress = EvmCollectionHelperAddress;
 }
 
 construct_runtime!(
modifiedtests/src/eth/api/Collection.soldiffbeforeafterboth
--- a/tests/src/eth/api/Collection.sol
+++ b/tests/src/eth/api/Collection.sol
@@ -12,25 +12,17 @@
 	function supportsInterface(bytes4 interfaceID) external view returns (bool);
 }
 
-// Selector: 1e95830f
+// Selector: 15cc740e
 interface Collection is Dummy, ERC165 {
-	// Selector: create721Collection(string,string,string) 951c0151
-	function create721Collection(
-		string memory name,
-		string memory description,
-		string memory tokenPrefix
-	) external view returns (address);
+	// Selector: setSponsor(address) 59753fb1
+	function setSponsor(address sponsor) external view;
 
-	// Selector: setSponsor(address,address) f01fba93
-	function setSponsor(address collectionAddress, address sponsor)
-		external
-		view;
+	// Selector: confirmSponsorship() c8c6a056
+	function confirmSponsorship() external view;
 
-	// Selector: confirmSponsorship(address) abc00001
-	function confirmSponsorship(address collectionAddress) external view;
+	// Selector: setLimits(string) 72cb345d
+	function setLimits(string memory limitsJson) external view;
 
-	// Selector: setLimits(address,string) d05638cc
-	function setLimits(address collectionAddress, string memory limitsJson)
-		external
-		view;
+	// Selector: contractAddress() f6b4dfb4
+	function contractAddress() external view returns (address);
 }
addedtests/src/eth/api/CollectionHelper.soldiffbeforeafterboth
--- /dev/null
+++ b/tests/src/eth/api/CollectionHelper.sol
@@ -0,0 +1,23 @@
+// SPDX-License-Identifier: OTHER
+// This code is automatically generated
+
+pragma solidity >=0.8.0 <0.9.0;
+
+// Common stubs holder
+interface Dummy {
+
+}
+
+interface ERC165 is Dummy {
+	function supportsInterface(bytes4 interfaceID) external view returns (bool);
+}
+
+// Selector: 951c0151
+interface CollectionHelper is Dummy, ERC165 {
+	// Selector: create721Collection(string,string,string) 951c0151
+	function create721Collection(
+		string memory name,
+		string memory description,
+		string memory tokenPrefix
+	) external view returns (address);
+}
modifiedtests/src/eth/collectionAbi.jsondiffbeforeafterboth
--- a/tests/src/eth/collectionAbi.json
+++ b/tests/src/eth/collectionAbi.json
@@ -1,35 +1,20 @@
 [
   {
-    "inputs": [
-      {
-        "internalType": "address",
-        "name": "collectionAddress",
-        "type": "address"
-      }
-    ],
+    "inputs": [],
     "name": "confirmSponsorship",
     "outputs": [],
     "stateMutability": "view",
     "type": "function"
   },
   {
-    "inputs": [
-      { "internalType": "string", "name": "name", "type": "string" },
-      { "internalType": "string", "name": "description", "type": "string" },
-      { "internalType": "string", "name": "tokenPrefix", "type": "string" }
-    ],
-    "name": "create721Collection",
+    "inputs": [],
+    "name": "contractAddress",
     "outputs": [{ "internalType": "address", "name": "", "type": "address" }],
     "stateMutability": "view",
     "type": "function"
   },
   {
     "inputs": [
-      {
-        "internalType": "address",
-        "name": "collectionAddress",
-        "type": "address"
-      },
       { "internalType": "string", "name": "limitsJson", "type": "string" }
     ],
     "name": "setLimits",
@@ -39,11 +24,6 @@
   },
   {
     "inputs": [
-      {
-        "internalType": "address",
-        "name": "collectionAddress",
-        "type": "address"
-      },
       { "internalType": "address", "name": "sponsor", "type": "address" }
     ],
     "name": "setSponsor",
addedtests/src/eth/collectionHelperAbi.jsondiffbeforeafterboth
--- /dev/null
+++ b/tests/src/eth/collectionHelperAbi.json
@@ -0,0 +1,22 @@
+[
+  {
+    "inputs": [
+      { "internalType": "string", "name": "name", "type": "string" },
+      { "internalType": "string", "name": "description", "type": "string" },
+      { "internalType": "string", "name": "tokenPrefix", "type": "string" }
+    ],
+    "name": "create721Collection",
+    "outputs": [{ "internalType": "address", "name": "", "type": "address" }],
+    "stateMutability": "view",
+    "type": "function"
+  },
+  {
+    "inputs": [
+      { "internalType": "bytes4", "name": "interfaceID", "type": "bytes4" }
+    ],
+    "name": "supportsInterface",
+    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],
+    "stateMutability": "view",
+    "type": "function"
+  }
+]
modifiedtests/src/eth/createCollection.test.tsdiffbeforeafterboth
--- a/tests/src/eth/createCollection.test.ts
+++ b/tests/src/eth/createCollection.test.ts
@@ -20,11 +20,12 @@
 import {expect} from 'chai';
 import {getCreatedCollectionCount, getDetailedCollectionInfo} from '../util/helpers';
 import {
-  collectionHelper,
+  evmCollectionHelper,
   collectionIdFromAddress,
   collectionIdToAddress,
   createEthAccount,
   createEthAccountWithBalance,
+  evmCollection,
   GAS_ARGS,
   itWeb3,
   normalizeAddress,
@@ -41,7 +42,7 @@
 describe('Create collection from EVM', () => {
   itWeb3('Create collection', async ({api, web3}) => {
     const owner = await createEthAccountWithBalance(api, web3);
-    const helper = collectionHelper(web3, owner);
+    const helper = evmCollectionHelper(web3, owner);
     const collectionName = 'CollectionEVM';
     const description = 'Some description';
     const tokenPrefix = 'token prefix';
@@ -63,26 +64,27 @@
   
   itWeb3('Set sponsorship', async ({api, web3}) => {
     const owner = await createEthAccountWithBalance(api, web3);
-    const helper = collectionHelper(web3, owner);
-    let result = await helper.methods.create721Collection('Sponsor collection', '1', '1').send();
+    const collectionHelper = evmCollectionHelper(web3, owner);
+    let result = await collectionHelper.methods.create721Collection('Sponsor collection', '1', '1').send();
     const {collectionIdAddress, collectionId} = await getCollectionAddressFromResult(api, result);
     const sponsor = await createEthAccountWithBalance(api, web3);
-    result = await helper.methods.setSponsor(collectionIdAddress, sponsor).send();
-    let collection = (await getDetailedCollectionInfo(api, collectionId))!;
-    expect(collection.sponsorship.isUnconfirmed).to.be.true;
-    expect(collection.sponsorship.asUnconfirmed.toHuman()).to.be.eq(evmToAddress(sponsor));
-    await expect(helper.methods.confirmSponsorship(collectionIdAddress).call()).to.be.rejectedWith('Caller is not set as sponsor');
-    const sponsorHelper = collectionHelper(web3, sponsor);
-    await sponsorHelper.methods.confirmSponsorship(collectionIdAddress).send();
-    collection = (await getDetailedCollectionInfo(api, collectionId))!;
-    expect(collection.sponsorship.isConfirmed).to.be.true;
-    expect(collection.sponsorship.asConfirmed.toHuman()).to.be.eq(evmToAddress(sponsor));
+    const collectionEvm = evmCollection(web3, owner, collectionIdAddress);
+    result = await collectionEvm.methods.setSponsor(sponsor).send();
+    let collectionSub = (await getDetailedCollectionInfo(api, collectionId))!;
+    expect(collectionSub.sponsorship.isUnconfirmed).to.be.true;
+    expect(collectionSub.sponsorship.asUnconfirmed.toHuman()).to.be.eq(evmToAddress(sponsor));
+    await expect(collectionEvm.methods.confirmSponsorship().call()).to.be.rejectedWith('Caller is not set as sponsor');
+    const sponsorCollection = evmCollection(web3, sponsor, collectionIdAddress);
+    await sponsorCollection.methods.confirmSponsorship().send();
+    collectionSub = (await getDetailedCollectionInfo(api, collectionId))!;
+    expect(collectionSub.sponsorship.isConfirmed).to.be.true;
+    expect(collectionSub.sponsorship.asConfirmed.toHuman()).to.be.eq(evmToAddress(sponsor));
   });
 
   itWeb3('Set limits', async ({api, web3}) => {
     const owner = await createEthAccountWithBalance(api, web3);
-    const helper = collectionHelper(web3, owner);
-    const result = await helper.methods.create721Collection('Const collection', '5', '5').send();
+    const collectionHelper = evmCollectionHelper(web3, owner);
+    const result = await collectionHelper.methods.create721Collection('Const collection', '5', '5').send();
     const {collectionIdAddress, collectionId} = await getCollectionAddressFromResult(api, result);
     const limits = {
       accountTokenOwnershipLimit: 1000,
@@ -97,23 +99,24 @@
     };
 
     const limitsJson = JSON.stringify(limits, null, 1);
-    await helper.methods.setLimits(collectionIdAddress, limitsJson).send();
+    const collectionEvm = evmCollection(web3, owner, collectionIdAddress);
+    await collectionEvm.methods.setLimits(limitsJson).send();
     
-    const collection = (await getDetailedCollectionInfo(api, collectionId))!;
-    expect(collection.limits.accountTokenOwnershipLimit.unwrap().toNumber()).to.be.eq(limits.accountTokenOwnershipLimit);
-    expect(collection.limits.sponsoredDataSize.unwrap().toNumber()).to.be.eq(limits.sponsoredDataSize);
-    expect(collection.limits.sponsoredDataRateLimit.unwrap().asBlocks.toNumber()).to.be.eq(limits.sponsoredDataRateLimit.Blocks);
-    expect(collection.limits.tokenLimit.unwrap().toNumber()).to.be.eq(limits.tokenLimit);
-    expect(collection.limits.sponsorTransferTimeout.unwrap().toNumber()).to.be.eq(limits.sponsorTransferTimeout);
-    expect(collection.limits.sponsorApproveTimeout.unwrap().toNumber()).to.be.eq(limits.sponsorApproveTimeout);
-    expect(collection.limits.ownerCanTransfer.toHuman()).to.be.eq(limits.ownerCanTransfer);
-    expect(collection.limits.ownerCanDestroy.toHuman()).to.be.eq(limits.ownerCanDestroy);
-    expect(collection.limits.transfersEnabled.toHuman()).to.be.eq(limits.transfersEnabled);
+    const collectionSub = (await getDetailedCollectionInfo(api, collectionId))!;
+    expect(collectionSub.limits.accountTokenOwnershipLimit.unwrap().toNumber()).to.be.eq(limits.accountTokenOwnershipLimit);
+    expect(collectionSub.limits.sponsoredDataSize.unwrap().toNumber()).to.be.eq(limits.sponsoredDataSize);
+    expect(collectionSub.limits.sponsoredDataRateLimit.unwrap().asBlocks.toNumber()).to.be.eq(limits.sponsoredDataRateLimit.Blocks);
+    expect(collectionSub.limits.tokenLimit.unwrap().toNumber()).to.be.eq(limits.tokenLimit);
+    expect(collectionSub.limits.sponsorTransferTimeout.unwrap().toNumber()).to.be.eq(limits.sponsorTransferTimeout);
+    expect(collectionSub.limits.sponsorApproveTimeout.unwrap().toNumber()).to.be.eq(limits.sponsorApproveTimeout);
+    expect(collectionSub.limits.ownerCanTransfer.toHuman()).to.be.eq(limits.ownerCanTransfer);
+    expect(collectionSub.limits.ownerCanDestroy.toHuman()).to.be.eq(limits.ownerCanDestroy);
+    expect(collectionSub.limits.transfersEnabled.toHuman()).to.be.eq(limits.transfersEnabled);
   });
 
   itWeb3('Check tokenURI', async ({web3, api}) => {
     const owner = await createEthAccountWithBalance(api, web3);
-    const helper = collectionHelper(web3, owner);
+    const helper = evmCollectionHelper(web3, owner);
     let result = await helper.methods.create721Collection('Mint collection', '6', '6').send();
     const {collectionIdAddress, collectionId} = await getCollectionAddressFromResult(api, result);
     const receiver = createEthAccount(web3);
@@ -154,7 +157,7 @@
 describe('(!negative tests!) Create collection from EVM', () => {
   itWeb3('(!negative test!) Create collection (bad lengths)', async ({api, web3}) => {
     const owner = await createEthAccountWithBalance(api, web3);
-    const helper = collectionHelper(web3, owner);
+    const helper = evmCollectionHelper(web3, owner);
     {
       const MAX_NAME_LENGHT = 64;
       const collectionName = 'A'.repeat(MAX_NAME_LENGHT + 1);
@@ -188,7 +191,7 @@
   
   itWeb3('(!negative test!) Create collection (no funds)', async ({web3}) => {
     const owner = await createEthAccount(web3);
-    const helper = collectionHelper(web3, owner);
+    const helper = evmCollectionHelper(web3, owner);
     const collectionName = 'A';
     const description = 'A';
     const tokenPrefix = 'A';
@@ -200,24 +203,24 @@
 
   itWeb3('(!negative test!) Collection address (Contract is not an unique collection)', async ({api, web3}) => {
     const owner = await createEthAccountWithBalance(api, web3);
-    const helper = collectionHelper(web3, owner);
     const collectionAddressWithBadPrefix = '0x00112233445566778899AABBCCDDEEFF00112233';
+    const collectionEvm = evmCollection(web3, owner, collectionAddressWithBadPrefix);
     const EXPECTED_ERROR = 'Contract is not an unique collection';
     {
       const sponsor = await createEthAccountWithBalance(api, web3);
-      await expect(helper.methods
-        .setSponsor(collectionAddressWithBadPrefix, sponsor)
+      await expect(collectionEvm.methods
+        .setSponsor(sponsor)
         .call()).to.be.rejectedWith(EXPECTED_ERROR);
       
-      const sponsorHelper = collectionHelper(web3, sponsor);
-      await expect(sponsorHelper.methods
-        .confirmSponsorship(collectionAddressWithBadPrefix)
+      const sponsorCollection = evmCollection(web3, sponsor, collectionAddressWithBadPrefix);
+      await expect(sponsorCollection.methods
+        .confirmSponsorship()
         .call()).to.be.rejectedWith(EXPECTED_ERROR);
     }
     {
       const limits = '{"account_token_ownership_limit":1000}';
-      await expect(helper.methods
-        .setLimits(collectionAddressWithBadPrefix, limits)
+      await expect(collectionEvm.methods
+        .setLimits(limits)
         .call()).to.be.rejectedWith(EXPECTED_ERROR);
     }
   });
@@ -225,38 +228,39 @@
   itWeb3('(!negative test!) Check owner', async ({api, web3}) => {
     const owner = await createEthAccountWithBalance(api, web3);
     const notOwner = await createEthAccount(web3);
-    const helperFromOwner = collectionHelper(web3, owner);
-    const helperFromNotOwner = collectionHelper(web3, notOwner);
-    const result = await helperFromOwner.methods.create721Collection('A', 'A', 'A').send();
+    const collectionHelper = evmCollectionHelper(web3, owner);
+    const result = await collectionHelper.methods.create721Collection('A', 'A', 'A').send();
     const {collectionIdAddress} = await getCollectionAddressFromResult(api, result);
+    const contractEvmFromNotOwner = evmCollection(web3, notOwner, collectionIdAddress);
     const EXPECTED_ERROR = 'NoPermission';
     {
       const sponsor = await createEthAccountWithBalance(api, web3);
-      await expect(helperFromNotOwner.methods
-        .setSponsor(collectionIdAddress, sponsor)
+      await expect(contractEvmFromNotOwner.methods
+        .setSponsor(sponsor)
         .call()).to.be.rejectedWith(EXPECTED_ERROR);
       
-      const sponsorHelper = collectionHelper(web3, sponsor);
-      await expect(sponsorHelper.methods
-        .confirmSponsorship(collectionIdAddress)
+      const sponsorCollection = evmCollection(web3, sponsor, collectionIdAddress);
+      await expect(sponsorCollection.methods
+        .confirmSponsorship()
         .call()).to.be.rejectedWith('Caller is not set as sponsor');
     }
     {
       const limits = '{"account_token_ownership_limit":1000}';
-      await expect(helperFromNotOwner.methods
-        .setLimits(collectionIdAddress, limits)
+      await expect(contractEvmFromNotOwner.methods
+        .setLimits(limits)
         .call()).to.be.rejectedWith(EXPECTED_ERROR);
     }
   });
 
   itWeb3('(!negative test!) Set limits', async ({api, web3}) => {
     const owner = await createEthAccountWithBalance(api, web3);
-    const helper = collectionHelper(web3, owner);
-    const result = await helper.methods.create721Collection('Schema collection', 'A', 'A').send();
+    const collectionHelper = evmCollectionHelper(web3, owner);
+    const result = await collectionHelper.methods.create721Collection('Schema collection', 'A', 'A').send();
     const {collectionIdAddress} = await getCollectionAddressFromResult(api, result);
+    const collectionEvm = evmCollection(web3, owner, collectionIdAddress);
     const badJson = '{accountTokenOwnershipLimit: 1000}';
-    await expect(helper.methods
-      .setLimits(collectionIdAddress, badJson)
+    await expect(collectionEvm.methods
+      .setLimits(badJson)
       .call()).to.be.rejectedWith('Parse JSON error:');
   });
 });
\ No newline at end of file
modifiedtests/src/eth/util/helpers.tsdiffbeforeafterboth
--- a/tests/src/eth/util/helpers.ts
+++ b/tests/src/eth/util/helpers.ts
@@ -29,6 +29,7 @@
 import privateKey from '../../substrate/privateKey';
 import contractHelpersAbi from './contractHelpersAbi.json';
 import collectionAbi from '../collectionAbi.json';
+import collectionHelperAbi from '../collectionHelperAbi.json';
 import getBalance from '../../substrate/get-balance';
 import waitNewBlocks from '../../substrate/wait-new-blocks';
 
@@ -283,13 +284,23 @@
 }
 
 /** 
- * pallet evm_collection
+ * evm collection helper
  * @param web3 
  * @param caller - eth address
  * @returns 
  */
-export function collectionHelper(web3: Web3, caller: string) {
-  return new web3.eth.Contract(collectionAbi as any, '0x6c4e9fe1ae37a41e93cee429e8e1881abdcbb54f', {from: caller, ...GAS_ARGS});
+export function evmCollectionHelper(web3: Web3, caller: string) {
+  return new web3.eth.Contract(collectionHelperAbi as any, '0x6c4e9fe1ae37a41e93cee429e8e1881abdcbb54f', {from: caller, ...GAS_ARGS});
+}
+
+/** 
+ * evm collection
+ * @param web3 
+ * @param caller - eth address
+ * @returns 
+ */
+export function evmCollection(web3: Web3, caller: string, collection: string) {
+  return new web3.eth.Contract(collectionAbi as any, collection, {from: caller, ...GAS_ARGS});
 }
 
 /**
modifiedtests/src/interfaces/unique/types.tsdiffbeforeafterboth
before · tests/src/interfaces/unique/types.ts
1// Auto-generated via `yarn polkadot-types-from-defs`, do not edit2/* eslint-disable */34import type { BTreeMap, BTreeSet, Bytes, Compact, Enum, Null, Option, Result, Struct, Text, U256, U8aFixed, Vec, bool, u128, u16, u32, u64, u8 } from '@polkadot/types-codec';5import type { ITuple } from '@polkadot/types-codec/types';6import type { AccountId32, Call, H160, H256, MultiAddress, Perbill, Permill } from '@polkadot/types/interfaces/runtime';7import type { Event } from '@polkadot/types/interfaces/system';89/** @name BTreeSet */10export interface BTreeSet extends BTreeSet<Bytes> {}1112/** @name CumulusPalletDmpQueueCall */13export interface CumulusPalletDmpQueueCall extends Enum {14  readonly isServiceOverweight: boolean;15  readonly asServiceOverweight: {16    readonly index: u64;17    readonly weightLimit: u64;18  } & Struct;19  readonly type: 'ServiceOverweight';20}2122/** @name CumulusPalletDmpQueueConfigData */23export interface CumulusPalletDmpQueueConfigData extends Struct {24  readonly maxIndividual: u64;25}2627/** @name CumulusPalletDmpQueueError */28export interface CumulusPalletDmpQueueError extends Enum {29  readonly isUnknown: boolean;30  readonly isOverLimit: boolean;31  readonly type: 'Unknown' | 'OverLimit';32}3334/** @name CumulusPalletDmpQueueEvent */35export interface CumulusPalletDmpQueueEvent extends Enum {36  readonly isInvalidFormat: boolean;37  readonly asInvalidFormat: U8aFixed;38  readonly isUnsupportedVersion: boolean;39  readonly asUnsupportedVersion: U8aFixed;40  readonly isExecutedDownward: boolean;41  readonly asExecutedDownward: ITuple<[U8aFixed, XcmV2TraitsOutcome]>;42  readonly isWeightExhausted: boolean;43  readonly asWeightExhausted: ITuple<[U8aFixed, u64, u64]>;44  readonly isOverweightEnqueued: boolean;45  readonly asOverweightEnqueued: ITuple<[U8aFixed, u64, u64]>;46  readonly isOverweightServiced: boolean;47  readonly asOverweightServiced: ITuple<[u64, u64]>;48  readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward' | 'WeightExhausted' | 'OverweightEnqueued' | 'OverweightServiced';49}5051/** @name CumulusPalletDmpQueuePageIndexData */52export interface CumulusPalletDmpQueuePageIndexData extends Struct {53  readonly beginUsed: u32;54  readonly endUsed: u32;55  readonly overweightCount: u64;56}5758/** @name CumulusPalletParachainSystemCall */59export interface CumulusPalletParachainSystemCall extends Enum {60  readonly isSetValidationData: boolean;61  readonly asSetValidationData: {62    readonly data: CumulusPrimitivesParachainInherentParachainInherentData;63  } & Struct;64  readonly isSudoSendUpwardMessage: boolean;65  readonly asSudoSendUpwardMessage: {66    readonly message: Bytes;67  } & Struct;68  readonly isAuthorizeUpgrade: boolean;69  readonly asAuthorizeUpgrade: {70    readonly codeHash: H256;71  } & Struct;72  readonly isEnactAuthorizedUpgrade: boolean;73  readonly asEnactAuthorizedUpgrade: {74    readonly code: Bytes;75  } & Struct;76  readonly type: 'SetValidationData' | 'SudoSendUpwardMessage' | 'AuthorizeUpgrade' | 'EnactAuthorizedUpgrade';77}7879/** @name CumulusPalletParachainSystemError */80export interface CumulusPalletParachainSystemError extends Enum {81  readonly isOverlappingUpgrades: boolean;82  readonly isProhibitedByPolkadot: boolean;83  readonly isTooBig: boolean;84  readonly isValidationDataNotAvailable: boolean;85  readonly isHostConfigurationNotAvailable: boolean;86  readonly isNotScheduled: boolean;87  readonly isNothingAuthorized: boolean;88  readonly isUnauthorized: boolean;89  readonly type: 'OverlappingUpgrades' | 'ProhibitedByPolkadot' | 'TooBig' | 'ValidationDataNotAvailable' | 'HostConfigurationNotAvailable' | 'NotScheduled' | 'NothingAuthorized' | 'Unauthorized';90}9192/** @name CumulusPalletParachainSystemEvent */93export interface CumulusPalletParachainSystemEvent extends Enum {94  readonly isValidationFunctionStored: boolean;95  readonly isValidationFunctionApplied: boolean;96  readonly asValidationFunctionApplied: u32;97  readonly isValidationFunctionDiscarded: boolean;98  readonly isUpgradeAuthorized: boolean;99  readonly asUpgradeAuthorized: H256;100  readonly isDownwardMessagesReceived: boolean;101  readonly asDownwardMessagesReceived: u32;102  readonly isDownwardMessagesProcessed: boolean;103  readonly asDownwardMessagesProcessed: ITuple<[u64, H256]>;104  readonly type: 'ValidationFunctionStored' | 'ValidationFunctionApplied' | 'ValidationFunctionDiscarded' | 'UpgradeAuthorized' | 'DownwardMessagesReceived' | 'DownwardMessagesProcessed';105}106107/** @name CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot */108export interface CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot extends Struct {109  readonly dmqMqcHead: H256;110  readonly relayDispatchQueueSize: ITuple<[u32, u32]>;111  readonly ingressChannels: Vec<ITuple<[u32, PolkadotPrimitivesV2AbridgedHrmpChannel]>>;112  readonly egressChannels: Vec<ITuple<[u32, PolkadotPrimitivesV2AbridgedHrmpChannel]>>;113}114115/** @name CumulusPalletXcmCall */116export interface CumulusPalletXcmCall extends Null {}117118/** @name CumulusPalletXcmError */119export interface CumulusPalletXcmError extends Null {}120121/** @name CumulusPalletXcmEvent */122export interface CumulusPalletXcmEvent extends Enum {123  readonly isInvalidFormat: boolean;124  readonly asInvalidFormat: U8aFixed;125  readonly isUnsupportedVersion: boolean;126  readonly asUnsupportedVersion: U8aFixed;127  readonly isExecutedDownward: boolean;128  readonly asExecutedDownward: ITuple<[U8aFixed, XcmV2TraitsOutcome]>;129  readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward';130}131132/** @name CumulusPalletXcmpQueueCall */133export interface CumulusPalletXcmpQueueCall extends Enum {134  readonly isServiceOverweight: boolean;135  readonly asServiceOverweight: {136    readonly index: u64;137    readonly weightLimit: u64;138  } & Struct;139  readonly isSuspendXcmExecution: boolean;140  readonly isResumeXcmExecution: boolean;141  readonly isUpdateSuspendThreshold: boolean;142  readonly asUpdateSuspendThreshold: {143    readonly new_: u32;144  } & Struct;145  readonly isUpdateDropThreshold: boolean;146  readonly asUpdateDropThreshold: {147    readonly new_: u32;148  } & Struct;149  readonly isUpdateResumeThreshold: boolean;150  readonly asUpdateResumeThreshold: {151    readonly new_: u32;152  } & Struct;153  readonly isUpdateThresholdWeight: boolean;154  readonly asUpdateThresholdWeight: {155    readonly new_: u64;156  } & Struct;157  readonly isUpdateWeightRestrictDecay: boolean;158  readonly asUpdateWeightRestrictDecay: {159    readonly new_: u64;160  } & Struct;161  readonly isUpdateXcmpMaxIndividualWeight: boolean;162  readonly asUpdateXcmpMaxIndividualWeight: {163    readonly new_: u64;164  } & Struct;165  readonly type: 'ServiceOverweight' | 'SuspendXcmExecution' | 'ResumeXcmExecution' | 'UpdateSuspendThreshold' | 'UpdateDropThreshold' | 'UpdateResumeThreshold' | 'UpdateThresholdWeight' | 'UpdateWeightRestrictDecay' | 'UpdateXcmpMaxIndividualWeight';166}167168/** @name CumulusPalletXcmpQueueError */169export interface CumulusPalletXcmpQueueError extends Enum {170  readonly isFailedToSend: boolean;171  readonly isBadXcmOrigin: boolean;172  readonly isBadXcm: boolean;173  readonly isBadOverweightIndex: boolean;174  readonly isWeightOverLimit: boolean;175  readonly type: 'FailedToSend' | 'BadXcmOrigin' | 'BadXcm' | 'BadOverweightIndex' | 'WeightOverLimit';176}177178/** @name CumulusPalletXcmpQueueEvent */179export interface CumulusPalletXcmpQueueEvent extends Enum {180  readonly isSuccess: boolean;181  readonly asSuccess: Option<H256>;182  readonly isFail: boolean;183  readonly asFail: ITuple<[Option<H256>, XcmV2TraitsError]>;184  readonly isBadVersion: boolean;185  readonly asBadVersion: Option<H256>;186  readonly isBadFormat: boolean;187  readonly asBadFormat: Option<H256>;188  readonly isUpwardMessageSent: boolean;189  readonly asUpwardMessageSent: Option<H256>;190  readonly isXcmpMessageSent: boolean;191  readonly asXcmpMessageSent: Option<H256>;192  readonly isOverweightEnqueued: boolean;193  readonly asOverweightEnqueued: ITuple<[u32, u32, u64, u64]>;194  readonly isOverweightServiced: boolean;195  readonly asOverweightServiced: ITuple<[u64, u64]>;196  readonly type: 'Success' | 'Fail' | 'BadVersion' | 'BadFormat' | 'UpwardMessageSent' | 'XcmpMessageSent' | 'OverweightEnqueued' | 'OverweightServiced';197}198199/** @name CumulusPalletXcmpQueueInboundChannelDetails */200export interface CumulusPalletXcmpQueueInboundChannelDetails extends Struct {201  readonly sender: u32;202  readonly state: CumulusPalletXcmpQueueInboundState;203  readonly messageMetadata: Vec<ITuple<[u32, PolkadotParachainPrimitivesXcmpMessageFormat]>>;204}205206/** @name CumulusPalletXcmpQueueInboundState */207export interface CumulusPalletXcmpQueueInboundState extends Enum {208  readonly isOk: boolean;209  readonly isSuspended: boolean;210  readonly type: 'Ok' | 'Suspended';211}212213/** @name CumulusPalletXcmpQueueOutboundChannelDetails */214export interface CumulusPalletXcmpQueueOutboundChannelDetails extends Struct {215  readonly recipient: u32;216  readonly state: CumulusPalletXcmpQueueOutboundState;217  readonly signalsExist: bool;218  readonly firstIndex: u16;219  readonly lastIndex: u16;220}221222/** @name CumulusPalletXcmpQueueOutboundState */223export interface CumulusPalletXcmpQueueOutboundState extends Enum {224  readonly isOk: boolean;225  readonly isSuspended: boolean;226  readonly type: 'Ok' | 'Suspended';227}228229/** @name CumulusPalletXcmpQueueQueueConfigData */230export interface CumulusPalletXcmpQueueQueueConfigData extends Struct {231  readonly suspendThreshold: u32;232  readonly dropThreshold: u32;233  readonly resumeThreshold: u32;234  readonly thresholdWeight: u64;235  readonly weightRestrictDecay: u64;236  readonly xcmpMaxIndividualWeight: u64;237}238239/** @name CumulusPrimitivesParachainInherentParachainInherentData */240export interface CumulusPrimitivesParachainInherentParachainInherentData extends Struct {241  readonly validationData: PolkadotPrimitivesV2PersistedValidationData;242  readonly relayChainState: SpTrieStorageProof;243  readonly downwardMessages: Vec<PolkadotCorePrimitivesInboundDownwardMessage>;244  readonly horizontalMessages: BTreeMap<u32, Vec<PolkadotCorePrimitivesInboundHrmpMessage>>;245}246247/** @name EthbloomBloom */248export interface EthbloomBloom extends U8aFixed {}249250/** @name EthereumBlock */251export interface EthereumBlock extends Struct {252  readonly header: EthereumHeader;253  readonly transactions: Vec<EthereumTransactionTransactionV2>;254  readonly ommers: Vec<EthereumHeader>;255}256257/** @name EthereumHeader */258export interface EthereumHeader extends Struct {259  readonly parentHash: H256;260  readonly ommersHash: H256;261  readonly beneficiary: H160;262  readonly stateRoot: H256;263  readonly transactionsRoot: H256;264  readonly receiptsRoot: H256;265  readonly logsBloom: EthbloomBloom;266  readonly difficulty: U256;267  readonly number: U256;268  readonly gasLimit: U256;269  readonly gasUsed: U256;270  readonly timestamp: u64;271  readonly extraData: Bytes;272  readonly mixHash: H256;273  readonly nonce: EthereumTypesHashH64;274}275276/** @name EthereumLog */277export interface EthereumLog extends Struct {278  readonly address: H160;279  readonly topics: Vec<H256>;280  readonly data: Bytes;281}282283/** @name EthereumReceiptEip658ReceiptData */284export interface EthereumReceiptEip658ReceiptData extends Struct {285  readonly statusCode: u8;286  readonly usedGas: U256;287  readonly logsBloom: EthbloomBloom;288  readonly logs: Vec<EthereumLog>;289}290291/** @name EthereumReceiptReceiptV3 */292export interface EthereumReceiptReceiptV3 extends Enum {293  readonly isLegacy: boolean;294  readonly asLegacy: EthereumReceiptEip658ReceiptData;295  readonly isEip2930: boolean;296  readonly asEip2930: EthereumReceiptEip658ReceiptData;297  readonly isEip1559: boolean;298  readonly asEip1559: EthereumReceiptEip658ReceiptData;299  readonly type: 'Legacy' | 'Eip2930' | 'Eip1559';300}301302/** @name EthereumTransactionAccessListItem */303export interface EthereumTransactionAccessListItem extends Struct {304  readonly address: H160;305  readonly storageKeys: Vec<H256>;306}307308/** @name EthereumTransactionEip1559Transaction */309export interface EthereumTransactionEip1559Transaction extends Struct {310  readonly chainId: u64;311  readonly nonce: U256;312  readonly maxPriorityFeePerGas: U256;313  readonly maxFeePerGas: U256;314  readonly gasLimit: U256;315  readonly action: EthereumTransactionTransactionAction;316  readonly value: U256;317  readonly input: Bytes;318  readonly accessList: Vec<EthereumTransactionAccessListItem>;319  readonly oddYParity: bool;320  readonly r: H256;321  readonly s: H256;322}323324/** @name EthereumTransactionEip2930Transaction */325export interface EthereumTransactionEip2930Transaction extends Struct {326  readonly chainId: u64;327  readonly nonce: U256;328  readonly gasPrice: U256;329  readonly gasLimit: U256;330  readonly action: EthereumTransactionTransactionAction;331  readonly value: U256;332  readonly input: Bytes;333  readonly accessList: Vec<EthereumTransactionAccessListItem>;334  readonly oddYParity: bool;335  readonly r: H256;336  readonly s: H256;337}338339/** @name EthereumTransactionLegacyTransaction */340export interface EthereumTransactionLegacyTransaction extends Struct {341  readonly nonce: U256;342  readonly gasPrice: U256;343  readonly gasLimit: U256;344  readonly action: EthereumTransactionTransactionAction;345  readonly value: U256;346  readonly input: Bytes;347  readonly signature: EthereumTransactionTransactionSignature;348}349350/** @name EthereumTransactionTransactionAction */351export interface EthereumTransactionTransactionAction extends Enum {352  readonly isCall: boolean;353  readonly asCall: H160;354  readonly isCreate: boolean;355  readonly type: 'Call' | 'Create';356}357358/** @name EthereumTransactionTransactionSignature */359export interface EthereumTransactionTransactionSignature extends Struct {360  readonly v: u64;361  readonly r: H256;362  readonly s: H256;363}364365/** @name EthereumTransactionTransactionV2 */366export interface EthereumTransactionTransactionV2 extends Enum {367  readonly isLegacy: boolean;368  readonly asLegacy: EthereumTransactionLegacyTransaction;369  readonly isEip2930: boolean;370  readonly asEip2930: EthereumTransactionEip2930Transaction;371  readonly isEip1559: boolean;372  readonly asEip1559: EthereumTransactionEip1559Transaction;373  readonly type: 'Legacy' | 'Eip2930' | 'Eip1559';374}375376/** @name EthereumTypesHashH64 */377export interface EthereumTypesHashH64 extends U8aFixed {}378379/** @name EvmCoreErrorExitError */380export interface EvmCoreErrorExitError extends Enum {381  readonly isStackUnderflow: boolean;382  readonly isStackOverflow: boolean;383  readonly isInvalidJump: boolean;384  readonly isInvalidRange: boolean;385  readonly isDesignatedInvalid: boolean;386  readonly isCallTooDeep: boolean;387  readonly isCreateCollision: boolean;388  readonly isCreateContractLimit: boolean;389  readonly isOutOfOffset: boolean;390  readonly isOutOfGas: boolean;391  readonly isOutOfFund: boolean;392  readonly isPcUnderflow: boolean;393  readonly isCreateEmpty: boolean;394  readonly isOther: boolean;395  readonly asOther: Text;396  readonly isInvalidCode: boolean;397  readonly type: 'StackUnderflow' | 'StackOverflow' | 'InvalidJump' | 'InvalidRange' | 'DesignatedInvalid' | 'CallTooDeep' | 'CreateCollision' | 'CreateContractLimit' | 'OutOfOffset' | 'OutOfGas' | 'OutOfFund' | 'PcUnderflow' | 'CreateEmpty' | 'Other' | 'InvalidCode';398}399400/** @name EvmCoreErrorExitFatal */401export interface EvmCoreErrorExitFatal extends Enum {402  readonly isNotSupported: boolean;403  readonly isUnhandledInterrupt: boolean;404  readonly isCallErrorAsFatal: boolean;405  readonly asCallErrorAsFatal: EvmCoreErrorExitError;406  readonly isOther: boolean;407  readonly asOther: Text;408  readonly type: 'NotSupported' | 'UnhandledInterrupt' | 'CallErrorAsFatal' | 'Other';409}410411/** @name EvmCoreErrorExitReason */412export interface EvmCoreErrorExitReason extends Enum {413  readonly isSucceed: boolean;414  readonly asSucceed: EvmCoreErrorExitSucceed;415  readonly isError: boolean;416  readonly asError: EvmCoreErrorExitError;417  readonly isRevert: boolean;418  readonly asRevert: EvmCoreErrorExitRevert;419  readonly isFatal: boolean;420  readonly asFatal: EvmCoreErrorExitFatal;421  readonly type: 'Succeed' | 'Error' | 'Revert' | 'Fatal';422}423424/** @name EvmCoreErrorExitRevert */425export interface EvmCoreErrorExitRevert extends Enum {426  readonly isReverted: boolean;427  readonly type: 'Reverted';428}429430/** @name EvmCoreErrorExitSucceed */431export interface EvmCoreErrorExitSucceed extends Enum {432  readonly isStopped: boolean;433  readonly isReturned: boolean;434  readonly isSuicided: boolean;435  readonly type: 'Stopped' | 'Returned' | 'Suicided';436}437438/** @name FpRpcTransactionStatus */439export interface FpRpcTransactionStatus extends Struct {440  readonly transactionHash: H256;441  readonly transactionIndex: u32;442  readonly from: H160;443  readonly to: Option<H160>;444  readonly contractAddress: Option<H160>;445  readonly logs: Vec<EthereumLog>;446  readonly logsBloom: EthbloomBloom;447}448449/** @name FrameSupportPalletId */450export interface FrameSupportPalletId extends U8aFixed {}451452/** @name FrameSupportTokensMiscBalanceStatus */453export interface FrameSupportTokensMiscBalanceStatus extends Enum {454  readonly isFree: boolean;455  readonly isReserved: boolean;456  readonly type: 'Free' | 'Reserved';457}458459/** @name FrameSupportWeightsDispatchClass */460export interface FrameSupportWeightsDispatchClass extends Enum {461  readonly isNormal: boolean;462  readonly isOperational: boolean;463  readonly isMandatory: boolean;464  readonly type: 'Normal' | 'Operational' | 'Mandatory';465}466467/** @name FrameSupportWeightsDispatchInfo */468export interface FrameSupportWeightsDispatchInfo extends Struct {469  readonly weight: u64;470  readonly class: FrameSupportWeightsDispatchClass;471  readonly paysFee: FrameSupportWeightsPays;472}473474/** @name FrameSupportWeightsPays */475export interface FrameSupportWeightsPays extends Enum {476  readonly isYes: boolean;477  readonly isNo: boolean;478  readonly type: 'Yes' | 'No';479}480481/** @name FrameSupportWeightsPerDispatchClassU32 */482export interface FrameSupportWeightsPerDispatchClassU32 extends Struct {483  readonly normal: u32;484  readonly operational: u32;485  readonly mandatory: u32;486}487488/** @name FrameSupportWeightsPerDispatchClassU64 */489export interface FrameSupportWeightsPerDispatchClassU64 extends Struct {490  readonly normal: u64;491  readonly operational: u64;492  readonly mandatory: u64;493}494495/** @name FrameSupportWeightsPerDispatchClassWeightsPerClass */496export interface FrameSupportWeightsPerDispatchClassWeightsPerClass extends Struct {497  readonly normal: FrameSystemLimitsWeightsPerClass;498  readonly operational: FrameSystemLimitsWeightsPerClass;499  readonly mandatory: FrameSystemLimitsWeightsPerClass;500}501502/** @name FrameSupportWeightsRuntimeDbWeight */503export interface FrameSupportWeightsRuntimeDbWeight extends Struct {504  readonly read: u64;505  readonly write: u64;506}507508/** @name FrameSupportWeightsWeightToFeeCoefficient */509export interface FrameSupportWeightsWeightToFeeCoefficient extends Struct {510  readonly coeffInteger: u128;511  readonly coeffFrac: Perbill;512  readonly negative: bool;513  readonly degree: u8;514}515516/** @name FrameSystemAccountInfo */517export interface FrameSystemAccountInfo extends Struct {518  readonly nonce: u32;519  readonly consumers: u32;520  readonly providers: u32;521  readonly sufficients: u32;522  readonly data: PalletBalancesAccountData;523}524525/** @name FrameSystemCall */526export interface FrameSystemCall extends Enum {527  readonly isFillBlock: boolean;528  readonly asFillBlock: {529    readonly ratio: Perbill;530  } & Struct;531  readonly isRemark: boolean;532  readonly asRemark: {533    readonly remark: Bytes;534  } & Struct;535  readonly isSetHeapPages: boolean;536  readonly asSetHeapPages: {537    readonly pages: u64;538  } & Struct;539  readonly isSetCode: boolean;540  readonly asSetCode: {541    readonly code: Bytes;542  } & Struct;543  readonly isSetCodeWithoutChecks: boolean;544  readonly asSetCodeWithoutChecks: {545    readonly code: Bytes;546  } & Struct;547  readonly isSetStorage: boolean;548  readonly asSetStorage: {549    readonly items: Vec<ITuple<[Bytes, Bytes]>>;550  } & Struct;551  readonly isKillStorage: boolean;552  readonly asKillStorage: {553    readonly keys_: Vec<Bytes>;554  } & Struct;555  readonly isKillPrefix: boolean;556  readonly asKillPrefix: {557    readonly prefix: Bytes;558    readonly subkeys: u32;559  } & Struct;560  readonly isRemarkWithEvent: boolean;561  readonly asRemarkWithEvent: {562    readonly remark: Bytes;563  } & Struct;564  readonly type: 'FillBlock' | 'Remark' | 'SetHeapPages' | 'SetCode' | 'SetCodeWithoutChecks' | 'SetStorage' | 'KillStorage' | 'KillPrefix' | 'RemarkWithEvent';565}566567/** @name FrameSystemError */568export interface FrameSystemError extends Enum {569  readonly isInvalidSpecName: boolean;570  readonly isSpecVersionNeedsToIncrease: boolean;571  readonly isFailedToExtractRuntimeVersion: boolean;572  readonly isNonDefaultComposite: boolean;573  readonly isNonZeroRefCount: boolean;574  readonly isCallFiltered: boolean;575  readonly type: 'InvalidSpecName' | 'SpecVersionNeedsToIncrease' | 'FailedToExtractRuntimeVersion' | 'NonDefaultComposite' | 'NonZeroRefCount' | 'CallFiltered';576}577578/** @name FrameSystemEvent */579export interface FrameSystemEvent extends Enum {580  readonly isExtrinsicSuccess: boolean;581  readonly asExtrinsicSuccess: {582    readonly dispatchInfo: FrameSupportWeightsDispatchInfo;583  } & Struct;584  readonly isExtrinsicFailed: boolean;585  readonly asExtrinsicFailed: {586    readonly dispatchError: SpRuntimeDispatchError;587    readonly dispatchInfo: FrameSupportWeightsDispatchInfo;588  } & Struct;589  readonly isCodeUpdated: boolean;590  readonly isNewAccount: boolean;591  readonly asNewAccount: {592    readonly account: AccountId32;593  } & Struct;594  readonly isKilledAccount: boolean;595  readonly asKilledAccount: {596    readonly account: AccountId32;597  } & Struct;598  readonly isRemarked: boolean;599  readonly asRemarked: {600    readonly sender: AccountId32;601    readonly hash_: H256;602  } & Struct;603  readonly type: 'ExtrinsicSuccess' | 'ExtrinsicFailed' | 'CodeUpdated' | 'NewAccount' | 'KilledAccount' | 'Remarked';604}605606/** @name FrameSystemEventRecord */607export interface FrameSystemEventRecord extends Struct {608  readonly phase: FrameSystemPhase;609  readonly event: Event;610  readonly topics: Vec<H256>;611}612613/** @name FrameSystemExtensionsCheckGenesis */614export interface FrameSystemExtensionsCheckGenesis extends Null {}615616/** @name FrameSystemExtensionsCheckNonce */617export interface FrameSystemExtensionsCheckNonce extends Compact<u32> {}618619/** @name FrameSystemExtensionsCheckSpecVersion */620export interface FrameSystemExtensionsCheckSpecVersion extends Null {}621622/** @name FrameSystemExtensionsCheckWeight */623export interface FrameSystemExtensionsCheckWeight extends Null {}624625/** @name FrameSystemLastRuntimeUpgradeInfo */626export interface FrameSystemLastRuntimeUpgradeInfo extends Struct {627  readonly specVersion: Compact<u32>;628  readonly specName: Text;629}630631/** @name FrameSystemLimitsBlockLength */632export interface FrameSystemLimitsBlockLength extends Struct {633  readonly max: FrameSupportWeightsPerDispatchClassU32;634}635636/** @name FrameSystemLimitsBlockWeights */637export interface FrameSystemLimitsBlockWeights extends Struct {638  readonly baseBlock: u64;639  readonly maxBlock: u64;640  readonly perClass: FrameSupportWeightsPerDispatchClassWeightsPerClass;641}642643/** @name FrameSystemLimitsWeightsPerClass */644export interface FrameSystemLimitsWeightsPerClass extends Struct {645  readonly baseExtrinsic: u64;646  readonly maxExtrinsic: Option<u64>;647  readonly maxTotal: Option<u64>;648  readonly reserved: Option<u64>;649}650651/** @name FrameSystemPhase */652export interface FrameSystemPhase extends Enum {653  readonly isApplyExtrinsic: boolean;654  readonly asApplyExtrinsic: u32;655  readonly isFinalization: boolean;656  readonly isInitialization: boolean;657  readonly type: 'ApplyExtrinsic' | 'Finalization' | 'Initialization';658}659660/** @name OpalRuntimeRuntime */661export interface OpalRuntimeRuntime extends Null {}662663/** @name OrmlVestingModuleCall */664export interface OrmlVestingModuleCall extends Enum {665  readonly isClaim: boolean;666  readonly isVestedTransfer: boolean;667  readonly asVestedTransfer: {668    readonly dest: MultiAddress;669    readonly schedule: OrmlVestingVestingSchedule;670  } & Struct;671  readonly isUpdateVestingSchedules: boolean;672  readonly asUpdateVestingSchedules: {673    readonly who: MultiAddress;674    readonly vestingSchedules: Vec<OrmlVestingVestingSchedule>;675  } & Struct;676  readonly isClaimFor: boolean;677  readonly asClaimFor: {678    readonly dest: MultiAddress;679  } & Struct;680  readonly type: 'Claim' | 'VestedTransfer' | 'UpdateVestingSchedules' | 'ClaimFor';681}682683/** @name OrmlVestingModuleError */684export interface OrmlVestingModuleError extends Enum {685  readonly isZeroVestingPeriod: boolean;686  readonly isZeroVestingPeriodCount: boolean;687  readonly isInsufficientBalanceToLock: boolean;688  readonly isTooManyVestingSchedules: boolean;689  readonly isAmountLow: boolean;690  readonly isMaxVestingSchedulesExceeded: boolean;691  readonly type: 'ZeroVestingPeriod' | 'ZeroVestingPeriodCount' | 'InsufficientBalanceToLock' | 'TooManyVestingSchedules' | 'AmountLow' | 'MaxVestingSchedulesExceeded';692}693694/** @name OrmlVestingModuleEvent */695export interface OrmlVestingModuleEvent extends Enum {696  readonly isVestingScheduleAdded: boolean;697  readonly asVestingScheduleAdded: {698    readonly from: AccountId32;699    readonly to: AccountId32;700    readonly vestingSchedule: OrmlVestingVestingSchedule;701  } & Struct;702  readonly isClaimed: boolean;703  readonly asClaimed: {704    readonly who: AccountId32;705    readonly amount: u128;706  } & Struct;707  readonly isVestingSchedulesUpdated: boolean;708  readonly asVestingSchedulesUpdated: {709    readonly who: AccountId32;710  } & Struct;711  readonly type: 'VestingScheduleAdded' | 'Claimed' | 'VestingSchedulesUpdated';712}713714/** @name OrmlVestingVestingSchedule */715export interface OrmlVestingVestingSchedule extends Struct {716  readonly start: u32;717  readonly period: u32;718  readonly periodCount: u32;719  readonly perPeriod: Compact<u128>;720}721722/** @name PalletBalancesAccountData */723export interface PalletBalancesAccountData extends Struct {724  readonly free: u128;725  readonly reserved: u128;726  readonly miscFrozen: u128;727  readonly feeFrozen: u128;728}729730/** @name PalletBalancesBalanceLock */731export interface PalletBalancesBalanceLock extends Struct {732  readonly id: U8aFixed;733  readonly amount: u128;734  readonly reasons: PalletBalancesReasons;735}736737/** @name PalletBalancesCall */738export interface PalletBalancesCall extends Enum {739  readonly isTransfer: boolean;740  readonly asTransfer: {741    readonly dest: MultiAddress;742    readonly value: Compact<u128>;743  } & Struct;744  readonly isSetBalance: boolean;745  readonly asSetBalance: {746    readonly who: MultiAddress;747    readonly newFree: Compact<u128>;748    readonly newReserved: Compact<u128>;749  } & Struct;750  readonly isForceTransfer: boolean;751  readonly asForceTransfer: {752    readonly source: MultiAddress;753    readonly dest: MultiAddress;754    readonly value: Compact<u128>;755  } & Struct;756  readonly isTransferKeepAlive: boolean;757  readonly asTransferKeepAlive: {758    readonly dest: MultiAddress;759    readonly value: Compact<u128>;760  } & Struct;761  readonly isTransferAll: boolean;762  readonly asTransferAll: {763    readonly dest: MultiAddress;764    readonly keepAlive: bool;765  } & Struct;766  readonly isForceUnreserve: boolean;767  readonly asForceUnreserve: {768    readonly who: MultiAddress;769    readonly amount: u128;770  } & Struct;771  readonly type: 'Transfer' | 'SetBalance' | 'ForceTransfer' | 'TransferKeepAlive' | 'TransferAll' | 'ForceUnreserve';772}773774/** @name PalletBalancesError */775export interface PalletBalancesError extends Enum {776  readonly isVestingBalance: boolean;777  readonly isLiquidityRestrictions: boolean;778  readonly isInsufficientBalance: boolean;779  readonly isExistentialDeposit: boolean;780  readonly isKeepAlive: boolean;781  readonly isExistingVestingSchedule: boolean;782  readonly isDeadAccount: boolean;783  readonly isTooManyReserves: boolean;784  readonly type: 'VestingBalance' | 'LiquidityRestrictions' | 'InsufficientBalance' | 'ExistentialDeposit' | 'KeepAlive' | 'ExistingVestingSchedule' | 'DeadAccount' | 'TooManyReserves';785}786787/** @name PalletBalancesEvent */788export interface PalletBalancesEvent extends Enum {789  readonly isEndowed: boolean;790  readonly asEndowed: {791    readonly account: AccountId32;792    readonly freeBalance: u128;793  } & Struct;794  readonly isDustLost: boolean;795  readonly asDustLost: {796    readonly account: AccountId32;797    readonly amount: u128;798  } & Struct;799  readonly isTransfer: boolean;800  readonly asTransfer: {801    readonly from: AccountId32;802    readonly to: AccountId32;803    readonly amount: u128;804  } & Struct;805  readonly isBalanceSet: boolean;806  readonly asBalanceSet: {807    readonly who: AccountId32;808    readonly free: u128;809    readonly reserved: u128;810  } & Struct;811  readonly isReserved: boolean;812  readonly asReserved: {813    readonly who: AccountId32;814    readonly amount: u128;815  } & Struct;816  readonly isUnreserved: boolean;817  readonly asUnreserved: {818    readonly who: AccountId32;819    readonly amount: u128;820  } & Struct;821  readonly isReserveRepatriated: boolean;822  readonly asReserveRepatriated: {823    readonly from: AccountId32;824    readonly to: AccountId32;825    readonly amount: u128;826    readonly destinationStatus: FrameSupportTokensMiscBalanceStatus;827  } & Struct;828  readonly isDeposit: boolean;829  readonly asDeposit: {830    readonly who: AccountId32;831    readonly amount: u128;832  } & Struct;833  readonly isWithdraw: boolean;834  readonly asWithdraw: {835    readonly who: AccountId32;836    readonly amount: u128;837  } & Struct;838  readonly isSlashed: boolean;839  readonly asSlashed: {840    readonly who: AccountId32;841    readonly amount: u128;842  } & Struct;843  readonly type: 'Endowed' | 'DustLost' | 'Transfer' | 'BalanceSet' | 'Reserved' | 'Unreserved' | 'ReserveRepatriated' | 'Deposit' | 'Withdraw' | 'Slashed';844}845846/** @name PalletBalancesReasons */847export interface PalletBalancesReasons extends Enum {848  readonly isFee: boolean;849  readonly isMisc: boolean;850  readonly isAll: boolean;851  readonly type: 'Fee' | 'Misc' | 'All';852}853854/** @name PalletBalancesReleases */855export interface PalletBalancesReleases extends Enum {856  readonly isV100: boolean;857  readonly isV200: boolean;858  readonly type: 'V100' | 'V200';859}860861/** @name PalletBalancesReserveData */862export interface PalletBalancesReserveData extends Struct {863  readonly id: U8aFixed;864  readonly amount: u128;865}866867/** @name PalletCommonError */868export interface PalletCommonError extends Enum {869  readonly isCollectionNotFound: boolean;870  readonly isMustBeTokenOwner: boolean;871  readonly isNoPermission: boolean;872  readonly isPublicMintingNotAllowed: boolean;873  readonly isAddressNotInAllowlist: boolean;874  readonly isCollectionNameLimitExceeded: boolean;875  readonly isCollectionDescriptionLimitExceeded: boolean;876  readonly isCollectionTokenPrefixLimitExceeded: boolean;877  readonly isTotalCollectionsLimitExceeded: boolean;878  readonly isCollectionAdminCountExceeded: boolean;879  readonly isCollectionLimitBoundsExceeded: boolean;880  readonly isOwnerPermissionsCantBeReverted: boolean;881  readonly isTransferNotAllowed: boolean;882  readonly isAccountTokenLimitExceeded: boolean;883  readonly isCollectionTokenLimitExceeded: boolean;884  readonly isMetadataFlagFrozen: boolean;885  readonly isTokenNotFound: boolean;886  readonly isTokenValueTooLow: boolean;887  readonly isApprovedValueTooLow: boolean;888  readonly isCantApproveMoreThanOwned: boolean;889  readonly isAddressIsZero: boolean;890  readonly isUnsupportedOperation: boolean;891  readonly isNotSufficientFounds: boolean;892  readonly isNestingIsDisabled: boolean;893  readonly isOnlyOwnerAllowedToNest: boolean;894  readonly isSourceCollectionIsNotAllowedToNest: boolean;895  readonly isCollectionFieldSizeExceeded: boolean;896  readonly isNoSpaceForProperty: boolean;897  readonly isPropertyLimitReached: boolean;898  readonly isPropertyKeyIsTooLong: boolean;899  readonly isInvalidCharacterInPropertyKey: boolean;900  readonly isEmptyPropertyKey: boolean;901  readonly type: 'CollectionNotFound' | 'MustBeTokenOwner' | 'NoPermission' | 'PublicMintingNotAllowed' | 'AddressNotInAllowlist' | 'CollectionNameLimitExceeded' | 'CollectionDescriptionLimitExceeded' | 'CollectionTokenPrefixLimitExceeded' | 'TotalCollectionsLimitExceeded' | 'CollectionAdminCountExceeded' | 'CollectionLimitBoundsExceeded' | 'OwnerPermissionsCantBeReverted' | 'TransferNotAllowed' | 'AccountTokenLimitExceeded' | 'CollectionTokenLimitExceeded' | 'MetadataFlagFrozen' | 'TokenNotFound' | 'TokenValueTooLow' | 'ApprovedValueTooLow' | 'CantApproveMoreThanOwned' | 'AddressIsZero' | 'UnsupportedOperation' | 'NotSufficientFounds' | 'NestingIsDisabled' | 'OnlyOwnerAllowedToNest' | 'SourceCollectionIsNotAllowedToNest' | 'CollectionFieldSizeExceeded' | 'NoSpaceForProperty' | 'PropertyLimitReached' | 'PropertyKeyIsTooLong' | 'InvalidCharacterInPropertyKey' | 'EmptyPropertyKey';902}903904/** @name PalletCommonEvent */905export interface PalletCommonEvent extends Enum {906  readonly isCollectionCreated: boolean;907  readonly asCollectionCreated: ITuple<[u32, u8, AccountId32]>;908  readonly isCollectionDestroyed: boolean;909  readonly asCollectionDestroyed: u32;910  readonly isItemCreated: boolean;911  readonly asItemCreated: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;912  readonly isItemDestroyed: boolean;913  readonly asItemDestroyed: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;914  readonly isTransfer: boolean;915  readonly asTransfer: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;916  readonly isApproved: boolean;917  readonly asApproved: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;918  readonly isCollectionPropertySet: boolean;919  readonly asCollectionPropertySet: ITuple<[u32, Bytes]>;920  readonly isCollectionPropertyDeleted: boolean;921  readonly asCollectionPropertyDeleted: ITuple<[u32, Bytes]>;922  readonly isTokenPropertySet: boolean;923  readonly asTokenPropertySet: ITuple<[u32, u32, Bytes]>;924  readonly isTokenPropertyDeleted: boolean;925  readonly asTokenPropertyDeleted: ITuple<[u32, u32, Bytes]>;926  readonly isPropertyPermissionSet: boolean;927  readonly asPropertyPermissionSet: ITuple<[u32, Bytes]>;928  readonly type: 'CollectionCreated' | 'CollectionDestroyed' | 'ItemCreated' | 'ItemDestroyed' | 'Transfer' | 'Approved' | 'CollectionPropertySet' | 'CollectionPropertyDeleted' | 'TokenPropertySet' | 'TokenPropertyDeleted' | 'PropertyPermissionSet';929}930931/** @name PalletEthereumCall */932export interface PalletEthereumCall extends Enum {933  readonly isTransact: boolean;934  readonly asTransact: {935    readonly transaction: EthereumTransactionTransactionV2;936  } & Struct;937  readonly type: 'Transact';938}939940/** @name PalletEthereumError */941export interface PalletEthereumError extends Enum {942  readonly isInvalidSignature: boolean;943  readonly isPreLogExists: boolean;944  readonly type: 'InvalidSignature' | 'PreLogExists';945}946947/** @name PalletEthereumEvent */948export interface PalletEthereumEvent extends Enum {949  readonly isExecuted: boolean;950  readonly asExecuted: ITuple<[H160, H160, H256, EvmCoreErrorExitReason]>;951  readonly type: 'Executed';952}953954/** @name PalletEthereumFakeTransactionFinalizer */955export interface PalletEthereumFakeTransactionFinalizer extends Null {}956957/** @name PalletEvmAccountBasicCrossAccountIdRepr */958export interface PalletEvmAccountBasicCrossAccountIdRepr extends Enum {959  readonly isSubstrate: boolean;960  readonly asSubstrate: AccountId32;961  readonly isEthereum: boolean;962  readonly asEthereum: H160;963  readonly type: 'Substrate' | 'Ethereum';964}965966/** @name PalletEvmCall */967export interface PalletEvmCall extends Enum {968  readonly isWithdraw: boolean;969  readonly asWithdraw: {970    readonly address: H160;971    readonly value: u128;972  } & Struct;973  readonly isCall: boolean;974  readonly asCall: {975    readonly source: H160;976    readonly target: H160;977    readonly input: Bytes;978    readonly value: U256;979    readonly gasLimit: u64;980    readonly maxFeePerGas: U256;981    readonly maxPriorityFeePerGas: Option<U256>;982    readonly nonce: Option<U256>;983    readonly accessList: Vec<ITuple<[H160, Vec<H256>]>>;984  } & Struct;985  readonly isCreate: boolean;986  readonly asCreate: {987    readonly source: H160;988    readonly init: Bytes;989    readonly value: U256;990    readonly gasLimit: u64;991    readonly maxFeePerGas: U256;992    readonly maxPriorityFeePerGas: Option<U256>;993    readonly nonce: Option<U256>;994    readonly accessList: Vec<ITuple<[H160, Vec<H256>]>>;995  } & Struct;996  readonly isCreate2: boolean;997  readonly asCreate2: {998    readonly source: H160;999    readonly init: Bytes;1000    readonly salt: H256;1001    readonly value: U256;1002    readonly gasLimit: u64;1003    readonly maxFeePerGas: U256;1004    readonly maxPriorityFeePerGas: Option<U256>;1005    readonly nonce: Option<U256>;1006    readonly accessList: Vec<ITuple<[H160, Vec<H256>]>>;1007  } & Struct;1008  readonly type: 'Withdraw' | 'Call' | 'Create' | 'Create2';1009}10101011/** @name PalletEvmCoderSubstrateError */1012export interface PalletEvmCoderSubstrateError extends Enum {1013  readonly isOutOfGas: boolean;1014  readonly isOutOfFund: boolean;1015  readonly type: 'OutOfGas' | 'OutOfFund';1016}10171018/** @name PalletEvmContractHelpersError */1019export interface PalletEvmContractHelpersError extends Enum {1020  readonly isNoPermission: boolean;1021  readonly type: 'NoPermission';1022}10231024/** @name PalletEvmContractHelpersSponsoringModeT */1025export interface PalletEvmContractHelpersSponsoringModeT extends Enum {1026  readonly isDisabled: boolean;1027  readonly isAllowlisted: boolean;1028  readonly isGenerous: boolean;1029  readonly type: 'Disabled' | 'Allowlisted' | 'Generous';1030}10311032/** @name PalletEvmError */1033export interface PalletEvmError extends Enum {1034  readonly isBalanceLow: boolean;1035  readonly isFeeOverflow: boolean;1036  readonly isPaymentOverflow: boolean;1037  readonly isWithdrawFailed: boolean;1038  readonly isGasPriceTooLow: boolean;1039  readonly isInvalidNonce: boolean;1040  readonly type: 'BalanceLow' | 'FeeOverflow' | 'PaymentOverflow' | 'WithdrawFailed' | 'GasPriceTooLow' | 'InvalidNonce';1041}10421043/** @name PalletEvmEvent */1044export interface PalletEvmEvent extends Enum {1045  readonly isLog: boolean;1046  readonly asLog: EthereumLog;1047  readonly isCreated: boolean;1048  readonly asCreated: H160;1049  readonly isCreatedFailed: boolean;1050  readonly asCreatedFailed: H160;1051  readonly isExecuted: boolean;1052  readonly asExecuted: H160;1053  readonly isExecutedFailed: boolean;1054  readonly asExecutedFailed: H160;1055  readonly isBalanceDeposit: boolean;1056  readonly asBalanceDeposit: ITuple<[AccountId32, H160, U256]>;1057  readonly isBalanceWithdraw: boolean;1058  readonly asBalanceWithdraw: ITuple<[AccountId32, H160, U256]>;1059  readonly type: 'Log' | 'Created' | 'CreatedFailed' | 'Executed' | 'ExecutedFailed' | 'BalanceDeposit' | 'BalanceWithdraw';1060}10611062/** @name PalletEvmMigrationCall */1063export interface PalletEvmMigrationCall extends Enum {1064  readonly isBegin: boolean;1065  readonly asBegin: {1066    readonly address: H160;1067  } & Struct;1068  readonly isSetData: boolean;1069  readonly asSetData: {1070    readonly address: H160;1071    readonly data: Vec<ITuple<[H256, H256]>>;1072  } & Struct;1073  readonly isFinish: boolean;1074  readonly asFinish: {1075    readonly address: H160;1076    readonly code: Bytes;1077  } & Struct;1078  readonly type: 'Begin' | 'SetData' | 'Finish';1079}10801081/** @name PalletEvmMigrationError */1082export interface PalletEvmMigrationError extends Enum {1083  readonly isAccountNotEmpty: boolean;1084  readonly isAccountIsNotMigrating: boolean;1085  readonly type: 'AccountNotEmpty' | 'AccountIsNotMigrating';1086}10871088/** @name PalletFungibleError */1089export interface PalletFungibleError extends Enum {1090  readonly isNotFungibleDataUsedToMintFungibleCollectionToken: boolean;1091  readonly isFungibleItemsHaveNoId: boolean;1092  readonly isFungibleItemsDontHaveData: boolean;1093  readonly isFungibleDisallowsNesting: boolean;1094  readonly isSettingPropertiesNotAllowed: boolean;1095  readonly type: 'NotFungibleDataUsedToMintFungibleCollectionToken' | 'FungibleItemsHaveNoId' | 'FungibleItemsDontHaveData' | 'FungibleDisallowsNesting' | 'SettingPropertiesNotAllowed';1096}10971098/** @name PalletInflationCall */1099export interface PalletInflationCall extends Enum {1100  readonly isStartInflation: boolean;1101  readonly asStartInflation: {1102    readonly inflationStartRelayBlock: u32;1103  } & Struct;1104  readonly type: 'StartInflation';1105}11061107/** @name PalletNonfungibleError */1108export interface PalletNonfungibleError extends Enum {1109  readonly isNotNonfungibleDataUsedToMintFungibleCollectionToken: boolean;1110  readonly isNonfungibleItemsHaveNoAmount: boolean;1111  readonly type: 'NotNonfungibleDataUsedToMintFungibleCollectionToken' | 'NonfungibleItemsHaveNoAmount';1112}11131114/** @name PalletNonfungibleItemData */1115export interface PalletNonfungibleItemData extends Struct {1116  readonly constData: Bytes;1117  readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;1118}11191120/** @name PalletRefungibleError */1121export interface PalletRefungibleError extends Enum {1122  readonly isNotRefungibleDataUsedToMintFungibleCollectionToken: boolean;1123  readonly isWrongRefungiblePieces: boolean;1124  readonly isRefungibleDisallowsNesting: boolean;1125  readonly isSettingPropertiesNotAllowed: boolean;1126  readonly type: 'NotRefungibleDataUsedToMintFungibleCollectionToken' | 'WrongRefungiblePieces' | 'RefungibleDisallowsNesting' | 'SettingPropertiesNotAllowed';1127}11281129/** @name PalletRefungibleItemData */1130export interface PalletRefungibleItemData extends Struct {1131  readonly constData: Bytes;1132}11331134/** @name PalletRmrkCoreCall */1135export interface PalletRmrkCoreCall extends Enum {1136  readonly isCreateCollection: boolean;1137  readonly asCreateCollection: {1138    readonly metadata: Bytes;1139    readonly max: Option<u32>;1140    readonly symbol: Bytes;1141  } & Struct;1142  readonly isDestroyCollection: boolean;1143  readonly asDestroyCollection: {1144    readonly collectionId: u32;1145  } & Struct;1146  readonly isChangeCollectionIssuer: boolean;1147  readonly asChangeCollectionIssuer: {1148    readonly collectionId: u32;1149    readonly newIssuer: MultiAddress;1150  } & Struct;1151  readonly isLockCollection: boolean;1152  readonly asLockCollection: {1153    readonly collectionId: u32;1154  } & Struct;1155  readonly isMintNft: boolean;1156  readonly asMintNft: {1157    readonly owner: AccountId32;1158    readonly collectionId: u32;1159    readonly recipient: Option<AccountId32>;1160    readonly royaltyAmount: Option<Permill>;1161    readonly metadata: Bytes;1162  } & Struct;1163  readonly isBurnNft: boolean;1164  readonly asBurnNft: {1165    readonly collectionId: u32;1166    readonly nftId: u32;1167  } & Struct;1168  readonly isSetProperty: boolean;1169  readonly asSetProperty: {1170    readonly rmrkCollectionId: Compact<u32>;1171    readonly maybeNftId: Option<u32>;1172    readonly key: Bytes;1173    readonly value: Bytes;1174  } & Struct;1175  readonly type: 'CreateCollection' | 'DestroyCollection' | 'ChangeCollectionIssuer' | 'LockCollection' | 'MintNft' | 'BurnNft' | 'SetProperty';1176}11771178/** @name PalletRmrkCoreError */1179export interface PalletRmrkCoreError extends Enum {1180  readonly isCorruptedCollectionType: boolean;1181  readonly isNftTypeEncodeError: boolean;1182  readonly isRmrkPropertyKeyIsTooLong: boolean;1183  readonly isRmrkPropertyValueIsTooLong: boolean;1184  readonly isCollectionNotEmpty: boolean;1185  readonly isNoAvailableCollectionId: boolean;1186  readonly isNoAvailableNftId: boolean;1187  readonly isCollectionUnknown: boolean;1188  readonly isNoPermission: boolean;1189  readonly isCollectionFullOrLocked: boolean;1190  readonly type: 'CorruptedCollectionType' | 'NftTypeEncodeError' | 'RmrkPropertyKeyIsTooLong' | 'RmrkPropertyValueIsTooLong' | 'CollectionNotEmpty' | 'NoAvailableCollectionId' | 'NoAvailableNftId' | 'CollectionUnknown' | 'NoPermission' | 'CollectionFullOrLocked';1191}11921193/** @name PalletRmrkCoreEvent */1194export interface PalletRmrkCoreEvent extends Enum {1195  readonly isCollectionCreated: boolean;1196  readonly asCollectionCreated: {1197    readonly issuer: AccountId32;1198    readonly collectionId: u32;1199  } & Struct;1200  readonly isCollectionDestroyed: boolean;1201  readonly asCollectionDestroyed: {1202    readonly issuer: AccountId32;1203    readonly collectionId: u32;1204  } & Struct;1205  readonly isIssuerChanged: boolean;1206  readonly asIssuerChanged: {1207    readonly oldIssuer: AccountId32;1208    readonly newIssuer: AccountId32;1209    readonly collectionId: u32;1210  } & Struct;1211  readonly isCollectionLocked: boolean;1212  readonly asCollectionLocked: {1213    readonly issuer: AccountId32;1214    readonly collectionId: u32;1215  } & Struct;1216  readonly isNftMinted: boolean;1217  readonly asNftMinted: {1218    readonly owner: AccountId32;1219    readonly collectionId: u32;1220    readonly nftId: u32;1221  } & Struct;1222  readonly isNftBurned: boolean;1223  readonly asNftBurned: {1224    readonly owner: AccountId32;1225    readonly nftId: u32;1226  } & Struct;1227  readonly isPropertySet: boolean;1228  readonly asPropertySet: {1229    readonly collectionId: u32;1230    readonly maybeNftId: Option<u32>;1231    readonly key: Bytes;1232    readonly value: Bytes;1233  } & Struct;1234  readonly type: 'CollectionCreated' | 'CollectionDestroyed' | 'IssuerChanged' | 'CollectionLocked' | 'NftMinted' | 'NftBurned' | 'PropertySet';1235}12361237/** @name PalletRmrkEquipCall */1238export interface PalletRmrkEquipCall extends Enum {1239  readonly isCreateBase: boolean;1240  readonly asCreateBase: {1241    readonly baseType: Bytes;1242    readonly symbol: Bytes;1243    readonly parts: Vec<UpDataStructsRmrkPartType>;1244  } & Struct;1245  readonly isThemeAdd: boolean;1246  readonly asThemeAdd: {1247    readonly baseId: u32;1248    readonly theme: UpDataStructsRmrkTheme;1249  } & Struct;1250  readonly type: 'CreateBase' | 'ThemeAdd';1251}12521253/** @name PalletRmrkEquipError */1254export interface PalletRmrkEquipError extends Enum {1255  readonly isPermissionError: boolean;1256  readonly isNoAvailableBaseId: boolean;1257  readonly isNoAvailablePartId: boolean;1258  readonly isBaseDoesntExist: boolean;1259  readonly isNeedsDefaultThemeFirst: boolean;1260  readonly type: 'PermissionError' | 'NoAvailableBaseId' | 'NoAvailablePartId' | 'BaseDoesntExist' | 'NeedsDefaultThemeFirst';1261}12621263/** @name PalletRmrkEquipEvent */1264export interface PalletRmrkEquipEvent extends Enum {1265  readonly isBaseCreated: boolean;1266  readonly asBaseCreated: {1267    readonly issuer: AccountId32;1268    readonly baseId: u32;1269  } & Struct;1270  readonly type: 'BaseCreated';1271}12721273/** @name PalletStructureCall */1274export interface PalletStructureCall extends Null {}12751276/** @name PalletStructureError */1277export interface PalletStructureError extends Enum {1278  readonly isOuroborosDetected: boolean;1279  readonly isDepthLimit: boolean;1280  readonly isTokenNotFound: boolean;1281  readonly type: 'OuroborosDetected' | 'DepthLimit' | 'TokenNotFound';1282}12831284/** @name PalletStructureEvent */1285export interface PalletStructureEvent extends Enum {1286  readonly isExecuted: boolean;1287  readonly asExecuted: Result<Null, SpRuntimeDispatchError>;1288  readonly type: 'Executed';1289}12901291/** @name PalletSudoCall */1292export interface PalletSudoCall extends Enum {1293  readonly isSudo: boolean;1294  readonly asSudo: {1295    readonly call: Call;1296  } & Struct;1297  readonly isSudoUncheckedWeight: boolean;1298  readonly asSudoUncheckedWeight: {1299    readonly call: Call;1300    readonly weight: u64;1301  } & Struct;1302  readonly isSetKey: boolean;1303  readonly asSetKey: {1304    readonly new_: MultiAddress;1305  } & Struct;1306  readonly isSudoAs: boolean;1307  readonly asSudoAs: {1308    readonly who: MultiAddress;1309    readonly call: Call;1310  } & Struct;1311  readonly type: 'Sudo' | 'SudoUncheckedWeight' | 'SetKey' | 'SudoAs';1312}13131314/** @name PalletSudoError */1315export interface PalletSudoError extends Enum {1316  readonly isRequireSudo: boolean;1317  readonly type: 'RequireSudo';1318}13191320/** @name PalletSudoEvent */1321export interface PalletSudoEvent extends Enum {1322  readonly isSudid: boolean;1323  readonly asSudid: {1324    readonly sudoResult: Result<Null, SpRuntimeDispatchError>;1325  } & Struct;1326  readonly isKeyChanged: boolean;1327  readonly asKeyChanged: {1328    readonly oldSudoer: Option<AccountId32>;1329  } & Struct;1330  readonly isSudoAsDone: boolean;1331  readonly asSudoAsDone: {1332    readonly sudoResult: Result<Null, SpRuntimeDispatchError>;1333  } & Struct;1334  readonly type: 'Sudid' | 'KeyChanged' | 'SudoAsDone';1335}13361337/** @name PalletTemplateTransactionPaymentCall */1338export interface PalletTemplateTransactionPaymentCall extends Null {}13391340/** @name PalletTemplateTransactionPaymentChargeTransactionPayment */1341export interface PalletTemplateTransactionPaymentChargeTransactionPayment extends Compact<u128> {}13421343/** @name PalletTimestampCall */1344export interface PalletTimestampCall extends Enum {1345  readonly isSet: boolean;1346  readonly asSet: {1347    readonly now: Compact<u64>;1348  } & Struct;1349  readonly type: 'Set';1350}13511352/** @name PalletTransactionPaymentReleases */1353export interface PalletTransactionPaymentReleases extends Enum {1354  readonly isV1Ancient: boolean;1355  readonly isV2: boolean;1356  readonly type: 'V1Ancient' | 'V2';1357}13581359/** @name PalletTreasuryCall */1360export interface PalletTreasuryCall extends Enum {1361  readonly isProposeSpend: boolean;1362  readonly asProposeSpend: {1363    readonly value: Compact<u128>;1364    readonly beneficiary: MultiAddress;1365  } & Struct;1366  readonly isRejectProposal: boolean;1367  readonly asRejectProposal: {1368    readonly proposalId: Compact<u32>;1369  } & Struct;1370  readonly isApproveProposal: boolean;1371  readonly asApproveProposal: {1372    readonly proposalId: Compact<u32>;1373  } & Struct;1374  readonly type: 'ProposeSpend' | 'RejectProposal' | 'ApproveProposal';1375}13761377/** @name PalletTreasuryError */1378export interface PalletTreasuryError extends Enum {1379  readonly isInsufficientProposersBalance: boolean;1380  readonly isInvalidIndex: boolean;1381  readonly isTooManyApprovals: boolean;1382  readonly type: 'InsufficientProposersBalance' | 'InvalidIndex' | 'TooManyApprovals';1383}13841385/** @name PalletTreasuryEvent */1386export interface PalletTreasuryEvent extends Enum {1387  readonly isProposed: boolean;1388  readonly asProposed: {1389    readonly proposalIndex: u32;1390  } & Struct;1391  readonly isSpending: boolean;1392  readonly asSpending: {1393    readonly budgetRemaining: u128;1394  } & Struct;1395  readonly isAwarded: boolean;1396  readonly asAwarded: {1397    readonly proposalIndex: u32;1398    readonly award: u128;1399    readonly account: AccountId32;1400  } & Struct;1401  readonly isRejected: boolean;1402  readonly asRejected: {1403    readonly proposalIndex: u32;1404    readonly slashed: u128;1405  } & Struct;1406  readonly isBurnt: boolean;1407  readonly asBurnt: {1408    readonly burntFunds: u128;1409  } & Struct;1410  readonly isRollover: boolean;1411  readonly asRollover: {1412    readonly rolloverBalance: u128;1413  } & Struct;1414  readonly isDeposit: boolean;1415  readonly asDeposit: {1416    readonly value: u128;1417  } & Struct;1418  readonly type: 'Proposed' | 'Spending' | 'Awarded' | 'Rejected' | 'Burnt' | 'Rollover' | 'Deposit';1419}14201421/** @name PalletTreasuryProposal */1422export interface PalletTreasuryProposal extends Struct {1423  readonly proposer: AccountId32;1424  readonly value: u128;1425  readonly beneficiary: AccountId32;1426  readonly bond: u128;1427}14281429/** @name PalletUniqueCall */1430export interface PalletUniqueCall extends Enum {1431  readonly isCreateCollection: boolean;1432  readonly asCreateCollection: {1433    readonly collectionName: Vec<u16>;1434    readonly collectionDescription: Vec<u16>;1435    readonly tokenPrefix: Bytes;1436    readonly mode: UpDataStructsCollectionMode;1437  } & Struct;1438  readonly isCreateCollectionEx: boolean;1439  readonly asCreateCollectionEx: {1440    readonly data: UpDataStructsCreateCollectionData;1441  } & Struct;1442  readonly isDestroyCollection: boolean;1443  readonly asDestroyCollection: {1444    readonly collectionId: u32;1445  } & Struct;1446  readonly isAddToAllowList: boolean;1447  readonly asAddToAllowList: {1448    readonly collectionId: u32;1449    readonly address: PalletEvmAccountBasicCrossAccountIdRepr;1450  } & Struct;1451  readonly isRemoveFromAllowList: boolean;1452  readonly asRemoveFromAllowList: {1453    readonly collectionId: u32;1454    readonly address: PalletEvmAccountBasicCrossAccountIdRepr;1455  } & Struct;1456  readonly isSetPublicAccessMode: boolean;1457  readonly asSetPublicAccessMode: {1458    readonly collectionId: u32;1459    readonly mode: UpDataStructsAccessMode;1460  } & Struct;1461  readonly isSetMintPermission: boolean;1462  readonly asSetMintPermission: {1463    readonly collectionId: u32;1464    readonly mintPermission: bool;1465  } & Struct;1466  readonly isChangeCollectionOwner: boolean;1467  readonly asChangeCollectionOwner: {1468    readonly collectionId: u32;1469    readonly newOwner: AccountId32;1470  } & Struct;1471  readonly isAddCollectionAdmin: boolean;1472  readonly asAddCollectionAdmin: {1473    readonly collectionId: u32;1474    readonly newAdminId: PalletEvmAccountBasicCrossAccountIdRepr;1475  } & Struct;1476  readonly isRemoveCollectionAdmin: boolean;1477  readonly asRemoveCollectionAdmin: {1478    readonly collectionId: u32;1479    readonly accountId: PalletEvmAccountBasicCrossAccountIdRepr;1480  } & Struct;1481  readonly isSetCollectionSponsor: boolean;1482  readonly asSetCollectionSponsor: {1483    readonly collectionId: u32;1484    readonly newSponsor: AccountId32;1485  } & Struct;1486  readonly isConfirmSponsorship: boolean;1487  readonly asConfirmSponsorship: {1488    readonly collectionId: u32;1489  } & Struct;1490  readonly isRemoveCollectionSponsor: boolean;1491  readonly asRemoveCollectionSponsor: {1492    readonly collectionId: u32;1493  } & Struct;1494  readonly isCreateItem: boolean;1495  readonly asCreateItem: {1496    readonly collectionId: u32;1497    readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;1498    readonly data: UpDataStructsCreateItemData;1499  } & Struct;1500  readonly isCreateMultipleItems: boolean;1501  readonly asCreateMultipleItems: {1502    readonly collectionId: u32;1503    readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;1504    readonly itemsData: Vec<UpDataStructsCreateItemData>;1505  } & Struct;1506  readonly isSetCollectionProperties: boolean;1507  readonly asSetCollectionProperties: {1508    readonly collectionId: u32;1509    readonly properties: Vec<UpDataStructsProperty>;1510  } & Struct;1511  readonly isDeleteCollectionProperties: boolean;1512  readonly asDeleteCollectionProperties: {1513    readonly collectionId: u32;1514    readonly propertyKeys: Vec<Bytes>;1515  } & Struct;1516  readonly isSetTokenProperties: boolean;1517  readonly asSetTokenProperties: {1518    readonly collectionId: u32;1519    readonly tokenId: u32;1520    readonly properties: Vec<UpDataStructsProperty>;1521  } & Struct;1522  readonly isDeleteTokenProperties: boolean;1523  readonly asDeleteTokenProperties: {1524    readonly collectionId: u32;1525    readonly tokenId: u32;1526    readonly propertyKeys: Vec<Bytes>;1527  } & Struct;1528  readonly isSetPropertyPermissions: boolean;1529  readonly asSetPropertyPermissions: {1530    readonly collectionId: u32;1531    readonly propertyPermissions: Vec<UpDataStructsPropertyKeyPermission>;1532  } & Struct;1533  readonly isCreateMultipleItemsEx: boolean;1534  readonly asCreateMultipleItemsEx: {1535    readonly collectionId: u32;1536    readonly data: UpDataStructsCreateItemExData;1537  } & Struct;1538  readonly isSetTransfersEnabledFlag: boolean;1539  readonly asSetTransfersEnabledFlag: {1540    readonly collectionId: u32;1541    readonly value: bool;1542  } & Struct;1543  readonly isBurnItem: boolean;1544  readonly asBurnItem: {1545    readonly collectionId: u32;1546    readonly itemId: u32;1547    readonly value: u128;1548  } & Struct;1549  readonly isBurnFrom: boolean;1550  readonly asBurnFrom: {1551    readonly collectionId: u32;1552    readonly from: PalletEvmAccountBasicCrossAccountIdRepr;1553    readonly itemId: u32;1554    readonly value: u128;1555  } & Struct;1556  readonly isTransfer: boolean;1557  readonly asTransfer: {1558    readonly recipient: PalletEvmAccountBasicCrossAccountIdRepr;1559    readonly collectionId: u32;1560    readonly itemId: u32;1561    readonly value: u128;1562  } & Struct;1563  readonly isApprove: boolean;1564  readonly asApprove: {1565    readonly spender: PalletEvmAccountBasicCrossAccountIdRepr;1566    readonly collectionId: u32;1567    readonly itemId: u32;1568    readonly amount: u128;1569  } & Struct;1570  readonly isTransferFrom: boolean;1571  readonly asTransferFrom: {1572    readonly from: PalletEvmAccountBasicCrossAccountIdRepr;1573    readonly recipient: PalletEvmAccountBasicCrossAccountIdRepr;1574    readonly collectionId: u32;1575    readonly itemId: u32;1576    readonly value: u128;1577  } & Struct;1578  readonly isSetSchemaVersion: boolean;1579  readonly asSetSchemaVersion: {1580    readonly collectionId: u32;1581    readonly version: UpDataStructsSchemaVersion;1582  } & Struct;1583  readonly isSetOffchainSchema: boolean;1584  readonly asSetOffchainSchema: {1585    readonly collectionId: u32;1586    readonly schema: Bytes;1587  } & Struct;1588  readonly isSetConstOnChainSchema: boolean;1589  readonly asSetConstOnChainSchema: {1590    readonly collectionId: u32;1591    readonly schema: Bytes;1592  } & Struct;1593  readonly isSetCollectionLimits: boolean;1594  readonly asSetCollectionLimits: {1595    readonly collectionId: u32;1596    readonly newLimit: UpDataStructsCollectionLimits;1597  } & Struct;1598  readonly type: 'CreateCollection' | 'CreateCollectionEx' | 'DestroyCollection' | 'AddToAllowList' | 'RemoveFromAllowList' | 'SetPublicAccessMode' | 'SetMintPermission' | 'ChangeCollectionOwner' | 'AddCollectionAdmin' | 'RemoveCollectionAdmin' | 'SetCollectionSponsor' | 'ConfirmSponsorship' | 'RemoveCollectionSponsor' | 'CreateItem' | 'CreateMultipleItems' | 'SetCollectionProperties' | 'DeleteCollectionProperties' | 'SetTokenProperties' | 'DeleteTokenProperties' | 'SetPropertyPermissions' | 'CreateMultipleItemsEx' | 'SetTransfersEnabledFlag' | 'BurnItem' | 'BurnFrom' | 'Transfer' | 'Approve' | 'TransferFrom' | 'SetSchemaVersion' | 'SetOffchainSchema' | 'SetConstOnChainSchema' | 'SetCollectionLimits';1599}16001601/** @name PalletUniqueError */1602export interface PalletUniqueError extends Enum {1603  readonly isCollectionDecimalPointLimitExceeded: boolean;1604  readonly isConfirmUnsetSponsorFail: boolean;1605  readonly isEmptyArgument: boolean;1606  readonly type: 'CollectionDecimalPointLimitExceeded' | 'ConfirmUnsetSponsorFail' | 'EmptyArgument';1607}16081609/** @name PalletUniqueRawEvent */1610export interface PalletUniqueRawEvent extends Enum {1611  readonly isCollectionSponsorRemoved: boolean;1612  readonly asCollectionSponsorRemoved: u32;1613  readonly isCollectionAdminAdded: boolean;1614  readonly asCollectionAdminAdded: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;1615  readonly isCollectionOwnedChanged: boolean;1616  readonly asCollectionOwnedChanged: ITuple<[u32, AccountId32]>;1617  readonly isCollectionSponsorSet: boolean;1618  readonly asCollectionSponsorSet: ITuple<[u32, AccountId32]>;1619  readonly isConstOnChainSchemaSet: boolean;1620  readonly asConstOnChainSchemaSet: u32;1621  readonly isSponsorshipConfirmed: boolean;1622  readonly asSponsorshipConfirmed: ITuple<[u32, AccountId32]>;1623  readonly isCollectionAdminRemoved: boolean;1624  readonly asCollectionAdminRemoved: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;1625  readonly isAllowListAddressRemoved: boolean;1626  readonly asAllowListAddressRemoved: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;1627  readonly isAllowListAddressAdded: boolean;1628  readonly asAllowListAddressAdded: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;1629  readonly isCollectionLimitSet: boolean;1630  readonly asCollectionLimitSet: u32;1631  readonly isMintPermissionSet: boolean;1632  readonly asMintPermissionSet: u32;1633  readonly isOffchainSchemaSet: boolean;1634  readonly asOffchainSchemaSet: u32;1635  readonly isPublicAccessModeSet: boolean;1636  readonly asPublicAccessModeSet: ITuple<[u32, UpDataStructsAccessMode]>;1637  readonly isSchemaVersionSet: boolean;1638  readonly asSchemaVersionSet: u32;1639  readonly type: 'CollectionSponsorRemoved' | 'CollectionAdminAdded' | 'CollectionOwnedChanged' | 'CollectionSponsorSet' | 'ConstOnChainSchemaSet' | 'SponsorshipConfirmed' | 'CollectionAdminRemoved' | 'AllowListAddressRemoved' | 'AllowListAddressAdded' | 'CollectionLimitSet' | 'MintPermissionSet' | 'OffchainSchemaSet' | 'PublicAccessModeSet' | 'SchemaVersionSet';1640}16411642/** @name PalletXcmCall */1643export interface PalletXcmCall extends Enum {1644  readonly isSend: boolean;1645  readonly asSend: {1646    readonly dest: XcmVersionedMultiLocation;1647    readonly message: XcmVersionedXcm;1648  } & Struct;1649  readonly isTeleportAssets: boolean;1650  readonly asTeleportAssets: {1651    readonly dest: XcmVersionedMultiLocation;1652    readonly beneficiary: XcmVersionedMultiLocation;1653    readonly assets: XcmVersionedMultiAssets;1654    readonly feeAssetItem: u32;1655  } & Struct;1656  readonly isReserveTransferAssets: boolean;1657  readonly asReserveTransferAssets: {1658    readonly dest: XcmVersionedMultiLocation;1659    readonly beneficiary: XcmVersionedMultiLocation;1660    readonly assets: XcmVersionedMultiAssets;1661    readonly feeAssetItem: u32;1662  } & Struct;1663  readonly isExecute: boolean;1664  readonly asExecute: {1665    readonly message: XcmVersionedXcm;1666    readonly maxWeight: u64;1667  } & Struct;1668  readonly isForceXcmVersion: boolean;1669  readonly asForceXcmVersion: {1670    readonly location: XcmV1MultiLocation;1671    readonly xcmVersion: u32;1672  } & Struct;1673  readonly isForceDefaultXcmVersion: boolean;1674  readonly asForceDefaultXcmVersion: {1675    readonly maybeXcmVersion: Option<u32>;1676  } & Struct;1677  readonly isForceSubscribeVersionNotify: boolean;1678  readonly asForceSubscribeVersionNotify: {1679    readonly location: XcmVersionedMultiLocation;1680  } & Struct;1681  readonly isForceUnsubscribeVersionNotify: boolean;1682  readonly asForceUnsubscribeVersionNotify: {1683    readonly location: XcmVersionedMultiLocation;1684  } & Struct;1685  readonly isLimitedReserveTransferAssets: boolean;1686  readonly asLimitedReserveTransferAssets: {1687    readonly dest: XcmVersionedMultiLocation;1688    readonly beneficiary: XcmVersionedMultiLocation;1689    readonly assets: XcmVersionedMultiAssets;1690    readonly feeAssetItem: u32;1691    readonly weightLimit: XcmV2WeightLimit;1692  } & Struct;1693  readonly isLimitedTeleportAssets: boolean;1694  readonly asLimitedTeleportAssets: {1695    readonly dest: XcmVersionedMultiLocation;1696    readonly beneficiary: XcmVersionedMultiLocation;1697    readonly assets: XcmVersionedMultiAssets;1698    readonly feeAssetItem: u32;1699    readonly weightLimit: XcmV2WeightLimit;1700  } & Struct;1701  readonly type: 'Send' | 'TeleportAssets' | 'ReserveTransferAssets' | 'Execute' | 'ForceXcmVersion' | 'ForceDefaultXcmVersion' | 'ForceSubscribeVersionNotify' | 'ForceUnsubscribeVersionNotify' | 'LimitedReserveTransferAssets' | 'LimitedTeleportAssets';1702}17031704/** @name PalletXcmError */1705export interface PalletXcmError extends Enum {1706  readonly isUnreachable: boolean;1707  readonly isSendFailure: boolean;1708  readonly isFiltered: boolean;1709  readonly isUnweighableMessage: boolean;1710  readonly isDestinationNotInvertible: boolean;1711  readonly isEmpty: boolean;1712  readonly isCannotReanchor: boolean;1713  readonly isTooManyAssets: boolean;1714  readonly isInvalidOrigin: boolean;1715  readonly isBadVersion: boolean;1716  readonly isBadLocation: boolean;1717  readonly isNoSubscription: boolean;1718  readonly isAlreadySubscribed: boolean;1719  readonly type: 'Unreachable' | 'SendFailure' | 'Filtered' | 'UnweighableMessage' | 'DestinationNotInvertible' | 'Empty' | 'CannotReanchor' | 'TooManyAssets' | 'InvalidOrigin' | 'BadVersion' | 'BadLocation' | 'NoSubscription' | 'AlreadySubscribed';1720}17211722/** @name PalletXcmEvent */1723export interface PalletXcmEvent extends Enum {1724  readonly isAttempted: boolean;1725  readonly asAttempted: XcmV2TraitsOutcome;1726  readonly isSent: boolean;1727  readonly asSent: ITuple<[XcmV1MultiLocation, XcmV1MultiLocation, XcmV2Xcm]>;1728  readonly isUnexpectedResponse: boolean;1729  readonly asUnexpectedResponse: ITuple<[XcmV1MultiLocation, u64]>;1730  readonly isResponseReady: boolean;1731  readonly asResponseReady: ITuple<[u64, XcmV2Response]>;1732  readonly isNotified: boolean;1733  readonly asNotified: ITuple<[u64, u8, u8]>;1734  readonly isNotifyOverweight: boolean;1735  readonly asNotifyOverweight: ITuple<[u64, u8, u8, u64, u64]>;1736  readonly isNotifyDispatchError: boolean;1737  readonly asNotifyDispatchError: ITuple<[u64, u8, u8]>;1738  readonly isNotifyDecodeFailed: boolean;1739  readonly asNotifyDecodeFailed: ITuple<[u64, u8, u8]>;1740  readonly isInvalidResponder: boolean;1741  readonly asInvalidResponder: ITuple<[XcmV1MultiLocation, u64, Option<XcmV1MultiLocation>]>;1742  readonly isInvalidResponderVersion: boolean;1743  readonly asInvalidResponderVersion: ITuple<[XcmV1MultiLocation, u64]>;1744  readonly isResponseTaken: boolean;1745  readonly asResponseTaken: u64;1746  readonly isAssetsTrapped: boolean;1747  readonly asAssetsTrapped: ITuple<[H256, XcmV1MultiLocation, XcmVersionedMultiAssets]>;1748  readonly isVersionChangeNotified: boolean;1749  readonly asVersionChangeNotified: ITuple<[XcmV1MultiLocation, u32]>;1750  readonly isSupportedVersionChanged: boolean;1751  readonly asSupportedVersionChanged: ITuple<[XcmV1MultiLocation, u32]>;1752  readonly isNotifyTargetSendFail: boolean;1753  readonly asNotifyTargetSendFail: ITuple<[XcmV1MultiLocation, u64, XcmV2TraitsError]>;1754  readonly isNotifyTargetMigrationFail: boolean;1755  readonly asNotifyTargetMigrationFail: ITuple<[XcmVersionedMultiLocation, u64]>;1756  readonly type: 'Attempted' | 'Sent' | 'UnexpectedResponse' | 'ResponseReady' | 'Notified' | 'NotifyOverweight' | 'NotifyDispatchError' | 'NotifyDecodeFailed' | 'InvalidResponder' | 'InvalidResponderVersion' | 'ResponseTaken' | 'AssetsTrapped' | 'VersionChangeNotified' | 'SupportedVersionChanged' | 'NotifyTargetSendFail' | 'NotifyTargetMigrationFail';1757}17581759/** @name PhantomTypeUpDataStructsBaseInfo */1760export interface PhantomTypeUpDataStructsBaseInfo extends Vec<Lookup375> {}17611762/** @name PhantomTypeUpDataStructsCollectionInfo */1763export interface PhantomTypeUpDataStructsCollectionInfo extends Vec<Lookup353> {}17641765/** @name PhantomTypeUpDataStructsNftChild */1766export interface PhantomTypeUpDataStructsNftChild extends Vec<Lookup382> {}17671768/** @name PhantomTypeUpDataStructsNftInfo */1769export interface PhantomTypeUpDataStructsNftInfo extends Vec<Lookup356> {}17701771/** @name PhantomTypeUpDataStructsPartType */1772export interface PhantomTypeUpDataStructsPartType extends Vec<Lookup215> {}17731774/** @name PhantomTypeUpDataStructsPropertyInfo */1775export interface PhantomTypeUpDataStructsPropertyInfo extends Vec<Lookup372> {}17761777/** @name PhantomTypeUpDataStructsResourceInfo */1778export interface PhantomTypeUpDataStructsResourceInfo extends Vec<Lookup362> {}17791780/** @name PhantomTypeUpDataStructsRpcCollection */1781export interface PhantomTypeUpDataStructsRpcCollection extends Vec<Lookup350> {}17821783/** @name PhantomTypeUpDataStructsTheme */1784export interface PhantomTypeUpDataStructsTheme extends Vec<Lookup221> {}17851786/** @name PhantomTypeUpDataStructsTokenData */1787export interface PhantomTypeUpDataStructsTokenData extends Vec<Lookup346> {}17881789/** @name PolkadotCorePrimitivesInboundDownwardMessage */1790export interface PolkadotCorePrimitivesInboundDownwardMessage extends Struct {1791  readonly sentAt: u32;1792  readonly msg: Bytes;1793}17941795/** @name PolkadotCorePrimitivesInboundHrmpMessage */1796export interface PolkadotCorePrimitivesInboundHrmpMessage extends Struct {1797  readonly sentAt: u32;1798  readonly data: Bytes;1799}18001801/** @name PolkadotCorePrimitivesOutboundHrmpMessage */1802export interface PolkadotCorePrimitivesOutboundHrmpMessage extends Struct {1803  readonly recipient: u32;1804  readonly data: Bytes;1805}18061807/** @name PolkadotParachainPrimitivesXcmpMessageFormat */1808export interface PolkadotParachainPrimitivesXcmpMessageFormat extends Enum {1809  readonly isConcatenatedVersionedXcm: boolean;1810  readonly isConcatenatedEncodedBlob: boolean;1811  readonly isSignals: boolean;1812  readonly type: 'ConcatenatedVersionedXcm' | 'ConcatenatedEncodedBlob' | 'Signals';1813}18141815/** @name PolkadotPrimitivesV2AbridgedHostConfiguration */1816export interface PolkadotPrimitivesV2AbridgedHostConfiguration extends Struct {1817  readonly maxCodeSize: u32;1818  readonly maxHeadDataSize: u32;1819  readonly maxUpwardQueueCount: u32;1820  readonly maxUpwardQueueSize: u32;1821  readonly maxUpwardMessageSize: u32;1822  readonly maxUpwardMessageNumPerCandidate: u32;1823  readonly hrmpMaxMessageNumPerCandidate: u32;1824  readonly validationUpgradeCooldown: u32;1825  readonly validationUpgradeDelay: u32;1826}18271828/** @name PolkadotPrimitivesV2AbridgedHrmpChannel */1829export interface PolkadotPrimitivesV2AbridgedHrmpChannel extends Struct {1830  readonly maxCapacity: u32;1831  readonly maxTotalSize: u32;1832  readonly maxMessageSize: u32;1833  readonly msgCount: u32;1834  readonly totalSize: u32;1835  readonly mqcHead: Option<H256>;1836}18371838/** @name PolkadotPrimitivesV2PersistedValidationData */1839export interface PolkadotPrimitivesV2PersistedValidationData extends Struct {1840  readonly parentHead: Bytes;1841  readonly relayParentNumber: u32;1842  readonly relayParentStorageRoot: H256;1843  readonly maxPovSize: u32;1844}18451846/** @name PolkadotPrimitivesV2UpgradeRestriction */1847export interface PolkadotPrimitivesV2UpgradeRestriction extends Enum {1848  readonly isPresent: boolean;1849  readonly type: 'Present';1850}18511852/** @name SpCoreEcdsaSignature */1853export interface SpCoreEcdsaSignature extends U8aFixed {}18541855/** @name SpCoreEd25519Signature */1856export interface SpCoreEd25519Signature extends U8aFixed {}18571858/** @name SpCoreSr25519Signature */1859export interface SpCoreSr25519Signature extends U8aFixed {}18601861/** @name SpRuntimeArithmeticError */1862export interface SpRuntimeArithmeticError extends Enum {1863  readonly isUnderflow: boolean;1864  readonly isOverflow: boolean;1865  readonly isDivisionByZero: boolean;1866  readonly type: 'Underflow' | 'Overflow' | 'DivisionByZero';1867}18681869/** @name SpRuntimeDigest */1870export interface SpRuntimeDigest extends Struct {1871  readonly logs: Vec<SpRuntimeDigestDigestItem>;1872}18731874/** @name SpRuntimeDigestDigestItem */1875export interface SpRuntimeDigestDigestItem extends Enum {1876  readonly isOther: boolean;1877  readonly asOther: Bytes;1878  readonly isConsensus: boolean;1879  readonly asConsensus: ITuple<[U8aFixed, Bytes]>;1880  readonly isSeal: boolean;1881  readonly asSeal: ITuple<[U8aFixed, Bytes]>;1882  readonly isPreRuntime: boolean;1883  readonly asPreRuntime: ITuple<[U8aFixed, Bytes]>;1884  readonly isRuntimeEnvironmentUpdated: boolean;1885  readonly type: 'Other' | 'Consensus' | 'Seal' | 'PreRuntime' | 'RuntimeEnvironmentUpdated';1886}18871888/** @name SpRuntimeDispatchError */1889export interface SpRuntimeDispatchError extends Enum {1890  readonly isOther: boolean;1891  readonly isCannotLookup: boolean;1892  readonly isBadOrigin: boolean;1893  readonly isModule: boolean;1894  readonly asModule: SpRuntimeModuleError;1895  readonly isConsumerRemaining: boolean;1896  readonly isNoProviders: boolean;1897  readonly isTooManyConsumers: boolean;1898  readonly isToken: boolean;1899  readonly asToken: SpRuntimeTokenError;1900  readonly isArithmetic: boolean;1901  readonly asArithmetic: SpRuntimeArithmeticError;1902  readonly isTransactional: boolean;1903  readonly asTransactional: SpRuntimeTransactionalError;1904  readonly type: 'Other' | 'CannotLookup' | 'BadOrigin' | 'Module' | 'ConsumerRemaining' | 'NoProviders' | 'TooManyConsumers' | 'Token' | 'Arithmetic' | 'Transactional';1905}19061907/** @name SpRuntimeModuleError */1908export interface SpRuntimeModuleError extends Struct {1909  readonly index: u8;1910  readonly error: U8aFixed;1911}19121913/** @name SpRuntimeMultiSignature */1914export interface SpRuntimeMultiSignature extends Enum {1915  readonly isEd25519: boolean;1916  readonly asEd25519: SpCoreEd25519Signature;1917  readonly isSr25519: boolean;1918  readonly asSr25519: SpCoreSr25519Signature;1919  readonly isEcdsa: boolean;1920  readonly asEcdsa: SpCoreEcdsaSignature;1921  readonly type: 'Ed25519' | 'Sr25519' | 'Ecdsa';1922}19231924/** @name SpRuntimeTokenError */1925export interface SpRuntimeTokenError extends Enum {1926  readonly isNoFunds: boolean;1927  readonly isWouldDie: boolean;1928  readonly isBelowMinimum: boolean;1929  readonly isCannotCreate: boolean;1930  readonly isUnknownAsset: boolean;1931  readonly isFrozen: boolean;1932  readonly isUnsupported: boolean;1933  readonly type: 'NoFunds' | 'WouldDie' | 'BelowMinimum' | 'CannotCreate' | 'UnknownAsset' | 'Frozen' | 'Unsupported';1934}19351936/** @name SpRuntimeTransactionalError */1937export interface SpRuntimeTransactionalError extends Enum {1938  readonly isLimitReached: boolean;1939  readonly isNoLayer: boolean;1940  readonly type: 'LimitReached' | 'NoLayer';1941}19421943/** @name SpTrieStorageProof */1944export interface SpTrieStorageProof extends Struct {1945  readonly trieNodes: BTreeSet<Bytes>;1946}19471948/** @name SpVersionRuntimeVersion */1949export interface SpVersionRuntimeVersion extends Struct {1950  readonly specName: Text;1951  readonly implName: Text;1952  readonly authoringVersion: u32;1953  readonly specVersion: u32;1954  readonly implVersion: u32;1955  readonly apis: Vec<ITuple<[U8aFixed, u32]>>;1956  readonly transactionVersion: u32;1957  readonly stateVersion: u8;1958}19591960/** @name UpDataStructsAccessMode */1961export interface UpDataStructsAccessMode extends Enum {1962  readonly isNormal: boolean;1963  readonly isAllowList: boolean;1964  readonly type: 'Normal' | 'AllowList';1965}19661967/** @name UpDataStructsCollection */1968export interface UpDataStructsCollection extends Struct {1969  readonly owner: AccountId32;1970  readonly mode: UpDataStructsCollectionMode;1971  readonly access: UpDataStructsAccessMode;1972  readonly name: Vec<u16>;1973  readonly description: Vec<u16>;1974  readonly tokenPrefix: Bytes;1975  readonly mintMode: bool;1976  readonly schemaVersion: UpDataStructsSchemaVersion;1977  readonly sponsorship: UpDataStructsSponsorshipState;1978  readonly limits: UpDataStructsCollectionLimits;1979}19801981/** @name UpDataStructsCollectionField */1982export interface UpDataStructsCollectionField extends Enum {1983  readonly isConstOnChainSchema: boolean;1984  readonly isOffchainSchema: boolean;1985  readonly type: 'ConstOnChainSchema' | 'OffchainSchema';1986}19871988/** @name UpDataStructsCollectionLimits */1989export interface UpDataStructsCollectionLimits extends Struct {1990  readonly accountTokenOwnershipLimit: Option<u32>;1991  readonly sponsoredDataSize: Option<u32>;1992  readonly sponsoredDataRateLimit: Option<UpDataStructsSponsoringRateLimit>;1993  readonly tokenLimit: Option<u32>;1994  readonly sponsorTransferTimeout: Option<u32>;1995  readonly sponsorApproveTimeout: Option<u32>;1996  readonly ownerCanTransfer: Option<bool>;1997  readonly ownerCanDestroy: Option<bool>;1998  readonly transfersEnabled: Option<bool>;1999  readonly nestingRule: Option<UpDataStructsNestingRule>;2000}20012002/** @name UpDataStructsCollectionMode */2003export interface UpDataStructsCollectionMode extends Enum {2004  readonly isNft: boolean;2005  readonly isFungible: boolean;2006  readonly asFungible: u8;2007  readonly isReFungible: boolean;2008  readonly type: 'Nft' | 'Fungible' | 'ReFungible';2009}20102011/** @name UpDataStructsCollectionStats */2012export interface UpDataStructsCollectionStats extends Struct {2013  readonly created: u32;2014  readonly destroyed: u32;2015  readonly alive: u32;2016}20172018/** @name UpDataStructsCreateCollectionData */2019export interface UpDataStructsCreateCollectionData extends Struct {2020  readonly mode: UpDataStructsCollectionMode;2021  readonly access: Option<UpDataStructsAccessMode>;2022  readonly name: Vec<u16>;2023  readonly description: Vec<u16>;2024  readonly tokenPrefix: Bytes;2025  readonly offchainSchema: Bytes;2026  readonly schemaVersion: Option<UpDataStructsSchemaVersion>;2027  readonly pendingSponsor: Option<AccountId32>;2028  readonly limits: Option<UpDataStructsCollectionLimits>;2029  readonly constOnChainSchema: Bytes;2030  readonly tokenPropertyPermissions: Vec<UpDataStructsPropertyKeyPermission>;2031  readonly properties: Vec<UpDataStructsProperty>;2032}20332034/** @name UpDataStructsCreateFungibleData */2035export interface UpDataStructsCreateFungibleData extends Struct {2036  readonly value: u128;2037}20382039/** @name UpDataStructsCreateItemData */2040export interface UpDataStructsCreateItemData extends Enum {2041  readonly isNft: boolean;2042  readonly asNft: UpDataStructsCreateNftData;2043  readonly isFungible: boolean;2044  readonly asFungible: UpDataStructsCreateFungibleData;2045  readonly isReFungible: boolean;2046  readonly asReFungible: UpDataStructsCreateReFungibleData;2047  readonly type: 'Nft' | 'Fungible' | 'ReFungible';2048}20492050/** @name UpDataStructsCreateItemExData */2051export interface UpDataStructsCreateItemExData extends Enum {2052  readonly isNft: boolean;2053  readonly asNft: Vec<UpDataStructsCreateNftExData>;2054  readonly isFungible: boolean;2055  readonly asFungible: BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr,u128>;2056  readonly isRefungibleMultipleItems: boolean;2057  readonly asRefungibleMultipleItems: Vec<UpDataStructsCreateRefungibleExData>;2058  readonly isRefungibleMultipleOwners: boolean;2059  readonly asRefungibleMultipleOwners: UpDataStructsCreateRefungibleExData;2060  readonly type: 'Nft' | 'Fungible' | 'RefungibleMultipleItems' | 'RefungibleMultipleOwners';2061}20622063/** @name UpDataStructsCreateNftData */2064export interface UpDataStructsCreateNftData extends Struct {2065  readonly constData: Bytes;2066  readonly properties: Vec<UpDataStructsProperty>;2067}20682069/** @name UpDataStructsCreateNftExData */2070export interface UpDataStructsCreateNftExData extends Struct {2071  readonly constData: Bytes;2072  readonly properties: Vec<UpDataStructsProperty>;2073  readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;2074}20752076/** @name UpDataStructsCreateReFungibleData */2077export interface UpDataStructsCreateReFungibleData extends Struct {2078  readonly constData: Bytes;2079  readonly pieces: u128;2080}20812082/** @name UpDataStructsCreateRefungibleExData */2083export interface UpDataStructsCreateRefungibleExData extends Struct {2084  readonly constData: Bytes;2085  readonly users: BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>;2086}20872088/** @name UpDataStructsNestingRule */2089export interface UpDataStructsNestingRule extends Enum {2090  readonly isDisabled: boolean;2091  readonly isOwner: boolean;2092  readonly isOwnerRestricted: boolean;2093  readonly asOwnerRestricted: BTreeSet<u32>;2094  readonly type: 'Disabled' | 'Owner' | 'OwnerRestricted';2095}20962097/** @name UpDataStructsProperties */2098export interface UpDataStructsProperties extends Struct {2099  readonly map: UpDataStructsPropertiesMapBoundedVec;2100  readonly consumedSpace: u32;2101  readonly spaceLimit: u32;2102}21032104/** @name UpDataStructsPropertiesMapBoundedVec */2105export interface UpDataStructsPropertiesMapBoundedVec extends BTreeMap<Bytes, Bytes> {}21062107/** @name UpDataStructsPropertiesMapPropertyPermission */2108export interface UpDataStructsPropertiesMapPropertyPermission extends BTreeMap<Bytes, UpDataStructsPropertyPermission> {}21092110/** @name UpDataStructsProperty */2111export interface UpDataStructsProperty extends Struct {2112  readonly key: Bytes;2113  readonly value: Bytes;2114}21152116/** @name UpDataStructsPropertyKeyPermission */2117export interface UpDataStructsPropertyKeyPermission extends Struct {2118  readonly key: Bytes;2119  readonly permission: UpDataStructsPropertyPermission;2120}21212122/** @name UpDataStructsPropertyPermission */2123export interface UpDataStructsPropertyPermission extends Struct {2124  readonly mutable: bool;2125  readonly collectionAdmin: bool;2126  readonly tokenOwner: bool;2127}21282129/** @name UpDataStructsRmrkAccountIdOrCollectionNftTuple */2130export interface UpDataStructsRmrkAccountIdOrCollectionNftTuple extends Enum {2131  readonly isAccountId: boolean;2132  readonly asAccountId: AccountId32;2133  readonly isCollectionAndNftTuple: boolean;2134  readonly asCollectionAndNftTuple: ITuple<[u32, u32]>;2135  readonly type: 'AccountId' | 'CollectionAndNftTuple';2136}21372138/** @name UpDataStructsRmrkBaseInfo */2139export interface UpDataStructsRmrkBaseInfo extends Struct {2140  readonly issuer: AccountId32;2141  readonly baseType: Bytes;2142  readonly symbol: Bytes;2143}21442145/** @name UpDataStructsRmrkBasicResource */2146export interface UpDataStructsRmrkBasicResource extends Struct {2147  readonly src: Option<Bytes>;2148  readonly metadata: Option<Bytes>;2149  readonly license: Option<Bytes>;2150  readonly thumb: Option<Bytes>;2151}21522153/** @name UpDataStructsRmrkCollectionInfo */2154export interface UpDataStructsRmrkCollectionInfo extends Struct {2155  readonly issuer: AccountId32;2156  readonly metadata: Bytes;2157  readonly max: Option<u32>;2158  readonly symbol: Bytes;2159  readonly nftsCount: u32;2160}21612162/** @name UpDataStructsRmrkComposableResource */2163export interface UpDataStructsRmrkComposableResource extends Struct {2164  readonly parts: Vec<u32>;2165  readonly base: u32;2166  readonly src: Option<Bytes>;2167  readonly metadata: Option<Bytes>;2168  readonly license: Option<Bytes>;2169  readonly thumb: Option<Bytes>;2170}21712172/** @name UpDataStructsRmrkEquippableList */2173export interface UpDataStructsRmrkEquippableList extends Enum {2174  readonly isAll: boolean;2175  readonly isEmpty: boolean;2176  readonly isCustom: boolean;2177  readonly asCustom: Vec<u32>;2178  readonly type: 'All' | 'Empty' | 'Custom';2179}21802181/** @name UpDataStructsRmrkFixedPart */2182export interface UpDataStructsRmrkFixedPart extends Struct {2183  readonly id: u32;2184  readonly z: u32;2185  readonly src: Bytes;2186}21872188/** @name UpDataStructsRmrkNftChild */2189export interface UpDataStructsRmrkNftChild extends Struct {2190  readonly collectionId: u32;2191  readonly nftId: u32;2192}21932194/** @name UpDataStructsRmrkNftInfo */2195export interface UpDataStructsRmrkNftInfo extends Struct {2196  readonly owner: UpDataStructsRmrkAccountIdOrCollectionNftTuple;2197  readonly royalty: Option<UpDataStructsRmrkRoyaltyInfo>;2198  readonly metadata: Bytes;2199  readonly equipped: bool;2200  readonly pending: bool;2201}22022203/** @name UpDataStructsRmrkPartType */2204export interface UpDataStructsRmrkPartType extends Enum {2205  readonly isFixedPart: boolean;2206  readonly asFixedPart: UpDataStructsRmrkFixedPart;2207  readonly isSlotPart: boolean;2208  readonly asSlotPart: UpDataStructsRmrkSlotPart;2209  readonly type: 'FixedPart' | 'SlotPart';2210}22112212/** @name UpDataStructsRmrkPropertyInfo */2213export interface UpDataStructsRmrkPropertyInfo extends Struct {2214  readonly key: Bytes;2215  readonly value: Bytes;2216}22172218/** @name UpDataStructsRmrkResourceInfo */2219export interface UpDataStructsRmrkResourceInfo extends Struct {2220  readonly id: Bytes;2221  readonly resource: UpDataStructsRmrkResourceTypes;2222  readonly pending: bool;2223  readonly pendingRemoval: bool;2224}22252226/** @name UpDataStructsRmrkResourceTypes */2227export interface UpDataStructsRmrkResourceTypes extends Enum {2228  readonly isBasic: boolean;2229  readonly asBasic: UpDataStructsRmrkBasicResource;2230  readonly isComposable: boolean;2231  readonly asComposable: UpDataStructsRmrkComposableResource;2232  readonly isSlot: boolean;2233  readonly asSlot: UpDataStructsRmrkSlotResource;2234  readonly type: 'Basic' | 'Composable' | 'Slot';2235}22362237/** @name UpDataStructsRmrkRoyaltyInfo */2238export interface UpDataStructsRmrkRoyaltyInfo extends Struct {2239  readonly recipient: AccountId32;2240  readonly amount: Permill;2241}22422243/** @name UpDataStructsRmrkSlotPart */2244export interface UpDataStructsRmrkSlotPart extends Struct {2245  readonly id: u32;2246  readonly equippable: UpDataStructsRmrkEquippableList;2247  readonly src: Bytes;2248  readonly z: u32;2249}22502251/** @name UpDataStructsRmrkSlotResource */2252export interface UpDataStructsRmrkSlotResource extends Struct {2253  readonly base: u32;2254  readonly src: Option<Bytes>;2255  readonly metadata: Option<Bytes>;2256  readonly slot: u32;2257  readonly license: Option<Bytes>;2258  readonly thumb: Option<Bytes>;2259}22602261/** @name UpDataStructsRmrkTheme */2262export interface UpDataStructsRmrkTheme extends Struct {2263  readonly name: Bytes;2264  readonly properties: Vec<UpDataStructsRmrkThemeProperty>;2265  readonly inherit: bool;2266}22672268/** @name UpDataStructsRmrkThemeProperty */2269export interface UpDataStructsRmrkThemeProperty extends Struct {2270  readonly key: Bytes;2271  readonly value: Bytes;2272}22732274/** @name UpDataStructsRpcCollection */2275export interface UpDataStructsRpcCollection extends Struct {2276  readonly owner: AccountId32;2277  readonly mode: UpDataStructsCollectionMode;2278  readonly access: UpDataStructsAccessMode;2279  readonly name: Vec<u16>;2280  readonly description: Vec<u16>;2281  readonly tokenPrefix: Bytes;2282  readonly mintMode: bool;2283  readonly offchainSchema: Bytes;2284  readonly schemaVersion: UpDataStructsSchemaVersion;2285  readonly sponsorship: UpDataStructsSponsorshipState;2286  readonly limits: UpDataStructsCollectionLimits;2287  readonly constOnChainSchema: Bytes;2288  readonly tokenPropertyPermissions: Vec<UpDataStructsPropertyKeyPermission>;2289  readonly properties: Vec<UpDataStructsProperty>;2290}22912292/** @name UpDataStructsSchemaVersion */2293export interface UpDataStructsSchemaVersion extends Enum {2294  readonly isImageURL: boolean;2295  readonly isUnique: boolean;2296  readonly type: 'ImageURL' | 'Unique';2297}22982299/** @name UpDataStructsSponsoringRateLimit */2300export interface UpDataStructsSponsoringRateLimit extends Enum {2301  readonly isSponsoringDisabled: boolean;2302  readonly isBlocks: boolean;2303  readonly asBlocks: u32;2304  readonly type: 'SponsoringDisabled' | 'Blocks';2305}23062307/** @name UpDataStructsSponsorshipState */2308export interface UpDataStructsSponsorshipState extends Enum {2309  readonly isDisabled: boolean;2310  readonly isUnconfirmed: boolean;2311  readonly asUnconfirmed: AccountId32;2312  readonly isConfirmed: boolean;2313  readonly asConfirmed: AccountId32;2314  readonly type: 'Disabled' | 'Unconfirmed' | 'Confirmed';2315}23162317/** @name UpDataStructsTokenData */2318export interface UpDataStructsTokenData extends Struct {2319  readonly constData: Bytes;2320  readonly properties: Vec<UpDataStructsProperty>;2321  readonly owner: Option<PalletEvmAccountBasicCrossAccountIdRepr>;2322}23232324/** @name XcmDoubleEncoded */2325export interface XcmDoubleEncoded extends Struct {2326  readonly encoded: Bytes;2327}23282329/** @name XcmV0Junction */2330export interface XcmV0Junction extends Enum {2331  readonly isParent: boolean;2332  readonly isParachain: boolean;2333  readonly asParachain: Compact<u32>;2334  readonly isAccountId32: boolean;2335  readonly asAccountId32: {2336    readonly network: XcmV0JunctionNetworkId;2337    readonly id: U8aFixed;2338  } & Struct;2339  readonly isAccountIndex64: boolean;2340  readonly asAccountIndex64: {2341    readonly network: XcmV0JunctionNetworkId;2342    readonly index: Compact<u64>;2343  } & Struct;2344  readonly isAccountKey20: boolean;2345  readonly asAccountKey20: {2346    readonly network: XcmV0JunctionNetworkId;2347    readonly key: U8aFixed;2348  } & Struct;2349  readonly isPalletInstance: boolean;2350  readonly asPalletInstance: u8;2351  readonly isGeneralIndex: boolean;2352  readonly asGeneralIndex: Compact<u128>;2353  readonly isGeneralKey: boolean;2354  readonly asGeneralKey: Bytes;2355  readonly isOnlyChild: boolean;2356  readonly isPlurality: boolean;2357  readonly asPlurality: {2358    readonly id: XcmV0JunctionBodyId;2359    readonly part: XcmV0JunctionBodyPart;2360  } & Struct;2361  readonly type: 'Parent' | 'Parachain' | 'AccountId32' | 'AccountIndex64' | 'AccountKey20' | 'PalletInstance' | 'GeneralIndex' | 'GeneralKey' | 'OnlyChild' | 'Plurality';2362}23632364/** @name XcmV0JunctionBodyId */2365export interface XcmV0JunctionBodyId extends Enum {2366  readonly isUnit: boolean;2367  readonly isNamed: boolean;2368  readonly asNamed: Bytes;2369  readonly isIndex: boolean;2370  readonly asIndex: Compact<u32>;2371  readonly isExecutive: boolean;2372  readonly isTechnical: boolean;2373  readonly isLegislative: boolean;2374  readonly isJudicial: boolean;2375  readonly type: 'Unit' | 'Named' | 'Index' | 'Executive' | 'Technical' | 'Legislative' | 'Judicial';2376}23772378/** @name XcmV0JunctionBodyPart */2379export interface XcmV0JunctionBodyPart extends Enum {2380  readonly isVoice: boolean;2381  readonly isMembers: boolean;2382  readonly asMembers: {2383    readonly count: Compact<u32>;2384  } & Struct;2385  readonly isFraction: boolean;2386  readonly asFraction: {2387    readonly nom: Compact<u32>;2388    readonly denom: Compact<u32>;2389  } & Struct;2390  readonly isAtLeastProportion: boolean;2391  readonly asAtLeastProportion: {2392    readonly nom: Compact<u32>;2393    readonly denom: Compact<u32>;2394  } & Struct;2395  readonly isMoreThanProportion: boolean;2396  readonly asMoreThanProportion: {2397    readonly nom: Compact<u32>;2398    readonly denom: Compact<u32>;2399  } & Struct;2400  readonly type: 'Voice' | 'Members' | 'Fraction' | 'AtLeastProportion' | 'MoreThanProportion';2401}24022403/** @name XcmV0JunctionNetworkId */2404export interface XcmV0JunctionNetworkId extends Enum {2405  readonly isAny: boolean;2406  readonly isNamed: boolean;2407  readonly asNamed: Bytes;2408  readonly isPolkadot: boolean;2409  readonly isKusama: boolean;2410  readonly type: 'Any' | 'Named' | 'Polkadot' | 'Kusama';2411}24122413/** @name XcmV0MultiAsset */2414export interface XcmV0MultiAsset extends Enum {2415  readonly isNone: boolean;2416  readonly isAll: boolean;2417  readonly isAllFungible: boolean;2418  readonly isAllNonFungible: boolean;2419  readonly isAllAbstractFungible: boolean;2420  readonly asAllAbstractFungible: {2421    readonly id: Bytes;2422  } & Struct;2423  readonly isAllAbstractNonFungible: boolean;2424  readonly asAllAbstractNonFungible: {2425    readonly class: Bytes;2426  } & Struct;2427  readonly isAllConcreteFungible: boolean;2428  readonly asAllConcreteFungible: {2429    readonly id: XcmV0MultiLocation;2430  } & Struct;2431  readonly isAllConcreteNonFungible: boolean;2432  readonly asAllConcreteNonFungible: {2433    readonly class: XcmV0MultiLocation;2434  } & Struct;2435  readonly isAbstractFungible: boolean;2436  readonly asAbstractFungible: {2437    readonly id: Bytes;2438    readonly amount: Compact<u128>;2439  } & Struct;2440  readonly isAbstractNonFungible: boolean;2441  readonly asAbstractNonFungible: {2442    readonly class: Bytes;2443    readonly instance: XcmV1MultiassetAssetInstance;2444  } & Struct;2445  readonly isConcreteFungible: boolean;2446  readonly asConcreteFungible: {2447    readonly id: XcmV0MultiLocation;2448    readonly amount: Compact<u128>;2449  } & Struct;2450  readonly isConcreteNonFungible: boolean;2451  readonly asConcreteNonFungible: {2452    readonly class: XcmV0MultiLocation;2453    readonly instance: XcmV1MultiassetAssetInstance;2454  } & Struct;2455  readonly type: 'None' | 'All' | 'AllFungible' | 'AllNonFungible' | 'AllAbstractFungible' | 'AllAbstractNonFungible' | 'AllConcreteFungible' | 'AllConcreteNonFungible' | 'AbstractFungible' | 'AbstractNonFungible' | 'ConcreteFungible' | 'ConcreteNonFungible';2456}24572458/** @name XcmV0MultiLocation */2459export interface XcmV0MultiLocation extends Enum {2460  readonly isNull: boolean;2461  readonly isX1: boolean;2462  readonly asX1: XcmV0Junction;2463  readonly isX2: boolean;2464  readonly asX2: ITuple<[XcmV0Junction, XcmV0Junction]>;2465  readonly isX3: boolean;2466  readonly asX3: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction]>;2467  readonly isX4: boolean;2468  readonly asX4: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>;2469  readonly isX5: boolean;2470  readonly asX5: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>;2471  readonly isX6: boolean;2472  readonly asX6: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>;2473  readonly isX7: boolean;2474  readonly asX7: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>;2475  readonly isX8: boolean;2476  readonly asX8: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>;2477  readonly type: 'Null' | 'X1' | 'X2' | 'X3' | 'X4' | 'X5' | 'X6' | 'X7' | 'X8';2478}24792480/** @name XcmV0Order */2481export interface XcmV0Order extends Enum {2482  readonly isNull: boolean;2483  readonly isDepositAsset: boolean;2484  readonly asDepositAsset: {2485    readonly assets: Vec<XcmV0MultiAsset>;2486    readonly dest: XcmV0MultiLocation;2487  } & Struct;2488  readonly isDepositReserveAsset: boolean;2489  readonly asDepositReserveAsset: {2490    readonly assets: Vec<XcmV0MultiAsset>;2491    readonly dest: XcmV0MultiLocation;2492    readonly effects: Vec<XcmV0Order>;2493  } & Struct;2494  readonly isExchangeAsset: boolean;2495  readonly asExchangeAsset: {2496    readonly give: Vec<XcmV0MultiAsset>;2497    readonly receive: Vec<XcmV0MultiAsset>;2498  } & Struct;2499  readonly isInitiateReserveWithdraw: boolean;2500  readonly asInitiateReserveWithdraw: {2501    readonly assets: Vec<XcmV0MultiAsset>;2502    readonly reserve: XcmV0MultiLocation;2503    readonly effects: Vec<XcmV0Order>;2504  } & Struct;2505  readonly isInitiateTeleport: boolean;2506  readonly asInitiateTeleport: {2507    readonly assets: Vec<XcmV0MultiAsset>;2508    readonly dest: XcmV0MultiLocation;2509    readonly effects: Vec<XcmV0Order>;2510  } & Struct;2511  readonly isQueryHolding: boolean;2512  readonly asQueryHolding: {2513    readonly queryId: Compact<u64>;2514    readonly dest: XcmV0MultiLocation;2515    readonly assets: Vec<XcmV0MultiAsset>;2516  } & Struct;2517  readonly isBuyExecution: boolean;2518  readonly asBuyExecution: {2519    readonly fees: XcmV0MultiAsset;2520    readonly weight: u64;2521    readonly debt: u64;2522    readonly haltOnError: bool;2523    readonly xcm: Vec<XcmV0Xcm>;2524  } & Struct;2525  readonly type: 'Null' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution';2526}25272528/** @name XcmV0OriginKind */2529export interface XcmV0OriginKind extends Enum {2530  readonly isNative: boolean;2531  readonly isSovereignAccount: boolean;2532  readonly isSuperuser: boolean;2533  readonly isXcm: boolean;2534  readonly type: 'Native' | 'SovereignAccount' | 'Superuser' | 'Xcm';2535}25362537/** @name XcmV0Response */2538export interface XcmV0Response extends Enum {2539  readonly isAssets: boolean;2540  readonly asAssets: Vec<XcmV0MultiAsset>;2541  readonly type: 'Assets';2542}25432544/** @name XcmV0Xcm */2545export interface XcmV0Xcm extends Enum {2546  readonly isWithdrawAsset: boolean;2547  readonly asWithdrawAsset: {2548    readonly assets: Vec<XcmV0MultiAsset>;2549    readonly effects: Vec<XcmV0Order>;2550  } & Struct;2551  readonly isReserveAssetDeposit: boolean;2552  readonly asReserveAssetDeposit: {2553    readonly assets: Vec<XcmV0MultiAsset>;2554    readonly effects: Vec<XcmV0Order>;2555  } & Struct;2556  readonly isTeleportAsset: boolean;2557  readonly asTeleportAsset: {2558    readonly assets: Vec<XcmV0MultiAsset>;2559    readonly effects: Vec<XcmV0Order>;2560  } & Struct;2561  readonly isQueryResponse: boolean;2562  readonly asQueryResponse: {2563    readonly queryId: Compact<u64>;2564    readonly response: XcmV0Response;2565  } & Struct;2566  readonly isTransferAsset: boolean;2567  readonly asTransferAsset: {2568    readonly assets: Vec<XcmV0MultiAsset>;2569    readonly dest: XcmV0MultiLocation;2570  } & Struct;2571  readonly isTransferReserveAsset: boolean;2572  readonly asTransferReserveAsset: {2573    readonly assets: Vec<XcmV0MultiAsset>;2574    readonly dest: XcmV0MultiLocation;2575    readonly effects: Vec<XcmV0Order>;2576  } & Struct;2577  readonly isTransact: boolean;2578  readonly asTransact: {2579    readonly originType: XcmV0OriginKind;2580    readonly requireWeightAtMost: u64;2581    readonly call: XcmDoubleEncoded;2582  } & Struct;2583  readonly isHrmpNewChannelOpenRequest: boolean;2584  readonly asHrmpNewChannelOpenRequest: {2585    readonly sender: Compact<u32>;2586    readonly maxMessageSize: Compact<u32>;2587    readonly maxCapacity: Compact<u32>;2588  } & Struct;2589  readonly isHrmpChannelAccepted: boolean;2590  readonly asHrmpChannelAccepted: {2591    readonly recipient: Compact<u32>;2592  } & Struct;2593  readonly isHrmpChannelClosing: boolean;2594  readonly asHrmpChannelClosing: {2595    readonly initiator: Compact<u32>;2596    readonly sender: Compact<u32>;2597    readonly recipient: Compact<u32>;2598  } & Struct;2599  readonly isRelayedFrom: boolean;2600  readonly asRelayedFrom: {2601    readonly who: XcmV0MultiLocation;2602    readonly message: XcmV0Xcm;2603  } & Struct;2604  readonly type: 'WithdrawAsset' | 'ReserveAssetDeposit' | 'TeleportAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'RelayedFrom';2605}26062607/** @name XcmV1Junction */2608export interface XcmV1Junction extends Enum {2609  readonly isParachain: boolean;2610  readonly asParachain: Compact<u32>;2611  readonly isAccountId32: boolean;2612  readonly asAccountId32: {2613    readonly network: XcmV0JunctionNetworkId;2614    readonly id: U8aFixed;2615  } & Struct;2616  readonly isAccountIndex64: boolean;2617  readonly asAccountIndex64: {2618    readonly network: XcmV0JunctionNetworkId;2619    readonly index: Compact<u64>;2620  } & Struct;2621  readonly isAccountKey20: boolean;2622  readonly asAccountKey20: {2623    readonly network: XcmV0JunctionNetworkId;2624    readonly key: U8aFixed;2625  } & Struct;2626  readonly isPalletInstance: boolean;2627  readonly asPalletInstance: u8;2628  readonly isGeneralIndex: boolean;2629  readonly asGeneralIndex: Compact<u128>;2630  readonly isGeneralKey: boolean;2631  readonly asGeneralKey: Bytes;2632  readonly isOnlyChild: boolean;2633  readonly isPlurality: boolean;2634  readonly asPlurality: {2635    readonly id: XcmV0JunctionBodyId;2636    readonly part: XcmV0JunctionBodyPart;2637  } & Struct;2638  readonly type: 'Parachain' | 'AccountId32' | 'AccountIndex64' | 'AccountKey20' | 'PalletInstance' | 'GeneralIndex' | 'GeneralKey' | 'OnlyChild' | 'Plurality';2639}26402641/** @name XcmV1MultiAsset */2642export interface XcmV1MultiAsset extends Struct {2643  readonly id: XcmV1MultiassetAssetId;2644  readonly fun: XcmV1MultiassetFungibility;2645}26462647/** @name XcmV1MultiassetAssetId */2648export interface XcmV1MultiassetAssetId extends Enum {2649  readonly isConcrete: boolean;2650  readonly asConcrete: XcmV1MultiLocation;2651  readonly isAbstract: boolean;2652  readonly asAbstract: Bytes;2653  readonly type: 'Concrete' | 'Abstract';2654}26552656/** @name XcmV1MultiassetAssetInstance */2657export interface XcmV1MultiassetAssetInstance extends Enum {2658  readonly isUndefined: boolean;2659  readonly isIndex: boolean;2660  readonly asIndex: Compact<u128>;2661  readonly isArray4: boolean;2662  readonly asArray4: U8aFixed;2663  readonly isArray8: boolean;2664  readonly asArray8: U8aFixed;2665  readonly isArray16: boolean;2666  readonly asArray16: U8aFixed;2667  readonly isArray32: boolean;2668  readonly asArray32: U8aFixed;2669  readonly isBlob: boolean;2670  readonly asBlob: Bytes;2671  readonly type: 'Undefined' | 'Index' | 'Array4' | 'Array8' | 'Array16' | 'Array32' | 'Blob';2672}26732674/** @name XcmV1MultiassetFungibility */2675export interface XcmV1MultiassetFungibility extends Enum {2676  readonly isFungible: boolean;2677  readonly asFungible: Compact<u128>;2678  readonly isNonFungible: boolean;2679  readonly asNonFungible: XcmV1MultiassetAssetInstance;2680  readonly type: 'Fungible' | 'NonFungible';2681}26822683/** @name XcmV1MultiassetMultiAssetFilter */2684export interface XcmV1MultiassetMultiAssetFilter extends Enum {2685  readonly isDefinite: boolean;2686  readonly asDefinite: XcmV1MultiassetMultiAssets;2687  readonly isWild: boolean;2688  readonly asWild: XcmV1MultiassetWildMultiAsset;2689  readonly type: 'Definite' | 'Wild';2690}26912692/** @name XcmV1MultiassetMultiAssets */2693export interface XcmV1MultiassetMultiAssets extends Vec<XcmV1MultiAsset> {}26942695/** @name XcmV1MultiassetWildFungibility */2696export interface XcmV1MultiassetWildFungibility extends Enum {2697  readonly isFungible: boolean;2698  readonly isNonFungible: boolean;2699  readonly type: 'Fungible' | 'NonFungible';2700}27012702/** @name XcmV1MultiassetWildMultiAsset */2703export interface XcmV1MultiassetWildMultiAsset extends Enum {2704  readonly isAll: boolean;2705  readonly isAllOf: boolean;2706  readonly asAllOf: {2707    readonly id: XcmV1MultiassetAssetId;2708    readonly fun: XcmV1MultiassetWildFungibility;2709  } & Struct;2710  readonly type: 'All' | 'AllOf';2711}27122713/** @name XcmV1MultiLocation */2714export interface XcmV1MultiLocation extends Struct {2715  readonly parents: u8;2716  readonly interior: XcmV1MultilocationJunctions;2717}27182719/** @name XcmV1MultilocationJunctions */2720export interface XcmV1MultilocationJunctions extends Enum {2721  readonly isHere: boolean;2722  readonly isX1: boolean;2723  readonly asX1: XcmV1Junction;2724  readonly isX2: boolean;2725  readonly asX2: ITuple<[XcmV1Junction, XcmV1Junction]>;2726  readonly isX3: boolean;2727  readonly asX3: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction]>;2728  readonly isX4: boolean;2729  readonly asX4: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>;2730  readonly isX5: boolean;2731  readonly asX5: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>;2732  readonly isX6: boolean;2733  readonly asX6: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>;2734  readonly isX7: boolean;2735  readonly asX7: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>;2736  readonly isX8: boolean;2737  readonly asX8: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>;2738  readonly type: 'Here' | 'X1' | 'X2' | 'X3' | 'X4' | 'X5' | 'X6' | 'X7' | 'X8';2739}27402741/** @name XcmV1Order */2742export interface XcmV1Order extends Enum {2743  readonly isNoop: boolean;2744  readonly isDepositAsset: boolean;2745  readonly asDepositAsset: {2746    readonly assets: XcmV1MultiassetMultiAssetFilter;2747    readonly maxAssets: u32;2748    readonly beneficiary: XcmV1MultiLocation;2749  } & Struct;2750  readonly isDepositReserveAsset: boolean;2751  readonly asDepositReserveAsset: {2752    readonly assets: XcmV1MultiassetMultiAssetFilter;2753    readonly maxAssets: u32;2754    readonly dest: XcmV1MultiLocation;2755    readonly effects: Vec<XcmV1Order>;2756  } & Struct;2757  readonly isExchangeAsset: boolean;2758  readonly asExchangeAsset: {2759    readonly give: XcmV1MultiassetMultiAssetFilter;2760    readonly receive: XcmV1MultiassetMultiAssets;2761  } & Struct;2762  readonly isInitiateReserveWithdraw: boolean;2763  readonly asInitiateReserveWithdraw: {2764    readonly assets: XcmV1MultiassetMultiAssetFilter;2765    readonly reserve: XcmV1MultiLocation;2766    readonly effects: Vec<XcmV1Order>;2767  } & Struct;2768  readonly isInitiateTeleport: boolean;2769  readonly asInitiateTeleport: {2770    readonly assets: XcmV1MultiassetMultiAssetFilter;2771    readonly dest: XcmV1MultiLocation;2772    readonly effects: Vec<XcmV1Order>;2773  } & Struct;2774  readonly isQueryHolding: boolean;2775  readonly asQueryHolding: {2776    readonly queryId: Compact<u64>;2777    readonly dest: XcmV1MultiLocation;2778    readonly assets: XcmV1MultiassetMultiAssetFilter;2779  } & Struct;2780  readonly isBuyExecution: boolean;2781  readonly asBuyExecution: {2782    readonly fees: XcmV1MultiAsset;2783    readonly weight: u64;2784    readonly debt: u64;2785    readonly haltOnError: bool;2786    readonly instructions: Vec<XcmV1Xcm>;2787  } & Struct;2788  readonly type: 'Noop' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution';2789}27902791/** @name XcmV1Response */2792export interface XcmV1Response extends Enum {2793  readonly isAssets: boolean;2794  readonly asAssets: XcmV1MultiassetMultiAssets;2795  readonly isVersion: boolean;2796  readonly asVersion: u32;2797  readonly type: 'Assets' | 'Version';2798}27992800/** @name XcmV1Xcm */2801export interface XcmV1Xcm extends Enum {2802  readonly isWithdrawAsset: boolean;2803  readonly asWithdrawAsset: {2804    readonly assets: XcmV1MultiassetMultiAssets;2805    readonly effects: Vec<XcmV1Order>;2806  } & Struct;2807  readonly isReserveAssetDeposited: boolean;2808  readonly asReserveAssetDeposited: {2809    readonly assets: XcmV1MultiassetMultiAssets;2810    readonly effects: Vec<XcmV1Order>;2811  } & Struct;2812  readonly isReceiveTeleportedAsset: boolean;2813  readonly asReceiveTeleportedAsset: {2814    readonly assets: XcmV1MultiassetMultiAssets;2815    readonly effects: Vec<XcmV1Order>;2816  } & Struct;2817  readonly isQueryResponse: boolean;2818  readonly asQueryResponse: {2819    readonly queryId: Compact<u64>;2820    readonly response: XcmV1Response;2821  } & Struct;2822  readonly isTransferAsset: boolean;2823  readonly asTransferAsset: {2824    readonly assets: XcmV1MultiassetMultiAssets;2825    readonly beneficiary: XcmV1MultiLocation;2826  } & Struct;2827  readonly isTransferReserveAsset: boolean;2828  readonly asTransferReserveAsset: {2829    readonly assets: XcmV1MultiassetMultiAssets;2830    readonly dest: XcmV1MultiLocation;2831    readonly effects: Vec<XcmV1Order>;2832  } & Struct;2833  readonly isTransact: boolean;2834  readonly asTransact: {2835    readonly originType: XcmV0OriginKind;2836    readonly requireWeightAtMost: u64;2837    readonly call: XcmDoubleEncoded;2838  } & Struct;2839  readonly isHrmpNewChannelOpenRequest: boolean;2840  readonly asHrmpNewChannelOpenRequest: {2841    readonly sender: Compact<u32>;2842    readonly maxMessageSize: Compact<u32>;2843    readonly maxCapacity: Compact<u32>;2844  } & Struct;2845  readonly isHrmpChannelAccepted: boolean;2846  readonly asHrmpChannelAccepted: {2847    readonly recipient: Compact<u32>;2848  } & Struct;2849  readonly isHrmpChannelClosing: boolean;2850  readonly asHrmpChannelClosing: {2851    readonly initiator: Compact<u32>;2852    readonly sender: Compact<u32>;2853    readonly recipient: Compact<u32>;2854  } & Struct;2855  readonly isRelayedFrom: boolean;2856  readonly asRelayedFrom: {2857    readonly who: XcmV1MultilocationJunctions;2858    readonly message: XcmV1Xcm;2859  } & Struct;2860  readonly isSubscribeVersion: boolean;2861  readonly asSubscribeVersion: {2862    readonly queryId: Compact<u64>;2863    readonly maxResponseWeight: Compact<u64>;2864  } & Struct;2865  readonly isUnsubscribeVersion: boolean;2866  readonly type: 'WithdrawAsset' | 'ReserveAssetDeposited' | 'ReceiveTeleportedAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'RelayedFrom' | 'SubscribeVersion' | 'UnsubscribeVersion';2867}28682869/** @name XcmV2Instruction */2870export interface XcmV2Instruction extends Enum {2871  readonly isWithdrawAsset: boolean;2872  readonly asWithdrawAsset: XcmV1MultiassetMultiAssets;2873  readonly isReserveAssetDeposited: boolean;2874  readonly asReserveAssetDeposited: XcmV1MultiassetMultiAssets;2875  readonly isReceiveTeleportedAsset: boolean;2876  readonly asReceiveTeleportedAsset: XcmV1MultiassetMultiAssets;2877  readonly isQueryResponse: boolean;2878  readonly asQueryResponse: {2879    readonly queryId: Compact<u64>;2880    readonly response: XcmV2Response;2881    readonly maxWeight: Compact<u64>;2882  } & Struct;2883  readonly isTransferAsset: boolean;2884  readonly asTransferAsset: {2885    readonly assets: XcmV1MultiassetMultiAssets;2886    readonly beneficiary: XcmV1MultiLocation;2887  } & Struct;2888  readonly isTransferReserveAsset: boolean;2889  readonly asTransferReserveAsset: {2890    readonly assets: XcmV1MultiassetMultiAssets;2891    readonly dest: XcmV1MultiLocation;2892    readonly xcm: XcmV2Xcm;2893  } & Struct;2894  readonly isTransact: boolean;2895  readonly asTransact: {2896    readonly originType: XcmV0OriginKind;2897    readonly requireWeightAtMost: Compact<u64>;2898    readonly call: XcmDoubleEncoded;2899  } & Struct;2900  readonly isHrmpNewChannelOpenRequest: boolean;2901  readonly asHrmpNewChannelOpenRequest: {2902    readonly sender: Compact<u32>;2903    readonly maxMessageSize: Compact<u32>;2904    readonly maxCapacity: Compact<u32>;2905  } & Struct;2906  readonly isHrmpChannelAccepted: boolean;2907  readonly asHrmpChannelAccepted: {2908    readonly recipient: Compact<u32>;2909  } & Struct;2910  readonly isHrmpChannelClosing: boolean;2911  readonly asHrmpChannelClosing: {2912    readonly initiator: Compact<u32>;2913    readonly sender: Compact<u32>;2914    readonly recipient: Compact<u32>;2915  } & Struct;2916  readonly isClearOrigin: boolean;2917  readonly isDescendOrigin: boolean;2918  readonly asDescendOrigin: XcmV1MultilocationJunctions;2919  readonly isReportError: boolean;2920  readonly asReportError: {2921    readonly queryId: Compact<u64>;2922    readonly dest: XcmV1MultiLocation;2923    readonly maxResponseWeight: Compact<u64>;2924  } & Struct;2925  readonly isDepositAsset: boolean;2926  readonly asDepositAsset: {2927    readonly assets: XcmV1MultiassetMultiAssetFilter;2928    readonly maxAssets: Compact<u32>;2929    readonly beneficiary: XcmV1MultiLocation;2930  } & Struct;2931  readonly isDepositReserveAsset: boolean;2932  readonly asDepositReserveAsset: {2933    readonly assets: XcmV1MultiassetMultiAssetFilter;2934    readonly maxAssets: Compact<u32>;2935    readonly dest: XcmV1MultiLocation;2936    readonly xcm: XcmV2Xcm;2937  } & Struct;2938  readonly isExchangeAsset: boolean;2939  readonly asExchangeAsset: {2940    readonly give: XcmV1MultiassetMultiAssetFilter;2941    readonly receive: XcmV1MultiassetMultiAssets;2942  } & Struct;2943  readonly isInitiateReserveWithdraw: boolean;2944  readonly asInitiateReserveWithdraw: {2945    readonly assets: XcmV1MultiassetMultiAssetFilter;2946    readonly reserve: XcmV1MultiLocation;2947    readonly xcm: XcmV2Xcm;2948  } & Struct;2949  readonly isInitiateTeleport: boolean;2950  readonly asInitiateTeleport: {2951    readonly assets: XcmV1MultiassetMultiAssetFilter;2952    readonly dest: XcmV1MultiLocation;2953    readonly xcm: XcmV2Xcm;2954  } & Struct;2955  readonly isQueryHolding: boolean;2956  readonly asQueryHolding: {2957    readonly queryId: Compact<u64>;2958    readonly dest: XcmV1MultiLocation;2959    readonly assets: XcmV1MultiassetMultiAssetFilter;2960    readonly maxResponseWeight: Compact<u64>;2961  } & Struct;2962  readonly isBuyExecution: boolean;2963  readonly asBuyExecution: {2964    readonly fees: XcmV1MultiAsset;2965    readonly weightLimit: XcmV2WeightLimit;2966  } & Struct;2967  readonly isRefundSurplus: boolean;2968  readonly isSetErrorHandler: boolean;2969  readonly asSetErrorHandler: XcmV2Xcm;2970  readonly isSetAppendix: boolean;2971  readonly asSetAppendix: XcmV2Xcm;2972  readonly isClearError: boolean;2973  readonly isClaimAsset: boolean;2974  readonly asClaimAsset: {2975    readonly assets: XcmV1MultiassetMultiAssets;2976    readonly ticket: XcmV1MultiLocation;2977  } & Struct;2978  readonly isTrap: boolean;2979  readonly asTrap: Compact<u64>;2980  readonly isSubscribeVersion: boolean;2981  readonly asSubscribeVersion: {2982    readonly queryId: Compact<u64>;2983    readonly maxResponseWeight: Compact<u64>;2984  } & Struct;2985  readonly isUnsubscribeVersion: boolean;2986  readonly type: 'WithdrawAsset' | 'ReserveAssetDeposited' | 'ReceiveTeleportedAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'ClearOrigin' | 'DescendOrigin' | 'ReportError' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution' | 'RefundSurplus' | 'SetErrorHandler' | 'SetAppendix' | 'ClearError' | 'ClaimAsset' | 'Trap' | 'SubscribeVersion' | 'UnsubscribeVersion';2987}29882989/** @name XcmV2Response */2990export interface XcmV2Response extends Enum {2991  readonly isNull: boolean;2992  readonly isAssets: boolean;2993  readonly asAssets: XcmV1MultiassetMultiAssets;2994  readonly isExecutionResult: boolean;2995  readonly asExecutionResult: Option<ITuple<[u32, XcmV2TraitsError]>>;2996  readonly isVersion: boolean;2997  readonly asVersion: u32;2998  readonly type: 'Null' | 'Assets' | 'ExecutionResult' | 'Version';2999}30003001/** @name XcmV2TraitsError */3002export interface XcmV2TraitsError extends Enum {3003  readonly isOverflow: boolean;3004  readonly isUnimplemented: boolean;3005  readonly isUntrustedReserveLocation: boolean;3006  readonly isUntrustedTeleportLocation: boolean;3007  readonly isMultiLocationFull: boolean;3008  readonly isMultiLocationNotInvertible: boolean;3009  readonly isBadOrigin: boolean;3010  readonly isInvalidLocation: boolean;3011  readonly isAssetNotFound: boolean;3012  readonly isFailedToTransactAsset: boolean;3013  readonly isNotWithdrawable: boolean;3014  readonly isLocationCannotHold: boolean;3015  readonly isExceedsMaxMessageSize: boolean;3016  readonly isDestinationUnsupported: boolean;3017  readonly isTransport: boolean;3018  readonly isUnroutable: boolean;3019  readonly isUnknownClaim: boolean;3020  readonly isFailedToDecode: boolean;3021  readonly isMaxWeightInvalid: boolean;3022  readonly isNotHoldingFees: boolean;3023  readonly isTooExpensive: boolean;3024  readonly isTrap: boolean;3025  readonly asTrap: u64;3026  readonly isUnhandledXcmVersion: boolean;3027  readonly isWeightLimitReached: boolean;3028  readonly asWeightLimitReached: u64;3029  readonly isBarrier: boolean;3030  readonly isWeightNotComputable: boolean;3031  readonly type: 'Overflow' | 'Unimplemented' | 'UntrustedReserveLocation' | 'UntrustedTeleportLocation' | 'MultiLocationFull' | 'MultiLocationNotInvertible' | 'BadOrigin' | 'InvalidLocation' | 'AssetNotFound' | 'FailedToTransactAsset' | 'NotWithdrawable' | 'LocationCannotHold' | 'ExceedsMaxMessageSize' | 'DestinationUnsupported' | 'Transport' | 'Unroutable' | 'UnknownClaim' | 'FailedToDecode' | 'MaxWeightInvalid' | 'NotHoldingFees' | 'TooExpensive' | 'Trap' | 'UnhandledXcmVersion' | 'WeightLimitReached' | 'Barrier' | 'WeightNotComputable';3032}30333034/** @name XcmV2TraitsOutcome */3035export interface XcmV2TraitsOutcome extends Enum {3036  readonly isComplete: boolean;3037  readonly asComplete: u64;3038  readonly isIncomplete: boolean;3039  readonly asIncomplete: ITuple<[u64, XcmV2TraitsError]>;3040  readonly isError: boolean;3041  readonly asError: XcmV2TraitsError;3042  readonly type: 'Complete' | 'Incomplete' | 'Error';3043}30443045/** @name XcmV2WeightLimit */3046export interface XcmV2WeightLimit extends Enum {3047  readonly isUnlimited: boolean;3048  readonly isLimited: boolean;3049  readonly asLimited: Compact<u64>;3050  readonly type: 'Unlimited' | 'Limited';3051}30523053/** @name XcmV2Xcm */3054export interface XcmV2Xcm extends Vec<XcmV2Instruction> {}30553056/** @name XcmVersionedMultiAssets */3057export interface XcmVersionedMultiAssets extends Enum {3058  readonly isV0: boolean;3059  readonly asV0: Vec<XcmV0MultiAsset>;3060  readonly isV1: boolean;3061  readonly asV1: XcmV1MultiassetMultiAssets;3062  readonly type: 'V0' | 'V1';3063}30643065/** @name XcmVersionedMultiLocation */3066export interface XcmVersionedMultiLocation extends Enum {3067  readonly isV0: boolean;3068  readonly asV0: XcmV0MultiLocation;3069  readonly isV1: boolean;3070  readonly asV1: XcmV1MultiLocation;3071  readonly type: 'V0' | 'V1';3072}30733074/** @name XcmVersionedXcm */3075export interface XcmVersionedXcm extends Enum {3076  readonly isV0: boolean;3077  readonly asV0: XcmV0Xcm;3078  readonly isV1: boolean;3079  readonly asV1: XcmV1Xcm;3080  readonly isV2: boolean;3081  readonly asV2: XcmV2Xcm;3082  readonly type: 'V0' | 'V1' | 'V2';3083}30843085export type PHANTOM_UNIQUE = 'unique';