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

difftreelog

Merge pull request #427 from UniqueNetwork/doc/architectural-changes

Yaroslav Bolyukin2022-07-22parents: #281e817 #2bb23d8.patch.diff
in: master

19 files changed

modifiedclient/rpc/src/lib.rsdiffbeforeafterboth
--- a/client/rpc/src/lib.rs
+++ b/client/rpc/src/lib.rs
@@ -42,6 +42,7 @@
 #[rpc(server)]
 #[async_trait]
 pub trait UniqueApi<BlockHash, CrossAccountId, AccountId> {
+	/// Get tokens owned by account.
 	#[method(name = "unique_accountTokens")]
 	fn account_tokens(
 		&self,
@@ -49,12 +50,16 @@
 		account: CrossAccountId,
 		at: Option<BlockHash>,
 	) -> Result<Vec<TokenId>>;
+
+	/// Get tokens contained within a collection.
 	#[method(name = "unique_collectionTokens")]
 	fn collection_tokens(
 		&self,
 		collection: CollectionId,
 		at: Option<BlockHash>,
 	) -> Result<Vec<TokenId>>;
+
+	/// Check if the token exists.
 	#[method(name = "unique_tokenExists")]
 	fn token_exists(
 		&self,
@@ -63,6 +68,7 @@
 		at: Option<BlockHash>,
 	) -> Result<bool>;
 
+	/// Get the token owner.
 	#[method(name = "unique_tokenOwner")]
 	fn token_owner(
 		&self,
@@ -80,6 +86,7 @@
 		at: Option<BlockHash>,
 	) -> Result<Vec<CrossAccountId>>;
 
+	/// Get the topmost token owner in the hierarchy of a possibly nested token.
 	#[method(name = "unique_topmostTokenOwner")]
 	fn topmost_token_owner(
 		&self,
@@ -87,6 +94,8 @@
 		token: TokenId,
 		at: Option<BlockHash>,
 	) -> Result<Option<CrossAccountId>>;
+
+	/// Get tokens nested directly into the token.
 	#[method(name = "unique_tokenChildren")]
 	fn token_children(
 		&self,
@@ -95,6 +104,7 @@
 		at: Option<BlockHash>,
 	) -> Result<Vec<TokenChild>>;
 
+	/// Get collection properties, optionally limited to the provided keys.
 	#[method(name = "unique_collectionProperties")]
 	fn collection_properties(
 		&self,
@@ -103,6 +113,7 @@
 		at: Option<BlockHash>,
 	) -> Result<Vec<Property>>;
 
+	/// Get token properties, optionally limited to the provided keys.
 	#[method(name = "unique_tokenProperties")]
 	fn token_properties(
 		&self,
@@ -112,6 +123,7 @@
 		at: Option<BlockHash>,
 	) -> Result<Vec<Property>>;
 
+	/// Get property permissions, optionally limited to the provided keys.
 	#[method(name = "unique_propertyPermissions")]
 	fn property_permissions(
 		&self,
@@ -120,6 +132,7 @@
 		at: Option<BlockHash>,
 	) -> Result<Vec<PropertyKeyPermission>>;
 
+	/// Get token data, including properties, optionally limited to the provided keys, and total pieces for an RFT.
 	#[method(name = "unique_tokenData")]
 	fn token_data(
 		&self,
@@ -129,8 +142,11 @@
 		at: Option<BlockHash>,
 	) -> Result<TokenData<CrossAccountId>>;
 
+	/// Get the amount of distinctive tokens present in a collection.
 	#[method(name = "unique_totalSupply")]
 	fn total_supply(&self, collection: CollectionId, at: Option<BlockHash>) -> Result<u32>;
+
+	/// Get the amount of any user tokens owned by an account.
 	#[method(name = "unique_accountBalance")]
 	fn account_balance(
 		&self,
@@ -138,6 +154,8 @@
 		account: CrossAccountId,
 		at: Option<BlockHash>,
 	) -> Result<u32>;
+
+	/// Get the amount of a specific token owned by an account.
 	#[method(name = "unique_balance")]
 	fn balance(
 		&self,
@@ -146,6 +164,8 @@
 		token: TokenId,
 		at: Option<BlockHash>,
 	) -> Result<String>;
+
+	/// Get the amount of currently possible sponsored transactions on a token for the fee to be taken off a sponsor.
 	#[method(name = "unique_allowance")]
 	fn allowance(
 		&self,
@@ -156,18 +176,23 @@
 		at: Option<BlockHash>,
 	) -> Result<String>;
 
+	/// Get the list of admin accounts of a collection.
 	#[method(name = "unique_adminlist")]
 	fn adminlist(
 		&self,
 		collection: CollectionId,
 		at: Option<BlockHash>,
 	) -> Result<Vec<CrossAccountId>>;
+
+	/// Get the list of accounts allowed to operate within a collection.
 	#[method(name = "unique_allowlist")]
 	fn allowlist(
 		&self,
 		collection: CollectionId,
 		at: Option<BlockHash>,
 	) -> Result<Vec<CrossAccountId>>;
+
+	/// Check if a user is allowed to operate within a collection.
 	#[method(name = "unique_allowed")]
 	fn allowed(
 		&self,
@@ -175,17 +200,24 @@
 		user: CrossAccountId,
 		at: Option<BlockHash>,
 	) -> Result<bool>;
+
+	/// Get the last token ID created in a collection.
 	#[method(name = "unique_lastTokenId")]
 	fn last_token_id(&self, collection: CollectionId, at: Option<BlockHash>) -> Result<TokenId>;
+
+	/// Get collection info by the specified ID.
 	#[method(name = "unique_collectionById")]
 	fn collection_by_id(
 		&self,
 		collection: CollectionId,
 		at: Option<BlockHash>,
 	) -> Result<Option<RpcCollection<AccountId>>>;
+
+	/// Get chain stats about collections.
 	#[method(name = "unique_collectionStats")]
 	fn collection_stats(&self, at: Option<BlockHash>) -> Result<CollectionStats>;
 
+	/// Get the number of blocks until sponsoring a transaction is available.
 	#[method(name = "unique_nextSponsored")]
 	fn next_sponsored(
 		&self,
@@ -195,6 +227,7 @@
 		at: Option<BlockHash>,
 	) -> Result<Option<u64>>;
 
+	/// Get effective collection limits. If not explicitly set, get the chain defaults.
 	#[method(name = "unique_effectiveCollectionLimits")]
 	fn effective_collection_limits(
 		&self,
@@ -202,6 +235,7 @@
 		at: Option<BlockHash>,
 	) -> Result<Option<CollectionLimits>>;
 
+	/// Get the total amount of pieces of an RFT.
 	#[method(name = "unique_totalPieces")]
 	fn total_pieces(
 		&self,
@@ -228,20 +262,20 @@
 		Theme,
 	>
 	{
+		/// Get the latest created collection ID.
 		#[method(name = "rmrk_lastCollectionIdx")]
-		/// Get the latest created collection id
 		fn last_collection_idx(&self, at: Option<BlockHash>) -> Result<RmrkCollectionId>;
 
+		/// Get collection info by ID.
 		#[method(name = "rmrk_collectionById")]
-		/// Get collection by id
 		fn collection_by_id(
 			&self,
 			id: RmrkCollectionId,
 			at: Option<BlockHash>,
 		) -> Result<Option<CollectionInfo>>;
 
+		/// Get NFT info by collection and NFT IDs.
 		#[method(name = "rmrk_nftById")]
-		/// Get NFT by collection id and NFT id
 		fn nft_by_id(
 			&self,
 			collection_id: RmrkCollectionId,
@@ -249,8 +283,8 @@
 			at: Option<BlockHash>,
 		) -> Result<Option<NftInfo>>;
 
+		/// Get tokens owned by an account in a collection.
 		#[method(name = "rmrk_accountTokens")]
-		/// Get tokens owned by an account in a collection
 		fn account_tokens(
 			&self,
 			account_id: AccountId,
@@ -258,8 +292,8 @@
 			at: Option<BlockHash>,
 		) -> Result<Vec<RmrkNftId>>;
 
+		/// Get tokens nested in an NFT - its direct children (not the children's children).
 		#[method(name = "rmrk_nftChildren")]
-		/// Get NFT children
 		fn nft_children(
 			&self,
 			collection_id: RmrkCollectionId,
@@ -267,8 +301,8 @@
 			at: Option<BlockHash>,
 		) -> Result<Vec<RmrkNftChild>>;
 
+		/// Get collection properties, created by the user - not the proxy-specific properties.
 		#[method(name = "rmrk_collectionProperties")]
-		/// Get collection properties
 		fn collection_properties(
 			&self,
 			collection_id: RmrkCollectionId,
@@ -276,8 +310,8 @@
 			at: Option<BlockHash>,
 		) -> Result<Vec<PropertyInfo>>;
 
+		/// Get NFT properties, created by the user - not the proxy-specific properties.
 		#[method(name = "rmrk_nftProperties")]
-		/// Get NFT properties
 		fn nft_properties(
 			&self,
 			collection_id: RmrkCollectionId,
@@ -286,8 +320,8 @@
 			at: Option<BlockHash>,
 		) -> Result<Vec<PropertyInfo>>;
 
+		/// Get data of resources of an NFT.
 		#[method(name = "rmrk_nftResources")]
-		/// Get NFT resources
 		fn nft_resources(
 			&self,
 			collection_id: RmrkCollectionId,
@@ -295,8 +329,8 @@
 			at: Option<BlockHash>,
 		) -> Result<Vec<ResourceInfo>>;
 
+		/// Get the priority of a resource in an NFT.
 		#[method(name = "rmrk_nftResourcePriority")]
-		/// Get NFT resource priority
 		fn nft_resource_priority(
 			&self,
 			collection_id: RmrkCollectionId,
@@ -305,14 +339,15 @@
 			at: Option<BlockHash>,
 		) -> Result<Option<u32>>;
 
+		/// Get base info by its ID.
 		#[method(name = "rmrk_base")]
-		/// Get base info
 		fn base(&self, base_id: RmrkBaseId, at: Option<BlockHash>) -> Result<Option<BaseInfo>>;
 
+		/// Get all parts of a base.
 		#[method(name = "rmrk_baseParts")]
-		/// Get all Base's parts
 		fn base_parts(&self, base_id: RmrkBaseId, at: Option<BlockHash>) -> Result<Vec<PartType>>;
 
+		/// Get the theme names belonging to a base.
 		#[method(name = "rmrk_themeNames")]
 		fn theme_names(
 			&self,
@@ -320,6 +355,7 @@
 			at: Option<BlockHash>,
 		) -> Result<Vec<RmrkThemeName>>;
 
+		/// Get theme info, including properties, optionally limited to the provided keys.
 		#[method(name = "rmrk_themes")]
 		fn theme(
 			&self,
modifiedpallets/common/src/lib.rsdiffbeforeafterboth
--- a/pallets/common/src/lib.rs
+++ b/pallets/common/src/lib.rs
@@ -441,7 +441,7 @@
 			u128,
 		),
 
-		/// The colletion property has been set.
+		/// The colletion property has been added or edited.
 		CollectionPropertySet(
 			/// Id of collection to which property has been set.
 			CollectionId,
@@ -457,7 +457,7 @@
 			PropertyKey,
 		),
 
-		/// The token property has been set.
+		/// The token property has been added or edited.
 		TokenPropertySet(
 			/// Identifier of the collection whose token has the property set.
 			CollectionId,
@@ -477,9 +477,9 @@
 			PropertyKey,
 		),
 
-		/// The colletion property permission has been set.
+		/// The token property permission of a collection has been set.
 		PropertyPermissionSet(
-			/// Id of collection to which property permission has been set.
+			/// ID of collection to which property permission has been set.
 			CollectionId,
 			/// The property permission that was set.
 			PropertyKey,
@@ -524,26 +524,26 @@
 		/// Metadata flag frozen
 		MetadataFlagFrozen,
 
-		/// Item not exists.
+		/// Item does not exist
 		TokenNotFound,
-		/// Item balance not enough.
+		/// Item is balance not enough
 		TokenValueTooLow,
-		/// Requested value more than approved.
+		/// Requested value is more than the approved
 		ApprovedValueTooLow,
 		/// Tried to approve more than owned
 		CantApproveMoreThanOwned,
 
 		/// Can't transfer tokens to ethereum zero address
 		AddressIsZero,
-		/// Target collection doesn't supports this operation
+		/// Target collection doesn't support this operation
 		UnsupportedOperation,
 
-		/// Not sufficient funds to perform action
+		/// Insufficient funds to perform an action
 		NotSufficientFounds,
 
-		/// User not passed nesting rule
+		/// User does not satisfy the nesting rule
 		UserIsNotAllowedToNest,
-		/// Only tokens from specific collections may nest tokens under this
+		/// Only tokens from specific collections may nest tokens under this one
 		SourceCollectionIsNotAllowedToNest,
 
 		/// Tried to store more data than allowed in collection field
@@ -558,7 +558,7 @@
 		/// Property key is too long
 		PropertyKeyIsTooLong,
 
-		/// Only ASCII letters, digits, and '_', '-' are allowed
+		/// Only ASCII letters, digits, and symbols `_`, `-`, and `.` are allowed
 		InvalidCharacterInPropertyKey,
 
 		/// Empty property keys are forbidden
@@ -571,7 +571,7 @@
 		CollectionIsInternal,
 	}
 
-	/// Storage of the count of created collections.
+	/// Storage of the count of created collections. Essentially contains the last collection ID.
 	#[pallet::storage]
 	pub type CreatedCollectionCount<T> = StorageValue<Value = CollectionId, QueryKind = ValueQuery>;
 
@@ -600,7 +600,7 @@
 		OnEmpty = up_data_structs::CollectionProperties,
 	>;
 
-	/// Storage of collection properties permissions.
+	/// Storage of token property permissions of a collection.
 	#[pallet::storage]
 	#[pallet::getter(fn property_permissions)]
 	pub type CollectionPropertyPermissions<T> = StorageMap<
@@ -610,7 +610,7 @@
 		QueryKind = ValueQuery,
 	>;
 
-	/// Storage of collection admins count.
+	/// Storage of the amount of collection admins.
 	#[pallet::storage]
 	pub type AdminAmount<T> = StorageMap<
 		Hasher = Blake2_128Concat,
@@ -619,7 +619,7 @@
 		QueryKind = ValueQuery,
 	>;
 
-	/// List of collection admins
+	/// List of collection admins.
 	#[pallet::storage]
 	pub type IsAdmin<T: Config> = StorageNMap<
 		Key = (
@@ -630,7 +630,7 @@
 		QueryKind = ValueQuery,
 	>;
 
-	/// Allowlisted collection users
+	/// Allowlisted collection users.
 	#[pallet::storage]
 	pub type Allowlist<T: Config> = StorageNMap<
 		Key = (
modifiedpallets/fungible/src/lib.rsdiffbeforeafterboth
--- a/pallets/fungible/src/lib.rs
+++ b/pallets/fungible/src/lib.rs
@@ -119,8 +119,7 @@
 	pub enum Error<T> {
 		/// Not Fungible item data used to mint in Fungible collection.
 		NotFungibleDataUsedToMintFungibleCollectionToken,
-		/// Not default id passed as TokenId argument.
-		/// The default value of TokenId for Fungible collection is 0.
+		/// Fungible tokens hold no ID, and the default value of TokenId for Fungible collection is 0.
 		FungibleItemsHaveNoId,
 		/// Tried to set data for fungible item.
 		FungibleItemsDontHaveData,
@@ -157,7 +156,7 @@
 		QueryKind = ValueQuery,
 	>;
 
-	/// Storage for delegated assets.
+	/// Storage for assets delegated to a limited extent to other users.
 	#[pallet::storage]
 	pub type Allowance<T: Config> = StorageNMap<
 		Key = (
@@ -172,7 +171,6 @@
 
 /// Wrapper around untyped collection handle, asserting inner collection is of fungible type.
 /// Required for interaction with Fungible collections, type safety and implementation [`solidity_interface`][`evm_coder::solidity_interface`].
-
 pub struct FungibleHandle<T: Config>(pallet_common::CollectionHandle<T>);
 
 /// Implementation of methods required for dispatching during runtime.
modifiedpallets/nonfungible/src/lib.rsdiffbeforeafterboth
--- a/pallets/nonfungible/src/lib.rs
+++ b/pallets/nonfungible/src/lib.rs
@@ -21,7 +21,7 @@
 //! - [`Config`]
 //! - [`NonfungibleHandle`]
 //! - [`Pallet`]
-//! - [`CommonWeights`]
+//! - [`CommonWeights`](common::CommonWeights)
 //!
 //! ## Overview
 //!
@@ -130,6 +130,8 @@
 pub type CreateItemData<T> = CreateNftExData<<T as pallet_evm::account::Config>::CrossAccountId>;
 pub(crate) type SelfWeightOf<T> = <T as Config>::WeightInfo;
 
+/// Token data, stored independently from other data used to describe it
+/// for the convenience of database access. Notably contains the owner account address.
 #[struct_versioning::versioned(version = 2, upper)]
 #[derive(Encode, Decode, TypeInfo, MaxEncodedLen)]
 pub struct ItemData<CrossAccountId> {
@@ -176,17 +178,17 @@
 	#[pallet::generate_store(pub(super) trait Store)]
 	pub struct Pallet<T>(_);
 
-	/// Amount of tokens minted for collection.
+	/// Total amount of minted tokens in a collection.
 	#[pallet::storage]
 	pub type TokensMinted<T: Config> =
 		StorageMap<Hasher = Twox64Concat, Key = CollectionId, Value = u32, QueryKind = ValueQuery>;
 
-	/// Amount of burnt tokens for collection.
+	/// Amount of burnt tokens in a collection.
 	#[pallet::storage]
 	pub type TokensBurnt<T: Config> =
 		StorageMap<Hasher = Twox64Concat, Key = CollectionId, Value = u32, QueryKind = ValueQuery>;
 
-	/// Custom data serialized to bytes for token.
+	/// Token data, used to partially describe a token.
 	#[pallet::storage]
 	pub type TokenData<T: Config> = StorageNMap<
 		Key = (Key<Twox64Concat, CollectionId>, Key<Twox64Concat, TokenId>),
@@ -194,7 +196,7 @@
 		QueryKind = OptionQuery,
 	>;
 
-	/// Key-Value map stored for token.
+	/// Map of key-value pairs, describing the metadata of a token.
 	#[pallet::storage]
 	#[pallet::getter(fn token_properties)]
 	pub type TokenProperties<T: Config> = StorageNMap<
@@ -204,7 +206,14 @@
 		OnEmpty = up_data_structs::TokenProperties,
 	>;
 
-	/// Custom data that is serialized to bytes and attached to a token property.
+	/// Custom data of a token that is serialized to bytes,
+	/// primarily reserved for on-chain operations,
+	/// normally obscured from the external users.
+	///
+	/// Auxiliary properties are slightly different from
+	/// usual [`TokenProperties`] due to an unlimited number
+	/// and separately stored and written-to key-value pairs.
+	///
 	/// Currently used to store RMRK data.
 	#[pallet::storage]
 	#[pallet::getter(fn token_aux_property)]
@@ -244,7 +253,7 @@
 		QueryKind = ValueQuery,
 	>;
 
-	/// Amount of tokens owned by account.
+	/// Amount of tokens owned by an account in a collection.
 	#[pallet::storage]
 	pub type AccountBalance<T: Config> = StorageNMap<
 		Key = (
@@ -255,7 +264,7 @@
 		QueryKind = ValueQuery,
 	>;
 
-	/// Allowance set by an owner for a spender for a token.
+	/// Allowance set by a token owner for another user to perform one of certain transactions on a token.
 	#[pallet::storage]
 	pub type Allowance<T: Config> = StorageNMap<
 		Key = (Key<Twox64Concat, CollectionId>, Key<Twox64Concat, TokenId>),
@@ -263,6 +272,7 @@
 		QueryKind = OptionQuery,
 	>;
 
+	/// Upgrade from the old schema to properties.
 	#[pallet::hooks]
 	impl<T: Config> Hooks<BlockNumberFor<T>> for Pallet<T> {
 		fn on_runtime_upgrade() -> Weight {
modifiedpallets/refungible/src/lib.rsdiffbeforeafterboth
--- a/pallets/refungible/src/lib.rs
+++ b/pallets/refungible/src/lib.rs
@@ -21,7 +21,7 @@
 //! - [`Config`]
 //! - [`RefungibleHandle`]
 //! - [`Pallet`]
-//! - [`CommonWeights`]
+//! - [`CommonWeights`](common::CommonWeights)
 //!
 //! ## Overview
 //!
@@ -119,6 +119,8 @@
 pub mod weights;
 pub(crate) type SelfWeightOf<T> = <T as Config>::WeightInfo;
 
+/// Token data, stored independently from other data used to describe it
+/// for the convenience of database access. Notably contains the token metadata.
 #[struct_versioning::versioned(version = 2, upper)]
 #[derive(Encode, Decode, Default, TypeInfo, MaxEncodedLen)]
 pub struct ItemData {
@@ -143,13 +145,13 @@
 	pub enum Error<T> {
 		/// Not Refungible item data used to mint in Refungible collection.
 		NotRefungibleDataUsedToMintFungibleCollectionToken,
-		/// Maximum refungibility exceeded
+		/// Maximum refungibility exceeded.
 		WrongRefungiblePieces,
-		/// Refungible token can't be repartitioned by user who isn't owns all pieces
+		/// Refungible token can't be repartitioned by user who isn't owns all pieces.
 		RepartitionWhileNotOwningAllPieces,
-		/// Refungible token can't nest other tokens
+		/// Refungible token can't nest other tokens.
 		RefungibleDisallowsNesting,
-		/// Setting item properties is not allowed
+		/// Setting item properties is not allowed.
 		SettingPropertiesNotAllowed,
 	}
 
@@ -167,17 +169,17 @@
 	#[pallet::generate_store(pub(super) trait Store)]
 	pub struct Pallet<T>(_);
 
-	/// Amount of tokens minted for collection
+	/// Total amount of minted tokens in a collection.
 	#[pallet::storage]
 	pub type TokensMinted<T: Config> =
 		StorageMap<Hasher = Twox64Concat, Key = CollectionId, Value = u32, QueryKind = ValueQuery>;
 
-	/// Amount of burnt tokens for collection
+	/// Amount of tokens burnt in a collection.
 	#[pallet::storage]
 	pub type TokensBurnt<T: Config> =
 		StorageMap<Hasher = Twox64Concat, Key = CollectionId, Value = u32, QueryKind = ValueQuery>;
 
-	/// Custom data serialized to bytes for token
+	/// Token data, used to partially describe a token.
 	#[pallet::storage]
 	pub type TokenData<T: Config> = StorageNMap<
 		Key = (Key<Twox64Concat, CollectionId>, Key<Twox64Concat, TokenId>),
@@ -185,6 +187,7 @@
 		QueryKind = ValueQuery,
 	>;
 
+	/// Amount of pieces a refungible token is split into.
 	#[pallet::storage]
 	#[pallet::getter(fn token_properties)]
 	pub type TokenProperties<T: Config> = StorageNMap<
@@ -202,7 +205,7 @@
 		QueryKind = ValueQuery,
 	>;
 
-	/// Used to enumerate tokens owned by account
+	/// Used to enumerate tokens owned by account.
 	#[pallet::storage]
 	pub type Owned<T: Config> = StorageNMap<
 		Key = (
@@ -214,7 +217,7 @@
 		QueryKind = ValueQuery,
 	>;
 
-	/// Amount of tokens owned by account
+	/// Amount of tokens (not pieces) partially owned by an account within a collection.
 	#[pallet::storage]
 	pub type AccountBalance<T: Config> = StorageNMap<
 		Key = (
@@ -226,7 +229,7 @@
 		QueryKind = ValueQuery,
 	>;
 
-	/// Amount of token pieces owned by account
+	/// Amount of token pieces owned by account.
 	#[pallet::storage]
 	pub type Balance<T: Config> = StorageNMap<
 		Key = (
@@ -239,7 +242,7 @@
 		QueryKind = ValueQuery,
 	>;
 
-	/// Allowance set by an owner for a spender for a token
+	/// Allowance set by a token owner for another user to perform one of certain transactions on a number of pieces of a token.
 	#[pallet::storage]
 	pub type Allowance<T: Config> = StorageNMap<
 		Key = (
modifiedpallets/scheduler/src/lib.rsdiffbeforeafterboth
--- a/pallets/scheduler/src/lib.rs
+++ b/pallets/scheduler/src/lib.rs
@@ -24,7 +24,7 @@
 // you may not use this file except in compliance with the License.
 // You may obtain a copy of the License at
 //
-// 	http://www.apache.org/licenses/LICENSE-2.0
+// 	<http://www.apache.org/licenses/LICENSE-2.0>
 //
 // Unless required by applicable law or agreed to in writing, software
 // distributed under the License is distributed on an "AS IS" BASIS,
@@ -50,7 +50,7 @@
 //! Also possible to book a call with a certain frequency.
 //!
 //! Key differences from the original pallet:
-//! https://crates.io/crates/pallet-scheduler
+//! <https://crates.io/crates/pallet-scheduler>
 //! Schedule Id restricted by 16 bytes. Identificator for booked call.
 //! Priority limited by HARD DEADLINE (<= 63). Calls over maximum weight don't include to block.
 //! The maximum weight that may be scheduled per block for any dispatchables of less priority than `schedule::HARD_DEADLINE`.
@@ -267,6 +267,7 @@
 
 	/// A Scheduler-Runtime interface for finer payment handling.
 	pub trait DispatchCall<T: frame_system::Config + Config, SelfContainedSignedInfo> {
+		/// Reserve (lock) the maximum spendings on a call, calculated from its weight and the repetition count.
 		fn reserve_balance(
 			id: ScheduledId,
 			sponsor: <T as frame_system::Config>::AccountId,
@@ -274,7 +275,7 @@
 			count: u32,
 		) -> Result<(), DispatchError>;
 
-		/// Unlock centain amount from payer
+		/// Unreserve (unlock) a certain amount from the payer's reserved funds, returning the change.
 		fn pay_for_call(
 			id: ScheduledId,
 			sponsor: <T as frame_system::Config>::AccountId,
@@ -290,6 +291,7 @@
 			TransactionValidityError,
 		>;
 
+		/// Release unspent reserved funds in case of a schedule cancel.
 		fn cancel_reserve(
 			id: ScheduledId,
 			sponsor: <T as frame_system::Config>::AccountId,
@@ -494,9 +496,8 @@
 					Agenda::<T>::append(wake, Some(s));
 				}
 			}
-			/// Weight should be 0, because transaction already paid
+			// Total weight should be 0, because the transaction is already paid for
 			0
-			//total_weight
 		}
 	}
 
modifiedpallets/structure/src/lib.rsdiffbeforeafterboth
--- a/pallets/structure/src/lib.rs
+++ b/pallets/structure/src/lib.rs
@@ -78,19 +78,19 @@
 
 	#[pallet::error]
 	pub enum Error<T> {
-		/// While searched for owner, got already checked account
+		/// While nesting, encountered an already checked account, detecting a loop.
 		OuroborosDetected,
-		/// While searched for owner, encountered depth limit
+		/// While nesting, reached the depth limit of nesting, exceeding the provided budget.
 		DepthLimit,
-		/// While iterating over children, encountered breadth limit
+		/// While nesting, reached the breadth limit of nesting, exceeding the provided budget.
 		BreadthLimit,
-		/// While searched for owner, found token owner by not-yet-existing token
+		/// Couldn't find the token owner that is itself a token.
 		TokenNotFound,
 	}
 
 	#[pallet::event]
 	pub enum Event<T> {
-		/// Executed call on behalf of token
+		/// Executed call on behalf of the token.
 		Executed(DispatchResult),
 	}
 
@@ -126,11 +126,11 @@
 
 #[derive(PartialEq)]
 pub enum Parent<CrossAccountId> {
-	/// Token owned by normal account
+	/// Token owned by a normal account.
 	User(CrossAccountId),
-	/// Passed token not found
+	/// Could not find the token provided as the owner.
 	TokenNotFound,
-	/// Token owner is another token (target token still may not exist)
+	/// Token owner is another token (still, the target token may not exist).
 	Token(CollectionId, TokenId),
 }
 
modifiedpallets/unique/src/eth/mod.rsdiffbeforeafterboth
--- a/pallets/unique/src/eth/mod.rs
+++ b/pallets/unique/src/eth/mod.rs
@@ -14,6 +14,8 @@
 // You should have received a copy of the GNU General Public License
 // along with Unique Network. If not, see <http://www.gnu.org/licenses/>.
 
+//! Implementation of CollectionHelpers contract.
+
 use core::marker::PhantomData;
 use evm_coder::{execution::*, generate_stubgen, solidity_interface, weight, types::*};
 use ethereum as _;
@@ -33,7 +35,8 @@
 use sp_std::vec::Vec;
 use alloc::format;
 
-struct EvmCollectionHelpers<T: Config>(SubstrateRecorder<T>);
+/// See [`CollectionHelpersCall`]
+pub struct EvmCollectionHelpers<T: Config>(SubstrateRecorder<T>);
 impl<T: Config> WithRecorder<T> for EvmCollectionHelpers<T> {
 	fn recorder(&self) -> &SubstrateRecorder<T> {
 		&self.0
@@ -44,8 +47,14 @@
 	}
 }
 
+/// @title Contract, which allows users to operate with collections
 #[solidity_interface(name = "CollectionHelpers", events(CollectionHelpersEvents))]
 impl<T: Config + pallet_nonfungible::Config> EvmCollectionHelpers<T> {
+	/// Create an NFT collection
+	/// @param name Name of the collection
+	/// @param description Informative description of the collection
+	/// @param token_prefix Token prefix to represent the collection tokens in UI and user applications
+	/// @return address Address of the newly created collection
 	#[weight(<SelfWeightOf<T>>::create_collection())]
 	fn create_nonfungible_collection(
 		&mut self,
@@ -100,6 +109,9 @@
 		Ok(address)
 	}
 
+	/// Check if a collection exists
+	/// @param collection_address Address of the collection in question
+	/// @return bool Does the collection exist?
 	fn is_collection_exist(&self, _caller: caller, collection_address: address) -> Result<bool> {
 		if let Some(id) = pallet_common::eth::map_eth_to_id(&collection_address) {
 			let collection_id = id;
@@ -110,6 +122,7 @@
 	}
 }
 
+/// Implements [`OnMethodCall`], which delegates call to [`EvmCollectionHelpers`]
 pub struct CollectionHelpersOnMethodCall<T: Config>(PhantomData<*const T>);
 impl<T: Config + pallet_nonfungible::Config> OnMethodCall<T> for CollectionHelpersOnMethodCall<T> {
 	fn is_reserved(contract: &sp_core::H160) -> bool {
modifiedpallets/unique/src/lib.rsdiffbeforeafterboth
--- a/pallets/unique/src/lib.rs
+++ b/pallets/unique/src/lib.rs
@@ -14,6 +14,55 @@
 // You should have received a copy of the GNU General Public License
 // along with Unique Network. If not, see <http://www.gnu.org/licenses/>.
 
+//! # Unique Pallet
+//!
+//! A pallet governing Unique transactions.
+//!
+//! - [`Config`]
+//! - [`Call`]
+//! - [`Pallet`]
+//!
+//! ## Overview
+//!
+//! The Unique pallet's purpose is to be the primary interface between
+//! external users and the inner structure of the Unique chains.
+//!
+//! It also contains an implementation of [`CollectionHelpers`][`eth`],
+//! an Ethereum contract dealing with collection operations.
+//!
+//! ## Interface
+//!
+//! ### Dispatchables
+//!
+//! - `create_collection` - Create a collection of tokens. **Deprecated**, use `create_collection_ex`.
+//! - `create_collection_ex` - Create a collection of tokens with explicit parameters.
+//! - `destroy_collection` - Destroy a collection if no tokens exist within.
+//! - `add_to_allow_list` - Add an address to allow list.
+//! - `remove_from_allow_list` - Remove an address from allow list.
+//! - `change_collection_owner` - Change the owner of the collection.
+//! - `add_collection_admin` - Add an admin to a collection.
+//! - `remove_collection_admin` - Remove admin of a collection.
+//! - `set_collection_sponsor` - Invite a new collection sponsor.
+//! - `confirm_sponsorship` - Confirm own sponsorship of a collection, becoming the sponsor.
+//! - `remove_collection_sponsor` - Remove a sponsor from a collection.
+//! - `create_item` - Create an item within a collection.
+//! - `create_multiple_items` - Create multiple items within a collection.
+//! - `set_collection_properties` - Add or change collection properties.
+//! - `delete_collection_properties` - Delete specified collection properties.
+//! - `set_token_properties` - Add or change token properties.
+//! - `delete_token_properties` - Delete token properties.
+//! - `set_token_property_permissions` - Add or change token property permissions of a collection.
+//! - `create_multiple_items_ex` - Create multiple items within a collection with explicitly specified initial parameters.
+//! - `set_transfers_enabled_flag` - Completely allow or disallow transfers for a particular collection.
+//! - `burn_item` - Destroy an item.
+//! - `burn_from` - Destroy an item on behalf of the owner as a non-owner account.
+//! - `transfer` - Change ownership of the token.
+//! - `transfer_from` - Change ownership of the token on behalf of the owner as a non-owner account.
+//! - `approve` - Allow a non-permissioned address to transfer or burn an item.
+//! - `set_collection_limits` - Set specific limits of a collection.
+//! - `set_collection_permissions` - Set specific permissions of a collection.
+//! - `repartition` - Re-partition a refungible token, while owning all of its parts.
+
 #![recursion_limit = "1024"]
 #![cfg_attr(not(feature = "std"), no_std)]
 #![allow(
@@ -54,28 +103,35 @@
 pub mod weights;
 use weights::WeightInfo;
 
-const NESTING_BUDGET: u32 = 5;
+/// Maximum number of levels of depth in the token nesting tree.
+pub const NESTING_BUDGET: u32 = 5;
 
 decl_error! {
-	/// Error for non-fungible-token module.
+	/// Errors for the common Unique transactions.
 	pub enum Error for Module<T: Config> {
-		/// Decimal_points parameter must be lower than MAX_DECIMAL_POINTS constant, currently it is 30.
+		/// Decimal_points parameter must be lower than [`up_data_structs::MAX_DECIMAL_POINTS`].
 		CollectionDecimalPointLimitExceeded,
 		/// This address is not set as sponsor, use setCollectionSponsor first.
 		ConfirmUnsetSponsorFail,
 		/// Length of items properties must be greater than 0.
 		EmptyArgument,
-		/// Repertition is only supported by refungible collection
+		/// Repertition is only supported by refungible collection.
 		RepartitionCalledOnNonRefungibleCollection,
 	}
 }
 
+/// Configuration trait of this pallet.
 pub trait Config: system::Config + pallet_common::Config + Sized + TypeInfo {
+	/// Overarching event type.
 	type Event: From<Event<Self>> + Into<<Self as frame_system::Config>::Event>;
 
 	/// Weight information for extrinsics in this pallet.
 	type WeightInfo: WeightInfo;
+
+	/// Weight information for common pallet operations.
 	type CommonWeightInfo: CommonWeightInfo<Self::CrossAccountId>;
+
+	/// Weight info information for extra refungible pallet operations.
 	type RefungibleExtensionsWeightInfo: RefungibleExtensionsWeightInfo;
 }
 
@@ -88,80 +144,68 @@
 		/// Collection sponsor was removed
 		///
 		/// # Arguments
-		///
-		/// * collection_id: Globally unique collection identifier.
+		/// * collection_id: ID of the affected collection.
 		CollectionSponsorRemoved(CollectionId),
 
 		/// Collection admin was added
 		///
 		/// # Arguments
-		///
-		/// * collection_id: Globally unique collection identifier.
-		///
-		/// * admin:  Admin address.
+		/// * collection_id: ID of the affected collection.
+		/// * admin: Admin address.
 		CollectionAdminAdded(CollectionId, CrossAccountId),
 
-		/// Collection owned was change
+		/// Collection owned was changed
 		///
 		/// # Arguments
-		///
-		/// * collection_id: Globally unique collection identifier.
-		///
-		/// * owner:  New owner address.
+		/// * collection_id: ID of the affected collection.
+		/// * owner: New owner address.
 		CollectionOwnedChanged(CollectionId, AccountId),
 
 		/// Collection sponsor was set
 		///
 		/// # Arguments
-		///
-		/// * collection_id: Globally unique collection identifier.
-		///
-		/// * owner:  New sponsor address.
+		/// * collection_id: ID of the affected collection.
+		/// * owner: New sponsor address.
 		CollectionSponsorSet(CollectionId, AccountId),
 
 		/// New sponsor was confirm
 		///
 		/// # Arguments
-		///
-		/// * collection_id: Globally unique collection identifier.
-		///
-		/// * sponsor:  New sponsor address.
+		/// * collection_id: ID of the affected collection.
+		/// * sponsor: New sponsor address.
 		SponsorshipConfirmed(CollectionId, AccountId),
 
 		/// Collection admin was removed
 		///
 		/// # Arguments
-		///
-		/// * collection_id: Globally unique collection identifier.
-		///
-		/// * admin:  Admin address.
+		/// * collection_id: ID of the affected collection.
+		/// * admin: Removed admin address.
 		CollectionAdminRemoved(CollectionId, CrossAccountId),
 
-		/// Address was remove from allow list
+		/// Address was removed from the allow list
 		///
 		/// # Arguments
-		///
-		/// * collection_id: Globally unique collection identifier.
-		///
-		/// * user:  Address.
+		/// * collection_id: ID of the affected collection.
+		/// * user: Address of the removed account.
 		AllowListAddressRemoved(CollectionId, CrossAccountId),
 
-		/// Address was add to allow list
+		/// Address was added to the allow list
 		///
 		/// # Arguments
-		///
-		/// * collection_id: Globally unique collection identifier.
-		///
-		/// * user:  Address.
+		/// * collection_id: ID of the affected collection.
+		/// * user: Address of the added account.
 		AllowListAddressAdded(CollectionId, CrossAccountId),
 
-		/// Collection limits was set
+		/// Collection limits were set
 		///
 		/// # Arguments
-		///
-		/// * collection_id: Globally unique collection identifier.
+		/// * collection_id: ID of the affected collection.
 		CollectionLimitSet(CollectionId),
 
+		/// Collection permissions were set
+		///
+		/// # Arguments
+		/// * collection_id: ID of the affected collection.
 		CollectionPermissionSet(CollectionId),
 	}
 }
@@ -198,7 +242,7 @@
 		ChainVersion: u64;
 		//#endregion
 
-		//#region Tokens transfer rate limit baskets
+		//#region Tokens transfer sponosoring rate limit baskets
 		/// (Collection id (controlled?2), who created (real))
 		/// TODO: Off chain worker should remove from this map when collection gets removed
 		pub CreateItemBasket get(fn create_item_basket): map hasher(blake2_128_concat) (CollectionId, T::AccountId) => Option<T::BlockNumber>;
@@ -214,16 +258,20 @@
 		/// Collection id (controlled?2), token id (controlled?2)
 		#[deprecated]
 		pub VariableMetaDataBasket get(fn variable_meta_data_basket): double_map hasher(blake2_128_concat) CollectionId, hasher(blake2_128_concat) TokenId => Option<T::BlockNumber>;
+		/// Last sponsoring of token property setting // todo:doc rephrase this and the following
 		pub TokenPropertyBasket get(fn token_property_basket): double_map hasher(blake2_128_concat) CollectionId, hasher(blake2_128_concat) TokenId => Option<T::BlockNumber>;
 
-		/// Approval sponsoring
+		/// Last sponsoring of NFT approval in a collection
 		pub NftApproveBasket get(fn nft_approve_basket): double_map hasher(blake2_128_concat) CollectionId, hasher(blake2_128_concat) TokenId => Option<T::BlockNumber>;
+		/// Last sponsoring of fungible tokens approval in a collection
 		pub FungibleApproveBasket get(fn fungible_approve_basket): double_map hasher(blake2_128_concat) CollectionId, hasher(twox_64_concat) T::AccountId => Option<T::BlockNumber>;
+		/// Last sponsoring of RFT approval in a collection
 		pub RefungibleApproveBasket get(fn refungible_approve_basket): nmap hasher(blake2_128_concat) CollectionId, hasher(blake2_128_concat) TokenId, hasher(twox_64_concat) T::AccountId => Option<T::BlockNumber>;
 	}
 }
 
 decl_module! {
+	/// Type alias to Pallet, to be used by construct_runtime.
 	pub struct Module<T: Config> for enum Call
 	where
 		origin: T::Origin
@@ -244,30 +292,38 @@
 			0
 		}
 
-		/// This method creates a Collection of NFTs. Each Token may have multiple properties encoded as an array of bytes of certain length. The initial owner of the collection is set to the address that signed the transaction and can be changed later.
-		///
-		/// # Permissions
+		/// Create a collection of tokens.
 		///
-		/// * Anyone.
+		/// Each Token may have multiple properties encoded as an array of bytes
+		/// of certain length. The initial owner of the collection is set
+		/// to the address that signed the transaction and can be changed later.
 		///
-		/// # Arguments
+		/// Prefer the more advanced [`create_collection_ex`][`Pallet::create_collection_ex`] instead.
 		///
-		/// * collection_name: UTF-16 string with collection name (limit 64 characters), will be stored as zero-terminated.
+		/// # Permissions
 		///
-		/// * collection_description: UTF-16 string with collection description (limit 256 characters), will be stored as zero-terminated.
+		/// * Anyone - becomes the owner of the new collection.
 		///
-		/// * token_prefix: UTF-8 string with token prefix.
+		/// # Arguments
 		///
-		/// * mode: [CollectionMode] collection type and type dependent data.
+		/// * `collection_name`: Wide-character string with collection name
+		/// (limit [`MAX_COLLECTION_NAME_LENGTH`]).
+		/// * `collection_description`: Wide-character string with collection description
+		/// (limit [`MAX_COLLECTION_DESCRIPTION_LENGTH`]).
+		/// * `token_prefix`: Byte string containing the token prefix to mark a collection
+		/// to which a token belongs (limit [`MAX_TOKEN_PREFIX_LENGTH`]).
+		/// * `mode`: Type of items stored in the collection and type dependent data.
 		// returns collection ID
 		#[weight = <SelfWeightOf<T>>::create_collection()]
 		#[transactional]
-		#[deprecated]
-		pub fn create_collection(origin,
-								 collection_name: BoundedVec<u16, ConstU32<MAX_COLLECTION_NAME_LENGTH>>,
-								 collection_description: BoundedVec<u16, ConstU32<MAX_COLLECTION_DESCRIPTION_LENGTH>>,
-								 token_prefix: BoundedVec<u8, ConstU32<MAX_TOKEN_PREFIX_LENGTH>>,
-								 mode: CollectionMode) -> DispatchResult  {
+		#[deprecated(note = "`create_collection_ex` is more up-to-date and advanced, prefer it instead")]
+		pub fn create_collection(
+			origin,
+			collection_name: BoundedVec<u16, ConstU32<MAX_COLLECTION_NAME_LENGTH>>,
+			collection_description: BoundedVec<u16, ConstU32<MAX_COLLECTION_DESCRIPTION_LENGTH>>,
+			token_prefix: BoundedVec<u8, ConstU32<MAX_TOKEN_PREFIX_LENGTH>>,
+			mode: CollectionMode
+		) -> DispatchResult {
 			let data: CreateCollectionData<T::AccountId> = CreateCollectionData {
 				name: collection_name,
 				description: collection_description,
@@ -278,9 +334,17 @@
 			Self::create_collection_ex(origin, data)
 		}
 
-		/// This method creates a collection
+		/// Create a collection with explicit parameters.
+		///
+		/// Prefer it to the deprecated [`create_collection`][`Pallet::create_collection`] method.
+		///
+		/// # Permissions
+		///
+		/// * Anyone - becomes the owner of the new collection.
 		///
-		/// Prefer it to deprecated [`created_collection`] method
+		/// # Arguments
+		///
+		/// * `data`: Explicit data of a collection used for its creation.
 		#[weight = <SelfWeightOf<T>>::create_collection()]
 		#[transactional]
 		pub fn create_collection_ex(origin, data: CreateCollectionData<T::AccountId>) -> DispatchResult {
@@ -293,15 +357,15 @@
 			Ok(())
 		}
 
-		/// Destroys collection if no tokens within this collection
+		/// Destroy a collection if no tokens exist within.
 		///
 		/// # Permissions
 		///
-		/// * Collection Owner.
+		/// * Collection owner
 		///
 		/// # Arguments
 		///
-		/// * collection_id: collection to destroy.
+		/// * `collection_id`: Collection to destroy.
 		#[weight = <SelfWeightOf<T>>::destroy_collection()]
 		#[transactional]
 		pub fn destroy_collection(origin, collection_id: CollectionId) -> DispatchResult {
@@ -328,14 +392,13 @@
 		///
 		/// # Permissions
 		///
-		/// * Collection Owner
-		/// * Collection Admin
+		/// * Collection owner
+		/// * Collection admin
 		///
 		/// # Arguments
 		///
-		/// * collection_id.
-		///
-		/// * address.
+		/// * `collection_id`: ID of the modified collection.
+		/// * `address`: ID of the address to be added to the allowlist.
 		#[weight = <SelfWeightOf<T>>::add_to_allow_list()]
 		#[transactional]
 		pub fn add_to_allow_list(origin, collection_id: CollectionId, address: T::CrossAccountId) -> DispatchResult{
@@ -363,14 +426,13 @@
 		///
 		/// # Permissions
 		///
-		/// * Collection Owner
-		/// * Collection Admin
+		/// * Collection owner
+		/// * Collection admin
 		///
 		/// # Arguments
 		///
-		/// * collection_id.
-		///
-		/// * address.
+		/// * `collection_id`: ID of the modified collection.
+		/// * `address`: ID of the address to be removed from the allowlist.
 		#[weight = <SelfWeightOf<T>>::remove_from_allow_list()]
 		#[transactional]
 		pub fn remove_from_allow_list(origin, collection_id: CollectionId, address: T::CrossAccountId) -> DispatchResult{
@@ -398,13 +460,12 @@
 		///
 		/// # Permissions
 		///
-		/// * Collection Owner.
+		/// * Collection owner
 		///
 		/// # Arguments
 		///
-		/// * collection_id.
-		///
-		/// * new_owner.
+		/// * `collection_id`: ID of the modified collection.
+		/// * `new_owner`: ID of the account that will become the owner.
 		#[weight = <SelfWeightOf<T>>::change_collection_owner()]
 		#[transactional]
 		pub fn change_collection_owner(origin, collection_id: CollectionId, new_owner: T::AccountId) -> DispatchResult {
@@ -424,46 +485,51 @@
 			target_collection.save()
 		}
 
-		/// Adds an admin of the Collection.
-		/// NFT Collection can be controlled by multiple admin addresses (some which can also be servers, for example). Admins can issue and burn NFTs, as well as add and remove other admins, but cannot change NFT or Collection ownership.
+		/// Add an admin to a collection.
 		///
+		/// NFT Collection can be controlled by multiple admin addresses
+		/// (some which can also be servers, for example). Admins can issue
+		/// and burn NFTs, as well as add and remove other admins,
+		/// but cannot change NFT or Collection ownership.
+		///
 		/// # Permissions
 		///
-		/// * Collection Owner.
-		/// * Collection Admin.
+		/// * Collection owner
+		/// * Collection admin
 		///
 		/// # Arguments
 		///
-		/// * collection_id: ID of the Collection to add admin for.
-		///
-		/// * new_admin_id: Address of new admin to add.
+		/// * `collection_id`: ID of the Collection to add an admin for.
+		/// * `new_admin`: Address of new admin to add.
 		#[weight = <SelfWeightOf<T>>::add_collection_admin()]
 		#[transactional]
-		pub fn add_collection_admin(origin, collection_id: CollectionId, new_admin_id: T::CrossAccountId) -> DispatchResult {
+		pub fn add_collection_admin(origin, collection_id: CollectionId, new_admin: T::CrossAccountId) -> DispatchResult {
 			let sender = T::CrossAccountId::from_sub(ensure_signed(origin)?);
 			let collection = <CollectionHandle<T>>::try_get(collection_id)?;
 			collection.check_is_internal()?;
 
 			<Pallet<T>>::deposit_event(Event::<T>::CollectionAdminAdded(
 				collection_id,
-				new_admin_id.clone()
+				new_admin.clone()
 			));
 
-			<PalletCommon<T>>::toggle_admin(&collection, &sender, &new_admin_id, true)
+			<PalletCommon<T>>::toggle_admin(&collection, &sender, &new_admin, true)
 		}
 
-		/// Remove admin address of the Collection. An admin address can remove itself. List of admins may become empty, in which case only Collection Owner will be able to add an Admin.
+		/// Remove admin of a collection.
+		///
+		/// An admin address can remove itself. List of admins may become empty,
+		/// in which case only Collection Owner will be able to add an Admin.
 		///
 		/// # Permissions
 		///
-		/// * Collection Owner.
-		/// * Collection Admin.
+		/// * Collection owner
+		/// * Collection admin
 		///
 		/// # Arguments
 		///
-		/// * collection_id: ID of the Collection to remove admin for.
-		///
-		/// * account_id: Address of admin to remove.
+		/// * `collection_id`: ID of the collection to remove the admin for.
+		/// * `account_id`: Address of the admin to remove.
 		#[weight = <SelfWeightOf<T>>::remove_collection_admin()]
 		#[transactional]
 		pub fn remove_collection_admin(origin, collection_id: CollectionId, account_id: T::CrossAccountId) -> DispatchResult {
@@ -479,15 +545,19 @@
 			<PalletCommon<T>>::toggle_admin(&collection, &sender, &account_id, false)
 		}
 
+		/// Set (invite) a new collection sponsor.
+		///
+		/// If successful, confirmation from the sponsor-to-be will be pending.
+		///
 		/// # Permissions
 		///
-		/// * Collection Owner
+		/// * Collection owner
+		/// * Collection admin
 		///
 		/// # Arguments
 		///
-		/// * collection_id.
-		///
-		/// * new_sponsor.
+		/// * `collection_id`: ID of the modified collection.
+		/// * `new_sponsor`: ID of the account of the sponsor-to-be.
 		#[weight = <SelfWeightOf<T>>::set_collection_sponsor()]
 		#[transactional]
 		pub fn set_collection_sponsor(origin, collection_id: CollectionId, new_sponsor: T::AccountId) -> DispatchResult {
@@ -507,13 +577,19 @@
 			target_collection.save()
 		}
 
+		/// Confirm own sponsorship of a collection, becoming the sponsor.
+		///
+		/// An invitation must be pending, see [`set_collection_sponsor`][`Pallet::set_collection_sponsor`].
+		/// Sponsor can pay the fees of a transaction instead of the sender,
+		/// but only within specified limits.
+		///
 		/// # Permissions
 		///
-		/// * Sponsor.
+		/// * Sponsor-to-be
 		///
 		/// # Arguments
 		///
-		/// * collection_id.
+		/// * `collection_id`: ID of the collection with the pending sponsor.
 		#[weight = <SelfWeightOf<T>>::confirm_sponsorship()]
 		#[transactional]
 		pub fn confirm_sponsorship(origin, collection_id: CollectionId) -> DispatchResult {
@@ -534,15 +610,15 @@
 			target_collection.save()
 		}
 
-		/// Switch back to pay-per-own-transaction model.
+		/// Remove a collection's a sponsor, making everyone pay for their own transactions.
 		///
 		/// # Permissions
 		///
-		/// * Collection owner.
+		/// * Collection owner
 		///
 		/// # Arguments
 		///
-		/// * collection_id.
+		/// * `collection_id`: ID of the collection with the sponsor to remove.
 		#[weight = <SelfWeightOf<T>>::remove_collection_sponsor()]
 		#[transactional]
 		pub fn remove_collection_sponsor(origin, collection_id: CollectionId) -> DispatchResult {
@@ -560,24 +636,24 @@
 			target_collection.save()
 		}
 
-		/// This method creates a concrete instance of NFT Collection created with CreateCollection method.
+		/// Mint an item within a collection.
+		///
+		/// A collection must exist first, see [`create_collection_ex`][`Pallet::create_collection_ex`].
 		///
 		/// # Permissions
 		///
-		/// * Collection Owner.
-		/// * Collection Admin.
+		/// * Collection owner
+		/// * Collection admin
 		/// * Anyone if
 		///     * Allow List is enabled, and
 		///     * Address is added to allow list, and
-		///     * MintPermission is enabled (see SetMintPermission method)
+		///     * MintPermission is enabled (see [`set_collection_permissions`][`Pallet::set_collection_permissions`])
 		///
 		/// # Arguments
-		///
-		/// * collection_id: ID of the collection.
 		///
-		/// * owner: Address, initial owner of the NFT.
-		///
-		/// * data: Token data to store on chain.
+		/// * `collection_id`: ID of the collection to which an item would belong.
+		/// * `owner`: Address of the initial owner of the item.
+		/// * `data`: Token data describing the item to store on chain.
 		#[weight = T::CommonWeightInfo::create_item()]
 		#[transactional]
 		pub fn create_item(origin, collection_id: CollectionId, owner: T::CrossAccountId, data: CreateItemData) -> DispatchResultWithPostInfo {
@@ -587,24 +663,24 @@
 			dispatch_tx::<T, _>(collection_id, |d| d.create_item(sender, owner, data, &budget))
 		}
 
-		/// This method creates multiple items in a collection created with CreateCollection method.
+		/// Create multiple items within a collection.
 		///
+		/// A collection must exist first, see [`create_collection_ex`][`Pallet::create_collection_ex`].
+		///
 		/// # Permissions
 		///
-		/// * Collection Owner.
-		/// * Collection Admin.
+		/// * Collection owner
+		/// * Collection admin
 		/// * Anyone if
 		///     * Allow List is enabled, and
-		///     * Address is added to allow list, and
-		///     * MintPermission is enabled (see SetMintPermission method)
+		///     * Address is added to the allow list, and
+		///     * MintPermission is enabled (see [`set_collection_permissions`][`Pallet::set_collection_permissions`])
 		///
 		/// # Arguments
 		///
-		/// * collection_id: ID of the collection.
-		///
-		/// * itemsData: Array items properties. Each property is an array of bytes itself, see [create_item].
-		///
-		/// * owner: Address, initial owner of the NFT.
+		/// * `collection_id`: ID of the collection to which the tokens would belong.
+		/// * `owner`: Address of the initial owner of the tokens.
+		/// * `items_data`: Vector of data describing each item to be created.
 		#[weight = T::CommonWeightInfo::create_multiple_items(&items_data)]
 		#[transactional]
 		pub fn create_multiple_items(origin, collection_id: CollectionId, owner: T::CrossAccountId, items_data: Vec<CreateItemData>) -> DispatchResultWithPostInfo {
@@ -615,6 +691,18 @@
 			dispatch_tx::<T, _>(collection_id, |d| d.create_multiple_items(sender, owner, items_data, &budget))
 		}
 
+		/// Add or change collection properties.
+		///
+		/// # Permissions
+		///
+		/// * Collection owner
+		/// * Collection admin
+		///
+		/// # Arguments
+		///
+		/// * `collection_id`: ID of the modified collection.
+		/// * `properties`: Vector of key-value pairs stored as the collection's metadata.
+		/// Keys support Latin letters, `-`, `_`, and `.` as symbols.
 		#[weight = T::CommonWeightInfo::set_collection_properties(properties.len() as u32)]
 		#[transactional]
 		pub fn set_collection_properties(
@@ -629,6 +717,18 @@
 			dispatch_tx::<T, _>(collection_id, |d| d.set_collection_properties(sender, properties))
 		}
 
+		/// Delete specified collection properties.
+		///
+		/// # Permissions
+		///
+		/// * Collection Owner
+		/// * Collection Admin
+		///
+		/// # Arguments
+		///
+		/// * `collection_id`: ID of the modified collection.
+		/// * `property_keys`: Vector of keys of the properties to be deleted.
+		/// Keys support Latin letters, `-`, `_`, and `.` as symbols.
 		#[weight = T::CommonWeightInfo::delete_collection_properties(property_keys.len() as u32)]
 		#[transactional]
 		pub fn delete_collection_properties(
@@ -643,6 +743,24 @@
 			dispatch_tx::<T, _>(collection_id, |d| d.delete_collection_properties(&sender, property_keys))
 		}
 
+		/// Add or change token properties according to collection's permissions.
+		/// Currently properties only work with NFTs.
+		///
+		/// # Permissions
+		///
+		/// * Depends on collection's token property permissions and specified property mutability:
+		/// 	* Collection owner
+		/// 	* Collection admin
+		/// 	* Token owner
+		///
+		/// See [`set_token_property_permissions`][`Pallet::set_token_property_permissions`].
+		///
+		/// # Arguments
+		///
+		/// * `collection_id: ID of the collection to which the token belongs.
+		/// * `token_id`: ID of the modified token.
+		/// * `properties`: Vector of key-value pairs stored as the token's metadata.
+		/// Keys support Latin letters, `-`, `_`, and `.` as symbols.
 		#[weight = T::CommonWeightInfo::set_token_properties(properties.len() as u32)]
 		#[transactional]
 		pub fn set_token_properties(
@@ -659,6 +777,21 @@
 			dispatch_tx::<T, _>(collection_id, |d| d.set_token_properties(sender, token_id, properties, &budget))
 		}
 
+		/// Delete specified token properties. Currently properties only work with NFTs.
+		///
+		/// # Permissions
+		///
+		/// * Depends on collection's token property permissions and specified property mutability:
+		/// 	* Collection owner
+		/// 	* Collection admin
+		/// 	* Token owner
+		///
+		/// # Arguments
+		///
+		/// * `collection_id`: ID of the collection to which the token belongs.
+		/// * `token_id`: ID of the modified token.
+		/// * `property_keys`: Vector of keys of the properties to be deleted.
+		/// Keys support Latin letters, `-`, `_`, and `.` as symbols.
 		#[weight = T::CommonWeightInfo::delete_token_properties(property_keys.len() as u32)]
 		#[transactional]
 		pub fn delete_token_properties(
@@ -675,6 +808,21 @@
 			dispatch_tx::<T, _>(collection_id, |d| d.delete_token_properties(sender, token_id, property_keys, &budget))
 		}
 
+		/// Add or change token property permissions of a collection.
+		///
+		/// Without a permission for a particular key, a property with that key
+		/// cannot be created in a token.
+		///
+		/// # Permissions
+		///
+		/// * Collection owner
+		/// * Collection admin
+		///
+		/// # Arguments
+		///
+		/// * `collection_id`: ID of the modified collection.
+		/// * `property_permissions`: Vector of permissions for property keys.
+		/// Keys support Latin letters, `-`, `_`, and `.` as symbols.
 		#[weight = T::CommonWeightInfo::set_token_property_permissions(property_permissions.len() as u32)]
 		#[transactional]
 		pub fn set_token_property_permissions(
@@ -689,6 +837,21 @@
 			dispatch_tx::<T, _>(collection_id, |d| d.set_token_property_permissions(&sender, property_permissions))
 		}
 
+		/// Create multiple items within a collection with explicitly specified initial parameters.
+		///
+		/// # Permissions
+		///
+		/// * Collection owner
+		/// * Collection admin
+		/// * Anyone if
+		///     * Allow List is enabled, and
+		///     * Address is added to allow list, and
+		///     * MintPermission is enabled (see [`set_collection_permissions`][`Pallet::set_collection_permissions`])
+		///
+		/// # Arguments
+		///
+		/// * `collection_id`: ID of the collection to which the tokens would belong.
+		/// * `data`: Explicit item creation data.
 		#[weight = T::CommonWeightInfo::create_multiple_items_ex(&data)]
 		#[transactional]
 		pub fn create_multiple_items_ex(origin, collection_id: CollectionId, data: CreateItemExData<T::CrossAccountId>) -> DispatchResultWithPostInfo {
@@ -698,17 +861,16 @@
 			dispatch_tx::<T, _>(collection_id, |d| d.create_multiple_items_ex(sender, data, &budget))
 		}
 
-		/// Set transfers_enabled value for particular collection
+		/// Completely allow or disallow transfers for a particular collection.
 		///
 		/// # Permissions
 		///
-		/// * Collection Owner.
+		/// * Collection owner
 		///
 		/// # Arguments
 		///
-		/// * collection_id: ID of the collection.
-		///
-		/// * value: New flag value.
+		/// * `collection_id`: ID of the collection.
+		/// * `value`: New value of the flag, are transfers allowed?
 		#[weight = <SelfWeightOf<T>>::set_transfers_enabled_flag()]
 		#[transactional]
 		pub fn set_transfers_enabled_flag(origin, collection_id: CollectionId, value: bool) -> DispatchResult {
@@ -723,19 +885,22 @@
 			target_collection.save()
 		}
 
-		/// Destroys a concrete instance of NFT.
+		/// Destroy an item.
 		///
 		/// # Permissions
 		///
-		/// * Collection Owner.
-		/// * Collection Admin.
-		/// * Current NFT Owner.
+		/// * Collection owner
+		/// * Collection admin
+		/// * Current item owner
 		///
 		/// # Arguments
 		///
-		/// * collection_id: ID of the collection.
-		///
-		/// * item_id: ID of NFT to burn.
+		/// * `collection_id`: ID of the collection to which the item belongs.
+		/// * `item_id`: ID of item to burn.
+		/// * `value`: Number of pieces of the item to destroy.
+		/// 	* Non-Fungible Mode: An NFT is indivisible, there is always 1 corresponding to an ID.
+		///     * Fungible Mode: The desired number of pieces to burn.
+		///     * Re-Fungible Mode: The desired number of pieces to burn.
 		#[weight = T::CommonWeightInfo::burn_item()]
 		#[transactional]
 		pub fn burn_item(origin, collection_id: CollectionId, item_id: TokenId, value: u128) -> DispatchResultWithPostInfo {
@@ -752,22 +917,29 @@
 			Ok(post_info)
 		}
 
-		/// Destroys a concrete instance of NFT on behalf of the owner
-		/// See also: [`approve`]
+		/// Destroy a token on behalf of the owner as a non-owner account.
+		///
+		/// See also: [`approve`][`Pallet::approve`].
+		///
+		/// After this method executes, one approval is removed from the total so that
+		/// the approved address will not be able to transfer this item again from this owner.
 		///
 		/// # Permissions
 		///
-		/// * Collection Owner.
-		/// * Collection Admin.
-		/// * Current NFT Owner.
+		/// * Collection owner
+		/// * Collection admin
+		/// * Current token owner
+		/// * Address approved by current item owner
 		///
 		/// # Arguments
 		///
-		/// * collection_id: ID of the collection.
-		///
-		/// * item_id: ID of NFT to burn.
-		///
-		/// * from: owner of item
+		/// * `from`: The owner of the burning item.
+		/// * `collection_id`: ID of the collection to which the item belongs.
+		/// * `item_id`: ID of item to burn.
+		/// * `value`: Number of pieces to burn.
+		/// 	* Non-Fungible Mode: An NFT is indivisible, there is always 1 corresponding to an ID.
+		///     * Fungible Mode: The desired number of pieces to burn.
+		///     * Re-Fungible Mode: The desired number of pieces to burn.
 		#[weight = T::CommonWeightInfo::burn_from()]
 		#[transactional]
 		pub fn burn_from(origin, collection_id: CollectionId, from: T::CrossAccountId, item_id: TokenId, value: u128) -> DispatchResultWithPostInfo {
@@ -781,25 +953,23 @@
 		///
 		/// # Permissions
 		///
-		/// * Collection Owner
-		/// * Collection Admin
-		/// * Current NFT owner
+		/// * Collection owner
+		/// * Collection admin
+		/// * Current token owner
 		///
 		/// # Arguments
-		///
-		/// * recipient: Address of token recipient.
 		///
-		/// * collection_id.
-		///
-		/// * item_id: ID of the item
+		/// * `recipient`: Address of token recipient.
+		/// * `collection_id`: ID of the collection the item belongs to.
+		/// * `item_id`: ID of the item.
 		///     * Non-Fungible Mode: Required.
 		///     * Fungible Mode: Ignored.
 		///     * Re-Fungible Mode: Required.
 		///
-		/// * value: Amount to transfer.
-		///     * Non-Fungible Mode: Ignored
-		///     * Fungible Mode: Must specify transferred amount
-		///     * Re-Fungible Mode: Must specify transferred portion (between 0 and 1)
+		/// * `value`: Amount to transfer.
+		/// 	* Non-Fungible Mode: An NFT is indivisible, there is always 1 corresponding to an ID.
+		///     * Fungible Mode: The desired number of pieces to transfer.
+		///     * Re-Fungible Mode: The desired number of pieces to transfer.
 		#[weight = T::CommonWeightInfo::transfer()]
 		#[transactional]
 		pub fn transfer(origin, recipient: T::CrossAccountId, collection_id: CollectionId, item_id: TokenId, value: u128) -> DispatchResultWithPostInfo {
@@ -809,21 +979,21 @@
 			dispatch_tx::<T, _>(collection_id, |d| d.transfer(sender, recipient, item_id, value, &budget))
 		}
 
-		/// Set, change, or remove approved address to transfer the ownership of the NFT.
+		/// Allow a non-permissioned address to transfer or burn an item.
 		///
 		/// # Permissions
 		///
-		/// * Collection Owner
-		/// * Collection Admin
-		/// * Current NFT owner
+		/// * Collection owner
+		/// * Collection admin
+		/// * Current item owner
 		///
 		/// # Arguments
 		///
-		/// * approved: Address that is approved to transfer this NFT or zero (if needed to remove approval).
-		///
-		/// * collection_id.
-		///
-		/// * item_id: ID of the item.
+		/// * `spender`: Account to be approved to make specific transactions on non-owned tokens.
+		/// * `collection_id`: ID of the collection the item belongs to.
+		/// * `item_id`: ID of the item transactions on which are now approved.
+		/// * `amount`: Number of pieces of the item approved for a transaction (maximum of 1 for NFTs).
+		/// Set to 0 to revoke the approval.
 		#[weight = T::CommonWeightInfo::approve()]
 		#[transactional]
 		pub fn approve(origin, spender: T::CrossAccountId, collection_id: CollectionId, item_id: TokenId, amount: u128) -> DispatchResultWithPostInfo {
@@ -832,25 +1002,30 @@
 			dispatch_tx::<T, _>(collection_id, |d| d.approve(sender, spender, item_id, amount))
 		}
 
-		/// Change ownership of a NFT on behalf of the owner. See Approve method for additional information. After this method executes, the approval is removed so that the approved address will not be able to transfer this NFT again from this owner.
+		/// Change ownership of an item on behalf of the owner as a non-owner account.
 		///
-		/// # Permissions
-		/// * Collection Owner
-		/// * Collection Admin
-		/// * Current NFT owner
-		/// * Address approved by current NFT owner
+		/// See the [`approve`][`Pallet::approve`] method for additional information.
 		///
-		/// # Arguments
+		/// After this method executes, one approval is removed from the total so that
+		/// the approved address will not be able to transfer this item again from this owner.
 		///
-		/// * from: Address that owns token.
+		/// # Permissions
 		///
-		/// * recipient: Address of token recipient.
+		/// * Collection owner
+		/// * Collection admin
+		/// * Current item owner
+		/// * Address approved by current item owner
 		///
-		/// * collection_id.
+		/// # Arguments
 		///
-		/// * item_id: ID of the item.
-		///
-		/// * value: Amount to transfer.
+		/// * `from`: Address that currently owns the token.
+		/// * `recipient`: Address of the new token-owner-to-be.
+		/// * `collection_id`: ID of the collection the item.
+		/// * `item_id`: ID of the item to be transferred.
+		/// * `value`: Amount to transfer.
+		/// 	* Non-Fungible Mode: An NFT is indivisible, there is always 1 corresponding to an ID.
+		///     * Fungible Mode: The desired number of pieces to transfer.
+		///     * Re-Fungible Mode: The desired number of pieces to transfer.
 		#[weight = T::CommonWeightInfo::transfer_from()]
 		#[transactional]
 		pub fn transfer_from(origin, from: T::CrossAccountId, recipient: T::CrossAccountId, collection_id: CollectionId, item_id: TokenId, value: u128 ) -> DispatchResultWithPostInfo {
@@ -860,6 +1035,18 @@
 			dispatch_tx::<T, _>(collection_id, |d| d.transfer_from(sender, from, recipient, item_id, value, &budget))
 		}
 
+		/// Set specific limits of a collection. Empty, or None fields mean chain default.
+		///
+		/// # Permissions
+		///
+		/// * Collection owner
+		/// * Collection admin
+		///
+		/// # Arguments
+		///
+		/// * `collection_id`: ID of the modified collection.
+		/// * `new_limit`: New limits of the collection. Fields that are not set (None)
+		/// will not overwrite the old ones.
 		#[weight = <SelfWeightOf<T>>::set_collection_limits()]
 		#[transactional]
 		pub fn set_collection_limits(
@@ -882,12 +1069,24 @@
 			target_collection.save()
 		}
 
+		/// Set specific permissions of a collection. Empty, or None fields mean chain default.
+		///
+		/// # Permissions
+		///
+		/// * Collection owner
+		/// * Collection admin
+		///
+		/// # Arguments
+		///
+		/// * `collection_id`: ID of the modified collection.
+		/// * `new_permission`: New permissions of the collection. Fields that are not set (None)
+		/// will not overwrite the old ones.
 		#[weight = <SelfWeightOf<T>>::set_collection_limits()]
 		#[transactional]
 		pub fn set_collection_permissions(
 			origin,
 			collection_id: CollectionId,
-			new_limit: CollectionPermissions,
+			new_permission: CollectionPermissions,
 		) -> DispatchResult {
 			let sender = T::CrossAccountId::from_sub(ensure_signed(origin)?);
 			let mut target_collection = <CollectionHandle<T>>::try_get(collection_id)?;
@@ -895,7 +1094,7 @@
 			target_collection.check_is_owner_or_admin(&sender)?;
 			let old_limit = &target_collection.permissions;
 
-			target_collection.permissions = <PalletCommon<T>>::clamp_permissions(target_collection.mode.clone(), &old_limit, new_limit)?;
+			target_collection.permissions = <PalletCommon<T>>::clamp_permissions(target_collection.mode.clone(), &old_limit, new_permission)?;
 
 			<Pallet<T>>::deposit_event(Event::<T>::CollectionPermissionSet(
 				collection_id
@@ -904,18 +1103,29 @@
 			target_collection.save()
 		}
 
+		/// Re-partition a refungible token, while owning all of its parts/pieces.
+		///
+		/// # Permissions
+		///
+		/// * Token owner (must own every part)
+		///
+		/// # Arguments
+		///
+		/// * `collection_id`: ID of the collection the RFT belongs to.
+		/// * `token_id`: ID of the RFT.
+		/// * `amount`: New number of parts/pieces into which the token shall be partitioned.
 		#[weight = T::RefungibleExtensionsWeightInfo::repartition()]
 		#[transactional]
 		pub fn repartition(
 			origin,
 			collection_id: CollectionId,
-			token: TokenId,
+			token_id: TokenId,
 			amount: u128,
 		) -> DispatchResultWithPostInfo {
 			let sender = T::CrossAccountId::from_sub(ensure_signed(origin)?);
 			dispatch_tx::<T, _>(collection_id, |d| {
 				if let Some(refungible_extensions) = d.refungible_extensions() {
-					refungible_extensions.repartition(&sender, token, amount)
+					refungible_extensions.repartition(&sender, token_id, amount)
 				} else {
 					fail!(<Error<T>>::RepartitionCalledOnNonRefungibleCollection)
 				}
modifiedprimitives/data-structs/src/lib.rsdiffbeforeafterboth
--- a/primitives/data-structs/src/lib.rs
+++ b/primitives/data-structs/src/lib.rs
@@ -197,7 +197,6 @@
 #[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]
 pub enum CollectionMode {
 	NFT,
-	// decimal points
 	Fungible(DecimalPoints),
 	ReFungible,
 }
@@ -252,12 +251,14 @@
 pub enum SponsorshipState<AccountId> {
 	/// The fees are applied to the transaction sender
 	Disabled,
+	/// Pending confirmation from a sponsor-to-be
 	Unconfirmed(AccountId),
 	/// Transactions are sponsored by specified account
 	Confirmed(AccountId),
 }
 
 impl<AccountId> SponsorshipState<AccountId> {
+	/// Get the acting sponsor account, if present
 	pub fn sponsor(&self) -> Option<&AccountId> {
 		match self {
 			Self::Confirmed(sponsor) => Some(sponsor),
@@ -265,6 +266,7 @@
 		}
 	}
 
+	/// Get the sponsor account currently pending confirmation, if present
 	pub fn pending_sponsor(&self) -> Option<&AccountId> {
 		match self {
 			Self::Unconfirmed(sponsor) | Self::Confirmed(sponsor) => Some(sponsor),
@@ -272,6 +274,7 @@
 		}
 	}
 
+	/// Is sponsorship set and acting
 	pub fn confirmed(&self) -> bool {
 		matches!(self, Self::Confirmed(_))
 	}
@@ -283,7 +286,7 @@
 	}
 }
 
-/// Used in storage
+/// Collection parameters, used in storage (see [`RpcCollection`] for the RPC version).
 #[struct_versioning::versioned(version = 2, upper)]
 #[derive(Encode, Decode, Clone, PartialEq, TypeInfo, MaxEncodedLen)]
 pub struct Collection<AccountId> {
@@ -324,7 +327,7 @@
 	pub meta_update_permission: MetaUpdatePermission,
 }
 
-/// Used in RPC calls
+/// Collection parameters, used in RPC calls (see [`Collection`] for the storage version).
 #[derive(Encode, Decode, Clone, PartialEq, TypeInfo)]
 #[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]
 pub struct RpcCollection<AccountId> {
@@ -362,26 +365,41 @@
 
 pub type CollectionPropertiesVec = BoundedVec<Property, ConstU32<MAX_PROPERTIES_PER_ITEM>>;
 
-/// All fields are wrapped in `Option`s, where None means chain default
-// When adding/removing fields from this struct - don't forget to also update clamp_limits
+/// Limits and restrictions of a collection.
+/// All fields are wrapped in `Option`s, where None means chain default.
+///
+/// todo:doc links to chain defaults
+// IMPORTANT: When adding/removing fields from this struct - don't forget to also
+// update clamp_limits() in pallet-common.
 #[derive(Encode, Decode, Debug, Default, Clone, PartialEq, TypeInfo, MaxEncodedLen)]
 #[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]
 pub struct CollectionLimits {
+	/// Maximum number of owned tokens per account. Chain default: [`ACCOUNT_TOKEN_OWNERSHIP_LIMIT`]
 	pub account_token_ownership_limit: Option<u32>,
+	/// Maximum size of data in bytes of a sponsored transaction. Chain default: [`CUSTOM_DATA_LIMIT`]
 	pub sponsored_data_size: Option<u32>,
 
 	/// FIXME should we delete this or repurpose it?
 	/// None - setVariableMetadata is not sponsored
 	/// Some(v) - setVariableMetadata is sponsored
 	///           if there is v block between txs
+	///
+	/// In any case, chain default: [`SponsoringRateLimit::SponsoringDisabled`]
 	pub sponsored_data_rate_limit: Option<SponsoringRateLimit>,
+	/// Maximum amount of tokens inside the collection. Chain default: [`COLLECTION_TOKEN_LIMIT`]
 	pub token_limit: Option<u32>,
 
-	// Timeouts for item types in passed blocks
+	/// Timeout for sponsoring a token transfer in passed blocks. Chain default:
+	/// either [`NFT_SPONSOR_TRANSFER_TIMEOUT`], [`FUNGIBLE_SPONSOR_TRANSFER_TIMEOUT`], or [`REFUNGIBLE_SPONSOR_TRANSFER_TIMEOUT`],
+	/// depending on the collection type.
 	pub sponsor_transfer_timeout: Option<u32>,
+	/// Timeout for sponsoring an approval in passed blocks. Chain default: [`SPONSOR_APPROVE_TIMEOUT`]
 	pub sponsor_approve_timeout: Option<u32>,
+	/// Can a token be transferred by the owner. Chain default: `false`
 	pub owner_can_transfer: Option<bool>,
+	/// Can a token be burned by the owner. Chain default: `true`
 	pub owner_can_destroy: Option<bool>,
+	/// Can a token be transferred at all. Chain default: `true`
 	pub transfers_enabled: Option<bool>,
 }
 
@@ -434,7 +452,10 @@
 	}
 }
 
-// When adding/removing fields from this struct - don't forget to also update clamp_limits
+/// Permissions on certain operations within a collection.
+/// All fields are wrapped in `Option`s, where None means chain default.
+// IMPORTANT: When adding/removing fields from this struct - don't forget to also
+// update clamp_limits() in pallet-common.
 #[derive(Encode, Decode, Debug, Default, Clone, PartialEq, TypeInfo, MaxEncodedLen)]
 #[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]
 pub struct CollectionPermissions {
@@ -489,6 +510,7 @@
 	}
 }
 
+/// Part of collection permissions, if set, defines who is able to nest tokens into other tokens.
 #[derive(Encode, Decode, Clone, PartialEq, TypeInfo, MaxEncodedLen, Derivative)]
 #[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]
 #[derivative(Debug)]
@@ -505,38 +527,49 @@
 	pub permissive: bool,
 }
 
+/// Enum denominating how often can sponsoring occur if it is enabled.
 #[derive(Encode, Decode, Debug, Clone, Copy, PartialEq, TypeInfo, MaxEncodedLen)]
 #[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]
 pub enum SponsoringRateLimit {
+	/// Sponsoring is disabled, and the collection sponsor will not pay for transactions
 	SponsoringDisabled,
+	/// Once per how many blocks can sponsorship of a transaction type occur
 	Blocks(u32),
 }
 
+/// Data used to describe an NFT at creation.
 #[derive(Encode, Decode, MaxEncodedLen, Default, PartialEq, Clone, Derivative, TypeInfo)]
 #[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]
 #[derivative(Debug)]
 pub struct CreateNftData {
+	/// Key-value pairs used to describe the token as metadata
 	#[cfg_attr(feature = "serde1", serde(with = "bounded::vec_serde"))]
 	#[derivative(Debug(format_with = "bounded::vec_debug"))]
 	pub properties: CollectionPropertiesVec,
 }
 
+/// Data used to describe a Fungible token at creation.
 #[derive(Encode, Decode, MaxEncodedLen, Default, Debug, Clone, PartialEq, TypeInfo)]
 #[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]
 pub struct CreateFungibleData {
+	/// Number of fungible coins minted
 	pub value: u128,
 }
 
+/// Data used to describe a Refungible token at creation.
 #[derive(Encode, Decode, MaxEncodedLen, Default, PartialEq, Clone, Derivative, TypeInfo)]
 #[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]
 #[derivative(Debug)]
 pub struct CreateReFungibleData {
+	/// Immutable metadata of the token
 	#[cfg_attr(feature = "serde1", serde(with = "bounded::vec_serde"))]
 	#[derivative(Debug(format_with = "bounded::vec_debug"))]
 	pub const_data: BoundedVec<u8, CustomDataLimit>,
 
+	/// Number of pieces the RFT is split into
 	pub pieces: u128,
 
+	/// Key-value pairs used to describe the token as metadata
 	#[cfg_attr(feature = "serde1", serde(with = "bounded::vec_serde"))]
 	#[derivative(Debug(format_with = "bounded::vec_debug"))]
 	pub properties: CollectionPropertiesVec,
@@ -550,6 +583,7 @@
 	None,
 }
 
+/// Enum holding data used for creation of all three item types.
 #[derive(Encode, Decode, MaxEncodedLen, PartialEq, Clone, Debug, TypeInfo)]
 #[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]
 pub enum CreateItemData {
@@ -558,6 +592,7 @@
 	ReFungible(CreateReFungibleData),
 }
 
+/// Explicit NFT creation data with meta parameters.
 #[derive(Encode, Decode, MaxEncodedLen, PartialEq, Clone, TypeInfo, Derivative)]
 #[derivative(Debug)]
 pub struct CreateNftExData<CrossAccountId> {
@@ -566,6 +601,7 @@
 	pub owner: CrossAccountId,
 }
 
+/// Explicit RFT creation data with meta parameters.
 #[derive(Encode, Decode, MaxEncodedLen, PartialEq, Clone, TypeInfo, Derivative)]
 #[derivative(Debug(bound = "CrossAccountId: fmt::Debug + Ord"))]
 pub struct CreateRefungibleExData<CrossAccountId> {
@@ -577,6 +613,7 @@
 	pub properties: CollectionPropertiesVec,
 }
 
+/// Explicit item creation data with meta parameters, namely the owner.
 #[derive(Encode, Decode, MaxEncodedLen, PartialEq, Clone, TypeInfo, Derivative)]
 #[derivative(Debug(bound = "CrossAccountId: fmt::Debug + Ord"))]
 pub enum CreateItemExData<CrossAccountId> {
@@ -624,6 +661,7 @@
 	}
 }
 
+/// Token's address, dictated by its collection and token IDs.
 #[derive(Encode, Decode, MaxEncodedLen, PartialEq, Clone, Debug, TypeInfo)]
 #[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]
 // todo possibly rename to be used generally as an address pair
modifiedtests/src/interfaces/augment-api-errors.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-api-errors.ts
+++ b/tests/src/interfaces/augment-api-errors.ts
@@ -57,7 +57,7 @@
        **/
       AddressNotInAllowlist: AugmentedError<ApiType>;
       /**
-       * Requested value more than approved.
+       * Requested value is more than the approved
        **/
       ApprovedValueTooLow: AugmentedError<ApiType>;
       /**
@@ -113,7 +113,7 @@
        **/
       EmptyPropertyKey: AugmentedError<ApiType>;
       /**
-       * Only ASCII letters, digits, and '_', '-' are allowed
+       * Only ASCII letters, digits, and symbols `_`, `-`, and `.` are allowed
        **/
       InvalidCharacterInPropertyKey: AugmentedError<ApiType>;
       /**
@@ -133,7 +133,7 @@
        **/
       NoSpaceForProperty: AugmentedError<ApiType>;
       /**
-       * Not sufficient funds to perform action
+       * Insufficient funds to perform an action
        **/
       NotSufficientFounds: AugmentedError<ApiType>;
       /**
@@ -153,15 +153,15 @@
        **/
       PublicMintingNotAllowed: AugmentedError<ApiType>;
       /**
-       * Only tokens from specific collections may nest tokens under this
+       * Only tokens from specific collections may nest tokens under this one
        **/
       SourceCollectionIsNotAllowedToNest: AugmentedError<ApiType>;
       /**
-       * Item not exists.
+       * Item does not exist
        **/
       TokenNotFound: AugmentedError<ApiType>;
       /**
-       * Item balance not enough.
+       * Item is balance not enough
        **/
       TokenValueTooLow: AugmentedError<ApiType>;
       /**
@@ -173,11 +173,11 @@
        **/
       TransferNotAllowed: AugmentedError<ApiType>;
       /**
-       * Target collection doesn't supports this operation
+       * Target collection doesn't support this operation
        **/
       UnsupportedOperation: AugmentedError<ApiType>;
       /**
-       * User not passed nesting rule
+       * User does not satisfy the nesting rule
        **/
       UserIsNotAllowedToNest: AugmentedError<ApiType>;
       /**
@@ -285,8 +285,7 @@
        **/
       FungibleItemsDontHaveData: AugmentedError<ApiType>;
       /**
-       * Not default id passed as TokenId argument.
-       * The default value of TokenId for Fungible collection is 0.
+       * Fungible tokens hold no ID, and the default value of TokenId for Fungible collection is 0.
        **/
       FungibleItemsHaveNoId: AugmentedError<ApiType>;
       /**
@@ -426,19 +425,19 @@
        **/
       NotRefungibleDataUsedToMintFungibleCollectionToken: AugmentedError<ApiType>;
       /**
-       * Refungible token can't nest other tokens
+       * Refungible token can't nest other tokens.
        **/
       RefungibleDisallowsNesting: AugmentedError<ApiType>;
       /**
-       * Refungible token can't be repartitioned by user who isn't owns all pieces
+       * Refungible token can't be repartitioned by user who isn't owns all pieces.
        **/
       RepartitionWhileNotOwningAllPieces: AugmentedError<ApiType>;
       /**
-       * Setting item properties is not allowed
+       * Setting item properties is not allowed.
        **/
       SettingPropertiesNotAllowed: AugmentedError<ApiType>;
       /**
-       * Maximum refungibility exceeded
+       * Maximum refungibility exceeded.
        **/
       WrongRefungiblePieces: AugmentedError<ApiType>;
       /**
@@ -509,19 +508,19 @@
     };
     structure: {
       /**
-       * While iterating over children, encountered breadth limit
+       * While iterating over children, reached the breadth limit.
        **/
       BreadthLimit: AugmentedError<ApiType>;
       /**
-       * While searched for owner, encountered depth limit
+       * While searching for the owner, reached the depth limit.
        **/
       DepthLimit: AugmentedError<ApiType>;
       /**
-       * While searched for owner, got already checked account
+       * While searching for the owner, encountered an already checked account, detecting a loop.
        **/
       OuroborosDetected: AugmentedError<ApiType>;
       /**
-       * While searched for owner, found token owner by not-yet-existing token
+       * Couldn't find the token owner that is itself a token.
        **/
       TokenNotFound: AugmentedError<ApiType>;
       /**
@@ -597,7 +596,7 @@
     };
     unique: {
       /**
-       * Decimal_points parameter must be lower than MAX_DECIMAL_POINTS constant, currently it is 30.
+       * Decimal_points parameter must be lower than [`up_data_structs::MAX_DECIMAL_POINTS`].
        **/
       CollectionDecimalPointLimitExceeded: AugmentedError<ApiType>;
       /**
@@ -609,7 +608,7 @@
        **/
       EmptyArgument: AugmentedError<ApiType>;
       /**
-       * Repertition is only supported by refungible collection
+       * Repertition is only supported by refungible collection.
        **/
       RepartitionCalledOnNonRefungibleCollection: AugmentedError<ApiType>;
       /**
modifiedtests/src/interfaces/augment-api-events.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-api-events.ts
+++ b/tests/src/interfaces/augment-api-events.ts
@@ -75,7 +75,7 @@
        **/
       CollectionPropertyDeleted: AugmentedEvent<ApiType, [u32, Bytes]>;
       /**
-       * The colletion property has been set.
+       * The colletion property has been added or edited.
        **/
       CollectionPropertySet: AugmentedEvent<ApiType, [u32, Bytes]>;
       /**
@@ -87,7 +87,7 @@
        **/
       ItemDestroyed: AugmentedEvent<ApiType, [u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;
       /**
-       * The colletion property permission has been set.
+       * The token property permission of a collection has been set.
        **/
       PropertyPermissionSet: AugmentedEvent<ApiType, [u32, Bytes]>;
       /**
@@ -95,7 +95,7 @@
        **/
       TokenPropertyDeleted: AugmentedEvent<ApiType, [u32, u32, Bytes]>;
       /**
-       * The token property has been set.
+       * The token property has been added or edited.
        **/
       TokenPropertySet: AugmentedEvent<ApiType, [u32, u32, Bytes]>;
       /**
@@ -407,7 +407,7 @@
     };
     structure: {
       /**
-       * Executed call on behalf of token
+       * Executed call on behalf of the token.
        **/
       Executed: AugmentedEvent<ApiType, [Result<Null, SpRuntimeDispatchError>]>;
       /**
@@ -499,90 +499,80 @@
     };
     unique: {
       /**
-       * Address was add to allow list
+       * Address was added to the allow list
        * 
        * # Arguments
-       * 
-       * * collection_id: Globally unique collection identifier.
-       * 
-       * * user:  Address.
+       * * collection_id: ID of the affected collection.
+       * * user: Address of the added account.
        **/
       AllowListAddressAdded: AugmentedEvent<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr]>;
       /**
-       * Address was remove from allow list
+       * Address was removed from the allow list
        * 
        * # Arguments
-       * 
-       * * collection_id: Globally unique collection identifier.
-       * 
-       * * user:  Address.
+       * * collection_id: ID of the affected collection.
+       * * user: Address of the removed account.
        **/
       AllowListAddressRemoved: AugmentedEvent<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr]>;
       /**
        * Collection admin was added
        * 
        * # Arguments
-       * 
-       * * collection_id: Globally unique collection identifier.
-       * 
-       * * admin:  Admin address.
+       * * collection_id: ID of the affected collection.
+       * * admin: Admin address.
        **/
       CollectionAdminAdded: AugmentedEvent<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr]>;
       /**
        * Collection admin was removed
        * 
        * # Arguments
-       * 
-       * * collection_id: Globally unique collection identifier.
-       * 
-       * * admin:  Admin address.
+       * * collection_id: ID of the affected collection.
+       * * admin: Removed admin address.
        **/
       CollectionAdminRemoved: AugmentedEvent<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr]>;
       /**
-       * Collection limits was set
+       * Collection limits were set
        * 
        * # Arguments
-       * 
-       * * collection_id: Globally unique collection identifier.
+       * * collection_id: ID of the affected collection.
        **/
       CollectionLimitSet: AugmentedEvent<ApiType, [u32]>;
       /**
-       * Collection owned was change
+       * Collection owned was changed
        * 
        * # Arguments
-       * 
-       * * collection_id: Globally unique collection identifier.
-       * 
-       * * owner:  New owner address.
+       * * collection_id: ID of the affected collection.
+       * * owner: New owner address.
        **/
       CollectionOwnedChanged: AugmentedEvent<ApiType, [u32, AccountId32]>;
+      /**
+       * Collection permissions were set
+       * 
+       * # Arguments
+       * * collection_id: ID of the affected collection.
+       **/
       CollectionPermissionSet: AugmentedEvent<ApiType, [u32]>;
       /**
        * Collection sponsor was removed
        * 
        * # Arguments
-       * 
-       * * collection_id: Globally unique collection identifier.
+       * * collection_id: ID of the affected collection.
        **/
       CollectionSponsorRemoved: AugmentedEvent<ApiType, [u32]>;
       /**
        * Collection sponsor was set
        * 
        * # Arguments
-       * 
-       * * collection_id: Globally unique collection identifier.
-       * 
-       * * owner:  New sponsor address.
+       * * collection_id: ID of the affected collection.
+       * * owner: New sponsor address.
        **/
       CollectionSponsorSet: AugmentedEvent<ApiType, [u32, AccountId32]>;
       /**
        * New sponsor was confirm
        * 
        * # Arguments
-       * 
-       * * collection_id: Globally unique collection identifier.
-       * 
-       * * sponsor:  New sponsor address.
+       * * collection_id: ID of the affected collection.
+       * * sponsor: New sponsor address.
        **/
       SponsorshipConfirmed: AugmentedEvent<ApiType, [u32, AccountId32]>;
       /**
modifiedtests/src/interfaces/augment-api-query.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-api-query.ts
+++ b/tests/src/interfaces/augment-api-query.ts
@@ -70,11 +70,11 @@
     };
     common: {
       /**
-       * Storage of collection admins count.
+       * Storage of the amount of collection admins.
        **/
       adminAmount: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<u32>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;
       /**
-       * Allowlisted collection users
+       * Allowlisted collection users.
        **/
       allowlist: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<bool>, [u32, PalletEvmAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr]>;
       /**
@@ -86,11 +86,11 @@
        **/
       collectionProperties: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<UpDataStructsProperties>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;
       /**
-       * Storage of collection properties permissions.
+       * Storage of token property permissions of a collection.
        **/
       collectionPropertyPermissions: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<BTreeMap<Bytes, UpDataStructsPropertyPermission>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;
       /**
-       * Storage of the count of created collections.
+       * Storage of the count of created collections. Essentially contains the last collection ID.
        **/
       createdCollectionCount: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;
       /**
@@ -102,7 +102,7 @@
        **/
       dummyStorageValue: AugmentedQuery<ApiType, () => Observable<Option<ITuple<[UpDataStructsCollectionStats, u32, u32, UpDataStructsTokenChild, PhantomTypeUpDataStructs]>>>, []> & QueryableStorageEntry<ApiType, []>;
       /**
-       * List of collection admins
+       * List of collection admins.
        **/
       isAdmin: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<bool>, [u32, PalletEvmAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr]>;
       /**
@@ -200,7 +200,7 @@
     };
     fungible: {
       /**
-       * Storage for delegated assets.
+       * Storage for assets delegated to a limited extent to other users.
        **/
       allowance: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, arg3: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<u128>, [u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr]>;
       /**
@@ -244,11 +244,11 @@
     };
     nonfungible: {
       /**
-       * Amount of tokens owned by account.
+       * Amount of tokens owned by an account in a collection.
        **/
       accountBalance: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<u32>, [u32, PalletEvmAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr]>;
       /**
-       * Allowance set by an owner for a spender for a token.
+       * Allowance set by a token owner for another user to perform one of certain transactions on a token.
        **/
       allowance: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<Option<PalletEvmAccountBasicCrossAccountIdRepr>>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;
       /**
@@ -256,7 +256,14 @@
        **/
       owned: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, arg3: u32 | AnyNumber | Uint8Array) => Observable<bool>, [u32, PalletEvmAccountBasicCrossAccountIdRepr, u32]> & QueryableStorageEntry<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr, u32]>;
       /**
-       * Custom data that is serialized to bytes and attached to a token property.
+       * Custom data of a token that is serialized to bytes,
+       * primarily reserved for on-chain operations,
+       * normally obscured from the external users.
+       * 
+       * Auxiliary properties are slightly different from
+       * usual [`TokenProperties`] due to an unlimited number
+       * and separately stored and written-to key-value pairs.
+       * 
        * Currently used to store RMRK data.
        **/
       tokenAuxProperties: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array, arg3: UpDataStructsPropertyScope | 'None' | 'Rmrk' | number | Uint8Array, arg4: Bytes | string | Uint8Array) => Observable<Option<Bytes>>, [u32, u32, UpDataStructsPropertyScope, Bytes]> & QueryableStorageEntry<ApiType, [u32, u32, UpDataStructsPropertyScope, Bytes]>;
@@ -265,19 +272,19 @@
        **/
       tokenChildren: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array, arg3: ITuple<[u32, u32]> | [u32 | AnyNumber | Uint8Array, u32 | AnyNumber | Uint8Array]) => Observable<bool>, [u32, u32, ITuple<[u32, u32]>]> & QueryableStorageEntry<ApiType, [u32, u32, ITuple<[u32, u32]>]>;
       /**
-       * Custom data serialized to bytes for token.
+       * Token data, used to partially describe a token.
        **/
       tokenData: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<Option<PalletNonfungibleItemData>>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;
       /**
-       * Key-Value map stored for token.
+       * Map of key-value pairs, describing the metadata of a token.
        **/
       tokenProperties: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<UpDataStructsProperties>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;
       /**
-       * Amount of burnt tokens for collection.
+       * Amount of burnt tokens in a collection.
        **/
       tokensBurnt: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<u32>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;
       /**
-       * Amount of tokens minted for collection.
+       * Total amount of minted tokens in a collection.
        **/
       tokensMinted: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<u32>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;
       /**
@@ -444,32 +451,35 @@
     };
     refungible: {
       /**
-       * Amount of tokens owned by account
+       * Amount of tokens (not pieces) partially owned by an account within a collection.
        **/
       accountBalance: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<u32>, [u32, PalletEvmAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr]>;
       /**
-       * Allowance set by an owner for a spender for a token
+       * Allowance set by a token owner for another user to perform one of certain transactions on a number of pieces of a token.
        **/
       allowance: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array, arg3: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, arg4: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<u128>, [u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr]>;
       /**
-       * Amount of token pieces owned by account
+       * Amount of token pieces owned by account.
        **/
       balance: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array, arg3: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<u128>, [u32, u32, PalletEvmAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, u32, PalletEvmAccountBasicCrossAccountIdRepr]>;
       /**
-       * Used to enumerate tokens owned by account
+       * Used to enumerate tokens owned by account.
        **/
       owned: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, arg3: u32 | AnyNumber | Uint8Array) => Observable<bool>, [u32, PalletEvmAccountBasicCrossAccountIdRepr, u32]> & QueryableStorageEntry<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr, u32]>;
       /**
-       * Custom data serialized to bytes for token
+       * Token data, used to partially describe a token.
        **/
       tokenData: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<PalletRefungibleItemData>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;
+      /**
+       * Amount of pieces a refungible token is split into.
+       **/
       tokenProperties: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<UpDataStructsProperties>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;
       /**
-       * Amount of burnt tokens for collection
+       * Amount of tokens burnt in a collection.
        **/
       tokensBurnt: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<u32>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;
       /**
-       * Amount of tokens minted for collection
+       * Total amount of minted tokens in a collection.
        **/
       tokensMinted: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<u32>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;
       /**
@@ -663,24 +673,33 @@
        * TODO: Off chain worker should remove from this map when collection gets removed
        **/
       createItemBasket: AugmentedQuery<ApiType, (arg: ITuple<[u32, AccountId32]> | [u32 | AnyNumber | Uint8Array, AccountId32 | string | Uint8Array]) => Observable<Option<u32>>, [ITuple<[u32, AccountId32]>]> & QueryableStorageEntry<ApiType, [ITuple<[u32, AccountId32]>]>;
+      /**
+       * Last sponsoring of fungible tokens approval in a collection
+       **/
       fungibleApproveBasket: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: AccountId32 | string | Uint8Array) => Observable<Option<u32>>, [u32, AccountId32]> & QueryableStorageEntry<ApiType, [u32, AccountId32]>;
       /**
        * Collection id (controlled?2), owning user (real)
        **/
       fungibleTransferBasket: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: AccountId32 | string | Uint8Array) => Observable<Option<u32>>, [u32, AccountId32]> & QueryableStorageEntry<ApiType, [u32, AccountId32]>;
       /**
-       * Approval sponsoring
+       * Last sponsoring of NFT approval in a collection
        **/
       nftApproveBasket: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<Option<u32>>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;
       /**
        * Collection id (controlled?2), token id (controlled?2)
        **/
       nftTransferBasket: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<Option<u32>>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;
+      /**
+       * Last sponsoring of RFT approval in a collection
+       **/
       refungibleApproveBasket: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array, arg3: AccountId32 | string | Uint8Array) => Observable<Option<u32>>, [u32, u32, AccountId32]> & QueryableStorageEntry<ApiType, [u32, u32, AccountId32]>;
       /**
        * Collection id (controlled?2), token id (controlled?2)
        **/
       reFungibleTransferBasket: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array, arg3: AccountId32 | string | Uint8Array) => Observable<Option<u32>>, [u32, u32, AccountId32]> & QueryableStorageEntry<ApiType, [u32, u32, AccountId32]>;
+      /**
+       * Last sponsoring of token property setting // todo:doc rephrase this and the following
+       **/
       tokenPropertyBasket: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<Option<u32>>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;
       /**
        * Variable metadata sponsoring
modifiedtests/src/interfaces/augment-api-rpc.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-api-rpc.ts
+++ b/tests/src/interfaces/augment-api-rpc.ts
@@ -629,47 +629,47 @@
     };
     unique: {
       /**
-       * Get amount of different user tokens
+       * Get the amount of any user tokens owned by an account
        **/
       accountBalance: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, account: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, at?: Hash | string | Uint8Array) => Observable<u32>>;
       /**
-       * Get tokens owned by account
+       * Get tokens owned by an account in a collection
        **/
       accountTokens: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, account: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Vec<u32>>>;
       /**
-       * Get admin list
+       * Get the list of admin accounts of a collection
        **/
       adminlist: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Vec<PalletEvmAccountBasicCrossAccountIdRepr>>>;
       /**
-       * Get allowed amount
+       * Get the amount of currently possible sponsored transactions on a token for the fee to be taken off a sponsor
        **/
       allowance: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, sender: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, spender: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, tokenId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<u128>>;
       /**
-       * Check if user is allowed to use collection
+       * Check if a user is allowed to operate within a collection
        **/
       allowed: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, account: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, at?: Hash | string | Uint8Array) => Observable<bool>>;
       /**
-       * Get allowlist
+       * Get the list of accounts allowed to operate within a collection
        **/
       allowlist: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Vec<PalletEvmAccountBasicCrossAccountIdRepr>>>;
       /**
-       * Get amount of specific account token
+       * Get the amount of a specific token owned by an account
        **/
       balance: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, account: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, tokenId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<u128>>;
       /**
-       * Get collection by specified id
+       * Get a collection by the specified ID
        **/
       collectionById: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Option<UpDataStructsRpcCollection>>>;
       /**
-       * Get collection properties
+       * Get collection properties, optionally limited to the provided keys
        **/
       collectionProperties: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, propertyKeys?: Vec<Text> | (Text | string)[], at?: Hash | string | Uint8Array) => Observable<Vec<UpDataStructsProperty>>>;
       /**
-       * Get collection stats
+       * Get chain stats about collections
        **/
       collectionStats: AugmentedRpc<(at?: Hash | string | Uint8Array) => Observable<UpDataStructsCollectionStats>>;
       /**
-       * Get tokens contained in collection
+       * Get tokens contained within a collection
        **/
       collectionTokens: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Vec<u32>>>;
       /**
@@ -681,15 +681,15 @@
        **/
       effectiveCollectionLimits: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Option<UpDataStructsCollectionLimits>>>;
       /**
-       * Get last token id
+       * Get the last token ID created in a collection
        **/
       lastTokenId: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<u32>>;
       /**
-       * Get number of blocks when sponsored transaction is available
+       * Get the number of blocks until sponsoring a transaction is available
        **/
       nextSponsored: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, account: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, tokenId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Option<u64>>>;
       /**
-       * Get property permissions
+       * Get property permissions, optionally limited to the provided keys
        **/
       propertyPermissions: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, propertyKeys?: Vec<Text> | (Text | string)[], at?: Hash | string | Uint8Array) => Observable<Vec<UpDataStructsPropertyKeyPermission>>>;
       /**
@@ -697,15 +697,15 @@
        **/
       tokenChildren: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, tokenId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Vec<UpDataStructsTokenChild>>>;
       /**
-       * Get token data
+       * Get token data, including properties, optionally limited to the provided keys, and total pieces for an RFT
        **/
       tokenData: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, tokenId: u32 | AnyNumber | Uint8Array, propertyKeys?: Vec<Text> | (Text | string)[], at?: Hash | string | Uint8Array) => Observable<UpDataStructsTokenData>>;
       /**
-       * Check if token exists
+       * Check if the token exists
        **/
       tokenExists: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, tokenId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<bool>>;
       /**
-       * Get token owner
+       * Get the token owner
        **/
       tokenOwner: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, tokenId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Option<PalletEvmAccountBasicCrossAccountIdRepr>>>;
       /**
@@ -713,19 +713,19 @@
        **/
       tokenOwners: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, tokenId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Vec<PalletEvmAccountBasicCrossAccountIdRepr>>>;
       /**
-       * Get token properties
+       * Get token properties, optionally limited to the provided keys
        **/
       tokenProperties: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, tokenId: u32 | AnyNumber | Uint8Array, propertyKeys?: Vec<Text> | (Text | string)[], at?: Hash | string | Uint8Array) => Observable<Vec<UpDataStructsProperty>>>;
       /**
-       * Get token owner, in case of nested token - find parent recursive
+       * Get the topmost token owner in the hierarchy of a possibly nested token
        **/
       topmostTokenOwner: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, tokenId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Option<PalletEvmAccountBasicCrossAccountIdRepr>>>;
       /**
-       * Get total pieces of token
+       * Get the total amount of pieces of an RFT
        **/
       totalPieces: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, tokenId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Option<u128>>>;
       /**
-       * Get amount of unique collection tokens
+       * Get the amount of distinctive tokens present in a collection
        **/
       totalSupply: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<u32>>;
       /**
modifiedtests/src/interfaces/augment-api-tx.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-api-tx.ts
+++ b/tests/src/interfaces/augment-api-tx.ts
@@ -730,87 +730,99 @@
     };
     unique: {
       /**
-       * Adds an admin of the Collection.
-       * NFT Collection can be controlled by multiple admin addresses (some which can also be servers, for example). Admins can issue and burn NFTs, as well as add and remove other admins, but cannot change NFT or Collection ownership.
+       * Add an admin to a collection.
+       * 
+       * NFT Collection can be controlled by multiple admin addresses
+       * (some which can also be servers, for example). Admins can issue
+       * and burn NFTs, as well as add and remove other admins,
+       * but cannot change NFT or Collection ownership.
        * 
        * # Permissions
        * 
-       * * Collection Owner.
-       * * Collection Admin.
+       * * Collection owner
+       * * Collection admin
        * 
        * # Arguments
-       * 
-       * * collection_id: ID of the Collection to add admin for.
        * 
-       * * new_admin_id: Address of new admin to add.
+       * * `collection_id`: ID of the Collection to add an admin for.
+       * * `new_admin`: Address of new admin to add.
        **/
-      addCollectionAdmin: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, newAdminId: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, PalletEvmAccountBasicCrossAccountIdRepr]>;
+      addCollectionAdmin: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, newAdmin: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, PalletEvmAccountBasicCrossAccountIdRepr]>;
       /**
        * Add an address to allow list.
        * 
        * # Permissions
        * 
-       * * Collection Owner
-       * * Collection Admin
+       * * Collection owner
+       * * Collection admin
        * 
        * # Arguments
        * 
-       * * collection_id.
-       * 
-       * * address.
+       * * `collection_id`: ID of the modified collection.
+       * * `address`: ID of the address to be added to the allowlist.
        **/
       addToAllowList: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, address: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, PalletEvmAccountBasicCrossAccountIdRepr]>;
       /**
-       * Set, change, or remove approved address to transfer the ownership of the NFT.
+       * Allow a non-permissioned address to transfer or burn an item.
        * 
        * # Permissions
        * 
-       * * Collection Owner
-       * * Collection Admin
-       * * Current NFT owner
+       * * Collection owner
+       * * Collection admin
+       * * Current item owner
        * 
        * # Arguments
-       * 
-       * * approved: Address that is approved to transfer this NFT or zero (if needed to remove approval).
        * 
-       * * collection_id.
-       * 
-       * * item_id: ID of the item.
+       * * `spender`: Account to be approved to make specific transactions on non-owned tokens.
+       * * `collection_id`: ID of the collection the item belongs to.
+       * * `item_id`: ID of the item transactions on which are now approved.
+       * * `amount`: Number of pieces of the item approved for a transaction (maximum of 1 for NFTs).
+       * Set to 0 to revoke the approval.
        **/
       approve: AugmentedSubmittable<(spender: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, collectionId: u32 | AnyNumber | Uint8Array, itemId: u32 | AnyNumber | Uint8Array, amount: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [PalletEvmAccountBasicCrossAccountIdRepr, u32, u32, u128]>;
       /**
-       * Destroys a concrete instance of NFT on behalf of the owner
-       * See also: [`approve`]
+       * Destroy a token on behalf of the owner as a non-owner account.
+       * 
+       * See also: [`approve`][`Pallet::approve`].
+       * 
+       * After this method executes, one approval is removed from the total so that
+       * the approved address will not be able to transfer this item again from this owner.
        * 
        * # Permissions
        * 
-       * * Collection Owner.
-       * * Collection Admin.
-       * * Current NFT Owner.
+       * * Collection owner
+       * * Collection admin
+       * * Current token owner
+       * * Address approved by current item owner
        * 
        * # Arguments
        * 
-       * * collection_id: ID of the collection.
-       * 
-       * * item_id: ID of NFT to burn.
-       * 
-       * * from: owner of item
+       * * `from`: The owner of the burning item.
+       * * `collection_id`: ID of the collection to which the item belongs.
+       * * `item_id`: ID of item to burn.
+       * * `value`: Number of pieces to burn.
+       * * Non-Fungible Mode: An NFT is indivisible, there is always 1 corresponding to an ID.
+       * * Fungible Mode: The desired number of pieces to burn.
+       * * Re-Fungible Mode: The desired number of pieces to burn.
        **/
       burnFrom: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, from: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, itemId: u32 | AnyNumber | Uint8Array, value: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, PalletEvmAccountBasicCrossAccountIdRepr, u32, u128]>;
       /**
-       * Destroys a concrete instance of NFT.
+       * Destroy an item.
        * 
        * # Permissions
        * 
-       * * Collection Owner.
-       * * Collection Admin.
-       * * Current NFT Owner.
+       * * Collection owner
+       * * Collection admin
+       * * Current item owner
        * 
        * # Arguments
        * 
-       * * collection_id: ID of the collection.
-       * 
-       * * item_id: ID of NFT to burn.
+       * * `collection_id`: ID of the collection to which the item belongs.
+       * * `item_id`: ID of item to burn.
+       * * `value`: Number of pieces of the item to destroy.
+       * * Non-Fungible Mode: An NFT is indivisible, there is always 1 corresponding to an ID.
+       * * Fungible Mode: The desired number of pieces to burn.
+       * * Re-Fungible Mode: The desired number of pieces to burn.
        **/
       burnItem: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, itemId: u32 | AnyNumber | Uint8Array, value: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, u32, u128]>;
       /**
@@ -818,131 +830,200 @@
        * 
        * # Permissions
        * 
-       * * Collection Owner.
+       * * Collection owner
        * 
        * # Arguments
        * 
-       * * collection_id.
-       * 
-       * * new_owner.
+       * * `collection_id`: ID of the modified collection.
+       * * `new_owner`: ID of the account that will become the owner.
        **/
       changeCollectionOwner: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, newOwner: AccountId32 | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, AccountId32]>;
       /**
+       * Confirm own sponsorship of a collection, becoming the sponsor.
+       * 
+       * An invitation must be pending, see [`set_collection_sponsor`][`Pallet::set_collection_sponsor`].
+       * Sponsor can pay the fees of a transaction instead of the sender,
+       * but only within specified limits.
+       * 
        * # Permissions
        * 
-       * * Sponsor.
+       * * Sponsor-to-be
        * 
        * # Arguments
        * 
-       * * collection_id.
+       * * `collection_id`: ID of the collection with the pending sponsor.
        **/
       confirmSponsorship: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32]>;
       /**
-       * This method creates a Collection of NFTs. Each Token may have multiple properties encoded as an array of bytes of certain length. The initial owner of the collection is set to the address that signed the transaction and can be changed later.
+       * Create a collection of tokens.
+       * 
+       * Each Token may have multiple properties encoded as an array of bytes
+       * of certain length. The initial owner of the collection is set
+       * to the address that signed the transaction and can be changed later.
+       * 
+       * Prefer the more advanced [`create_collection_ex`][`Pallet::create_collection_ex`] instead.
        * 
        * # Permissions
        * 
-       * * Anyone.
+       * * Anyone - becomes the owner of the new collection.
        * 
        * # Arguments
        * 
-       * * collection_name: UTF-16 string with collection name (limit 64 characters), will be stored as zero-terminated.
+       * * `collection_name`: Wide-character string with collection name
+       * (limit [`MAX_COLLECTION_NAME_LENGTH`]).
+       * * `collection_description`: Wide-character string with collection description
+       * (limit [`MAX_COLLECTION_DESCRIPTION_LENGTH`]).
+       * * `token_prefix`: Byte string containing the token prefix to mark a collection
+       * to which a token belongs (limit [`MAX_TOKEN_PREFIX_LENGTH`]).
+       * * `mode`: Type of items stored in the collection and type dependent data.
+       **/
+      createCollection: AugmentedSubmittable<(collectionName: Vec<u16> | (u16 | AnyNumber | Uint8Array)[], collectionDescription: Vec<u16> | (u16 | AnyNumber | Uint8Array)[], tokenPrefix: Bytes | string | Uint8Array, mode: UpDataStructsCollectionMode | { NFT: any } | { Fungible: any } | { ReFungible: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Vec<u16>, Vec<u16>, Bytes, UpDataStructsCollectionMode]>;
+      /**
+       * Create a collection with explicit parameters.
        * 
-       * * collection_description: UTF-16 string with collection description (limit 256 characters), will be stored as zero-terminated.
+       * Prefer it to the deprecated [`create_collection`][`Pallet::create_collection`] method.
+       * 
+       * # Permissions
        * 
-       * * token_prefix: UTF-8 string with token prefix.
+       * * Anyone - becomes the owner of the new collection.
        * 
-       * * mode: [CollectionMode] collection type and type dependent data.
-       **/
-      createCollection: AugmentedSubmittable<(collectionName: Vec<u16> | (u16 | AnyNumber | Uint8Array)[], collectionDescription: Vec<u16> | (u16 | AnyNumber | Uint8Array)[], tokenPrefix: Bytes | string | Uint8Array, mode: UpDataStructsCollectionMode | { NFT: any } | { Fungible: any } | { ReFungible: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Vec<u16>, Vec<u16>, Bytes, UpDataStructsCollectionMode]>;
-      /**
-       * This method creates a collection
+       * # Arguments
        * 
-       * Prefer it to deprecated [`created_collection`] method
+       * * `data`: Explicit data of a collection used for its creation.
        **/
       createCollectionEx: AugmentedSubmittable<(data: UpDataStructsCreateCollectionData | { mode?: any; access?: any; name?: any; description?: any; tokenPrefix?: any; pendingSponsor?: any; limits?: any; permissions?: any; tokenPropertyPermissions?: any; properties?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [UpDataStructsCreateCollectionData]>;
       /**
-       * This method creates a concrete instance of NFT Collection created with CreateCollection method.
+       * Mint an item within a collection.
        * 
+       * A collection must exist first, see [`create_collection_ex`][`Pallet::create_collection_ex`].
+       * 
        * # Permissions
        * 
-       * * Collection Owner.
-       * * Collection Admin.
+       * * Collection owner
+       * * Collection admin
        * * Anyone if
        * * Allow List is enabled, and
        * * Address is added to allow list, and
-       * * MintPermission is enabled (see SetMintPermission method)
+       * * MintPermission is enabled (see [`set_collection_permissions`][`Pallet::set_collection_permissions`])
        * 
        * # Arguments
        * 
-       * * collection_id: ID of the collection.
+       * * `collection_id`: ID of the collection to which an item would belong.
+       * * `owner`: Address of the initial owner of the item.
+       * * `data`: Token data describing the item to store on chain.
+       **/
+      createItem: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, owner: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, data: UpDataStructsCreateItemData | { NFT: any } | { Fungible: any } | { ReFungible: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, PalletEvmAccountBasicCrossAccountIdRepr, UpDataStructsCreateItemData]>;
+      /**
+       * Create multiple items within a collection.
        * 
-       * * owner: Address, initial owner of the NFT.
+       * A collection must exist first, see [`create_collection_ex`][`Pallet::create_collection_ex`].
+       * 
+       * # Permissions
+       * 
+       * * Collection owner
+       * * Collection admin
+       * * Anyone if
+       * * Allow List is enabled, and
+       * * Address is added to the allow list, and
+       * * MintPermission is enabled (see [`set_collection_permissions`][`Pallet::set_collection_permissions`])
        * 
-       * * data: Token data to store on chain.
+       * # Arguments
+       * 
+       * * `collection_id`: ID of the collection to which the tokens would belong.
+       * * `owner`: Address of the initial owner of the tokens.
+       * * `items_data`: Vector of data describing each item to be created.
        **/
-      createItem: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, owner: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, data: UpDataStructsCreateItemData | { NFT: any } | { Fungible: any } | { ReFungible: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, PalletEvmAccountBasicCrossAccountIdRepr, UpDataStructsCreateItemData]>;
+      createMultipleItems: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, owner: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, itemsData: Vec<UpDataStructsCreateItemData> | (UpDataStructsCreateItemData | { NFT: any } | { Fungible: any } | { ReFungible: any } | string | Uint8Array)[]) => SubmittableExtrinsic<ApiType>, [u32, PalletEvmAccountBasicCrossAccountIdRepr, Vec<UpDataStructsCreateItemData>]>;
       /**
-       * This method creates multiple items in a collection created with CreateCollection method.
+       * Create multiple items within a collection with explicitly specified initial parameters.
        * 
        * # Permissions
        * 
-       * * Collection Owner.
-       * * Collection Admin.
+       * * Collection owner
+       * * Collection admin
        * * Anyone if
        * * Allow List is enabled, and
        * * Address is added to allow list, and
-       * * MintPermission is enabled (see SetMintPermission method)
+       * * MintPermission is enabled (see [`set_collection_permissions`][`Pallet::set_collection_permissions`])
        * 
        * # Arguments
        * 
-       * * collection_id: ID of the collection.
+       * * `collection_id`: ID of the collection to which the tokens would belong.
+       * * `data`: Explicit item creation data.
+       **/
+      createMultipleItemsEx: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, data: UpDataStructsCreateItemExData | { NFT: any } | { Fungible: any } | { RefungibleMultipleItems: any } | { RefungibleMultipleOwners: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, UpDataStructsCreateItemExData]>;
+      /**
+       * Delete specified collection properties.
        * 
-       * * itemsData: Array items properties. Each property is an array of bytes itself, see [create_item].
+       * # Permissions
+       * 
+       * * Collection Owner
+       * * Collection Admin
+       * 
+       * # Arguments
        * 
-       * * owner: Address, initial owner of the NFT.
+       * * `collection_id`: ID of the modified collection.
+       * * `property_keys`: Vector of keys of the properties to be deleted.
+       * Keys support Latin letters, `-`, `_`, and `.` as symbols.
        **/
-      createMultipleItems: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, owner: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, itemsData: Vec<UpDataStructsCreateItemData> | (UpDataStructsCreateItemData | { NFT: any } | { Fungible: any } | { ReFungible: any } | string | Uint8Array)[]) => SubmittableExtrinsic<ApiType>, [u32, PalletEvmAccountBasicCrossAccountIdRepr, Vec<UpDataStructsCreateItemData>]>;
-      createMultipleItemsEx: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, data: UpDataStructsCreateItemExData | { NFT: any } | { Fungible: any } | { RefungibleMultipleItems: any } | { RefungibleMultipleOwners: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, UpDataStructsCreateItemExData]>;
       deleteCollectionProperties: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, propertyKeys: Vec<Bytes> | (Bytes | string | Uint8Array)[]) => SubmittableExtrinsic<ApiType>, [u32, Vec<Bytes>]>;
+      /**
+       * Delete specified token properties. Currently properties only work with NFTs.
+       * 
+       * # Permissions
+       * 
+       * * Depends on collection's token property permissions and specified property mutability:
+       * * Collection owner
+       * * Collection admin
+       * * Token owner
+       * 
+       * # Arguments
+       * 
+       * * `collection_id`: ID of the collection to which the token belongs.
+       * * `token_id`: ID of the modified token.
+       * * `property_keys`: Vector of keys of the properties to be deleted.
+       * Keys support Latin letters, `-`, `_`, and `.` as symbols.
+       **/
       deleteTokenProperties: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, tokenId: u32 | AnyNumber | Uint8Array, propertyKeys: Vec<Bytes> | (Bytes | string | Uint8Array)[]) => SubmittableExtrinsic<ApiType>, [u32, u32, Vec<Bytes>]>;
       /**
-       * Destroys collection if no tokens within this collection
+       * Destroy a collection if no tokens exist within.
        * 
        * # Permissions
        * 
-       * * Collection Owner.
+       * * Collection owner
        * 
        * # Arguments
        * 
-       * * collection_id: collection to destroy.
+       * * `collection_id`: Collection to destroy.
        **/
       destroyCollection: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32]>;
       /**
-       * Remove admin address of the Collection. An admin address can remove itself. List of admins may become empty, in which case only Collection Owner will be able to add an Admin.
+       * Remove admin of a collection.
+       * 
+       * An admin address can remove itself. List of admins may become empty,
+       * in which case only Collection Owner will be able to add an Admin.
        * 
        * # Permissions
        * 
-       * * Collection Owner.
-       * * Collection Admin.
+       * * Collection owner
+       * * Collection admin
        * 
        * # Arguments
        * 
-       * * collection_id: ID of the Collection to remove admin for.
-       * 
-       * * account_id: Address of admin to remove.
+       * * `collection_id`: ID of the collection to remove the admin for.
+       * * `account_id`: Address of the admin to remove.
        **/
       removeCollectionAdmin: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, accountId: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, PalletEvmAccountBasicCrossAccountIdRepr]>;
       /**
-       * Switch back to pay-per-own-transaction model.
+       * Remove a collection's a sponsor, making everyone pay for their own transactions.
        * 
        * # Permissions
        * 
-       * * Collection owner.
+       * * Collection owner
        * 
        * # Arguments
        * 
-       * * collection_id.
+       * * `collection_id`: ID of the collection with the sponsor to remove.
        **/
       removeCollectionSponsor: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32]>;
       /**
@@ -950,46 +1031,140 @@
        * 
        * # Permissions
        * 
-       * * Collection Owner
-       * * Collection Admin
+       * * Collection owner
+       * * Collection admin
        * 
        * # Arguments
        * 
-       * * collection_id.
+       * * `collection_id`: ID of the modified collection.
+       * * `address`: ID of the address to be removed from the allowlist.
+       **/
+      removeFromAllowList: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, address: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, PalletEvmAccountBasicCrossAccountIdRepr]>;
+      /**
+       * Re-partition a refungible token, while owning all of its parts/pieces.
+       * 
+       * # Permissions
+       * 
+       * * Token owner (must own every part)
+       * 
+       * # Arguments
+       * 
+       * * `collection_id`: ID of the collection the RFT belongs to.
+       * * `token_id`: ID of the RFT.
+       * * `amount`: New number of parts/pieces into which the token shall be partitioned.
+       **/
+      repartition: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, tokenId: u32 | AnyNumber | Uint8Array, amount: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, u32, u128]>;
+      /**
+       * Set specific limits of a collection. Empty, or None fields mean chain default.
+       * 
+       * # Permissions
        * 
-       * * address.
+       * * Collection owner
+       * * Collection admin
+       * 
+       * # Arguments
+       * 
+       * * `collection_id`: ID of the modified collection.
+       * * `new_limit`: New limits of the collection. Fields that are not set (None)
+       * will not overwrite the old ones.
        **/
-      removeFromAllowList: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, address: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, PalletEvmAccountBasicCrossAccountIdRepr]>;
-      repartition: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, token: u32 | AnyNumber | Uint8Array, amount: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, u32, u128]>;
       setCollectionLimits: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, newLimit: UpDataStructsCollectionLimits | { accountTokenOwnershipLimit?: any; sponsoredDataSize?: any; sponsoredDataRateLimit?: any; tokenLimit?: any; sponsorTransferTimeout?: any; sponsorApproveTimeout?: any; ownerCanTransfer?: any; ownerCanDestroy?: any; transfersEnabled?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, UpDataStructsCollectionLimits]>;
-      setCollectionPermissions: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, newLimit: UpDataStructsCollectionPermissions | { access?: any; mintMode?: any; nesting?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, UpDataStructsCollectionPermissions]>;
-      setCollectionProperties: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, properties: Vec<UpDataStructsProperty> | (UpDataStructsProperty | { key?: any; value?: any } | string | Uint8Array)[]) => SubmittableExtrinsic<ApiType>, [u32, Vec<UpDataStructsProperty>]>;
       /**
+       * Set specific permissions of a collection. Empty, or None fields mean chain default.
+       * 
        * # Permissions
        * 
-       * * Collection Owner
+       * * Collection owner
+       * * Collection admin
        * 
        * # Arguments
        * 
-       * * collection_id.
+       * * `collection_id`: ID of the modified collection.
+       * * `new_permission`: New permissions of the collection. Fields that are not set (None)
+       * will not overwrite the old ones.
+       **/
+      setCollectionPermissions: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, newPermission: UpDataStructsCollectionPermissions | { access?: any; mintMode?: any; nesting?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, UpDataStructsCollectionPermissions]>;
+      /**
+       * Add or change collection properties.
+       * 
+       * # Permissions
+       * 
+       * * Collection owner
+       * * Collection admin
        * 
-       * * new_sponsor.
+       * # Arguments
+       * 
+       * * `collection_id`: ID of the modified collection.
+       * * `properties`: Vector of key-value pairs stored as the collection's metadata.
+       * Keys support Latin letters, `-`, `_`, and `.` as symbols.
        **/
+      setCollectionProperties: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, properties: Vec<UpDataStructsProperty> | (UpDataStructsProperty | { key?: any; value?: any } | string | Uint8Array)[]) => SubmittableExtrinsic<ApiType>, [u32, Vec<UpDataStructsProperty>]>;
+      /**
+       * Set (invite) a new collection sponsor.
+       * 
+       * If successful, confirmation from the sponsor-to-be will be pending.
+       * 
+       * # Permissions
+       * 
+       * * Collection owner
+       * * Collection admin
+       * 
+       * # Arguments
+       * 
+       * * `collection_id`: ID of the modified collection.
+       * * `new_sponsor`: ID of the account of the sponsor-to-be.
+       **/
       setCollectionSponsor: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, newSponsor: AccountId32 | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, AccountId32]>;
+      /**
+       * Add or change token properties according to collection's permissions.
+       * Currently properties only work with NFTs.
+       * 
+       * # Permissions
+       * 
+       * * Depends on collection's token property permissions and specified property mutability:
+       * * Collection owner
+       * * Collection admin
+       * * Token owner
+       * 
+       * See [`set_token_property_permissions`][`Pallet::set_token_property_permissions`].
+       * 
+       * # Arguments
+       * 
+       * * `collection_id: ID of the collection to which the token belongs.
+       * * `token_id`: ID of the modified token.
+       * * `properties`: Vector of key-value pairs stored as the token's metadata.
+       * Keys support Latin letters, `-`, `_`, and `.` as symbols.
+       **/
       setTokenProperties: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, tokenId: u32 | AnyNumber | Uint8Array, properties: Vec<UpDataStructsProperty> | (UpDataStructsProperty | { key?: any; value?: any } | string | Uint8Array)[]) => SubmittableExtrinsic<ApiType>, [u32, u32, Vec<UpDataStructsProperty>]>;
-      setTokenPropertyPermissions: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, propertyPermissions: Vec<UpDataStructsPropertyKeyPermission> | (UpDataStructsPropertyKeyPermission | { key?: any; permission?: any } | string | Uint8Array)[]) => SubmittableExtrinsic<ApiType>, [u32, Vec<UpDataStructsPropertyKeyPermission>]>;
       /**
-       * Set transfers_enabled value for particular collection
+       * Add or change token property permissions of a collection.
+       * 
+       * Without a permission for a particular key, a property with that key
+       * cannot be created in a token.
        * 
        * # Permissions
        * 
-       * * Collection Owner.
+       * * Collection owner
+       * * Collection admin
        * 
        * # Arguments
        * 
-       * * collection_id: ID of the collection.
+       * * `collection_id`: ID of the modified collection.
+       * * `property_permissions`: Vector of permissions for property keys.
+       * Keys support Latin letters, `-`, `_`, and `.` as symbols.
+       **/
+      setTokenPropertyPermissions: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, propertyPermissions: Vec<UpDataStructsPropertyKeyPermission> | (UpDataStructsPropertyKeyPermission | { key?: any; permission?: any } | string | Uint8Array)[]) => SubmittableExtrinsic<ApiType>, [u32, Vec<UpDataStructsPropertyKeyPermission>]>;
+      /**
+       * Completely allow or disallow transfers for a particular collection.
        * 
-       * * value: New flag value.
+       * # Permissions
+       * 
+       * * Collection owner
+       * 
+       * # Arguments
+       * 
+       * * `collection_id`: ID of the collection.
+       * * `value`: New value of the flag, are transfers allowed?
        **/
       setTransfersEnabledFlag: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, value: bool | boolean | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, bool]>;
       /**
@@ -997,47 +1172,50 @@
        * 
        * # Permissions
        * 
-       * * Collection Owner
-       * * Collection Admin
-       * * Current NFT owner
+       * * Collection owner
+       * * Collection admin
+       * * Current token owner
        * 
        * # Arguments
        * 
-       * * recipient: Address of token recipient.
-       * 
-       * * collection_id.
-       * 
-       * * item_id: ID of the item
+       * * `recipient`: Address of token recipient.
+       * * `collection_id`: ID of the collection the item belongs to.
+       * * `item_id`: ID of the item.
        * * Non-Fungible Mode: Required.
        * * Fungible Mode: Ignored.
        * * Re-Fungible Mode: Required.
        * 
-       * * value: Amount to transfer.
-       * * Non-Fungible Mode: Ignored
-       * * Fungible Mode: Must specify transferred amount
-       * * Re-Fungible Mode: Must specify transferred portion (between 0 and 1)
+       * * `value`: Amount to transfer.
+       * * Non-Fungible Mode: An NFT is indivisible, there is always 1 corresponding to an ID.
+       * * Fungible Mode: The desired number of pieces to transfer.
+       * * Re-Fungible Mode: The desired number of pieces to transfer.
        **/
       transfer: AugmentedSubmittable<(recipient: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, collectionId: u32 | AnyNumber | Uint8Array, itemId: u32 | AnyNumber | Uint8Array, value: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [PalletEvmAccountBasicCrossAccountIdRepr, u32, u32, u128]>;
       /**
-       * Change ownership of a NFT on behalf of the owner. See Approve method for additional information. After this method executes, the approval is removed so that the approved address will not be able to transfer this NFT again from this owner.
-       * 
-       * # Permissions
-       * * Collection Owner
-       * * Collection Admin
-       * * Current NFT owner
-       * * Address approved by current NFT owner
+       * Change ownership of an item on behalf of the owner as a non-owner account.
        * 
-       * # Arguments
+       * See the [`approve`][`Pallet::approve`] method for additional information.
        * 
-       * * from: Address that owns token.
+       * After this method executes, one approval is removed from the total so that
+       * the approved address will not be able to transfer this item again from this owner.
        * 
-       * * recipient: Address of token recipient.
+       * # Permissions
        * 
-       * * collection_id.
+       * * Collection owner
+       * * Collection admin
+       * * Current item owner
+       * * Address approved by current item owner
        * 
-       * * item_id: ID of the item.
+       * # Arguments
        * 
-       * * value: Amount to transfer.
+       * * `from`: Address that currently owns the token.
+       * * `recipient`: Address of the new token-owner-to-be.
+       * * `collection_id`: ID of the collection the item.
+       * * `item_id`: ID of the item to be transferred.
+       * * `value`: Amount to transfer.
+       * * Non-Fungible Mode: An NFT is indivisible, there is always 1 corresponding to an ID.
+       * * Fungible Mode: The desired number of pieces to transfer.
+       * * Re-Fungible Mode: The desired number of pieces to transfer.
        **/
       transferFrom: AugmentedSubmittable<(from: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, recipient: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, collectionId: u32 | AnyNumber | Uint8Array, itemId: u32 | AnyNumber | Uint8Array, value: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr, u32, u32, u128]>;
       /**
modifiedtests/src/interfaces/default/types.tsdiffbeforeafterboth
--- a/tests/src/interfaces/default/types.ts
+++ b/tests/src/interfaces/default/types.ts
@@ -1672,7 +1672,7 @@
   readonly isAddCollectionAdmin: boolean;
   readonly asAddCollectionAdmin: {
     readonly collectionId: u32;
-    readonly newAdminId: PalletEvmAccountBasicCrossAccountIdRepr;
+    readonly newAdmin: PalletEvmAccountBasicCrossAccountIdRepr;
   } & Struct;
   readonly isRemoveCollectionAdmin: boolean;
   readonly asRemoveCollectionAdmin: {
@@ -1784,12 +1784,12 @@
   readonly isSetCollectionPermissions: boolean;
   readonly asSetCollectionPermissions: {
     readonly collectionId: u32;
-    readonly newLimit: UpDataStructsCollectionPermissions;
+    readonly newPermission: UpDataStructsCollectionPermissions;
   } & Struct;
   readonly isRepartition: boolean;
   readonly asRepartition: {
     readonly collectionId: u32;
-    readonly token: u32;
+    readonly tokenId: u32;
     readonly amount: u128;
   } & Struct;
   readonly type: 'CreateCollection' | 'CreateCollectionEx' | 'DestroyCollection' | 'AddToAllowList' | 'RemoveFromAllowList' | 'ChangeCollectionOwner' | 'AddCollectionAdmin' | 'RemoveCollectionAdmin' | 'SetCollectionSponsor' | 'ConfirmSponsorship' | 'RemoveCollectionSponsor' | 'CreateItem' | 'CreateMultipleItems' | 'SetCollectionProperties' | 'DeleteCollectionProperties' | 'SetTokenProperties' | 'DeleteTokenProperties' | 'SetTokenPropertyPermissions' | 'CreateMultipleItemsEx' | 'SetTransfersEnabledFlag' | 'BurnItem' | 'BurnFrom' | 'Transfer' | 'Approve' | 'TransferFrom' | 'SetCollectionLimits' | 'SetCollectionPermissions' | 'Repartition';
modifiedtests/src/interfaces/lookup.tsdiffbeforeafterboth
before · tests/src/interfaces/lookup.ts
1// Auto-generated via `yarn polkadot-types-from-defs`, do not edit2/* eslint-disable */34/* eslint-disable sort-keys */56export default {7  /**8   * Lookup2: polkadot_primitives::v2::PersistedValidationData<primitive_types::H256, N>9   **/10  PolkadotPrimitivesV2PersistedValidationData: {11    parentHead: 'Bytes',12    relayParentNumber: 'u32',13    relayParentStorageRoot: 'H256',14    maxPovSize: 'u32'15  },16  /**17   * Lookup9: polkadot_primitives::v2::UpgradeRestriction18   **/19  PolkadotPrimitivesV2UpgradeRestriction: {20    _enum: ['Present']21  },22  /**23   * Lookup10: sp_trie::storage_proof::StorageProof24   **/25  SpTrieStorageProof: {26    trieNodes: 'BTreeSet<Bytes>'27  },28  /**29   * Lookup13: cumulus_pallet_parachain_system::relay_state_snapshot::MessagingStateSnapshot30   **/31  CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot: {32    dmqMqcHead: 'H256',33    relayDispatchQueueSize: '(u32,u32)',34    ingressChannels: 'Vec<(u32,PolkadotPrimitivesV2AbridgedHrmpChannel)>',35    egressChannels: 'Vec<(u32,PolkadotPrimitivesV2AbridgedHrmpChannel)>'36  },37  /**38   * Lookup18: polkadot_primitives::v2::AbridgedHrmpChannel39   **/40  PolkadotPrimitivesV2AbridgedHrmpChannel: {41    maxCapacity: 'u32',42    maxTotalSize: 'u32',43    maxMessageSize: 'u32',44    msgCount: 'u32',45    totalSize: 'u32',46    mqcHead: 'Option<H256>'47  },48  /**49   * Lookup20: polkadot_primitives::v2::AbridgedHostConfiguration50   **/51  PolkadotPrimitivesV2AbridgedHostConfiguration: {52    maxCodeSize: 'u32',53    maxHeadDataSize: 'u32',54    maxUpwardQueueCount: 'u32',55    maxUpwardQueueSize: 'u32',56    maxUpwardMessageSize: 'u32',57    maxUpwardMessageNumPerCandidate: 'u32',58    hrmpMaxMessageNumPerCandidate: 'u32',59    validationUpgradeCooldown: 'u32',60    validationUpgradeDelay: 'u32'61  },62  /**63   * Lookup26: polkadot_core_primitives::OutboundHrmpMessage<polkadot_parachain::primitives::Id>64   **/65  PolkadotCorePrimitivesOutboundHrmpMessage: {66    recipient: 'u32',67    data: 'Bytes'68  },69  /**70   * Lookup28: cumulus_pallet_parachain_system::pallet::Call<T>71   **/72  CumulusPalletParachainSystemCall: {73    _enum: {74      set_validation_data: {75        data: 'CumulusPrimitivesParachainInherentParachainInherentData',76      },77      sudo_send_upward_message: {78        message: 'Bytes',79      },80      authorize_upgrade: {81        codeHash: 'H256',82      },83      enact_authorized_upgrade: {84        code: 'Bytes'85      }86    }87  },88  /**89   * Lookup29: cumulus_primitives_parachain_inherent::ParachainInherentData90   **/91  CumulusPrimitivesParachainInherentParachainInherentData: {92    validationData: 'PolkadotPrimitivesV2PersistedValidationData',93    relayChainState: 'SpTrieStorageProof',94    downwardMessages: 'Vec<PolkadotCorePrimitivesInboundDownwardMessage>',95    horizontalMessages: 'BTreeMap<u32, Vec<PolkadotCorePrimitivesInboundHrmpMessage>>'96  },97  /**98   * Lookup31: polkadot_core_primitives::InboundDownwardMessage<BlockNumber>99   **/100  PolkadotCorePrimitivesInboundDownwardMessage: {101    sentAt: 'u32',102    msg: 'Bytes'103  },104  /**105   * Lookup34: polkadot_core_primitives::InboundHrmpMessage<BlockNumber>106   **/107  PolkadotCorePrimitivesInboundHrmpMessage: {108    sentAt: 'u32',109    data: 'Bytes'110  },111  /**112   * Lookup37: cumulus_pallet_parachain_system::pallet::Event<T>113   **/114  CumulusPalletParachainSystemEvent: {115    _enum: {116      ValidationFunctionStored: 'Null',117      ValidationFunctionApplied: {118        relayChainBlockNum: 'u32',119      },120      ValidationFunctionDiscarded: 'Null',121      UpgradeAuthorized: {122        codeHash: 'H256',123      },124      DownwardMessagesReceived: {125        count: 'u32',126      },127      DownwardMessagesProcessed: {128        weightUsed: 'u64',129        dmqHead: 'H256'130      }131    }132  },133  /**134   * Lookup38: cumulus_pallet_parachain_system::pallet::Error<T>135   **/136  CumulusPalletParachainSystemError: {137    _enum: ['OverlappingUpgrades', 'ProhibitedByPolkadot', 'TooBig', 'ValidationDataNotAvailable', 'HostConfigurationNotAvailable', 'NotScheduled', 'NothingAuthorized', 'Unauthorized']138  },139  /**140   * Lookup41: pallet_balances::AccountData<Balance>141   **/142  PalletBalancesAccountData: {143    free: 'u128',144    reserved: 'u128',145    miscFrozen: 'u128',146    feeFrozen: 'u128'147  },148  /**149   * Lookup43: pallet_balances::BalanceLock<Balance>150   **/151  PalletBalancesBalanceLock: {152    id: '[u8;8]',153    amount: 'u128',154    reasons: 'PalletBalancesReasons'155  },156  /**157   * Lookup45: pallet_balances::Reasons158   **/159  PalletBalancesReasons: {160    _enum: ['Fee', 'Misc', 'All']161  },162  /**163   * Lookup48: pallet_balances::ReserveData<ReserveIdentifier, Balance>164   **/165  PalletBalancesReserveData: {166    id: '[u8;16]',167    amount: 'u128'168  },169  /**170   * Lookup51: pallet_balances::Releases171   **/172  PalletBalancesReleases: {173    _enum: ['V1_0_0', 'V2_0_0']174  },175  /**176   * Lookup52: pallet_balances::pallet::Call<T, I>177   **/178  PalletBalancesCall: {179    _enum: {180      transfer: {181        dest: 'MultiAddress',182        value: 'Compact<u128>',183      },184      set_balance: {185        who: 'MultiAddress',186        newFree: 'Compact<u128>',187        newReserved: 'Compact<u128>',188      },189      force_transfer: {190        source: 'MultiAddress',191        dest: 'MultiAddress',192        value: 'Compact<u128>',193      },194      transfer_keep_alive: {195        dest: 'MultiAddress',196        value: 'Compact<u128>',197      },198      transfer_all: {199        dest: 'MultiAddress',200        keepAlive: 'bool',201      },202      force_unreserve: {203        who: 'MultiAddress',204        amount: 'u128'205      }206    }207  },208  /**209   * Lookup58: pallet_balances::pallet::Event<T, I>210   **/211  PalletBalancesEvent: {212    _enum: {213      Endowed: {214        account: 'AccountId32',215        freeBalance: 'u128',216      },217      DustLost: {218        account: 'AccountId32',219        amount: 'u128',220      },221      Transfer: {222        from: 'AccountId32',223        to: 'AccountId32',224        amount: 'u128',225      },226      BalanceSet: {227        who: 'AccountId32',228        free: 'u128',229        reserved: 'u128',230      },231      Reserved: {232        who: 'AccountId32',233        amount: 'u128',234      },235      Unreserved: {236        who: 'AccountId32',237        amount: 'u128',238      },239      ReserveRepatriated: {240        from: 'AccountId32',241        to: 'AccountId32',242        amount: 'u128',243        destinationStatus: 'FrameSupportTokensMiscBalanceStatus',244      },245      Deposit: {246        who: 'AccountId32',247        amount: 'u128',248      },249      Withdraw: {250        who: 'AccountId32',251        amount: 'u128',252      },253      Slashed: {254        who: 'AccountId32',255        amount: 'u128'256      }257    }258  },259  /**260   * Lookup59: frame_support::traits::tokens::misc::BalanceStatus261   **/262  FrameSupportTokensMiscBalanceStatus: {263    _enum: ['Free', 'Reserved']264  },265  /**266   * Lookup60: pallet_balances::pallet::Error<T, I>267   **/268  PalletBalancesError: {269    _enum: ['VestingBalance', 'LiquidityRestrictions', 'InsufficientBalance', 'ExistentialDeposit', 'KeepAlive', 'ExistingVestingSchedule', 'DeadAccount', 'TooManyReserves']270  },271  /**272   * Lookup63: pallet_timestamp::pallet::Call<T>273   **/274  PalletTimestampCall: {275    _enum: {276      set: {277        now: 'Compact<u64>'278      }279    }280  },281  /**282   * Lookup66: pallet_transaction_payment::Releases283   **/284  PalletTransactionPaymentReleases: {285    _enum: ['V1Ancient', 'V2']286  },287  /**288   * Lookup67: pallet_treasury::Proposal<sp_core::crypto::AccountId32, Balance>289   **/290  PalletTreasuryProposal: {291    proposer: 'AccountId32',292    value: 'u128',293    beneficiary: 'AccountId32',294    bond: 'u128'295  },296  /**297   * Lookup70: pallet_treasury::pallet::Call<T, I>298   **/299  PalletTreasuryCall: {300    _enum: {301      propose_spend: {302        value: 'Compact<u128>',303        beneficiary: 'MultiAddress',304      },305      reject_proposal: {306        proposalId: 'Compact<u32>',307      },308      approve_proposal: {309        proposalId: 'Compact<u32>',310      },311      remove_approval: {312        proposalId: 'Compact<u32>'313      }314    }315  },316  /**317   * Lookup72: pallet_treasury::pallet::Event<T, I>318   **/319  PalletTreasuryEvent: {320    _enum: {321      Proposed: {322        proposalIndex: 'u32',323      },324      Spending: {325        budgetRemaining: 'u128',326      },327      Awarded: {328        proposalIndex: 'u32',329        award: 'u128',330        account: 'AccountId32',331      },332      Rejected: {333        proposalIndex: 'u32',334        slashed: 'u128',335      },336      Burnt: {337        burntFunds: 'u128',338      },339      Rollover: {340        rolloverBalance: 'u128',341      },342      Deposit: {343        value: 'u128'344      }345    }346  },347  /**348   * Lookup75: frame_support::PalletId349   **/350  FrameSupportPalletId: '[u8;8]',351  /**352   * Lookup76: pallet_treasury::pallet::Error<T, I>353   **/354  PalletTreasuryError: {355    _enum: ['InsufficientProposersBalance', 'InvalidIndex', 'TooManyApprovals', 'ProposalNotApproved']356  },357  /**358   * Lookup77: pallet_sudo::pallet::Call<T>359   **/360  PalletSudoCall: {361    _enum: {362      sudo: {363        call: 'Call',364      },365      sudo_unchecked_weight: {366        call: 'Call',367        weight: 'u64',368      },369      set_key: {370        _alias: {371          new_: 'new',372        },373        new_: 'MultiAddress',374      },375      sudo_as: {376        who: 'MultiAddress',377        call: 'Call'378      }379    }380  },381  /**382   * Lookup79: frame_system::pallet::Call<T>383   **/384  FrameSystemCall: {385    _enum: {386      fill_block: {387        ratio: 'Perbill',388      },389      remark: {390        remark: 'Bytes',391      },392      set_heap_pages: {393        pages: 'u64',394      },395      set_code: {396        code: 'Bytes',397      },398      set_code_without_checks: {399        code: 'Bytes',400      },401      set_storage: {402        items: 'Vec<(Bytes,Bytes)>',403      },404      kill_storage: {405        _alias: {406          keys_: 'keys',407        },408        keys_: 'Vec<Bytes>',409      },410      kill_prefix: {411        prefix: 'Bytes',412        subkeys: 'u32',413      },414      remark_with_event: {415        remark: 'Bytes'416      }417    }418  },419  /**420   * Lookup83: orml_vesting::module::Call<T>421   **/422  OrmlVestingModuleCall: {423    _enum: {424      claim: 'Null',425      vested_transfer: {426        dest: 'MultiAddress',427        schedule: 'OrmlVestingVestingSchedule',428      },429      update_vesting_schedules: {430        who: 'MultiAddress',431        vestingSchedules: 'Vec<OrmlVestingVestingSchedule>',432      },433      claim_for: {434        dest: 'MultiAddress'435      }436    }437  },438  /**439   * Lookup84: orml_vesting::VestingSchedule<BlockNumber, Balance>440   **/441  OrmlVestingVestingSchedule: {442    start: 'u32',443    period: 'u32',444    periodCount: 'u32',445    perPeriod: 'Compact<u128>'446  },447  /**448   * Lookup86: cumulus_pallet_xcmp_queue::pallet::Call<T>449   **/450  CumulusPalletXcmpQueueCall: {451    _enum: {452      service_overweight: {453        index: 'u64',454        weightLimit: 'u64',455      },456      suspend_xcm_execution: 'Null',457      resume_xcm_execution: 'Null',458      update_suspend_threshold: {459        _alias: {460          new_: 'new',461        },462        new_: 'u32',463      },464      update_drop_threshold: {465        _alias: {466          new_: 'new',467        },468        new_: 'u32',469      },470      update_resume_threshold: {471        _alias: {472          new_: 'new',473        },474        new_: 'u32',475      },476      update_threshold_weight: {477        _alias: {478          new_: 'new',479        },480        new_: 'u64',481      },482      update_weight_restrict_decay: {483        _alias: {484          new_: 'new',485        },486        new_: 'u64',487      },488      update_xcmp_max_individual_weight: {489        _alias: {490          new_: 'new',491        },492        new_: 'u64'493      }494    }495  },496  /**497   * Lookup87: pallet_xcm::pallet::Call<T>498   **/499  PalletXcmCall: {500    _enum: {501      send: {502        dest: 'XcmVersionedMultiLocation',503        message: 'XcmVersionedXcm',504      },505      teleport_assets: {506        dest: 'XcmVersionedMultiLocation',507        beneficiary: 'XcmVersionedMultiLocation',508        assets: 'XcmVersionedMultiAssets',509        feeAssetItem: 'u32',510      },511      reserve_transfer_assets: {512        dest: 'XcmVersionedMultiLocation',513        beneficiary: 'XcmVersionedMultiLocation',514        assets: 'XcmVersionedMultiAssets',515        feeAssetItem: 'u32',516      },517      execute: {518        message: 'XcmVersionedXcm',519        maxWeight: 'u64',520      },521      force_xcm_version: {522        location: 'XcmV1MultiLocation',523        xcmVersion: 'u32',524      },525      force_default_xcm_version: {526        maybeXcmVersion: 'Option<u32>',527      },528      force_subscribe_version_notify: {529        location: 'XcmVersionedMultiLocation',530      },531      force_unsubscribe_version_notify: {532        location: 'XcmVersionedMultiLocation',533      },534      limited_reserve_transfer_assets: {535        dest: 'XcmVersionedMultiLocation',536        beneficiary: 'XcmVersionedMultiLocation',537        assets: 'XcmVersionedMultiAssets',538        feeAssetItem: 'u32',539        weightLimit: 'XcmV2WeightLimit',540      },541      limited_teleport_assets: {542        dest: 'XcmVersionedMultiLocation',543        beneficiary: 'XcmVersionedMultiLocation',544        assets: 'XcmVersionedMultiAssets',545        feeAssetItem: 'u32',546        weightLimit: 'XcmV2WeightLimit'547      }548    }549  },550  /**551   * Lookup88: xcm::VersionedMultiLocation552   **/553  XcmVersionedMultiLocation: {554    _enum: {555      V0: 'XcmV0MultiLocation',556      V1: 'XcmV1MultiLocation'557    }558  },559  /**560   * Lookup89: xcm::v0::multi_location::MultiLocation561   **/562  XcmV0MultiLocation: {563    _enum: {564      Null: 'Null',565      X1: 'XcmV0Junction',566      X2: '(XcmV0Junction,XcmV0Junction)',567      X3: '(XcmV0Junction,XcmV0Junction,XcmV0Junction)',568      X4: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)',569      X5: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)',570      X6: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)',571      X7: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)',572      X8: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)'573    }574  },575  /**576   * Lookup90: xcm::v0::junction::Junction577   **/578  XcmV0Junction: {579    _enum: {580      Parent: 'Null',581      Parachain: 'Compact<u32>',582      AccountId32: {583        network: 'XcmV0JunctionNetworkId',584        id: '[u8;32]',585      },586      AccountIndex64: {587        network: 'XcmV0JunctionNetworkId',588        index: 'Compact<u64>',589      },590      AccountKey20: {591        network: 'XcmV0JunctionNetworkId',592        key: '[u8;20]',593      },594      PalletInstance: 'u8',595      GeneralIndex: 'Compact<u128>',596      GeneralKey: 'Bytes',597      OnlyChild: 'Null',598      Plurality: {599        id: 'XcmV0JunctionBodyId',600        part: 'XcmV0JunctionBodyPart'601      }602    }603  },604  /**605   * Lookup91: xcm::v0::junction::NetworkId606   **/607  XcmV0JunctionNetworkId: {608    _enum: {609      Any: 'Null',610      Named: 'Bytes',611      Polkadot: 'Null',612      Kusama: 'Null'613    }614  },615  /**616   * Lookup92: xcm::v0::junction::BodyId617   **/618  XcmV0JunctionBodyId: {619    _enum: {620      Unit: 'Null',621      Named: 'Bytes',622      Index: 'Compact<u32>',623      Executive: 'Null',624      Technical: 'Null',625      Legislative: 'Null',626      Judicial: 'Null'627    }628  },629  /**630   * Lookup93: xcm::v0::junction::BodyPart631   **/632  XcmV0JunctionBodyPart: {633    _enum: {634      Voice: 'Null',635      Members: {636        count: 'Compact<u32>',637      },638      Fraction: {639        nom: 'Compact<u32>',640        denom: 'Compact<u32>',641      },642      AtLeastProportion: {643        nom: 'Compact<u32>',644        denom: 'Compact<u32>',645      },646      MoreThanProportion: {647        nom: 'Compact<u32>',648        denom: 'Compact<u32>'649      }650    }651  },652  /**653   * Lookup94: xcm::v1::multilocation::MultiLocation654   **/655  XcmV1MultiLocation: {656    parents: 'u8',657    interior: 'XcmV1MultilocationJunctions'658  },659  /**660   * Lookup95: xcm::v1::multilocation::Junctions661   **/662  XcmV1MultilocationJunctions: {663    _enum: {664      Here: 'Null',665      X1: 'XcmV1Junction',666      X2: '(XcmV1Junction,XcmV1Junction)',667      X3: '(XcmV1Junction,XcmV1Junction,XcmV1Junction)',668      X4: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)',669      X5: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)',670      X6: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)',671      X7: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)',672      X8: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)'673    }674  },675  /**676   * Lookup96: xcm::v1::junction::Junction677   **/678  XcmV1Junction: {679    _enum: {680      Parachain: 'Compact<u32>',681      AccountId32: {682        network: 'XcmV0JunctionNetworkId',683        id: '[u8;32]',684      },685      AccountIndex64: {686        network: 'XcmV0JunctionNetworkId',687        index: 'Compact<u64>',688      },689      AccountKey20: {690        network: 'XcmV0JunctionNetworkId',691        key: '[u8;20]',692      },693      PalletInstance: 'u8',694      GeneralIndex: 'Compact<u128>',695      GeneralKey: 'Bytes',696      OnlyChild: 'Null',697      Plurality: {698        id: 'XcmV0JunctionBodyId',699        part: 'XcmV0JunctionBodyPart'700      }701    }702  },703  /**704   * Lookup97: xcm::VersionedXcm<Call>705   **/706  XcmVersionedXcm: {707    _enum: {708      V0: 'XcmV0Xcm',709      V1: 'XcmV1Xcm',710      V2: 'XcmV2Xcm'711    }712  },713  /**714   * Lookup98: xcm::v0::Xcm<Call>715   **/716  XcmV0Xcm: {717    _enum: {718      WithdrawAsset: {719        assets: 'Vec<XcmV0MultiAsset>',720        effects: 'Vec<XcmV0Order>',721      },722      ReserveAssetDeposit: {723        assets: 'Vec<XcmV0MultiAsset>',724        effects: 'Vec<XcmV0Order>',725      },726      TeleportAsset: {727        assets: 'Vec<XcmV0MultiAsset>',728        effects: 'Vec<XcmV0Order>',729      },730      QueryResponse: {731        queryId: 'Compact<u64>',732        response: 'XcmV0Response',733      },734      TransferAsset: {735        assets: 'Vec<XcmV0MultiAsset>',736        dest: 'XcmV0MultiLocation',737      },738      TransferReserveAsset: {739        assets: 'Vec<XcmV0MultiAsset>',740        dest: 'XcmV0MultiLocation',741        effects: 'Vec<XcmV0Order>',742      },743      Transact: {744        originType: 'XcmV0OriginKind',745        requireWeightAtMost: 'u64',746        call: 'XcmDoubleEncoded',747      },748      HrmpNewChannelOpenRequest: {749        sender: 'Compact<u32>',750        maxMessageSize: 'Compact<u32>',751        maxCapacity: 'Compact<u32>',752      },753      HrmpChannelAccepted: {754        recipient: 'Compact<u32>',755      },756      HrmpChannelClosing: {757        initiator: 'Compact<u32>',758        sender: 'Compact<u32>',759        recipient: 'Compact<u32>',760      },761      RelayedFrom: {762        who: 'XcmV0MultiLocation',763        message: 'XcmV0Xcm'764      }765    }766  },767  /**768   * Lookup100: xcm::v0::multi_asset::MultiAsset769   **/770  XcmV0MultiAsset: {771    _enum: {772      None: 'Null',773      All: 'Null',774      AllFungible: 'Null',775      AllNonFungible: 'Null',776      AllAbstractFungible: {777        id: 'Bytes',778      },779      AllAbstractNonFungible: {780        class: 'Bytes',781      },782      AllConcreteFungible: {783        id: 'XcmV0MultiLocation',784      },785      AllConcreteNonFungible: {786        class: 'XcmV0MultiLocation',787      },788      AbstractFungible: {789        id: 'Bytes',790        amount: 'Compact<u128>',791      },792      AbstractNonFungible: {793        class: 'Bytes',794        instance: 'XcmV1MultiassetAssetInstance',795      },796      ConcreteFungible: {797        id: 'XcmV0MultiLocation',798        amount: 'Compact<u128>',799      },800      ConcreteNonFungible: {801        class: 'XcmV0MultiLocation',802        instance: 'XcmV1MultiassetAssetInstance'803      }804    }805  },806  /**807   * Lookup101: xcm::v1::multiasset::AssetInstance808   **/809  XcmV1MultiassetAssetInstance: {810    _enum: {811      Undefined: 'Null',812      Index: 'Compact<u128>',813      Array4: '[u8;4]',814      Array8: '[u8;8]',815      Array16: '[u8;16]',816      Array32: '[u8;32]',817      Blob: 'Bytes'818    }819  },820  /**821   * Lookup104: xcm::v0::order::Order<Call>822   **/823  XcmV0Order: {824    _enum: {825      Null: 'Null',826      DepositAsset: {827        assets: 'Vec<XcmV0MultiAsset>',828        dest: 'XcmV0MultiLocation',829      },830      DepositReserveAsset: {831        assets: 'Vec<XcmV0MultiAsset>',832        dest: 'XcmV0MultiLocation',833        effects: 'Vec<XcmV0Order>',834      },835      ExchangeAsset: {836        give: 'Vec<XcmV0MultiAsset>',837        receive: 'Vec<XcmV0MultiAsset>',838      },839      InitiateReserveWithdraw: {840        assets: 'Vec<XcmV0MultiAsset>',841        reserve: 'XcmV0MultiLocation',842        effects: 'Vec<XcmV0Order>',843      },844      InitiateTeleport: {845        assets: 'Vec<XcmV0MultiAsset>',846        dest: 'XcmV0MultiLocation',847        effects: 'Vec<XcmV0Order>',848      },849      QueryHolding: {850        queryId: 'Compact<u64>',851        dest: 'XcmV0MultiLocation',852        assets: 'Vec<XcmV0MultiAsset>',853      },854      BuyExecution: {855        fees: 'XcmV0MultiAsset',856        weight: 'u64',857        debt: 'u64',858        haltOnError: 'bool',859        xcm: 'Vec<XcmV0Xcm>'860      }861    }862  },863  /**864   * Lookup106: xcm::v0::Response865   **/866  XcmV0Response: {867    _enum: {868      Assets: 'Vec<XcmV0MultiAsset>'869    }870  },871  /**872   * Lookup107: xcm::v0::OriginKind873   **/874  XcmV0OriginKind: {875    _enum: ['Native', 'SovereignAccount', 'Superuser', 'Xcm']876  },877  /**878   * Lookup108: xcm::double_encoded::DoubleEncoded<T>879   **/880  XcmDoubleEncoded: {881    encoded: 'Bytes'882  },883  /**884   * Lookup109: xcm::v1::Xcm<Call>885   **/886  XcmV1Xcm: {887    _enum: {888      WithdrawAsset: {889        assets: 'XcmV1MultiassetMultiAssets',890        effects: 'Vec<XcmV1Order>',891      },892      ReserveAssetDeposited: {893        assets: 'XcmV1MultiassetMultiAssets',894        effects: 'Vec<XcmV1Order>',895      },896      ReceiveTeleportedAsset: {897        assets: 'XcmV1MultiassetMultiAssets',898        effects: 'Vec<XcmV1Order>',899      },900      QueryResponse: {901        queryId: 'Compact<u64>',902        response: 'XcmV1Response',903      },904      TransferAsset: {905        assets: 'XcmV1MultiassetMultiAssets',906        beneficiary: 'XcmV1MultiLocation',907      },908      TransferReserveAsset: {909        assets: 'XcmV1MultiassetMultiAssets',910        dest: 'XcmV1MultiLocation',911        effects: 'Vec<XcmV1Order>',912      },913      Transact: {914        originType: 'XcmV0OriginKind',915        requireWeightAtMost: 'u64',916        call: 'XcmDoubleEncoded',917      },918      HrmpNewChannelOpenRequest: {919        sender: 'Compact<u32>',920        maxMessageSize: 'Compact<u32>',921        maxCapacity: 'Compact<u32>',922      },923      HrmpChannelAccepted: {924        recipient: 'Compact<u32>',925      },926      HrmpChannelClosing: {927        initiator: 'Compact<u32>',928        sender: 'Compact<u32>',929        recipient: 'Compact<u32>',930      },931      RelayedFrom: {932        who: 'XcmV1MultilocationJunctions',933        message: 'XcmV1Xcm',934      },935      SubscribeVersion: {936        queryId: 'Compact<u64>',937        maxResponseWeight: 'Compact<u64>',938      },939      UnsubscribeVersion: 'Null'940    }941  },942  /**943   * Lookup110: xcm::v1::multiasset::MultiAssets944   **/945  XcmV1MultiassetMultiAssets: 'Vec<XcmV1MultiAsset>',946  /**947   * Lookup112: xcm::v1::multiasset::MultiAsset948   **/949  XcmV1MultiAsset: {950    id: 'XcmV1MultiassetAssetId',951    fun: 'XcmV1MultiassetFungibility'952  },953  /**954   * Lookup113: xcm::v1::multiasset::AssetId955   **/956  XcmV1MultiassetAssetId: {957    _enum: {958      Concrete: 'XcmV1MultiLocation',959      Abstract: 'Bytes'960    }961  },962  /**963   * Lookup114: xcm::v1::multiasset::Fungibility964   **/965  XcmV1MultiassetFungibility: {966    _enum: {967      Fungible: 'Compact<u128>',968      NonFungible: 'XcmV1MultiassetAssetInstance'969    }970  },971  /**972   * Lookup116: xcm::v1::order::Order<Call>973   **/974  XcmV1Order: {975    _enum: {976      Noop: 'Null',977      DepositAsset: {978        assets: 'XcmV1MultiassetMultiAssetFilter',979        maxAssets: 'u32',980        beneficiary: 'XcmV1MultiLocation',981      },982      DepositReserveAsset: {983        assets: 'XcmV1MultiassetMultiAssetFilter',984        maxAssets: 'u32',985        dest: 'XcmV1MultiLocation',986        effects: 'Vec<XcmV1Order>',987      },988      ExchangeAsset: {989        give: 'XcmV1MultiassetMultiAssetFilter',990        receive: 'XcmV1MultiassetMultiAssets',991      },992      InitiateReserveWithdraw: {993        assets: 'XcmV1MultiassetMultiAssetFilter',994        reserve: 'XcmV1MultiLocation',995        effects: 'Vec<XcmV1Order>',996      },997      InitiateTeleport: {998        assets: 'XcmV1MultiassetMultiAssetFilter',999        dest: 'XcmV1MultiLocation',1000        effects: 'Vec<XcmV1Order>',1001      },1002      QueryHolding: {1003        queryId: 'Compact<u64>',1004        dest: 'XcmV1MultiLocation',1005        assets: 'XcmV1MultiassetMultiAssetFilter',1006      },1007      BuyExecution: {1008        fees: 'XcmV1MultiAsset',1009        weight: 'u64',1010        debt: 'u64',1011        haltOnError: 'bool',1012        instructions: 'Vec<XcmV1Xcm>'1013      }1014    }1015  },1016  /**1017   * Lookup117: xcm::v1::multiasset::MultiAssetFilter1018   **/1019  XcmV1MultiassetMultiAssetFilter: {1020    _enum: {1021      Definite: 'XcmV1MultiassetMultiAssets',1022      Wild: 'XcmV1MultiassetWildMultiAsset'1023    }1024  },1025  /**1026   * Lookup118: xcm::v1::multiasset::WildMultiAsset1027   **/1028  XcmV1MultiassetWildMultiAsset: {1029    _enum: {1030      All: 'Null',1031      AllOf: {1032        id: 'XcmV1MultiassetAssetId',1033        fun: 'XcmV1MultiassetWildFungibility'1034      }1035    }1036  },1037  /**1038   * Lookup119: xcm::v1::multiasset::WildFungibility1039   **/1040  XcmV1MultiassetWildFungibility: {1041    _enum: ['Fungible', 'NonFungible']1042  },1043  /**1044   * Lookup121: xcm::v1::Response1045   **/1046  XcmV1Response: {1047    _enum: {1048      Assets: 'XcmV1MultiassetMultiAssets',1049      Version: 'u32'1050    }1051  },1052  /**1053   * Lookup122: xcm::v2::Xcm<Call>1054   **/1055  XcmV2Xcm: 'Vec<XcmV2Instruction>',1056  /**1057   * Lookup124: xcm::v2::Instruction<Call>1058   **/1059  XcmV2Instruction: {1060    _enum: {1061      WithdrawAsset: 'XcmV1MultiassetMultiAssets',1062      ReserveAssetDeposited: 'XcmV1MultiassetMultiAssets',1063      ReceiveTeleportedAsset: 'XcmV1MultiassetMultiAssets',1064      QueryResponse: {1065        queryId: 'Compact<u64>',1066        response: 'XcmV2Response',1067        maxWeight: 'Compact<u64>',1068      },1069      TransferAsset: {1070        assets: 'XcmV1MultiassetMultiAssets',1071        beneficiary: 'XcmV1MultiLocation',1072      },1073      TransferReserveAsset: {1074        assets: 'XcmV1MultiassetMultiAssets',1075        dest: 'XcmV1MultiLocation',1076        xcm: 'XcmV2Xcm',1077      },1078      Transact: {1079        originType: 'XcmV0OriginKind',1080        requireWeightAtMost: 'Compact<u64>',1081        call: 'XcmDoubleEncoded',1082      },1083      HrmpNewChannelOpenRequest: {1084        sender: 'Compact<u32>',1085        maxMessageSize: 'Compact<u32>',1086        maxCapacity: 'Compact<u32>',1087      },1088      HrmpChannelAccepted: {1089        recipient: 'Compact<u32>',1090      },1091      HrmpChannelClosing: {1092        initiator: 'Compact<u32>',1093        sender: 'Compact<u32>',1094        recipient: 'Compact<u32>',1095      },1096      ClearOrigin: 'Null',1097      DescendOrigin: 'XcmV1MultilocationJunctions',1098      ReportError: {1099        queryId: 'Compact<u64>',1100        dest: 'XcmV1MultiLocation',1101        maxResponseWeight: 'Compact<u64>',1102      },1103      DepositAsset: {1104        assets: 'XcmV1MultiassetMultiAssetFilter',1105        maxAssets: 'Compact<u32>',1106        beneficiary: 'XcmV1MultiLocation',1107      },1108      DepositReserveAsset: {1109        assets: 'XcmV1MultiassetMultiAssetFilter',1110        maxAssets: 'Compact<u32>',1111        dest: 'XcmV1MultiLocation',1112        xcm: 'XcmV2Xcm',1113      },1114      ExchangeAsset: {1115        give: 'XcmV1MultiassetMultiAssetFilter',1116        receive: 'XcmV1MultiassetMultiAssets',1117      },1118      InitiateReserveWithdraw: {1119        assets: 'XcmV1MultiassetMultiAssetFilter',1120        reserve: 'XcmV1MultiLocation',1121        xcm: 'XcmV2Xcm',1122      },1123      InitiateTeleport: {1124        assets: 'XcmV1MultiassetMultiAssetFilter',1125        dest: 'XcmV1MultiLocation',1126        xcm: 'XcmV2Xcm',1127      },1128      QueryHolding: {1129        queryId: 'Compact<u64>',1130        dest: 'XcmV1MultiLocation',1131        assets: 'XcmV1MultiassetMultiAssetFilter',1132        maxResponseWeight: 'Compact<u64>',1133      },1134      BuyExecution: {1135        fees: 'XcmV1MultiAsset',1136        weightLimit: 'XcmV2WeightLimit',1137      },1138      RefundSurplus: 'Null',1139      SetErrorHandler: 'XcmV2Xcm',1140      SetAppendix: 'XcmV2Xcm',1141      ClearError: 'Null',1142      ClaimAsset: {1143        assets: 'XcmV1MultiassetMultiAssets',1144        ticket: 'XcmV1MultiLocation',1145      },1146      Trap: 'Compact<u64>',1147      SubscribeVersion: {1148        queryId: 'Compact<u64>',1149        maxResponseWeight: 'Compact<u64>',1150      },1151      UnsubscribeVersion: 'Null'1152    }1153  },1154  /**1155   * Lookup125: xcm::v2::Response1156   **/1157  XcmV2Response: {1158    _enum: {1159      Null: 'Null',1160      Assets: 'XcmV1MultiassetMultiAssets',1161      ExecutionResult: 'Option<(u32,XcmV2TraitsError)>',1162      Version: 'u32'1163    }1164  },1165  /**1166   * Lookup128: xcm::v2::traits::Error1167   **/1168  XcmV2TraitsError: {1169    _enum: {1170      Overflow: 'Null',1171      Unimplemented: 'Null',1172      UntrustedReserveLocation: 'Null',1173      UntrustedTeleportLocation: 'Null',1174      MultiLocationFull: 'Null',1175      MultiLocationNotInvertible: 'Null',1176      BadOrigin: 'Null',1177      InvalidLocation: 'Null',1178      AssetNotFound: 'Null',1179      FailedToTransactAsset: 'Null',1180      NotWithdrawable: 'Null',1181      LocationCannotHold: 'Null',1182      ExceedsMaxMessageSize: 'Null',1183      DestinationUnsupported: 'Null',1184      Transport: 'Null',1185      Unroutable: 'Null',1186      UnknownClaim: 'Null',1187      FailedToDecode: 'Null',1188      MaxWeightInvalid: 'Null',1189      NotHoldingFees: 'Null',1190      TooExpensive: 'Null',1191      Trap: 'u64',1192      UnhandledXcmVersion: 'Null',1193      WeightLimitReached: 'u64',1194      Barrier: 'Null',1195      WeightNotComputable: 'Null'1196    }1197  },1198  /**1199   * Lookup129: xcm::v2::WeightLimit1200   **/1201  XcmV2WeightLimit: {1202    _enum: {1203      Unlimited: 'Null',1204      Limited: 'Compact<u64>'1205    }1206  },1207  /**1208   * Lookup130: xcm::VersionedMultiAssets1209   **/1210  XcmVersionedMultiAssets: {1211    _enum: {1212      V0: 'Vec<XcmV0MultiAsset>',1213      V1: 'XcmV1MultiassetMultiAssets'1214    }1215  },1216  /**1217   * Lookup145: cumulus_pallet_xcm::pallet::Call<T>1218   **/1219  CumulusPalletXcmCall: 'Null',1220  /**1221   * Lookup146: cumulus_pallet_dmp_queue::pallet::Call<T>1222   **/1223  CumulusPalletDmpQueueCall: {1224    _enum: {1225      service_overweight: {1226        index: 'u64',1227        weightLimit: 'u64'1228      }1229    }1230  },1231  /**1232   * Lookup147: pallet_inflation::pallet::Call<T>1233   **/1234  PalletInflationCall: {1235    _enum: {1236      start_inflation: {1237        inflationStartRelayBlock: 'u32'1238      }1239    }1240  },1241  /**1242   * Lookup148: pallet_unique::Call<T>1243   **/1244  PalletUniqueCall: {1245    _enum: {1246      create_collection: {1247        collectionName: 'Vec<u16>',1248        collectionDescription: 'Vec<u16>',1249        tokenPrefix: 'Bytes',1250        mode: 'UpDataStructsCollectionMode',1251      },1252      create_collection_ex: {1253        data: 'UpDataStructsCreateCollectionData',1254      },1255      destroy_collection: {1256        collectionId: 'u32',1257      },1258      add_to_allow_list: {1259        collectionId: 'u32',1260        address: 'PalletEvmAccountBasicCrossAccountIdRepr',1261      },1262      remove_from_allow_list: {1263        collectionId: 'u32',1264        address: 'PalletEvmAccountBasicCrossAccountIdRepr',1265      },1266      change_collection_owner: {1267        collectionId: 'u32',1268        newOwner: 'AccountId32',1269      },1270      add_collection_admin: {1271        collectionId: 'u32',1272        newAdminId: 'PalletEvmAccountBasicCrossAccountIdRepr',1273      },1274      remove_collection_admin: {1275        collectionId: 'u32',1276        accountId: 'PalletEvmAccountBasicCrossAccountIdRepr',1277      },1278      set_collection_sponsor: {1279        collectionId: 'u32',1280        newSponsor: 'AccountId32',1281      },1282      confirm_sponsorship: {1283        collectionId: 'u32',1284      },1285      remove_collection_sponsor: {1286        collectionId: 'u32',1287      },1288      create_item: {1289        collectionId: 'u32',1290        owner: 'PalletEvmAccountBasicCrossAccountIdRepr',1291        data: 'UpDataStructsCreateItemData',1292      },1293      create_multiple_items: {1294        collectionId: 'u32',1295        owner: 'PalletEvmAccountBasicCrossAccountIdRepr',1296        itemsData: 'Vec<UpDataStructsCreateItemData>',1297      },1298      set_collection_properties: {1299        collectionId: 'u32',1300        properties: 'Vec<UpDataStructsProperty>',1301      },1302      delete_collection_properties: {1303        collectionId: 'u32',1304        propertyKeys: 'Vec<Bytes>',1305      },1306      set_token_properties: {1307        collectionId: 'u32',1308        tokenId: 'u32',1309        properties: 'Vec<UpDataStructsProperty>',1310      },1311      delete_token_properties: {1312        collectionId: 'u32',1313        tokenId: 'u32',1314        propertyKeys: 'Vec<Bytes>',1315      },1316      set_token_property_permissions: {1317        collectionId: 'u32',1318        propertyPermissions: 'Vec<UpDataStructsPropertyKeyPermission>',1319      },1320      create_multiple_items_ex: {1321        collectionId: 'u32',1322        data: 'UpDataStructsCreateItemExData',1323      },1324      set_transfers_enabled_flag: {1325        collectionId: 'u32',1326        value: 'bool',1327      },1328      burn_item: {1329        collectionId: 'u32',1330        itemId: 'u32',1331        value: 'u128',1332      },1333      burn_from: {1334        collectionId: 'u32',1335        from: 'PalletEvmAccountBasicCrossAccountIdRepr',1336        itemId: 'u32',1337        value: 'u128',1338      },1339      transfer: {1340        recipient: 'PalletEvmAccountBasicCrossAccountIdRepr',1341        collectionId: 'u32',1342        itemId: 'u32',1343        value: 'u128',1344      },1345      approve: {1346        spender: 'PalletEvmAccountBasicCrossAccountIdRepr',1347        collectionId: 'u32',1348        itemId: 'u32',1349        amount: 'u128',1350      },1351      transfer_from: {1352        from: 'PalletEvmAccountBasicCrossAccountIdRepr',1353        recipient: 'PalletEvmAccountBasicCrossAccountIdRepr',1354        collectionId: 'u32',1355        itemId: 'u32',1356        value: 'u128',1357      },1358      set_collection_limits: {1359        collectionId: 'u32',1360        newLimit: 'UpDataStructsCollectionLimits',1361      },1362      set_collection_permissions: {1363        collectionId: 'u32',1364        newLimit: 'UpDataStructsCollectionPermissions',1365      },1366      repartition: {1367        collectionId: 'u32',1368        token: 'u32',1369        amount: 'u128'1370      }1371    }1372  },1373  /**1374   * Lookup154: up_data_structs::CollectionMode1375   **/1376  UpDataStructsCollectionMode: {1377    _enum: {1378      NFT: 'Null',1379      Fungible: 'u8',1380      ReFungible: 'Null'1381    }1382  },1383  /**1384   * Lookup155: up_data_structs::CreateCollectionData<sp_core::crypto::AccountId32>1385   **/1386  UpDataStructsCreateCollectionData: {1387    mode: 'UpDataStructsCollectionMode',1388    access: 'Option<UpDataStructsAccessMode>',1389    name: 'Vec<u16>',1390    description: 'Vec<u16>',1391    tokenPrefix: 'Bytes',1392    pendingSponsor: 'Option<AccountId32>',1393    limits: 'Option<UpDataStructsCollectionLimits>',1394    permissions: 'Option<UpDataStructsCollectionPermissions>',1395    tokenPropertyPermissions: 'Vec<UpDataStructsPropertyKeyPermission>',1396    properties: 'Vec<UpDataStructsProperty>'1397  },1398  /**1399   * Lookup157: up_data_structs::AccessMode1400   **/1401  UpDataStructsAccessMode: {1402    _enum: ['Normal', 'AllowList']1403  },1404  /**1405   * Lookup160: up_data_structs::CollectionLimits1406   **/1407  UpDataStructsCollectionLimits: {1408    accountTokenOwnershipLimit: 'Option<u32>',1409    sponsoredDataSize: 'Option<u32>',1410    sponsoredDataRateLimit: 'Option<UpDataStructsSponsoringRateLimit>',1411    tokenLimit: 'Option<u32>',1412    sponsorTransferTimeout: 'Option<u32>',1413    sponsorApproveTimeout: 'Option<u32>',1414    ownerCanTransfer: 'Option<bool>',1415    ownerCanDestroy: 'Option<bool>',1416    transfersEnabled: 'Option<bool>'1417  },1418  /**1419   * Lookup162: up_data_structs::SponsoringRateLimit1420   **/1421  UpDataStructsSponsoringRateLimit: {1422    _enum: {1423      SponsoringDisabled: 'Null',1424      Blocks: 'u32'1425    }1426  },1427  /**1428   * Lookup165: up_data_structs::CollectionPermissions1429   **/1430  UpDataStructsCollectionPermissions: {1431    access: 'Option<UpDataStructsAccessMode>',1432    mintMode: 'Option<bool>',1433    nesting: 'Option<UpDataStructsNestingPermissions>'1434  },1435  /**1436   * Lookup167: up_data_structs::NestingPermissions1437   **/1438  UpDataStructsNestingPermissions: {1439    tokenOwner: 'bool',1440    collectionAdmin: 'bool',1441    restricted: 'Option<UpDataStructsOwnerRestrictedSet>'1442  },1443  /**1444   * Lookup169: up_data_structs::OwnerRestrictedSet1445   **/1446  UpDataStructsOwnerRestrictedSet: 'BTreeSet<u32>',1447  /**1448   * Lookup175: up_data_structs::PropertyKeyPermission1449   **/1450  UpDataStructsPropertyKeyPermission: {1451    key: 'Bytes',1452    permission: 'UpDataStructsPropertyPermission'1453  },1454  /**1455   * Lookup177: up_data_structs::PropertyPermission1456   **/1457  UpDataStructsPropertyPermission: {1458    mutable: 'bool',1459    collectionAdmin: 'bool',1460    tokenOwner: 'bool'1461  },1462  /**1463   * Lookup180: up_data_structs::Property1464   **/1465  UpDataStructsProperty: {1466    key: 'Bytes',1467    value: 'Bytes'1468  },1469  /**1470   * Lookup183: pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>1471   **/1472  PalletEvmAccountBasicCrossAccountIdRepr: {1473    _enum: {1474      Substrate: 'AccountId32',1475      Ethereum: 'H160'1476    }1477  },1478  /**1479   * Lookup185: up_data_structs::CreateItemData1480   **/1481  UpDataStructsCreateItemData: {1482    _enum: {1483      NFT: 'UpDataStructsCreateNftData',1484      Fungible: 'UpDataStructsCreateFungibleData',1485      ReFungible: 'UpDataStructsCreateReFungibleData'1486    }1487  },1488  /**1489   * Lookup186: up_data_structs::CreateNftData1490   **/1491  UpDataStructsCreateNftData: {1492    properties: 'Vec<UpDataStructsProperty>'1493  },1494  /**1495   * Lookup187: up_data_structs::CreateFungibleData1496   **/1497  UpDataStructsCreateFungibleData: {1498    value: 'u128'1499  },1500  /**1501   * Lookup188: up_data_structs::CreateReFungibleData1502   **/1503  UpDataStructsCreateReFungibleData: {1504    constData: 'Bytes',1505    pieces: 'u128',1506    properties: 'Vec<UpDataStructsProperty>'1507  },1508  /**1509   * Lookup193: up_data_structs::CreateItemExData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>1510   **/1511  UpDataStructsCreateItemExData: {1512    _enum: {1513      NFT: 'Vec<UpDataStructsCreateNftExData>',1514      Fungible: 'BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>',1515      RefungibleMultipleItems: 'Vec<UpDataStructsCreateRefungibleExData>',1516      RefungibleMultipleOwners: 'UpDataStructsCreateRefungibleExData'1517    }1518  },1519  /**1520   * Lookup195: up_data_structs::CreateNftExData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>1521   **/1522  UpDataStructsCreateNftExData: {1523    properties: 'Vec<UpDataStructsProperty>',1524    owner: 'PalletEvmAccountBasicCrossAccountIdRepr'1525  },1526  /**1527   * Lookup202: up_data_structs::CreateRefungibleExData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>1528   **/1529  UpDataStructsCreateRefungibleExData: {1530    constData: 'Bytes',1531    users: 'BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>',1532    properties: 'Vec<UpDataStructsProperty>'1533  },1534  /**1535   * Lookup204: pallet_unique_scheduler::pallet::Call<T>1536   **/1537  PalletUniqueSchedulerCall: {1538    _enum: {1539      schedule_named: {1540        id: '[u8;16]',1541        when: 'u32',1542        maybePeriodic: 'Option<(u32,u32)>',1543        priority: 'u8',1544        call: 'FrameSupportScheduleMaybeHashed',1545      },1546      cancel_named: {1547        id: '[u8;16]',1548      },1549      schedule_named_after: {1550        id: '[u8;16]',1551        after: 'u32',1552        maybePeriodic: 'Option<(u32,u32)>',1553        priority: 'u8',1554        call: 'FrameSupportScheduleMaybeHashed'1555      }1556    }1557  },1558  /**1559   * Lookup206: frame_support::traits::schedule::MaybeHashed<opal_runtime::Call, primitive_types::H256>1560   **/1561  FrameSupportScheduleMaybeHashed: {1562    _enum: {1563      Value: 'Call',1564      Hash: 'H256'1565    }1566  },1567  /**1568   * Lookup207: pallet_template_transaction_payment::Call<T>1569   **/1570  PalletTemplateTransactionPaymentCall: 'Null',1571  /**1572   * Lookup208: pallet_structure::pallet::Call<T>1573   **/1574  PalletStructureCall: 'Null',1575  /**1576   * Lookup209: pallet_rmrk_core::pallet::Call<T>1577   **/1578  PalletRmrkCoreCall: {1579    _enum: {1580      create_collection: {1581        metadata: 'Bytes',1582        max: 'Option<u32>',1583        symbol: 'Bytes',1584      },1585      destroy_collection: {1586        collectionId: 'u32',1587      },1588      change_collection_issuer: {1589        collectionId: 'u32',1590        newIssuer: 'MultiAddress',1591      },1592      lock_collection: {1593        collectionId: 'u32',1594      },1595      mint_nft: {1596        owner: 'Option<AccountId32>',1597        collectionId: 'u32',1598        recipient: 'Option<AccountId32>',1599        royaltyAmount: 'Option<Permill>',1600        metadata: 'Bytes',1601        transferable: 'bool',1602        resources: 'Option<Vec<RmrkTraitsResourceResourceTypes>>',1603      },1604      burn_nft: {1605        collectionId: 'u32',1606        nftId: 'u32',1607        maxBurns: 'u32',1608      },1609      send: {1610        rmrkCollectionId: 'u32',1611        rmrkNftId: 'u32',1612        newOwner: 'RmrkTraitsNftAccountIdOrCollectionNftTuple',1613      },1614      accept_nft: {1615        rmrkCollectionId: 'u32',1616        rmrkNftId: 'u32',1617        newOwner: 'RmrkTraitsNftAccountIdOrCollectionNftTuple',1618      },1619      reject_nft: {1620        rmrkCollectionId: 'u32',1621        rmrkNftId: 'u32',1622      },1623      accept_resource: {1624        rmrkCollectionId: 'u32',1625        rmrkNftId: 'u32',1626        resourceId: 'u32',1627      },1628      accept_resource_removal: {1629        rmrkCollectionId: 'u32',1630        rmrkNftId: 'u32',1631        resourceId: 'u32',1632      },1633      set_property: {1634        rmrkCollectionId: 'Compact<u32>',1635        maybeNftId: 'Option<u32>',1636        key: 'Bytes',1637        value: 'Bytes',1638      },1639      set_priority: {1640        rmrkCollectionId: 'u32',1641        rmrkNftId: 'u32',1642        priorities: 'Vec<u32>',1643      },1644      add_basic_resource: {1645        rmrkCollectionId: 'u32',1646        nftId: 'u32',1647        resource: 'RmrkTraitsResourceBasicResource',1648      },1649      add_composable_resource: {1650        rmrkCollectionId: 'u32',1651        nftId: 'u32',1652        resource: 'RmrkTraitsResourceComposableResource',1653      },1654      add_slot_resource: {1655        rmrkCollectionId: 'u32',1656        nftId: 'u32',1657        resource: 'RmrkTraitsResourceSlotResource',1658      },1659      remove_resource: {1660        rmrkCollectionId: 'u32',1661        nftId: 'u32',1662        resourceId: 'u32'1663      }1664    }1665  },1666  /**1667   * Lookup215: rmrk_traits::resource::ResourceTypes<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>>1668   **/1669  RmrkTraitsResourceResourceTypes: {1670    _enum: {1671      Basic: 'RmrkTraitsResourceBasicResource',1672      Composable: 'RmrkTraitsResourceComposableResource',1673      Slot: 'RmrkTraitsResourceSlotResource'1674    }1675  },1676  /**1677   * Lookup217: rmrk_traits::resource::BasicResource<frame_support::storage::bounded_vec::BoundedVec<T, S>>1678   **/1679  RmrkTraitsResourceBasicResource: {1680    src: 'Option<Bytes>',1681    metadata: 'Option<Bytes>',1682    license: 'Option<Bytes>',1683    thumb: 'Option<Bytes>'1684  },1685  /**1686   * Lookup219: rmrk_traits::resource::ComposableResource<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>>1687   **/1688  RmrkTraitsResourceComposableResource: {1689    parts: 'Vec<u32>',1690    base: 'u32',1691    src: 'Option<Bytes>',1692    metadata: 'Option<Bytes>',1693    license: 'Option<Bytes>',1694    thumb: 'Option<Bytes>'1695  },1696  /**1697   * Lookup220: rmrk_traits::resource::SlotResource<frame_support::storage::bounded_vec::BoundedVec<T, S>>1698   **/1699  RmrkTraitsResourceSlotResource: {1700    base: 'u32',1701    src: 'Option<Bytes>',1702    metadata: 'Option<Bytes>',1703    slot: 'u32',1704    license: 'Option<Bytes>',1705    thumb: 'Option<Bytes>'1706  },1707  /**1708   * Lookup222: rmrk_traits::nft::AccountIdOrCollectionNftTuple<sp_core::crypto::AccountId32>1709   **/1710  RmrkTraitsNftAccountIdOrCollectionNftTuple: {1711    _enum: {1712      AccountId: 'AccountId32',1713      CollectionAndNftTuple: '(u32,u32)'1714    }1715  },1716  /**1717   * Lookup226: pallet_rmrk_equip::pallet::Call<T>1718   **/1719  PalletRmrkEquipCall: {1720    _enum: {1721      create_base: {1722        baseType: 'Bytes',1723        symbol: 'Bytes',1724        parts: 'Vec<RmrkTraitsPartPartType>',1725      },1726      theme_add: {1727        baseId: 'u32',1728        theme: 'RmrkTraitsTheme',1729      },1730      equippable: {1731        baseId: 'u32',1732        slotId: 'u32',1733        equippables: 'RmrkTraitsPartEquippableList'1734      }1735    }1736  },1737  /**1738   * Lookup229: rmrk_traits::part::PartType<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>>1739   **/1740  RmrkTraitsPartPartType: {1741    _enum: {1742      FixedPart: 'RmrkTraitsPartFixedPart',1743      SlotPart: 'RmrkTraitsPartSlotPart'1744    }1745  },1746  /**1747   * Lookup231: rmrk_traits::part::FixedPart<frame_support::storage::bounded_vec::BoundedVec<T, S>>1748   **/1749  RmrkTraitsPartFixedPart: {1750    id: 'u32',1751    z: 'u32',1752    src: 'Bytes'1753  },1754  /**1755   * Lookup232: rmrk_traits::part::SlotPart<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>>1756   **/1757  RmrkTraitsPartSlotPart: {1758    id: 'u32',1759    equippable: 'RmrkTraitsPartEquippableList',1760    src: 'Bytes',1761    z: 'u32'1762  },1763  /**1764   * Lookup233: rmrk_traits::part::EquippableList<frame_support::storage::bounded_vec::BoundedVec<T, S>>1765   **/1766  RmrkTraitsPartEquippableList: {1767    _enum: {1768      All: 'Null',1769      Empty: 'Null',1770      Custom: 'Vec<u32>'1771    }1772  },1773  /**1774   * Lookup235: rmrk_traits::theme::Theme<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<rmrk_traits::theme::ThemeProperty<frame_support::storage::bounded_vec::BoundedVec<T, S>>, S>>1775   **/1776  RmrkTraitsTheme: {1777    name: 'Bytes',1778    properties: 'Vec<RmrkTraitsThemeThemeProperty>',1779    inherit: 'bool'1780  },1781  /**1782   * Lookup237: rmrk_traits::theme::ThemeProperty<frame_support::storage::bounded_vec::BoundedVec<T, S>>1783   **/1784  RmrkTraitsThemeThemeProperty: {1785    key: 'Bytes',1786    value: 'Bytes'1787  },1788  /**1789   * Lookup239: pallet_evm::pallet::Call<T>1790   **/1791  PalletEvmCall: {1792    _enum: {1793      withdraw: {1794        address: 'H160',1795        value: 'u128',1796      },1797      call: {1798        source: 'H160',1799        target: 'H160',1800        input: 'Bytes',1801        value: 'U256',1802        gasLimit: 'u64',1803        maxFeePerGas: 'U256',1804        maxPriorityFeePerGas: 'Option<U256>',1805        nonce: 'Option<U256>',1806        accessList: 'Vec<(H160,Vec<H256>)>',1807      },1808      create: {1809        source: 'H160',1810        init: 'Bytes',1811        value: 'U256',1812        gasLimit: 'u64',1813        maxFeePerGas: 'U256',1814        maxPriorityFeePerGas: 'Option<U256>',1815        nonce: 'Option<U256>',1816        accessList: 'Vec<(H160,Vec<H256>)>',1817      },1818      create2: {1819        source: 'H160',1820        init: 'Bytes',1821        salt: 'H256',1822        value: 'U256',1823        gasLimit: 'u64',1824        maxFeePerGas: 'U256',1825        maxPriorityFeePerGas: 'Option<U256>',1826        nonce: 'Option<U256>',1827        accessList: 'Vec<(H160,Vec<H256>)>'1828      }1829    }1830  },1831  /**1832   * Lookup245: pallet_ethereum::pallet::Call<T>1833   **/1834  PalletEthereumCall: {1835    _enum: {1836      transact: {1837        transaction: 'EthereumTransactionTransactionV2'1838      }1839    }1840  },1841  /**1842   * Lookup246: ethereum::transaction::TransactionV21843   **/1844  EthereumTransactionTransactionV2: {1845    _enum: {1846      Legacy: 'EthereumTransactionLegacyTransaction',1847      EIP2930: 'EthereumTransactionEip2930Transaction',1848      EIP1559: 'EthereumTransactionEip1559Transaction'1849    }1850  },1851  /**1852   * Lookup247: ethereum::transaction::LegacyTransaction1853   **/1854  EthereumTransactionLegacyTransaction: {1855    nonce: 'U256',1856    gasPrice: 'U256',1857    gasLimit: 'U256',1858    action: 'EthereumTransactionTransactionAction',1859    value: 'U256',1860    input: 'Bytes',1861    signature: 'EthereumTransactionTransactionSignature'1862  },1863  /**1864   * Lookup248: ethereum::transaction::TransactionAction1865   **/1866  EthereumTransactionTransactionAction: {1867    _enum: {1868      Call: 'H160',1869      Create: 'Null'1870    }1871  },1872  /**1873   * Lookup249: ethereum::transaction::TransactionSignature1874   **/1875  EthereumTransactionTransactionSignature: {1876    v: 'u64',1877    r: 'H256',1878    s: 'H256'1879  },1880  /**1881   * Lookup251: ethereum::transaction::EIP2930Transaction1882   **/1883  EthereumTransactionEip2930Transaction: {1884    chainId: 'u64',1885    nonce: 'U256',1886    gasPrice: 'U256',1887    gasLimit: 'U256',1888    action: 'EthereumTransactionTransactionAction',1889    value: 'U256',1890    input: 'Bytes',1891    accessList: 'Vec<EthereumTransactionAccessListItem>',1892    oddYParity: 'bool',1893    r: 'H256',1894    s: 'H256'1895  },1896  /**1897   * Lookup253: ethereum::transaction::AccessListItem1898   **/1899  EthereumTransactionAccessListItem: {1900    address: 'H160',1901    storageKeys: 'Vec<H256>'1902  },1903  /**1904   * Lookup254: ethereum::transaction::EIP1559Transaction1905   **/1906  EthereumTransactionEip1559Transaction: {1907    chainId: 'u64',1908    nonce: 'U256',1909    maxPriorityFeePerGas: 'U256',1910    maxFeePerGas: 'U256',1911    gasLimit: 'U256',1912    action: 'EthereumTransactionTransactionAction',1913    value: 'U256',1914    input: 'Bytes',1915    accessList: 'Vec<EthereumTransactionAccessListItem>',1916    oddYParity: 'bool',1917    r: 'H256',1918    s: 'H256'1919  },1920  /**1921   * Lookup255: pallet_evm_migration::pallet::Call<T>1922   **/1923  PalletEvmMigrationCall: {1924    _enum: {1925      begin: {1926        address: 'H160',1927      },1928      set_data: {1929        address: 'H160',1930        data: 'Vec<(H256,H256)>',1931      },1932      finish: {1933        address: 'H160',1934        code: 'Bytes'1935      }1936    }1937  },1938  /**1939   * Lookup258: pallet_sudo::pallet::Event<T>1940   **/1941  PalletSudoEvent: {1942    _enum: {1943      Sudid: {1944        sudoResult: 'Result<Null, SpRuntimeDispatchError>',1945      },1946      KeyChanged: {1947        oldSudoer: 'Option<AccountId32>',1948      },1949      SudoAsDone: {1950        sudoResult: 'Result<Null, SpRuntimeDispatchError>'1951      }1952    }1953  },1954  /**1955   * Lookup260: sp_runtime::DispatchError1956   **/1957  SpRuntimeDispatchError: {1958    _enum: {1959      Other: 'Null',1960      CannotLookup: 'Null',1961      BadOrigin: 'Null',1962      Module: 'SpRuntimeModuleError',1963      ConsumerRemaining: 'Null',1964      NoProviders: 'Null',1965      TooManyConsumers: 'Null',1966      Token: 'SpRuntimeTokenError',1967      Arithmetic: 'SpRuntimeArithmeticError',1968      Transactional: 'SpRuntimeTransactionalError'1969    }1970  },1971  /**1972   * Lookup261: sp_runtime::ModuleError1973   **/1974  SpRuntimeModuleError: {1975    index: 'u8',1976    error: '[u8;4]'1977  },1978  /**1979   * Lookup262: sp_runtime::TokenError1980   **/1981  SpRuntimeTokenError: {1982    _enum: ['NoFunds', 'WouldDie', 'BelowMinimum', 'CannotCreate', 'UnknownAsset', 'Frozen', 'Unsupported']1983  },1984  /**1985   * Lookup263: sp_runtime::ArithmeticError1986   **/1987  SpRuntimeArithmeticError: {1988    _enum: ['Underflow', 'Overflow', 'DivisionByZero']1989  },1990  /**1991   * Lookup264: sp_runtime::TransactionalError1992   **/1993  SpRuntimeTransactionalError: {1994    _enum: ['LimitReached', 'NoLayer']1995  },1996  /**1997   * Lookup265: pallet_sudo::pallet::Error<T>1998   **/1999  PalletSudoError: {2000    _enum: ['RequireSudo']2001  },2002  /**2003   * Lookup266: frame_system::AccountInfo<Index, pallet_balances::AccountData<Balance>>2004   **/2005  FrameSystemAccountInfo: {2006    nonce: 'u32',2007    consumers: 'u32',2008    providers: 'u32',2009    sufficients: 'u32',2010    data: 'PalletBalancesAccountData'2011  },2012  /**2013   * Lookup267: frame_support::weights::PerDispatchClass<T>2014   **/2015  FrameSupportWeightsPerDispatchClassU64: {2016    normal: 'u64',2017    operational: 'u64',2018    mandatory: 'u64'2019  },2020  /**2021   * Lookup268: sp_runtime::generic::digest::Digest2022   **/2023  SpRuntimeDigest: {2024    logs: 'Vec<SpRuntimeDigestDigestItem>'2025  },2026  /**2027   * Lookup270: sp_runtime::generic::digest::DigestItem2028   **/2029  SpRuntimeDigestDigestItem: {2030    _enum: {2031      Other: 'Bytes',2032      __Unused1: 'Null',2033      __Unused2: 'Null',2034      __Unused3: 'Null',2035      Consensus: '([u8;4],Bytes)',2036      Seal: '([u8;4],Bytes)',2037      PreRuntime: '([u8;4],Bytes)',2038      __Unused7: 'Null',2039      RuntimeEnvironmentUpdated: 'Null'2040    }2041  },2042  /**2043   * Lookup272: frame_system::EventRecord<opal_runtime::Event, primitive_types::H256>2044   **/2045  FrameSystemEventRecord: {2046    phase: 'FrameSystemPhase',2047    event: 'Event',2048    topics: 'Vec<H256>'2049  },2050  /**2051   * Lookup274: frame_system::pallet::Event<T>2052   **/2053  FrameSystemEvent: {2054    _enum: {2055      ExtrinsicSuccess: {2056        dispatchInfo: 'FrameSupportWeightsDispatchInfo',2057      },2058      ExtrinsicFailed: {2059        dispatchError: 'SpRuntimeDispatchError',2060        dispatchInfo: 'FrameSupportWeightsDispatchInfo',2061      },2062      CodeUpdated: 'Null',2063      NewAccount: {2064        account: 'AccountId32',2065      },2066      KilledAccount: {2067        account: 'AccountId32',2068      },2069      Remarked: {2070        _alias: {2071          hash_: 'hash',2072        },2073        sender: 'AccountId32',2074        hash_: 'H256'2075      }2076    }2077  },2078  /**2079   * Lookup275: frame_support::weights::DispatchInfo2080   **/2081  FrameSupportWeightsDispatchInfo: {2082    weight: 'u64',2083    class: 'FrameSupportWeightsDispatchClass',2084    paysFee: 'FrameSupportWeightsPays'2085  },2086  /**2087   * Lookup276: frame_support::weights::DispatchClass2088   **/2089  FrameSupportWeightsDispatchClass: {2090    _enum: ['Normal', 'Operational', 'Mandatory']2091  },2092  /**2093   * Lookup277: frame_support::weights::Pays2094   **/2095  FrameSupportWeightsPays: {2096    _enum: ['Yes', 'No']2097  },2098  /**2099   * Lookup278: orml_vesting::module::Event<T>2100   **/2101  OrmlVestingModuleEvent: {2102    _enum: {2103      VestingScheduleAdded: {2104        from: 'AccountId32',2105        to: 'AccountId32',2106        vestingSchedule: 'OrmlVestingVestingSchedule',2107      },2108      Claimed: {2109        who: 'AccountId32',2110        amount: 'u128',2111      },2112      VestingSchedulesUpdated: {2113        who: 'AccountId32'2114      }2115    }2116  },2117  /**2118   * Lookup279: cumulus_pallet_xcmp_queue::pallet::Event<T>2119   **/2120  CumulusPalletXcmpQueueEvent: {2121    _enum: {2122      Success: 'Option<H256>',2123      Fail: '(Option<H256>,XcmV2TraitsError)',2124      BadVersion: 'Option<H256>',2125      BadFormat: 'Option<H256>',2126      UpwardMessageSent: 'Option<H256>',2127      XcmpMessageSent: 'Option<H256>',2128      OverweightEnqueued: '(u32,u32,u64,u64)',2129      OverweightServiced: '(u64,u64)'2130    }2131  },2132  /**2133   * Lookup280: pallet_xcm::pallet::Event<T>2134   **/2135  PalletXcmEvent: {2136    _enum: {2137      Attempted: 'XcmV2TraitsOutcome',2138      Sent: '(XcmV1MultiLocation,XcmV1MultiLocation,XcmV2Xcm)',2139      UnexpectedResponse: '(XcmV1MultiLocation,u64)',2140      ResponseReady: '(u64,XcmV2Response)',2141      Notified: '(u64,u8,u8)',2142      NotifyOverweight: '(u64,u8,u8,u64,u64)',2143      NotifyDispatchError: '(u64,u8,u8)',2144      NotifyDecodeFailed: '(u64,u8,u8)',2145      InvalidResponder: '(XcmV1MultiLocation,u64,Option<XcmV1MultiLocation>)',2146      InvalidResponderVersion: '(XcmV1MultiLocation,u64)',2147      ResponseTaken: 'u64',2148      AssetsTrapped: '(H256,XcmV1MultiLocation,XcmVersionedMultiAssets)',2149      VersionChangeNotified: '(XcmV1MultiLocation,u32)',2150      SupportedVersionChanged: '(XcmV1MultiLocation,u32)',2151      NotifyTargetSendFail: '(XcmV1MultiLocation,u64,XcmV2TraitsError)',2152      NotifyTargetMigrationFail: '(XcmVersionedMultiLocation,u64)'2153    }2154  },2155  /**2156   * Lookup281: xcm::v2::traits::Outcome2157   **/2158  XcmV2TraitsOutcome: {2159    _enum: {2160      Complete: 'u64',2161      Incomplete: '(u64,XcmV2TraitsError)',2162      Error: 'XcmV2TraitsError'2163    }2164  },2165  /**2166   * Lookup283: cumulus_pallet_xcm::pallet::Event<T>2167   **/2168  CumulusPalletXcmEvent: {2169    _enum: {2170      InvalidFormat: '[u8;8]',2171      UnsupportedVersion: '[u8;8]',2172      ExecutedDownward: '([u8;8],XcmV2TraitsOutcome)'2173    }2174  },2175  /**2176   * Lookup284: cumulus_pallet_dmp_queue::pallet::Event<T>2177   **/2178  CumulusPalletDmpQueueEvent: {2179    _enum: {2180      InvalidFormat: {2181        messageId: '[u8;32]',2182      },2183      UnsupportedVersion: {2184        messageId: '[u8;32]',2185      },2186      ExecutedDownward: {2187        messageId: '[u8;32]',2188        outcome: 'XcmV2TraitsOutcome',2189      },2190      WeightExhausted: {2191        messageId: '[u8;32]',2192        remainingWeight: 'u64',2193        requiredWeight: 'u64',2194      },2195      OverweightEnqueued: {2196        messageId: '[u8;32]',2197        overweightIndex: 'u64',2198        requiredWeight: 'u64',2199      },2200      OverweightServiced: {2201        overweightIndex: 'u64',2202        weightUsed: 'u64'2203      }2204    }2205  },2206  /**2207   * Lookup285: pallet_unique::RawEvent<sp_core::crypto::AccountId32, pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>2208   **/2209  PalletUniqueRawEvent: {2210    _enum: {2211      CollectionSponsorRemoved: 'u32',2212      CollectionAdminAdded: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)',2213      CollectionOwnedChanged: '(u32,AccountId32)',2214      CollectionSponsorSet: '(u32,AccountId32)',2215      SponsorshipConfirmed: '(u32,AccountId32)',2216      CollectionAdminRemoved: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)',2217      AllowListAddressRemoved: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)',2218      AllowListAddressAdded: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)',2219      CollectionLimitSet: 'u32',2220      CollectionPermissionSet: 'u32'2221    }2222  },2223  /**2224   * Lookup286: pallet_unique_scheduler::pallet::Event<T>2225   **/2226  PalletUniqueSchedulerEvent: {2227    _enum: {2228      Scheduled: {2229        when: 'u32',2230        index: 'u32',2231      },2232      Canceled: {2233        when: 'u32',2234        index: 'u32',2235      },2236      Dispatched: {2237        task: '(u32,u32)',2238        id: 'Option<[u8;16]>',2239        result: 'Result<Null, SpRuntimeDispatchError>',2240      },2241      CallLookupFailed: {2242        task: '(u32,u32)',2243        id: 'Option<[u8;16]>',2244        error: 'FrameSupportScheduleLookupError'2245      }2246    }2247  },2248  /**2249   * Lookup288: frame_support::traits::schedule::LookupError2250   **/2251  FrameSupportScheduleLookupError: {2252    _enum: ['Unknown', 'BadFormat']2253  },2254  /**2255   * Lookup289: pallet_common::pallet::Event<T>2256   **/2257  PalletCommonEvent: {2258    _enum: {2259      CollectionCreated: '(u32,u8,AccountId32)',2260      CollectionDestroyed: 'u32',2261      ItemCreated: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,u128)',2262      ItemDestroyed: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,u128)',2263      Transfer: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,PalletEvmAccountBasicCrossAccountIdRepr,u128)',2264      Approved: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,PalletEvmAccountBasicCrossAccountIdRepr,u128)',2265      CollectionPropertySet: '(u32,Bytes)',2266      CollectionPropertyDeleted: '(u32,Bytes)',2267      TokenPropertySet: '(u32,u32,Bytes)',2268      TokenPropertyDeleted: '(u32,u32,Bytes)',2269      PropertyPermissionSet: '(u32,Bytes)'2270    }2271  },2272  /**2273   * Lookup290: pallet_structure::pallet::Event<T>2274   **/2275  PalletStructureEvent: {2276    _enum: {2277      Executed: 'Result<Null, SpRuntimeDispatchError>'2278    }2279  },2280  /**2281   * Lookup291: pallet_rmrk_core::pallet::Event<T>2282   **/2283  PalletRmrkCoreEvent: {2284    _enum: {2285      CollectionCreated: {2286        issuer: 'AccountId32',2287        collectionId: 'u32',2288      },2289      CollectionDestroyed: {2290        issuer: 'AccountId32',2291        collectionId: 'u32',2292      },2293      IssuerChanged: {2294        oldIssuer: 'AccountId32',2295        newIssuer: 'AccountId32',2296        collectionId: 'u32',2297      },2298      CollectionLocked: {2299        issuer: 'AccountId32',2300        collectionId: 'u32',2301      },2302      NftMinted: {2303        owner: 'AccountId32',2304        collectionId: 'u32',2305        nftId: 'u32',2306      },2307      NFTBurned: {2308        owner: 'AccountId32',2309        nftId: 'u32',2310      },2311      NFTSent: {2312        sender: 'AccountId32',2313        recipient: 'RmrkTraitsNftAccountIdOrCollectionNftTuple',2314        collectionId: 'u32',2315        nftId: 'u32',2316        approvalRequired: 'bool',2317      },2318      NFTAccepted: {2319        sender: 'AccountId32',2320        recipient: 'RmrkTraitsNftAccountIdOrCollectionNftTuple',2321        collectionId: 'u32',2322        nftId: 'u32',2323      },2324      NFTRejected: {2325        sender: 'AccountId32',2326        collectionId: 'u32',2327        nftId: 'u32',2328      },2329      PropertySet: {2330        collectionId: 'u32',2331        maybeNftId: 'Option<u32>',2332        key: 'Bytes',2333        value: 'Bytes',2334      },2335      ResourceAdded: {2336        nftId: 'u32',2337        resourceId: 'u32',2338      },2339      ResourceRemoval: {2340        nftId: 'u32',2341        resourceId: 'u32',2342      },2343      ResourceAccepted: {2344        nftId: 'u32',2345        resourceId: 'u32',2346      },2347      ResourceRemovalAccepted: {2348        nftId: 'u32',2349        resourceId: 'u32',2350      },2351      PrioritySet: {2352        collectionId: 'u32',2353        nftId: 'u32'2354      }2355    }2356  },2357  /**2358   * Lookup292: pallet_rmrk_equip::pallet::Event<T>2359   **/2360  PalletRmrkEquipEvent: {2361    _enum: {2362      BaseCreated: {2363        issuer: 'AccountId32',2364        baseId: 'u32',2365      },2366      EquippablesUpdated: {2367        baseId: 'u32',2368        slotId: 'u32'2369      }2370    }2371  },2372  /**2373   * Lookup293: pallet_evm::pallet::Event<T>2374   **/2375  PalletEvmEvent: {2376    _enum: {2377      Log: 'EthereumLog',2378      Created: 'H160',2379      CreatedFailed: 'H160',2380      Executed: 'H160',2381      ExecutedFailed: 'H160',2382      BalanceDeposit: '(AccountId32,H160,U256)',2383      BalanceWithdraw: '(AccountId32,H160,U256)'2384    }2385  },2386  /**2387   * Lookup294: ethereum::log::Log2388   **/2389  EthereumLog: {2390    address: 'H160',2391    topics: 'Vec<H256>',2392    data: 'Bytes'2393  },2394  /**2395   * Lookup295: pallet_ethereum::pallet::Event2396   **/2397  PalletEthereumEvent: {2398    _enum: {2399      Executed: '(H160,H160,H256,EvmCoreErrorExitReason)'2400    }2401  },2402  /**2403   * Lookup296: evm_core::error::ExitReason2404   **/2405  EvmCoreErrorExitReason: {2406    _enum: {2407      Succeed: 'EvmCoreErrorExitSucceed',2408      Error: 'EvmCoreErrorExitError',2409      Revert: 'EvmCoreErrorExitRevert',2410      Fatal: 'EvmCoreErrorExitFatal'2411    }2412  },2413  /**2414   * Lookup297: evm_core::error::ExitSucceed2415   **/2416  EvmCoreErrorExitSucceed: {2417    _enum: ['Stopped', 'Returned', 'Suicided']2418  },2419  /**2420   * Lookup298: evm_core::error::ExitError2421   **/2422  EvmCoreErrorExitError: {2423    _enum: {2424      StackUnderflow: 'Null',2425      StackOverflow: 'Null',2426      InvalidJump: 'Null',2427      InvalidRange: 'Null',2428      DesignatedInvalid: 'Null',2429      CallTooDeep: 'Null',2430      CreateCollision: 'Null',2431      CreateContractLimit: 'Null',2432      OutOfOffset: 'Null',2433      OutOfGas: 'Null',2434      OutOfFund: 'Null',2435      PCUnderflow: 'Null',2436      CreateEmpty: 'Null',2437      Other: 'Text',2438      InvalidCode: 'Null'2439    }2440  },2441  /**2442   * Lookup301: evm_core::error::ExitRevert2443   **/2444  EvmCoreErrorExitRevert: {2445    _enum: ['Reverted']2446  },2447  /**2448   * Lookup302: evm_core::error::ExitFatal2449   **/2450  EvmCoreErrorExitFatal: {2451    _enum: {2452      NotSupported: 'Null',2453      UnhandledInterrupt: 'Null',2454      CallErrorAsFatal: 'EvmCoreErrorExitError',2455      Other: 'Text'2456    }2457  },2458  /**2459   * Lookup303: frame_system::Phase2460   **/2461  FrameSystemPhase: {2462    _enum: {2463      ApplyExtrinsic: 'u32',2464      Finalization: 'Null',2465      Initialization: 'Null'2466    }2467  },2468  /**2469   * Lookup305: frame_system::LastRuntimeUpgradeInfo2470   **/2471  FrameSystemLastRuntimeUpgradeInfo: {2472    specVersion: 'Compact<u32>',2473    specName: 'Text'2474  },2475  /**2476   * Lookup306: frame_system::limits::BlockWeights2477   **/2478  FrameSystemLimitsBlockWeights: {2479    baseBlock: 'u64',2480    maxBlock: 'u64',2481    perClass: 'FrameSupportWeightsPerDispatchClassWeightsPerClass'2482  },2483  /**2484   * Lookup307: frame_support::weights::PerDispatchClass<frame_system::limits::WeightsPerClass>2485   **/2486  FrameSupportWeightsPerDispatchClassWeightsPerClass: {2487    normal: 'FrameSystemLimitsWeightsPerClass',2488    operational: 'FrameSystemLimitsWeightsPerClass',2489    mandatory: 'FrameSystemLimitsWeightsPerClass'2490  },2491  /**2492   * Lookup308: frame_system::limits::WeightsPerClass2493   **/2494  FrameSystemLimitsWeightsPerClass: {2495    baseExtrinsic: 'u64',2496    maxExtrinsic: 'Option<u64>',2497    maxTotal: 'Option<u64>',2498    reserved: 'Option<u64>'2499  },2500  /**2501   * Lookup310: frame_system::limits::BlockLength2502   **/2503  FrameSystemLimitsBlockLength: {2504    max: 'FrameSupportWeightsPerDispatchClassU32'2505  },2506  /**2507   * Lookup311: frame_support::weights::PerDispatchClass<T>2508   **/2509  FrameSupportWeightsPerDispatchClassU32: {2510    normal: 'u32',2511    operational: 'u32',2512    mandatory: 'u32'2513  },2514  /**2515   * Lookup312: frame_support::weights::RuntimeDbWeight2516   **/2517  FrameSupportWeightsRuntimeDbWeight: {2518    read: 'u64',2519    write: 'u64'2520  },2521  /**2522   * Lookup313: sp_version::RuntimeVersion2523   **/2524  SpVersionRuntimeVersion: {2525    specName: 'Text',2526    implName: 'Text',2527    authoringVersion: 'u32',2528    specVersion: 'u32',2529    implVersion: 'u32',2530    apis: 'Vec<([u8;8],u32)>',2531    transactionVersion: 'u32',2532    stateVersion: 'u8'2533  },2534  /**2535   * Lookup317: frame_system::pallet::Error<T>2536   **/2537  FrameSystemError: {2538    _enum: ['InvalidSpecName', 'SpecVersionNeedsToIncrease', 'FailedToExtractRuntimeVersion', 'NonDefaultComposite', 'NonZeroRefCount', 'CallFiltered']2539  },2540  /**2541   * Lookup319: orml_vesting::module::Error<T>2542   **/2543  OrmlVestingModuleError: {2544    _enum: ['ZeroVestingPeriod', 'ZeroVestingPeriodCount', 'InsufficientBalanceToLock', 'TooManyVestingSchedules', 'AmountLow', 'MaxVestingSchedulesExceeded']2545  },2546  /**2547   * Lookup321: cumulus_pallet_xcmp_queue::InboundChannelDetails2548   **/2549  CumulusPalletXcmpQueueInboundChannelDetails: {2550    sender: 'u32',2551    state: 'CumulusPalletXcmpQueueInboundState',2552    messageMetadata: 'Vec<(u32,PolkadotParachainPrimitivesXcmpMessageFormat)>'2553  },2554  /**2555   * Lookup322: cumulus_pallet_xcmp_queue::InboundState2556   **/2557  CumulusPalletXcmpQueueInboundState: {2558    _enum: ['Ok', 'Suspended']2559  },2560  /**2561   * Lookup325: polkadot_parachain::primitives::XcmpMessageFormat2562   **/2563  PolkadotParachainPrimitivesXcmpMessageFormat: {2564    _enum: ['ConcatenatedVersionedXcm', 'ConcatenatedEncodedBlob', 'Signals']2565  },2566  /**2567   * Lookup328: cumulus_pallet_xcmp_queue::OutboundChannelDetails2568   **/2569  CumulusPalletXcmpQueueOutboundChannelDetails: {2570    recipient: 'u32',2571    state: 'CumulusPalletXcmpQueueOutboundState',2572    signalsExist: 'bool',2573    firstIndex: 'u16',2574    lastIndex: 'u16'2575  },2576  /**2577   * Lookup329: cumulus_pallet_xcmp_queue::OutboundState2578   **/2579  CumulusPalletXcmpQueueOutboundState: {2580    _enum: ['Ok', 'Suspended']2581  },2582  /**2583   * Lookup331: cumulus_pallet_xcmp_queue::QueueConfigData2584   **/2585  CumulusPalletXcmpQueueQueueConfigData: {2586    suspendThreshold: 'u32',2587    dropThreshold: 'u32',2588    resumeThreshold: 'u32',2589    thresholdWeight: 'u64',2590    weightRestrictDecay: 'u64',2591    xcmpMaxIndividualWeight: 'u64'2592  },2593  /**2594   * Lookup333: cumulus_pallet_xcmp_queue::pallet::Error<T>2595   **/2596  CumulusPalletXcmpQueueError: {2597    _enum: ['FailedToSend', 'BadXcmOrigin', 'BadXcm', 'BadOverweightIndex', 'WeightOverLimit']2598  },2599  /**2600   * Lookup334: pallet_xcm::pallet::Error<T>2601   **/2602  PalletXcmError: {2603    _enum: ['Unreachable', 'SendFailure', 'Filtered', 'UnweighableMessage', 'DestinationNotInvertible', 'Empty', 'CannotReanchor', 'TooManyAssets', 'InvalidOrigin', 'BadVersion', 'BadLocation', 'NoSubscription', 'AlreadySubscribed']2604  },2605  /**2606   * Lookup335: cumulus_pallet_xcm::pallet::Error<T>2607   **/2608  CumulusPalletXcmError: 'Null',2609  /**2610   * Lookup336: cumulus_pallet_dmp_queue::ConfigData2611   **/2612  CumulusPalletDmpQueueConfigData: {2613    maxIndividual: 'u64'2614  },2615  /**2616   * Lookup337: cumulus_pallet_dmp_queue::PageIndexData2617   **/2618  CumulusPalletDmpQueuePageIndexData: {2619    beginUsed: 'u32',2620    endUsed: 'u32',2621    overweightCount: 'u64'2622  },2623  /**2624   * Lookup340: cumulus_pallet_dmp_queue::pallet::Error<T>2625   **/2626  CumulusPalletDmpQueueError: {2627    _enum: ['Unknown', 'OverLimit']2628  },2629  /**2630   * Lookup344: pallet_unique::Error<T>2631   **/2632  PalletUniqueError: {2633    _enum: ['CollectionDecimalPointLimitExceeded', 'ConfirmUnsetSponsorFail', 'EmptyArgument', 'RepartitionCalledOnNonRefungibleCollection']2634  },2635  /**2636   * Lookup347: pallet_unique_scheduler::ScheduledV3<frame_support::traits::schedule::MaybeHashed<opal_runtime::Call, primitive_types::H256>, BlockNumber, opal_runtime::OriginCaller, sp_core::crypto::AccountId32>2637   **/2638  PalletUniqueSchedulerScheduledV3: {2639    maybeId: 'Option<[u8;16]>',2640    priority: 'u8',2641    call: 'FrameSupportScheduleMaybeHashed',2642    maybePeriodic: 'Option<(u32,u32)>',2643    origin: 'OpalRuntimeOriginCaller'2644  },2645  /**2646   * Lookup348: opal_runtime::OriginCaller2647   **/2648  OpalRuntimeOriginCaller: {2649    _enum: {2650      __Unused0: 'Null',2651      __Unused1: 'Null',2652      __Unused2: 'Null',2653      __Unused3: 'Null',2654      Void: 'SpCoreVoid',2655      __Unused5: 'Null',2656      __Unused6: 'Null',2657      __Unused7: 'Null',2658      __Unused8: 'Null',2659      __Unused9: 'Null',2660      __Unused10: 'Null',2661      __Unused11: 'Null',2662      __Unused12: 'Null',2663      __Unused13: 'Null',2664      __Unused14: 'Null',2665      __Unused15: 'Null',2666      __Unused16: 'Null',2667      __Unused17: 'Null',2668      __Unused18: 'Null',2669      __Unused19: 'Null',2670      __Unused20: 'Null',2671      __Unused21: 'Null',2672      __Unused22: 'Null',2673      __Unused23: 'Null',2674      __Unused24: 'Null',2675      __Unused25: 'Null',2676      __Unused26: 'Null',2677      __Unused27: 'Null',2678      __Unused28: 'Null',2679      __Unused29: 'Null',2680      __Unused30: 'Null',2681      __Unused31: 'Null',2682      __Unused32: 'Null',2683      __Unused33: 'Null',2684      __Unused34: 'Null',2685      __Unused35: 'Null',2686      system: 'FrameSupportDispatchRawOrigin',2687      __Unused37: 'Null',2688      __Unused38: 'Null',2689      __Unused39: 'Null',2690      __Unused40: 'Null',2691      __Unused41: 'Null',2692      __Unused42: 'Null',2693      __Unused43: 'Null',2694      __Unused44: 'Null',2695      __Unused45: 'Null',2696      __Unused46: 'Null',2697      __Unused47: 'Null',2698      __Unused48: 'Null',2699      __Unused49: 'Null',2700      __Unused50: 'Null',2701      PolkadotXcm: 'PalletXcmOrigin',2702      CumulusXcm: 'CumulusPalletXcmOrigin',2703      __Unused53: 'Null',2704      __Unused54: 'Null',2705      __Unused55: 'Null',2706      __Unused56: 'Null',2707      __Unused57: 'Null',2708      __Unused58: 'Null',2709      __Unused59: 'Null',2710      __Unused60: 'Null',2711      __Unused61: 'Null',2712      __Unused62: 'Null',2713      __Unused63: 'Null',2714      __Unused64: 'Null',2715      __Unused65: 'Null',2716      __Unused66: 'Null',2717      __Unused67: 'Null',2718      __Unused68: 'Null',2719      __Unused69: 'Null',2720      __Unused70: 'Null',2721      __Unused71: 'Null',2722      __Unused72: 'Null',2723      __Unused73: 'Null',2724      __Unused74: 'Null',2725      __Unused75: 'Null',2726      __Unused76: 'Null',2727      __Unused77: 'Null',2728      __Unused78: 'Null',2729      __Unused79: 'Null',2730      __Unused80: 'Null',2731      __Unused81: 'Null',2732      __Unused82: 'Null',2733      __Unused83: 'Null',2734      __Unused84: 'Null',2735      __Unused85: 'Null',2736      __Unused86: 'Null',2737      __Unused87: 'Null',2738      __Unused88: 'Null',2739      __Unused89: 'Null',2740      __Unused90: 'Null',2741      __Unused91: 'Null',2742      __Unused92: 'Null',2743      __Unused93: 'Null',2744      __Unused94: 'Null',2745      __Unused95: 'Null',2746      __Unused96: 'Null',2747      __Unused97: 'Null',2748      __Unused98: 'Null',2749      __Unused99: 'Null',2750      __Unused100: 'Null',2751      Ethereum: 'PalletEthereumRawOrigin'2752    }2753  },2754  /**2755   * Lookup349: frame_support::dispatch::RawOrigin<sp_core::crypto::AccountId32>2756   **/2757  FrameSupportDispatchRawOrigin: {2758    _enum: {2759      Root: 'Null',2760      Signed: 'AccountId32',2761      None: 'Null'2762    }2763  },2764  /**2765   * Lookup350: pallet_xcm::pallet::Origin2766   **/2767  PalletXcmOrigin: {2768    _enum: {2769      Xcm: 'XcmV1MultiLocation',2770      Response: 'XcmV1MultiLocation'2771    }2772  },2773  /**2774   * Lookup351: cumulus_pallet_xcm::pallet::Origin2775   **/2776  CumulusPalletXcmOrigin: {2777    _enum: {2778      Relay: 'Null',2779      SiblingParachain: 'u32'2780    }2781  },2782  /**2783   * Lookup352: pallet_ethereum::RawOrigin2784   **/2785  PalletEthereumRawOrigin: {2786    _enum: {2787      EthereumTransaction: 'H160'2788    }2789  },2790  /**2791   * Lookup353: sp_core::Void2792   **/2793  SpCoreVoid: 'Null',2794  /**2795   * Lookup354: pallet_unique_scheduler::pallet::Error<T>2796   **/2797  PalletUniqueSchedulerError: {2798    _enum: ['FailedToSchedule', 'NotFound', 'TargetBlockNumberInPast', 'RescheduleNoChange']2799  },2800  /**2801   * Lookup355: up_data_structs::Collection<sp_core::crypto::AccountId32>2802   **/2803  UpDataStructsCollection: {2804    owner: 'AccountId32',2805    mode: 'UpDataStructsCollectionMode',2806    name: 'Vec<u16>',2807    description: 'Vec<u16>',2808    tokenPrefix: 'Bytes',2809    sponsorship: 'UpDataStructsSponsorshipState',2810    limits: 'UpDataStructsCollectionLimits',2811    permissions: 'UpDataStructsCollectionPermissions',2812    externalCollection: 'bool'2813  },2814  /**2815   * Lookup356: up_data_structs::SponsorshipState<sp_core::crypto::AccountId32>2816   **/2817  UpDataStructsSponsorshipState: {2818    _enum: {2819      Disabled: 'Null',2820      Unconfirmed: 'AccountId32',2821      Confirmed: 'AccountId32'2822    }2823  },2824  /**2825   * Lookup357: up_data_structs::Properties2826   **/2827  UpDataStructsProperties: {2828    map: 'UpDataStructsPropertiesMapBoundedVec',2829    consumedSpace: 'u32',2830    spaceLimit: 'u32'2831  },2832  /**2833   * Lookup358: up_data_structs::PropertiesMap<frame_support::storage::bounded_vec::BoundedVec<T, S>>2834   **/2835  UpDataStructsPropertiesMapBoundedVec: 'BTreeMap<Bytes, Bytes>',2836  /**2837   * Lookup363: up_data_structs::PropertiesMap<up_data_structs::PropertyPermission>2838   **/2839  UpDataStructsPropertiesMapPropertyPermission: 'BTreeMap<Bytes, UpDataStructsPropertyPermission>',2840  /**2841   * Lookup370: up_data_structs::CollectionStats2842   **/2843  UpDataStructsCollectionStats: {2844    created: 'u32',2845    destroyed: 'u32',2846    alive: 'u32'2847  },2848  /**2849   * Lookup371: up_data_structs::TokenChild2850   **/2851  UpDataStructsTokenChild: {2852    token: 'u32',2853    collection: 'u32'2854  },2855  /**2856   * Lookup372: PhantomType::up_data_structs<T>2857   **/2858  PhantomTypeUpDataStructs: '[(UpDataStructsTokenData,UpDataStructsRpcCollection,RmrkTraitsCollectionCollectionInfo,RmrkTraitsNftNftInfo,RmrkTraitsResourceResourceInfo,RmrkTraitsPropertyPropertyInfo,RmrkTraitsBaseBaseInfo,RmrkTraitsPartPartType,RmrkTraitsTheme,RmrkTraitsNftNftChild);0]',2859  /**2860   * Lookup374: up_data_structs::TokenData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>2861   **/2862  UpDataStructsTokenData: {2863    properties: 'Vec<UpDataStructsProperty>',2864    owner: 'Option<PalletEvmAccountBasicCrossAccountIdRepr>',2865    pieces: 'u128'2866  },2867  /**2868   * Lookup376: up_data_structs::RpcCollection<sp_core::crypto::AccountId32>2869   **/2870  UpDataStructsRpcCollection: {2871    owner: 'AccountId32',2872    mode: 'UpDataStructsCollectionMode',2873    name: 'Vec<u16>',2874    description: 'Vec<u16>',2875    tokenPrefix: 'Bytes',2876    sponsorship: 'UpDataStructsSponsorshipState',2877    limits: 'UpDataStructsCollectionLimits',2878    permissions: 'UpDataStructsCollectionPermissions',2879    tokenPropertyPermissions: 'Vec<UpDataStructsPropertyKeyPermission>',2880    properties: 'Vec<UpDataStructsProperty>',2881    readOnly: 'bool'2882  },2883  /**2884   * Lookup377: rmrk_traits::collection::CollectionInfo<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>, sp_core::crypto::AccountId32>2885   **/2886  RmrkTraitsCollectionCollectionInfo: {2887    issuer: 'AccountId32',2888    metadata: 'Bytes',2889    max: 'Option<u32>',2890    symbol: 'Bytes',2891    nftsCount: 'u32'2892  },2893  /**2894   * Lookup378: rmrk_traits::nft::NftInfo<sp_core::crypto::AccountId32, sp_arithmetic::per_things::Permill, frame_support::storage::bounded_vec::BoundedVec<T, S>>2895   **/2896  RmrkTraitsNftNftInfo: {2897    owner: 'RmrkTraitsNftAccountIdOrCollectionNftTuple',2898    royalty: 'Option<RmrkTraitsNftRoyaltyInfo>',2899    metadata: 'Bytes',2900    equipped: 'bool',2901    pending: 'bool'2902  },2903  /**2904   * Lookup380: rmrk_traits::nft::RoyaltyInfo<sp_core::crypto::AccountId32, sp_arithmetic::per_things::Permill>2905   **/2906  RmrkTraitsNftRoyaltyInfo: {2907    recipient: 'AccountId32',2908    amount: 'Permill'2909  },2910  /**2911   * Lookup381: rmrk_traits::resource::ResourceInfo<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>>2912   **/2913  RmrkTraitsResourceResourceInfo: {2914    id: 'u32',2915    resource: 'RmrkTraitsResourceResourceTypes',2916    pending: 'bool',2917    pendingRemoval: 'bool'2918  },2919  /**2920   * Lookup382: rmrk_traits::property::PropertyInfo<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>>2921   **/2922  RmrkTraitsPropertyPropertyInfo: {2923    key: 'Bytes',2924    value: 'Bytes'2925  },2926  /**2927   * Lookup383: rmrk_traits::base::BaseInfo<sp_core::crypto::AccountId32, frame_support::storage::bounded_vec::BoundedVec<T, S>>2928   **/2929  RmrkTraitsBaseBaseInfo: {2930    issuer: 'AccountId32',2931    baseType: 'Bytes',2932    symbol: 'Bytes'2933  },2934  /**2935   * Lookup384: rmrk_traits::nft::NftChild2936   **/2937  RmrkTraitsNftNftChild: {2938    collectionId: 'u32',2939    nftId: 'u32'2940  },2941  /**2942   * Lookup386: pallet_common::pallet::Error<T>2943   **/2944  PalletCommonError: {2945    _enum: ['CollectionNotFound', 'MustBeTokenOwner', 'NoPermission', 'CantDestroyNotEmptyCollection', 'PublicMintingNotAllowed', 'AddressNotInAllowlist', 'CollectionNameLimitExceeded', 'CollectionDescriptionLimitExceeded', 'CollectionTokenPrefixLimitExceeded', 'TotalCollectionsLimitExceeded', 'CollectionAdminCountExceeded', 'CollectionLimitBoundsExceeded', 'OwnerPermissionsCantBeReverted', 'TransferNotAllowed', 'AccountTokenLimitExceeded', 'CollectionTokenLimitExceeded', 'MetadataFlagFrozen', 'TokenNotFound', 'TokenValueTooLow', 'ApprovedValueTooLow', 'CantApproveMoreThanOwned', 'AddressIsZero', 'UnsupportedOperation', 'NotSufficientFounds', 'UserIsNotAllowedToNest', 'SourceCollectionIsNotAllowedToNest', 'CollectionFieldSizeExceeded', 'NoSpaceForProperty', 'PropertyLimitReached', 'PropertyKeyIsTooLong', 'InvalidCharacterInPropertyKey', 'EmptyPropertyKey', 'CollectionIsExternal', 'CollectionIsInternal']2946  },2947  /**2948   * Lookup388: pallet_fungible::pallet::Error<T>2949   **/2950  PalletFungibleError: {2951    _enum: ['NotFungibleDataUsedToMintFungibleCollectionToken', 'FungibleItemsHaveNoId', 'FungibleItemsDontHaveData', 'FungibleDisallowsNesting', 'SettingPropertiesNotAllowed']2952  },2953  /**2954   * Lookup389: pallet_refungible::ItemData2955   **/2956  PalletRefungibleItemData: {2957    constData: 'Bytes'2958  },2959  /**2960   * Lookup393: pallet_refungible::pallet::Error<T>2961   **/2962  PalletRefungibleError: {2963    _enum: ['NotRefungibleDataUsedToMintFungibleCollectionToken', 'WrongRefungiblePieces', 'RepartitionWhileNotOwningAllPieces', 'RefungibleDisallowsNesting', 'SettingPropertiesNotAllowed']2964  },2965  /**2966   * Lookup394: pallet_nonfungible::ItemData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>2967   **/2968  PalletNonfungibleItemData: {2969    owner: 'PalletEvmAccountBasicCrossAccountIdRepr'2970  },2971  /**2972   * Lookup396: up_data_structs::PropertyScope2973   **/2974  UpDataStructsPropertyScope: {2975    _enum: ['None', 'Rmrk']2976  },2977  /**2978   * Lookup398: pallet_nonfungible::pallet::Error<T>2979   **/2980  PalletNonfungibleError: {2981    _enum: ['NotNonfungibleDataUsedToMintFungibleCollectionToken', 'NonfungibleItemsHaveNoAmount', 'CantBurnNftWithChildren']2982  },2983  /**2984   * Lookup399: pallet_structure::pallet::Error<T>2985   **/2986  PalletStructureError: {2987    _enum: ['OuroborosDetected', 'DepthLimit', 'BreadthLimit', 'TokenNotFound']2988  },2989  /**2990   * Lookup400: pallet_rmrk_core::pallet::Error<T>2991   **/2992  PalletRmrkCoreError: {2993    _enum: ['CorruptedCollectionType', 'NftTypeEncodeError', 'RmrkPropertyKeyIsTooLong', 'RmrkPropertyValueIsTooLong', 'RmrkPropertyIsNotFound', 'UnableToDecodeRmrkData', 'CollectionNotEmpty', 'NoAvailableCollectionId', 'NoAvailableNftId', 'CollectionUnknown', 'NoPermission', 'NonTransferable', 'CollectionFullOrLocked', 'ResourceDoesntExist', 'CannotSendToDescendentOrSelf', 'CannotAcceptNonOwnedNft', 'CannotRejectNonOwnedNft', 'CannotRejectNonPendingNft', 'ResourceNotPending', 'NoAvailableResourceId']2994  },2995  /**2996   * Lookup402: pallet_rmrk_equip::pallet::Error<T>2997   **/2998  PalletRmrkEquipError: {2999    _enum: ['PermissionError', 'NoAvailableBaseId', 'NoAvailablePartId', 'BaseDoesntExist', 'NeedsDefaultThemeFirst', 'PartDoesntExist', 'NoEquippableOnFixedPart']3000  },3001  /**3002   * Lookup405: pallet_evm::pallet::Error<T>3003   **/3004  PalletEvmError: {3005    _enum: ['BalanceLow', 'FeeOverflow', 'PaymentOverflow', 'WithdrawFailed', 'GasPriceTooLow', 'InvalidNonce']3006  },3007  /**3008   * Lookup408: fp_rpc::TransactionStatus3009   **/3010  FpRpcTransactionStatus: {3011    transactionHash: 'H256',3012    transactionIndex: 'u32',3013    from: 'H160',3014    to: 'Option<H160>',3015    contractAddress: 'Option<H160>',3016    logs: 'Vec<EthereumLog>',3017    logsBloom: 'EthbloomBloom'3018  },3019  /**3020   * Lookup410: ethbloom::Bloom3021   **/3022  EthbloomBloom: '[u8;256]',3023  /**3024   * Lookup412: ethereum::receipt::ReceiptV33025   **/3026  EthereumReceiptReceiptV3: {3027    _enum: {3028      Legacy: 'EthereumReceiptEip658ReceiptData',3029      EIP2930: 'EthereumReceiptEip658ReceiptData',3030      EIP1559: 'EthereumReceiptEip658ReceiptData'3031    }3032  },3033  /**3034   * Lookup413: ethereum::receipt::EIP658ReceiptData3035   **/3036  EthereumReceiptEip658ReceiptData: {3037    statusCode: 'u8',3038    usedGas: 'U256',3039    logsBloom: 'EthbloomBloom',3040    logs: 'Vec<EthereumLog>'3041  },3042  /**3043   * Lookup414: ethereum::block::Block<ethereum::transaction::TransactionV2>3044   **/3045  EthereumBlock: {3046    header: 'EthereumHeader',3047    transactions: 'Vec<EthereumTransactionTransactionV2>',3048    ommers: 'Vec<EthereumHeader>'3049  },3050  /**3051   * Lookup415: ethereum::header::Header3052   **/3053  EthereumHeader: {3054    parentHash: 'H256',3055    ommersHash: 'H256',3056    beneficiary: 'H160',3057    stateRoot: 'H256',3058    transactionsRoot: 'H256',3059    receiptsRoot: 'H256',3060    logsBloom: 'EthbloomBloom',3061    difficulty: 'U256',3062    number: 'U256',3063    gasLimit: 'U256',3064    gasUsed: 'U256',3065    timestamp: 'u64',3066    extraData: 'Bytes',3067    mixHash: 'H256',3068    nonce: 'EthereumTypesHashH64'3069  },3070  /**3071   * Lookup416: ethereum_types::hash::H643072   **/3073  EthereumTypesHashH64: '[u8;8]',3074  /**3075   * Lookup421: pallet_ethereum::pallet::Error<T>3076   **/3077  PalletEthereumError: {3078    _enum: ['InvalidSignature', 'PreLogExists']3079  },3080  /**3081   * Lookup422: pallet_evm_coder_substrate::pallet::Error<T>3082   **/3083  PalletEvmCoderSubstrateError: {3084    _enum: ['OutOfGas', 'OutOfFund']3085  },3086  /**3087   * Lookup423: pallet_evm_contract_helpers::SponsoringModeT3088   **/3089  PalletEvmContractHelpersSponsoringModeT: {3090    _enum: ['Disabled', 'Allowlisted', 'Generous']3091  },3092  /**3093   * Lookup425: pallet_evm_contract_helpers::pallet::Error<T>3094   **/3095  PalletEvmContractHelpersError: {3096    _enum: ['NoPermission']3097  },3098  /**3099   * Lookup426: pallet_evm_migration::pallet::Error<T>3100   **/3101  PalletEvmMigrationError: {3102    _enum: ['AccountNotEmpty', 'AccountIsNotMigrating']3103  },3104  /**3105   * Lookup428: sp_runtime::MultiSignature3106   **/3107  SpRuntimeMultiSignature: {3108    _enum: {3109      Ed25519: 'SpCoreEd25519Signature',3110      Sr25519: 'SpCoreSr25519Signature',3111      Ecdsa: 'SpCoreEcdsaSignature'3112    }3113  },3114  /**3115   * Lookup429: sp_core::ed25519::Signature3116   **/3117  SpCoreEd25519Signature: '[u8;64]',3118  /**3119   * Lookup431: sp_core::sr25519::Signature3120   **/3121  SpCoreSr25519Signature: '[u8;64]',3122  /**3123   * Lookup432: sp_core::ecdsa::Signature3124   **/3125  SpCoreEcdsaSignature: '[u8;65]',3126  /**3127   * Lookup435: frame_system::extensions::check_spec_version::CheckSpecVersion<T>3128   **/3129  FrameSystemExtensionsCheckSpecVersion: 'Null',3130  /**3131   * Lookup436: frame_system::extensions::check_genesis::CheckGenesis<T>3132   **/3133  FrameSystemExtensionsCheckGenesis: 'Null',3134  /**3135   * Lookup439: frame_system::extensions::check_nonce::CheckNonce<T>3136   **/3137  FrameSystemExtensionsCheckNonce: 'Compact<u32>',3138  /**3139   * Lookup440: frame_system::extensions::check_weight::CheckWeight<T>3140   **/3141  FrameSystemExtensionsCheckWeight: 'Null',3142  /**3143   * Lookup441: pallet_template_transaction_payment::ChargeTransactionPayment<opal_runtime::Runtime>3144   **/3145  PalletTemplateTransactionPaymentChargeTransactionPayment: 'Compact<u128>',3146  /**3147   * Lookup442: opal_runtime::Runtime3148   **/3149  OpalRuntimeRuntime: 'Null',3150  /**3151   * Lookup443: pallet_ethereum::FakeTransactionFinalizer<opal_runtime::Runtime>3152   **/3153  PalletEthereumFakeTransactionFinalizer: 'Null'3154};
after · tests/src/interfaces/lookup.ts
1// Auto-generated via `yarn polkadot-types-from-defs`, do not edit2/* eslint-disable */34/* eslint-disable sort-keys */56export default {7  /**8   * Lookup2: polkadot_primitives::v2::PersistedValidationData<primitive_types::H256, N>9   **/10  PolkadotPrimitivesV2PersistedValidationData: {11    parentHead: 'Bytes',12    relayParentNumber: 'u32',13    relayParentStorageRoot: 'H256',14    maxPovSize: 'u32'15  },16  /**17   * Lookup9: polkadot_primitives::v2::UpgradeRestriction18   **/19  PolkadotPrimitivesV2UpgradeRestriction: {20    _enum: ['Present']21  },22  /**23   * Lookup10: sp_trie::storage_proof::StorageProof24   **/25  SpTrieStorageProof: {26    trieNodes: 'BTreeSet<Bytes>'27  },28  /**29   * Lookup13: cumulus_pallet_parachain_system::relay_state_snapshot::MessagingStateSnapshot30   **/31  CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot: {32    dmqMqcHead: 'H256',33    relayDispatchQueueSize: '(u32,u32)',34    ingressChannels: 'Vec<(u32,PolkadotPrimitivesV2AbridgedHrmpChannel)>',35    egressChannels: 'Vec<(u32,PolkadotPrimitivesV2AbridgedHrmpChannel)>'36  },37  /**38   * Lookup18: polkadot_primitives::v2::AbridgedHrmpChannel39   **/40  PolkadotPrimitivesV2AbridgedHrmpChannel: {41    maxCapacity: 'u32',42    maxTotalSize: 'u32',43    maxMessageSize: 'u32',44    msgCount: 'u32',45    totalSize: 'u32',46    mqcHead: 'Option<H256>'47  },48  /**49   * Lookup20: polkadot_primitives::v2::AbridgedHostConfiguration50   **/51  PolkadotPrimitivesV2AbridgedHostConfiguration: {52    maxCodeSize: 'u32',53    maxHeadDataSize: 'u32',54    maxUpwardQueueCount: 'u32',55    maxUpwardQueueSize: 'u32',56    maxUpwardMessageSize: 'u32',57    maxUpwardMessageNumPerCandidate: 'u32',58    hrmpMaxMessageNumPerCandidate: 'u32',59    validationUpgradeCooldown: 'u32',60    validationUpgradeDelay: 'u32'61  },62  /**63   * Lookup26: polkadot_core_primitives::OutboundHrmpMessage<polkadot_parachain::primitives::Id>64   **/65  PolkadotCorePrimitivesOutboundHrmpMessage: {66    recipient: 'u32',67    data: 'Bytes'68  },69  /**70   * Lookup28: cumulus_pallet_parachain_system::pallet::Call<T>71   **/72  CumulusPalletParachainSystemCall: {73    _enum: {74      set_validation_data: {75        data: 'CumulusPrimitivesParachainInherentParachainInherentData',76      },77      sudo_send_upward_message: {78        message: 'Bytes',79      },80      authorize_upgrade: {81        codeHash: 'H256',82      },83      enact_authorized_upgrade: {84        code: 'Bytes'85      }86    }87  },88  /**89   * Lookup29: cumulus_primitives_parachain_inherent::ParachainInherentData90   **/91  CumulusPrimitivesParachainInherentParachainInherentData: {92    validationData: 'PolkadotPrimitivesV2PersistedValidationData',93    relayChainState: 'SpTrieStorageProof',94    downwardMessages: 'Vec<PolkadotCorePrimitivesInboundDownwardMessage>',95    horizontalMessages: 'BTreeMap<u32, Vec<PolkadotCorePrimitivesInboundHrmpMessage>>'96  },97  /**98   * Lookup31: polkadot_core_primitives::InboundDownwardMessage<BlockNumber>99   **/100  PolkadotCorePrimitivesInboundDownwardMessage: {101    sentAt: 'u32',102    msg: 'Bytes'103  },104  /**105   * Lookup34: polkadot_core_primitives::InboundHrmpMessage<BlockNumber>106   **/107  PolkadotCorePrimitivesInboundHrmpMessage: {108    sentAt: 'u32',109    data: 'Bytes'110  },111  /**112   * Lookup37: cumulus_pallet_parachain_system::pallet::Event<T>113   **/114  CumulusPalletParachainSystemEvent: {115    _enum: {116      ValidationFunctionStored: 'Null',117      ValidationFunctionApplied: {118        relayChainBlockNum: 'u32',119      },120      ValidationFunctionDiscarded: 'Null',121      UpgradeAuthorized: {122        codeHash: 'H256',123      },124      DownwardMessagesReceived: {125        count: 'u32',126      },127      DownwardMessagesProcessed: {128        weightUsed: 'u64',129        dmqHead: 'H256'130      }131    }132  },133  /**134   * Lookup38: cumulus_pallet_parachain_system::pallet::Error<T>135   **/136  CumulusPalletParachainSystemError: {137    _enum: ['OverlappingUpgrades', 'ProhibitedByPolkadot', 'TooBig', 'ValidationDataNotAvailable', 'HostConfigurationNotAvailable', 'NotScheduled', 'NothingAuthorized', 'Unauthorized']138  },139  /**140   * Lookup41: pallet_balances::AccountData<Balance>141   **/142  PalletBalancesAccountData: {143    free: 'u128',144    reserved: 'u128',145    miscFrozen: 'u128',146    feeFrozen: 'u128'147  },148  /**149   * Lookup43: pallet_balances::BalanceLock<Balance>150   **/151  PalletBalancesBalanceLock: {152    id: '[u8;8]',153    amount: 'u128',154    reasons: 'PalletBalancesReasons'155  },156  /**157   * Lookup45: pallet_balances::Reasons158   **/159  PalletBalancesReasons: {160    _enum: ['Fee', 'Misc', 'All']161  },162  /**163   * Lookup48: pallet_balances::ReserveData<ReserveIdentifier, Balance>164   **/165  PalletBalancesReserveData: {166    id: '[u8;16]',167    amount: 'u128'168  },169  /**170   * Lookup51: pallet_balances::Releases171   **/172  PalletBalancesReleases: {173    _enum: ['V1_0_0', 'V2_0_0']174  },175  /**176   * Lookup52: pallet_balances::pallet::Call<T, I>177   **/178  PalletBalancesCall: {179    _enum: {180      transfer: {181        dest: 'MultiAddress',182        value: 'Compact<u128>',183      },184      set_balance: {185        who: 'MultiAddress',186        newFree: 'Compact<u128>',187        newReserved: 'Compact<u128>',188      },189      force_transfer: {190        source: 'MultiAddress',191        dest: 'MultiAddress',192        value: 'Compact<u128>',193      },194      transfer_keep_alive: {195        dest: 'MultiAddress',196        value: 'Compact<u128>',197      },198      transfer_all: {199        dest: 'MultiAddress',200        keepAlive: 'bool',201      },202      force_unreserve: {203        who: 'MultiAddress',204        amount: 'u128'205      }206    }207  },208  /**209   * Lookup58: pallet_balances::pallet::Event<T, I>210   **/211  PalletBalancesEvent: {212    _enum: {213      Endowed: {214        account: 'AccountId32',215        freeBalance: 'u128',216      },217      DustLost: {218        account: 'AccountId32',219        amount: 'u128',220      },221      Transfer: {222        from: 'AccountId32',223        to: 'AccountId32',224        amount: 'u128',225      },226      BalanceSet: {227        who: 'AccountId32',228        free: 'u128',229        reserved: 'u128',230      },231      Reserved: {232        who: 'AccountId32',233        amount: 'u128',234      },235      Unreserved: {236        who: 'AccountId32',237        amount: 'u128',238      },239      ReserveRepatriated: {240        from: 'AccountId32',241        to: 'AccountId32',242        amount: 'u128',243        destinationStatus: 'FrameSupportTokensMiscBalanceStatus',244      },245      Deposit: {246        who: 'AccountId32',247        amount: 'u128',248      },249      Withdraw: {250        who: 'AccountId32',251        amount: 'u128',252      },253      Slashed: {254        who: 'AccountId32',255        amount: 'u128'256      }257    }258  },259  /**260   * Lookup59: frame_support::traits::tokens::misc::BalanceStatus261   **/262  FrameSupportTokensMiscBalanceStatus: {263    _enum: ['Free', 'Reserved']264  },265  /**266   * Lookup60: pallet_balances::pallet::Error<T, I>267   **/268  PalletBalancesError: {269    _enum: ['VestingBalance', 'LiquidityRestrictions', 'InsufficientBalance', 'ExistentialDeposit', 'KeepAlive', 'ExistingVestingSchedule', 'DeadAccount', 'TooManyReserves']270  },271  /**272   * Lookup63: pallet_timestamp::pallet::Call<T>273   **/274  PalletTimestampCall: {275    _enum: {276      set: {277        now: 'Compact<u64>'278      }279    }280  },281  /**282   * Lookup66: pallet_transaction_payment::Releases283   **/284  PalletTransactionPaymentReleases: {285    _enum: ['V1Ancient', 'V2']286  },287  /**288   * Lookup67: pallet_treasury::Proposal<sp_core::crypto::AccountId32, Balance>289   **/290  PalletTreasuryProposal: {291    proposer: 'AccountId32',292    value: 'u128',293    beneficiary: 'AccountId32',294    bond: 'u128'295  },296  /**297   * Lookup70: pallet_treasury::pallet::Call<T, I>298   **/299  PalletTreasuryCall: {300    _enum: {301      propose_spend: {302        value: 'Compact<u128>',303        beneficiary: 'MultiAddress',304      },305      reject_proposal: {306        proposalId: 'Compact<u32>',307      },308      approve_proposal: {309        proposalId: 'Compact<u32>',310      },311      remove_approval: {312        proposalId: 'Compact<u32>'313      }314    }315  },316  /**317   * Lookup72: pallet_treasury::pallet::Event<T, I>318   **/319  PalletTreasuryEvent: {320    _enum: {321      Proposed: {322        proposalIndex: 'u32',323      },324      Spending: {325        budgetRemaining: 'u128',326      },327      Awarded: {328        proposalIndex: 'u32',329        award: 'u128',330        account: 'AccountId32',331      },332      Rejected: {333        proposalIndex: 'u32',334        slashed: 'u128',335      },336      Burnt: {337        burntFunds: 'u128',338      },339      Rollover: {340        rolloverBalance: 'u128',341      },342      Deposit: {343        value: 'u128'344      }345    }346  },347  /**348   * Lookup75: frame_support::PalletId349   **/350  FrameSupportPalletId: '[u8;8]',351  /**352   * Lookup76: pallet_treasury::pallet::Error<T, I>353   **/354  PalletTreasuryError: {355    _enum: ['InsufficientProposersBalance', 'InvalidIndex', 'TooManyApprovals', 'ProposalNotApproved']356  },357  /**358   * Lookup77: pallet_sudo::pallet::Call<T>359   **/360  PalletSudoCall: {361    _enum: {362      sudo: {363        call: 'Call',364      },365      sudo_unchecked_weight: {366        call: 'Call',367        weight: 'u64',368      },369      set_key: {370        _alias: {371          new_: 'new',372        },373        new_: 'MultiAddress',374      },375      sudo_as: {376        who: 'MultiAddress',377        call: 'Call'378      }379    }380  },381  /**382   * Lookup79: frame_system::pallet::Call<T>383   **/384  FrameSystemCall: {385    _enum: {386      fill_block: {387        ratio: 'Perbill',388      },389      remark: {390        remark: 'Bytes',391      },392      set_heap_pages: {393        pages: 'u64',394      },395      set_code: {396        code: 'Bytes',397      },398      set_code_without_checks: {399        code: 'Bytes',400      },401      set_storage: {402        items: 'Vec<(Bytes,Bytes)>',403      },404      kill_storage: {405        _alias: {406          keys_: 'keys',407        },408        keys_: 'Vec<Bytes>',409      },410      kill_prefix: {411        prefix: 'Bytes',412        subkeys: 'u32',413      },414      remark_with_event: {415        remark: 'Bytes'416      }417    }418  },419  /**420   * Lookup83: orml_vesting::module::Call<T>421   **/422  OrmlVestingModuleCall: {423    _enum: {424      claim: 'Null',425      vested_transfer: {426        dest: 'MultiAddress',427        schedule: 'OrmlVestingVestingSchedule',428      },429      update_vesting_schedules: {430        who: 'MultiAddress',431        vestingSchedules: 'Vec<OrmlVestingVestingSchedule>',432      },433      claim_for: {434        dest: 'MultiAddress'435      }436    }437  },438  /**439   * Lookup84: orml_vesting::VestingSchedule<BlockNumber, Balance>440   **/441  OrmlVestingVestingSchedule: {442    start: 'u32',443    period: 'u32',444    periodCount: 'u32',445    perPeriod: 'Compact<u128>'446  },447  /**448   * Lookup86: cumulus_pallet_xcmp_queue::pallet::Call<T>449   **/450  CumulusPalletXcmpQueueCall: {451    _enum: {452      service_overweight: {453        index: 'u64',454        weightLimit: 'u64',455      },456      suspend_xcm_execution: 'Null',457      resume_xcm_execution: 'Null',458      update_suspend_threshold: {459        _alias: {460          new_: 'new',461        },462        new_: 'u32',463      },464      update_drop_threshold: {465        _alias: {466          new_: 'new',467        },468        new_: 'u32',469      },470      update_resume_threshold: {471        _alias: {472          new_: 'new',473        },474        new_: 'u32',475      },476      update_threshold_weight: {477        _alias: {478          new_: 'new',479        },480        new_: 'u64',481      },482      update_weight_restrict_decay: {483        _alias: {484          new_: 'new',485        },486        new_: 'u64',487      },488      update_xcmp_max_individual_weight: {489        _alias: {490          new_: 'new',491        },492        new_: 'u64'493      }494    }495  },496  /**497   * Lookup87: pallet_xcm::pallet::Call<T>498   **/499  PalletXcmCall: {500    _enum: {501      send: {502        dest: 'XcmVersionedMultiLocation',503        message: 'XcmVersionedXcm',504      },505      teleport_assets: {506        dest: 'XcmVersionedMultiLocation',507        beneficiary: 'XcmVersionedMultiLocation',508        assets: 'XcmVersionedMultiAssets',509        feeAssetItem: 'u32',510      },511      reserve_transfer_assets: {512        dest: 'XcmVersionedMultiLocation',513        beneficiary: 'XcmVersionedMultiLocation',514        assets: 'XcmVersionedMultiAssets',515        feeAssetItem: 'u32',516      },517      execute: {518        message: 'XcmVersionedXcm',519        maxWeight: 'u64',520      },521      force_xcm_version: {522        location: 'XcmV1MultiLocation',523        xcmVersion: 'u32',524      },525      force_default_xcm_version: {526        maybeXcmVersion: 'Option<u32>',527      },528      force_subscribe_version_notify: {529        location: 'XcmVersionedMultiLocation',530      },531      force_unsubscribe_version_notify: {532        location: 'XcmVersionedMultiLocation',533      },534      limited_reserve_transfer_assets: {535        dest: 'XcmVersionedMultiLocation',536        beneficiary: 'XcmVersionedMultiLocation',537        assets: 'XcmVersionedMultiAssets',538        feeAssetItem: 'u32',539        weightLimit: 'XcmV2WeightLimit',540      },541      limited_teleport_assets: {542        dest: 'XcmVersionedMultiLocation',543        beneficiary: 'XcmVersionedMultiLocation',544        assets: 'XcmVersionedMultiAssets',545        feeAssetItem: 'u32',546        weightLimit: 'XcmV2WeightLimit'547      }548    }549  },550  /**551   * Lookup88: xcm::VersionedMultiLocation552   **/553  XcmVersionedMultiLocation: {554    _enum: {555      V0: 'XcmV0MultiLocation',556      V1: 'XcmV1MultiLocation'557    }558  },559  /**560   * Lookup89: xcm::v0::multi_location::MultiLocation561   **/562  XcmV0MultiLocation: {563    _enum: {564      Null: 'Null',565      X1: 'XcmV0Junction',566      X2: '(XcmV0Junction,XcmV0Junction)',567      X3: '(XcmV0Junction,XcmV0Junction,XcmV0Junction)',568      X4: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)',569      X5: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)',570      X6: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)',571      X7: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)',572      X8: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)'573    }574  },575  /**576   * Lookup90: xcm::v0::junction::Junction577   **/578  XcmV0Junction: {579    _enum: {580      Parent: 'Null',581      Parachain: 'Compact<u32>',582      AccountId32: {583        network: 'XcmV0JunctionNetworkId',584        id: '[u8;32]',585      },586      AccountIndex64: {587        network: 'XcmV0JunctionNetworkId',588        index: 'Compact<u64>',589      },590      AccountKey20: {591        network: 'XcmV0JunctionNetworkId',592        key: '[u8;20]',593      },594      PalletInstance: 'u8',595      GeneralIndex: 'Compact<u128>',596      GeneralKey: 'Bytes',597      OnlyChild: 'Null',598      Plurality: {599        id: 'XcmV0JunctionBodyId',600        part: 'XcmV0JunctionBodyPart'601      }602    }603  },604  /**605   * Lookup91: xcm::v0::junction::NetworkId606   **/607  XcmV0JunctionNetworkId: {608    _enum: {609      Any: 'Null',610      Named: 'Bytes',611      Polkadot: 'Null',612      Kusama: 'Null'613    }614  },615  /**616   * Lookup92: xcm::v0::junction::BodyId617   **/618  XcmV0JunctionBodyId: {619    _enum: {620      Unit: 'Null',621      Named: 'Bytes',622      Index: 'Compact<u32>',623      Executive: 'Null',624      Technical: 'Null',625      Legislative: 'Null',626      Judicial: 'Null'627    }628  },629  /**630   * Lookup93: xcm::v0::junction::BodyPart631   **/632  XcmV0JunctionBodyPart: {633    _enum: {634      Voice: 'Null',635      Members: {636        count: 'Compact<u32>',637      },638      Fraction: {639        nom: 'Compact<u32>',640        denom: 'Compact<u32>',641      },642      AtLeastProportion: {643        nom: 'Compact<u32>',644        denom: 'Compact<u32>',645      },646      MoreThanProportion: {647        nom: 'Compact<u32>',648        denom: 'Compact<u32>'649      }650    }651  },652  /**653   * Lookup94: xcm::v1::multilocation::MultiLocation654   **/655  XcmV1MultiLocation: {656    parents: 'u8',657    interior: 'XcmV1MultilocationJunctions'658  },659  /**660   * Lookup95: xcm::v1::multilocation::Junctions661   **/662  XcmV1MultilocationJunctions: {663    _enum: {664      Here: 'Null',665      X1: 'XcmV1Junction',666      X2: '(XcmV1Junction,XcmV1Junction)',667      X3: '(XcmV1Junction,XcmV1Junction,XcmV1Junction)',668      X4: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)',669      X5: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)',670      X6: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)',671      X7: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)',672      X8: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)'673    }674  },675  /**676   * Lookup96: xcm::v1::junction::Junction677   **/678  XcmV1Junction: {679    _enum: {680      Parachain: 'Compact<u32>',681      AccountId32: {682        network: 'XcmV0JunctionNetworkId',683        id: '[u8;32]',684      },685      AccountIndex64: {686        network: 'XcmV0JunctionNetworkId',687        index: 'Compact<u64>',688      },689      AccountKey20: {690        network: 'XcmV0JunctionNetworkId',691        key: '[u8;20]',692      },693      PalletInstance: 'u8',694      GeneralIndex: 'Compact<u128>',695      GeneralKey: 'Bytes',696      OnlyChild: 'Null',697      Plurality: {698        id: 'XcmV0JunctionBodyId',699        part: 'XcmV0JunctionBodyPart'700      }701    }702  },703  /**704   * Lookup97: xcm::VersionedXcm<Call>705   **/706  XcmVersionedXcm: {707    _enum: {708      V0: 'XcmV0Xcm',709      V1: 'XcmV1Xcm',710      V2: 'XcmV2Xcm'711    }712  },713  /**714   * Lookup98: xcm::v0::Xcm<Call>715   **/716  XcmV0Xcm: {717    _enum: {718      WithdrawAsset: {719        assets: 'Vec<XcmV0MultiAsset>',720        effects: 'Vec<XcmV0Order>',721      },722      ReserveAssetDeposit: {723        assets: 'Vec<XcmV0MultiAsset>',724        effects: 'Vec<XcmV0Order>',725      },726      TeleportAsset: {727        assets: 'Vec<XcmV0MultiAsset>',728        effects: 'Vec<XcmV0Order>',729      },730      QueryResponse: {731        queryId: 'Compact<u64>',732        response: 'XcmV0Response',733      },734      TransferAsset: {735        assets: 'Vec<XcmV0MultiAsset>',736        dest: 'XcmV0MultiLocation',737      },738      TransferReserveAsset: {739        assets: 'Vec<XcmV0MultiAsset>',740        dest: 'XcmV0MultiLocation',741        effects: 'Vec<XcmV0Order>',742      },743      Transact: {744        originType: 'XcmV0OriginKind',745        requireWeightAtMost: 'u64',746        call: 'XcmDoubleEncoded',747      },748      HrmpNewChannelOpenRequest: {749        sender: 'Compact<u32>',750        maxMessageSize: 'Compact<u32>',751        maxCapacity: 'Compact<u32>',752      },753      HrmpChannelAccepted: {754        recipient: 'Compact<u32>',755      },756      HrmpChannelClosing: {757        initiator: 'Compact<u32>',758        sender: 'Compact<u32>',759        recipient: 'Compact<u32>',760      },761      RelayedFrom: {762        who: 'XcmV0MultiLocation',763        message: 'XcmV0Xcm'764      }765    }766  },767  /**768   * Lookup100: xcm::v0::multi_asset::MultiAsset769   **/770  XcmV0MultiAsset: {771    _enum: {772      None: 'Null',773      All: 'Null',774      AllFungible: 'Null',775      AllNonFungible: 'Null',776      AllAbstractFungible: {777        id: 'Bytes',778      },779      AllAbstractNonFungible: {780        class: 'Bytes',781      },782      AllConcreteFungible: {783        id: 'XcmV0MultiLocation',784      },785      AllConcreteNonFungible: {786        class: 'XcmV0MultiLocation',787      },788      AbstractFungible: {789        id: 'Bytes',790        amount: 'Compact<u128>',791      },792      AbstractNonFungible: {793        class: 'Bytes',794        instance: 'XcmV1MultiassetAssetInstance',795      },796      ConcreteFungible: {797        id: 'XcmV0MultiLocation',798        amount: 'Compact<u128>',799      },800      ConcreteNonFungible: {801        class: 'XcmV0MultiLocation',802        instance: 'XcmV1MultiassetAssetInstance'803      }804    }805  },806  /**807   * Lookup101: xcm::v1::multiasset::AssetInstance808   **/809  XcmV1MultiassetAssetInstance: {810    _enum: {811      Undefined: 'Null',812      Index: 'Compact<u128>',813      Array4: '[u8;4]',814      Array8: '[u8;8]',815      Array16: '[u8;16]',816      Array32: '[u8;32]',817      Blob: 'Bytes'818    }819  },820  /**821   * Lookup104: xcm::v0::order::Order<Call>822   **/823  XcmV0Order: {824    _enum: {825      Null: 'Null',826      DepositAsset: {827        assets: 'Vec<XcmV0MultiAsset>',828        dest: 'XcmV0MultiLocation',829      },830      DepositReserveAsset: {831        assets: 'Vec<XcmV0MultiAsset>',832        dest: 'XcmV0MultiLocation',833        effects: 'Vec<XcmV0Order>',834      },835      ExchangeAsset: {836        give: 'Vec<XcmV0MultiAsset>',837        receive: 'Vec<XcmV0MultiAsset>',838      },839      InitiateReserveWithdraw: {840        assets: 'Vec<XcmV0MultiAsset>',841        reserve: 'XcmV0MultiLocation',842        effects: 'Vec<XcmV0Order>',843      },844      InitiateTeleport: {845        assets: 'Vec<XcmV0MultiAsset>',846        dest: 'XcmV0MultiLocation',847        effects: 'Vec<XcmV0Order>',848      },849      QueryHolding: {850        queryId: 'Compact<u64>',851        dest: 'XcmV0MultiLocation',852        assets: 'Vec<XcmV0MultiAsset>',853      },854      BuyExecution: {855        fees: 'XcmV0MultiAsset',856        weight: 'u64',857        debt: 'u64',858        haltOnError: 'bool',859        xcm: 'Vec<XcmV0Xcm>'860      }861    }862  },863  /**864   * Lookup106: xcm::v0::Response865   **/866  XcmV0Response: {867    _enum: {868      Assets: 'Vec<XcmV0MultiAsset>'869    }870  },871  /**872   * Lookup107: xcm::v0::OriginKind873   **/874  XcmV0OriginKind: {875    _enum: ['Native', 'SovereignAccount', 'Superuser', 'Xcm']876  },877  /**878   * Lookup108: xcm::double_encoded::DoubleEncoded<T>879   **/880  XcmDoubleEncoded: {881    encoded: 'Bytes'882  },883  /**884   * Lookup109: xcm::v1::Xcm<Call>885   **/886  XcmV1Xcm: {887    _enum: {888      WithdrawAsset: {889        assets: 'XcmV1MultiassetMultiAssets',890        effects: 'Vec<XcmV1Order>',891      },892      ReserveAssetDeposited: {893        assets: 'XcmV1MultiassetMultiAssets',894        effects: 'Vec<XcmV1Order>',895      },896      ReceiveTeleportedAsset: {897        assets: 'XcmV1MultiassetMultiAssets',898        effects: 'Vec<XcmV1Order>',899      },900      QueryResponse: {901        queryId: 'Compact<u64>',902        response: 'XcmV1Response',903      },904      TransferAsset: {905        assets: 'XcmV1MultiassetMultiAssets',906        beneficiary: 'XcmV1MultiLocation',907      },908      TransferReserveAsset: {909        assets: 'XcmV1MultiassetMultiAssets',910        dest: 'XcmV1MultiLocation',911        effects: 'Vec<XcmV1Order>',912      },913      Transact: {914        originType: 'XcmV0OriginKind',915        requireWeightAtMost: 'u64',916        call: 'XcmDoubleEncoded',917      },918      HrmpNewChannelOpenRequest: {919        sender: 'Compact<u32>',920        maxMessageSize: 'Compact<u32>',921        maxCapacity: 'Compact<u32>',922      },923      HrmpChannelAccepted: {924        recipient: 'Compact<u32>',925      },926      HrmpChannelClosing: {927        initiator: 'Compact<u32>',928        sender: 'Compact<u32>',929        recipient: 'Compact<u32>',930      },931      RelayedFrom: {932        who: 'XcmV1MultilocationJunctions',933        message: 'XcmV1Xcm',934      },935      SubscribeVersion: {936        queryId: 'Compact<u64>',937        maxResponseWeight: 'Compact<u64>',938      },939      UnsubscribeVersion: 'Null'940    }941  },942  /**943   * Lookup110: xcm::v1::multiasset::MultiAssets944   **/945  XcmV1MultiassetMultiAssets: 'Vec<XcmV1MultiAsset>',946  /**947   * Lookup112: xcm::v1::multiasset::MultiAsset948   **/949  XcmV1MultiAsset: {950    id: 'XcmV1MultiassetAssetId',951    fun: 'XcmV1MultiassetFungibility'952  },953  /**954   * Lookup113: xcm::v1::multiasset::AssetId955   **/956  XcmV1MultiassetAssetId: {957    _enum: {958      Concrete: 'XcmV1MultiLocation',959      Abstract: 'Bytes'960    }961  },962  /**963   * Lookup114: xcm::v1::multiasset::Fungibility964   **/965  XcmV1MultiassetFungibility: {966    _enum: {967      Fungible: 'Compact<u128>',968      NonFungible: 'XcmV1MultiassetAssetInstance'969    }970  },971  /**972   * Lookup116: xcm::v1::order::Order<Call>973   **/974  XcmV1Order: {975    _enum: {976      Noop: 'Null',977      DepositAsset: {978        assets: 'XcmV1MultiassetMultiAssetFilter',979        maxAssets: 'u32',980        beneficiary: 'XcmV1MultiLocation',981      },982      DepositReserveAsset: {983        assets: 'XcmV1MultiassetMultiAssetFilter',984        maxAssets: 'u32',985        dest: 'XcmV1MultiLocation',986        effects: 'Vec<XcmV1Order>',987      },988      ExchangeAsset: {989        give: 'XcmV1MultiassetMultiAssetFilter',990        receive: 'XcmV1MultiassetMultiAssets',991      },992      InitiateReserveWithdraw: {993        assets: 'XcmV1MultiassetMultiAssetFilter',994        reserve: 'XcmV1MultiLocation',995        effects: 'Vec<XcmV1Order>',996      },997      InitiateTeleport: {998        assets: 'XcmV1MultiassetMultiAssetFilter',999        dest: 'XcmV1MultiLocation',1000        effects: 'Vec<XcmV1Order>',1001      },1002      QueryHolding: {1003        queryId: 'Compact<u64>',1004        dest: 'XcmV1MultiLocation',1005        assets: 'XcmV1MultiassetMultiAssetFilter',1006      },1007      BuyExecution: {1008        fees: 'XcmV1MultiAsset',1009        weight: 'u64',1010        debt: 'u64',1011        haltOnError: 'bool',1012        instructions: 'Vec<XcmV1Xcm>'1013      }1014    }1015  },1016  /**1017   * Lookup117: xcm::v1::multiasset::MultiAssetFilter1018   **/1019  XcmV1MultiassetMultiAssetFilter: {1020    _enum: {1021      Definite: 'XcmV1MultiassetMultiAssets',1022      Wild: 'XcmV1MultiassetWildMultiAsset'1023    }1024  },1025  /**1026   * Lookup118: xcm::v1::multiasset::WildMultiAsset1027   **/1028  XcmV1MultiassetWildMultiAsset: {1029    _enum: {1030      All: 'Null',1031      AllOf: {1032        id: 'XcmV1MultiassetAssetId',1033        fun: 'XcmV1MultiassetWildFungibility'1034      }1035    }1036  },1037  /**1038   * Lookup119: xcm::v1::multiasset::WildFungibility1039   **/1040  XcmV1MultiassetWildFungibility: {1041    _enum: ['Fungible', 'NonFungible']1042  },1043  /**1044   * Lookup121: xcm::v1::Response1045   **/1046  XcmV1Response: {1047    _enum: {1048      Assets: 'XcmV1MultiassetMultiAssets',1049      Version: 'u32'1050    }1051  },1052  /**1053   * Lookup122: xcm::v2::Xcm<Call>1054   **/1055  XcmV2Xcm: 'Vec<XcmV2Instruction>',1056  /**1057   * Lookup124: xcm::v2::Instruction<Call>1058   **/1059  XcmV2Instruction: {1060    _enum: {1061      WithdrawAsset: 'XcmV1MultiassetMultiAssets',1062      ReserveAssetDeposited: 'XcmV1MultiassetMultiAssets',1063      ReceiveTeleportedAsset: 'XcmV1MultiassetMultiAssets',1064      QueryResponse: {1065        queryId: 'Compact<u64>',1066        response: 'XcmV2Response',1067        maxWeight: 'Compact<u64>',1068      },1069      TransferAsset: {1070        assets: 'XcmV1MultiassetMultiAssets',1071        beneficiary: 'XcmV1MultiLocation',1072      },1073      TransferReserveAsset: {1074        assets: 'XcmV1MultiassetMultiAssets',1075        dest: 'XcmV1MultiLocation',1076        xcm: 'XcmV2Xcm',1077      },1078      Transact: {1079        originType: 'XcmV0OriginKind',1080        requireWeightAtMost: 'Compact<u64>',1081        call: 'XcmDoubleEncoded',1082      },1083      HrmpNewChannelOpenRequest: {1084        sender: 'Compact<u32>',1085        maxMessageSize: 'Compact<u32>',1086        maxCapacity: 'Compact<u32>',1087      },1088      HrmpChannelAccepted: {1089        recipient: 'Compact<u32>',1090      },1091      HrmpChannelClosing: {1092        initiator: 'Compact<u32>',1093        sender: 'Compact<u32>',1094        recipient: 'Compact<u32>',1095      },1096      ClearOrigin: 'Null',1097      DescendOrigin: 'XcmV1MultilocationJunctions',1098      ReportError: {1099        queryId: 'Compact<u64>',1100        dest: 'XcmV1MultiLocation',1101        maxResponseWeight: 'Compact<u64>',1102      },1103      DepositAsset: {1104        assets: 'XcmV1MultiassetMultiAssetFilter',1105        maxAssets: 'Compact<u32>',1106        beneficiary: 'XcmV1MultiLocation',1107      },1108      DepositReserveAsset: {1109        assets: 'XcmV1MultiassetMultiAssetFilter',1110        maxAssets: 'Compact<u32>',1111        dest: 'XcmV1MultiLocation',1112        xcm: 'XcmV2Xcm',1113      },1114      ExchangeAsset: {1115        give: 'XcmV1MultiassetMultiAssetFilter',1116        receive: 'XcmV1MultiassetMultiAssets',1117      },1118      InitiateReserveWithdraw: {1119        assets: 'XcmV1MultiassetMultiAssetFilter',1120        reserve: 'XcmV1MultiLocation',1121        xcm: 'XcmV2Xcm',1122      },1123      InitiateTeleport: {1124        assets: 'XcmV1MultiassetMultiAssetFilter',1125        dest: 'XcmV1MultiLocation',1126        xcm: 'XcmV2Xcm',1127      },1128      QueryHolding: {1129        queryId: 'Compact<u64>',1130        dest: 'XcmV1MultiLocation',1131        assets: 'XcmV1MultiassetMultiAssetFilter',1132        maxResponseWeight: 'Compact<u64>',1133      },1134      BuyExecution: {1135        fees: 'XcmV1MultiAsset',1136        weightLimit: 'XcmV2WeightLimit',1137      },1138      RefundSurplus: 'Null',1139      SetErrorHandler: 'XcmV2Xcm',1140      SetAppendix: 'XcmV2Xcm',1141      ClearError: 'Null',1142      ClaimAsset: {1143        assets: 'XcmV1MultiassetMultiAssets',1144        ticket: 'XcmV1MultiLocation',1145      },1146      Trap: 'Compact<u64>',1147      SubscribeVersion: {1148        queryId: 'Compact<u64>',1149        maxResponseWeight: 'Compact<u64>',1150      },1151      UnsubscribeVersion: 'Null'1152    }1153  },1154  /**1155   * Lookup125: xcm::v2::Response1156   **/1157  XcmV2Response: {1158    _enum: {1159      Null: 'Null',1160      Assets: 'XcmV1MultiassetMultiAssets',1161      ExecutionResult: 'Option<(u32,XcmV2TraitsError)>',1162      Version: 'u32'1163    }1164  },1165  /**1166   * Lookup128: xcm::v2::traits::Error1167   **/1168  XcmV2TraitsError: {1169    _enum: {1170      Overflow: 'Null',1171      Unimplemented: 'Null',1172      UntrustedReserveLocation: 'Null',1173      UntrustedTeleportLocation: 'Null',1174      MultiLocationFull: 'Null',1175      MultiLocationNotInvertible: 'Null',1176      BadOrigin: 'Null',1177      InvalidLocation: 'Null',1178      AssetNotFound: 'Null',1179      FailedToTransactAsset: 'Null',1180      NotWithdrawable: 'Null',1181      LocationCannotHold: 'Null',1182      ExceedsMaxMessageSize: 'Null',1183      DestinationUnsupported: 'Null',1184      Transport: 'Null',1185      Unroutable: 'Null',1186      UnknownClaim: 'Null',1187      FailedToDecode: 'Null',1188      MaxWeightInvalid: 'Null',1189      NotHoldingFees: 'Null',1190      TooExpensive: 'Null',1191      Trap: 'u64',1192      UnhandledXcmVersion: 'Null',1193      WeightLimitReached: 'u64',1194      Barrier: 'Null',1195      WeightNotComputable: 'Null'1196    }1197  },1198  /**1199   * Lookup129: xcm::v2::WeightLimit1200   **/1201  XcmV2WeightLimit: {1202    _enum: {1203      Unlimited: 'Null',1204      Limited: 'Compact<u64>'1205    }1206  },1207  /**1208   * Lookup130: xcm::VersionedMultiAssets1209   **/1210  XcmVersionedMultiAssets: {1211    _enum: {1212      V0: 'Vec<XcmV0MultiAsset>',1213      V1: 'XcmV1MultiassetMultiAssets'1214    }1215  },1216  /**1217   * Lookup145: cumulus_pallet_xcm::pallet::Call<T>1218   **/1219  CumulusPalletXcmCall: 'Null',1220  /**1221   * Lookup146: cumulus_pallet_dmp_queue::pallet::Call<T>1222   **/1223  CumulusPalletDmpQueueCall: {1224    _enum: {1225      service_overweight: {1226        index: 'u64',1227        weightLimit: 'u64'1228      }1229    }1230  },1231  /**1232   * Lookup147: pallet_inflation::pallet::Call<T>1233   **/1234  PalletInflationCall: {1235    _enum: {1236      start_inflation: {1237        inflationStartRelayBlock: 'u32'1238      }1239    }1240  },1241  /**1242   * Lookup148: pallet_unique::Call<T>1243   **/1244  PalletUniqueCall: {1245    _enum: {1246      create_collection: {1247        collectionName: 'Vec<u16>',1248        collectionDescription: 'Vec<u16>',1249        tokenPrefix: 'Bytes',1250        mode: 'UpDataStructsCollectionMode',1251      },1252      create_collection_ex: {1253        data: 'UpDataStructsCreateCollectionData',1254      },1255      destroy_collection: {1256        collectionId: 'u32',1257      },1258      add_to_allow_list: {1259        collectionId: 'u32',1260        address: 'PalletEvmAccountBasicCrossAccountIdRepr',1261      },1262      remove_from_allow_list: {1263        collectionId: 'u32',1264        address: 'PalletEvmAccountBasicCrossAccountIdRepr',1265      },1266      change_collection_owner: {1267        collectionId: 'u32',1268        newOwner: 'AccountId32',1269      },1270      add_collection_admin: {1271        collectionId: 'u32',1272        newAdmin: 'PalletEvmAccountBasicCrossAccountIdRepr',1273      },1274      remove_collection_admin: {1275        collectionId: 'u32',1276        accountId: 'PalletEvmAccountBasicCrossAccountIdRepr',1277      },1278      set_collection_sponsor: {1279        collectionId: 'u32',1280        newSponsor: 'AccountId32',1281      },1282      confirm_sponsorship: {1283        collectionId: 'u32',1284      },1285      remove_collection_sponsor: {1286        collectionId: 'u32',1287      },1288      create_item: {1289        collectionId: 'u32',1290        owner: 'PalletEvmAccountBasicCrossAccountIdRepr',1291        data: 'UpDataStructsCreateItemData',1292      },1293      create_multiple_items: {1294        collectionId: 'u32',1295        owner: 'PalletEvmAccountBasicCrossAccountIdRepr',1296        itemsData: 'Vec<UpDataStructsCreateItemData>',1297      },1298      set_collection_properties: {1299        collectionId: 'u32',1300        properties: 'Vec<UpDataStructsProperty>',1301      },1302      delete_collection_properties: {1303        collectionId: 'u32',1304        propertyKeys: 'Vec<Bytes>',1305      },1306      set_token_properties: {1307        collectionId: 'u32',1308        tokenId: 'u32',1309        properties: 'Vec<UpDataStructsProperty>',1310      },1311      delete_token_properties: {1312        collectionId: 'u32',1313        tokenId: 'u32',1314        propertyKeys: 'Vec<Bytes>',1315      },1316      set_token_property_permissions: {1317        collectionId: 'u32',1318        propertyPermissions: 'Vec<UpDataStructsPropertyKeyPermission>',1319      },1320      create_multiple_items_ex: {1321        collectionId: 'u32',1322        data: 'UpDataStructsCreateItemExData',1323      },1324      set_transfers_enabled_flag: {1325        collectionId: 'u32',1326        value: 'bool',1327      },1328      burn_item: {1329        collectionId: 'u32',1330        itemId: 'u32',1331        value: 'u128',1332      },1333      burn_from: {1334        collectionId: 'u32',1335        from: 'PalletEvmAccountBasicCrossAccountIdRepr',1336        itemId: 'u32',1337        value: 'u128',1338      },1339      transfer: {1340        recipient: 'PalletEvmAccountBasicCrossAccountIdRepr',1341        collectionId: 'u32',1342        itemId: 'u32',1343        value: 'u128',1344      },1345      approve: {1346        spender: 'PalletEvmAccountBasicCrossAccountIdRepr',1347        collectionId: 'u32',1348        itemId: 'u32',1349        amount: 'u128',1350      },1351      transfer_from: {1352        from: 'PalletEvmAccountBasicCrossAccountIdRepr',1353        recipient: 'PalletEvmAccountBasicCrossAccountIdRepr',1354        collectionId: 'u32',1355        itemId: 'u32',1356        value: 'u128',1357      },1358      set_collection_limits: {1359        collectionId: 'u32',1360        newLimit: 'UpDataStructsCollectionLimits',1361      },1362      set_collection_permissions: {1363        collectionId: 'u32',1364        newPermission: 'UpDataStructsCollectionPermissions',1365      },1366      repartition: {1367        collectionId: 'u32',1368        tokenId: 'u32',1369        amount: 'u128'1370      }1371    }1372  },1373  /**1374   * Lookup154: up_data_structs::CollectionMode1375   **/1376  UpDataStructsCollectionMode: {1377    _enum: {1378      NFT: 'Null',1379      Fungible: 'u8',1380      ReFungible: 'Null'1381    }1382  },1383  /**1384   * Lookup155: up_data_structs::CreateCollectionData<sp_core::crypto::AccountId32>1385   **/1386  UpDataStructsCreateCollectionData: {1387    mode: 'UpDataStructsCollectionMode',1388    access: 'Option<UpDataStructsAccessMode>',1389    name: 'Vec<u16>',1390    description: 'Vec<u16>',1391    tokenPrefix: 'Bytes',1392    pendingSponsor: 'Option<AccountId32>',1393    limits: 'Option<UpDataStructsCollectionLimits>',1394    permissions: 'Option<UpDataStructsCollectionPermissions>',1395    tokenPropertyPermissions: 'Vec<UpDataStructsPropertyKeyPermission>',1396    properties: 'Vec<UpDataStructsProperty>'1397  },1398  /**1399   * Lookup157: up_data_structs::AccessMode1400   **/1401  UpDataStructsAccessMode: {1402    _enum: ['Normal', 'AllowList']1403  },1404  /**1405   * Lookup160: up_data_structs::CollectionLimits1406   **/1407  UpDataStructsCollectionLimits: {1408    accountTokenOwnershipLimit: 'Option<u32>',1409    sponsoredDataSize: 'Option<u32>',1410    sponsoredDataRateLimit: 'Option<UpDataStructsSponsoringRateLimit>',1411    tokenLimit: 'Option<u32>',1412    sponsorTransferTimeout: 'Option<u32>',1413    sponsorApproveTimeout: 'Option<u32>',1414    ownerCanTransfer: 'Option<bool>',1415    ownerCanDestroy: 'Option<bool>',1416    transfersEnabled: 'Option<bool>'1417  },1418  /**1419   * Lookup162: up_data_structs::SponsoringRateLimit1420   **/1421  UpDataStructsSponsoringRateLimit: {1422    _enum: {1423      SponsoringDisabled: 'Null',1424      Blocks: 'u32'1425    }1426  },1427  /**1428   * Lookup165: up_data_structs::CollectionPermissions1429   **/1430  UpDataStructsCollectionPermissions: {1431    access: 'Option<UpDataStructsAccessMode>',1432    mintMode: 'Option<bool>',1433    nesting: 'Option<UpDataStructsNestingPermissions>'1434  },1435  /**1436   * Lookup167: up_data_structs::NestingPermissions1437   **/1438  UpDataStructsNestingPermissions: {1439    tokenOwner: 'bool',1440    collectionAdmin: 'bool',1441    restricted: 'Option<UpDataStructsOwnerRestrictedSet>'1442  },1443  /**1444   * Lookup169: up_data_structs::OwnerRestrictedSet1445   **/1446  UpDataStructsOwnerRestrictedSet: 'BTreeSet<u32>',1447  /**1448   * Lookup175: up_data_structs::PropertyKeyPermission1449   **/1450  UpDataStructsPropertyKeyPermission: {1451    key: 'Bytes',1452    permission: 'UpDataStructsPropertyPermission'1453  },1454  /**1455   * Lookup177: up_data_structs::PropertyPermission1456   **/1457  UpDataStructsPropertyPermission: {1458    mutable: 'bool',1459    collectionAdmin: 'bool',1460    tokenOwner: 'bool'1461  },1462  /**1463   * Lookup180: up_data_structs::Property1464   **/1465  UpDataStructsProperty: {1466    key: 'Bytes',1467    value: 'Bytes'1468  },1469  /**1470   * Lookup183: pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>1471   **/1472  PalletEvmAccountBasicCrossAccountIdRepr: {1473    _enum: {1474      Substrate: 'AccountId32',1475      Ethereum: 'H160'1476    }1477  },1478  /**1479   * Lookup185: up_data_structs::CreateItemData1480   **/1481  UpDataStructsCreateItemData: {1482    _enum: {1483      NFT: 'UpDataStructsCreateNftData',1484      Fungible: 'UpDataStructsCreateFungibleData',1485      ReFungible: 'UpDataStructsCreateReFungibleData'1486    }1487  },1488  /**1489   * Lookup186: up_data_structs::CreateNftData1490   **/1491  UpDataStructsCreateNftData: {1492    properties: 'Vec<UpDataStructsProperty>'1493  },1494  /**1495   * Lookup187: up_data_structs::CreateFungibleData1496   **/1497  UpDataStructsCreateFungibleData: {1498    value: 'u128'1499  },1500  /**1501   * Lookup188: up_data_structs::CreateReFungibleData1502   **/1503  UpDataStructsCreateReFungibleData: {1504    constData: 'Bytes',1505    pieces: 'u128',1506    properties: 'Vec<UpDataStructsProperty>'1507  },1508  /**1509   * Lookup193: up_data_structs::CreateItemExData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>1510   **/1511  UpDataStructsCreateItemExData: {1512    _enum: {1513      NFT: 'Vec<UpDataStructsCreateNftExData>',1514      Fungible: 'BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>',1515      RefungibleMultipleItems: 'Vec<UpDataStructsCreateRefungibleExData>',1516      RefungibleMultipleOwners: 'UpDataStructsCreateRefungibleExData'1517    }1518  },1519  /**1520   * Lookup195: up_data_structs::CreateNftExData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>1521   **/1522  UpDataStructsCreateNftExData: {1523    properties: 'Vec<UpDataStructsProperty>',1524    owner: 'PalletEvmAccountBasicCrossAccountIdRepr'1525  },1526  /**1527   * Lookup202: up_data_structs::CreateRefungibleExData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>1528   **/1529  UpDataStructsCreateRefungibleExData: {1530    constData: 'Bytes',1531    users: 'BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>',1532    properties: 'Vec<UpDataStructsProperty>'1533  },1534  /**1535   * Lookup204: pallet_unique_scheduler::pallet::Call<T>1536   **/1537  PalletUniqueSchedulerCall: {1538    _enum: {1539      schedule_named: {1540        id: '[u8;16]',1541        when: 'u32',1542        maybePeriodic: 'Option<(u32,u32)>',1543        priority: 'u8',1544        call: 'FrameSupportScheduleMaybeHashed',1545      },1546      cancel_named: {1547        id: '[u8;16]',1548      },1549      schedule_named_after: {1550        id: '[u8;16]',1551        after: 'u32',1552        maybePeriodic: 'Option<(u32,u32)>',1553        priority: 'u8',1554        call: 'FrameSupportScheduleMaybeHashed'1555      }1556    }1557  },1558  /**1559   * Lookup206: frame_support::traits::schedule::MaybeHashed<opal_runtime::Call, primitive_types::H256>1560   **/1561  FrameSupportScheduleMaybeHashed: {1562    _enum: {1563      Value: 'Call',1564      Hash: 'H256'1565    }1566  },1567  /**1568   * Lookup207: pallet_template_transaction_payment::Call<T>1569   **/1570  PalletTemplateTransactionPaymentCall: 'Null',1571  /**1572   * Lookup208: pallet_structure::pallet::Call<T>1573   **/1574  PalletStructureCall: 'Null',1575  /**1576   * Lookup209: pallet_rmrk_core::pallet::Call<T>1577   **/1578  PalletRmrkCoreCall: {1579    _enum: {1580      create_collection: {1581        metadata: 'Bytes',1582        max: 'Option<u32>',1583        symbol: 'Bytes',1584      },1585      destroy_collection: {1586        collectionId: 'u32',1587      },1588      change_collection_issuer: {1589        collectionId: 'u32',1590        newIssuer: 'MultiAddress',1591      },1592      lock_collection: {1593        collectionId: 'u32',1594      },1595      mint_nft: {1596        owner: 'Option<AccountId32>',1597        collectionId: 'u32',1598        recipient: 'Option<AccountId32>',1599        royaltyAmount: 'Option<Permill>',1600        metadata: 'Bytes',1601        transferable: 'bool',1602        resources: 'Option<Vec<RmrkTraitsResourceResourceTypes>>',1603      },1604      burn_nft: {1605        collectionId: 'u32',1606        nftId: 'u32',1607        maxBurns: 'u32',1608      },1609      send: {1610        rmrkCollectionId: 'u32',1611        rmrkNftId: 'u32',1612        newOwner: 'RmrkTraitsNftAccountIdOrCollectionNftTuple',1613      },1614      accept_nft: {1615        rmrkCollectionId: 'u32',1616        rmrkNftId: 'u32',1617        newOwner: 'RmrkTraitsNftAccountIdOrCollectionNftTuple',1618      },1619      reject_nft: {1620        rmrkCollectionId: 'u32',1621        rmrkNftId: 'u32',1622      },1623      accept_resource: {1624        rmrkCollectionId: 'u32',1625        rmrkNftId: 'u32',1626        resourceId: 'u32',1627      },1628      accept_resource_removal: {1629        rmrkCollectionId: 'u32',1630        rmrkNftId: 'u32',1631        resourceId: 'u32',1632      },1633      set_property: {1634        rmrkCollectionId: 'Compact<u32>',1635        maybeNftId: 'Option<u32>',1636        key: 'Bytes',1637        value: 'Bytes',1638      },1639      set_priority: {1640        rmrkCollectionId: 'u32',1641        rmrkNftId: 'u32',1642        priorities: 'Vec<u32>',1643      },1644      add_basic_resource: {1645        rmrkCollectionId: 'u32',1646        nftId: 'u32',1647        resource: 'RmrkTraitsResourceBasicResource',1648      },1649      add_composable_resource: {1650        rmrkCollectionId: 'u32',1651        nftId: 'u32',1652        resource: 'RmrkTraitsResourceComposableResource',1653      },1654      add_slot_resource: {1655        rmrkCollectionId: 'u32',1656        nftId: 'u32',1657        resource: 'RmrkTraitsResourceSlotResource',1658      },1659      remove_resource: {1660        rmrkCollectionId: 'u32',1661        nftId: 'u32',1662        resourceId: 'u32'1663      }1664    }1665  },1666  /**1667   * Lookup215: rmrk_traits::resource::ResourceTypes<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>>1668   **/1669  RmrkTraitsResourceResourceTypes: {1670    _enum: {1671      Basic: 'RmrkTraitsResourceBasicResource',1672      Composable: 'RmrkTraitsResourceComposableResource',1673      Slot: 'RmrkTraitsResourceSlotResource'1674    }1675  },1676  /**1677   * Lookup217: rmrk_traits::resource::BasicResource<frame_support::storage::bounded_vec::BoundedVec<T, S>>1678   **/1679  RmrkTraitsResourceBasicResource: {1680    src: 'Option<Bytes>',1681    metadata: 'Option<Bytes>',1682    license: 'Option<Bytes>',1683    thumb: 'Option<Bytes>'1684  },1685  /**1686   * Lookup219: rmrk_traits::resource::ComposableResource<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>>1687   **/1688  RmrkTraitsResourceComposableResource: {1689    parts: 'Vec<u32>',1690    base: 'u32',1691    src: 'Option<Bytes>',1692    metadata: 'Option<Bytes>',1693    license: 'Option<Bytes>',1694    thumb: 'Option<Bytes>'1695  },1696  /**1697   * Lookup220: rmrk_traits::resource::SlotResource<frame_support::storage::bounded_vec::BoundedVec<T, S>>1698   **/1699  RmrkTraitsResourceSlotResource: {1700    base: 'u32',1701    src: 'Option<Bytes>',1702    metadata: 'Option<Bytes>',1703    slot: 'u32',1704    license: 'Option<Bytes>',1705    thumb: 'Option<Bytes>'1706  },1707  /**1708   * Lookup222: rmrk_traits::nft::AccountIdOrCollectionNftTuple<sp_core::crypto::AccountId32>1709   **/1710  RmrkTraitsNftAccountIdOrCollectionNftTuple: {1711    _enum: {1712      AccountId: 'AccountId32',1713      CollectionAndNftTuple: '(u32,u32)'1714    }1715  },1716  /**1717   * Lookup226: pallet_rmrk_equip::pallet::Call<T>1718   **/1719  PalletRmrkEquipCall: {1720    _enum: {1721      create_base: {1722        baseType: 'Bytes',1723        symbol: 'Bytes',1724        parts: 'Vec<RmrkTraitsPartPartType>',1725      },1726      theme_add: {1727        baseId: 'u32',1728        theme: 'RmrkTraitsTheme',1729      },1730      equippable: {1731        baseId: 'u32',1732        slotId: 'u32',1733        equippables: 'RmrkTraitsPartEquippableList'1734      }1735    }1736  },1737  /**1738   * Lookup229: rmrk_traits::part::PartType<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>>1739   **/1740  RmrkTraitsPartPartType: {1741    _enum: {1742      FixedPart: 'RmrkTraitsPartFixedPart',1743      SlotPart: 'RmrkTraitsPartSlotPart'1744    }1745  },1746  /**1747   * Lookup231: rmrk_traits::part::FixedPart<frame_support::storage::bounded_vec::BoundedVec<T, S>>1748   **/1749  RmrkTraitsPartFixedPart: {1750    id: 'u32',1751    z: 'u32',1752    src: 'Bytes'1753  },1754  /**1755   * Lookup232: rmrk_traits::part::SlotPart<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>>1756   **/1757  RmrkTraitsPartSlotPart: {1758    id: 'u32',1759    equippable: 'RmrkTraitsPartEquippableList',1760    src: 'Bytes',1761    z: 'u32'1762  },1763  /**1764   * Lookup233: rmrk_traits::part::EquippableList<frame_support::storage::bounded_vec::BoundedVec<T, S>>1765   **/1766  RmrkTraitsPartEquippableList: {1767    _enum: {1768      All: 'Null',1769      Empty: 'Null',1770      Custom: 'Vec<u32>'1771    }1772  },1773  /**1774   * Lookup235: rmrk_traits::theme::Theme<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<rmrk_traits::theme::ThemeProperty<frame_support::storage::bounded_vec::BoundedVec<T, S>>, S>>1775   **/1776  RmrkTraitsTheme: {1777    name: 'Bytes',1778    properties: 'Vec<RmrkTraitsThemeThemeProperty>',1779    inherit: 'bool'1780  },1781  /**1782   * Lookup237: rmrk_traits::theme::ThemeProperty<frame_support::storage::bounded_vec::BoundedVec<T, S>>1783   **/1784  RmrkTraitsThemeThemeProperty: {1785    key: 'Bytes',1786    value: 'Bytes'1787  },1788  /**1789   * Lookup239: pallet_evm::pallet::Call<T>1790   **/1791  PalletEvmCall: {1792    _enum: {1793      withdraw: {1794        address: 'H160',1795        value: 'u128',1796      },1797      call: {1798        source: 'H160',1799        target: 'H160',1800        input: 'Bytes',1801        value: 'U256',1802        gasLimit: 'u64',1803        maxFeePerGas: 'U256',1804        maxPriorityFeePerGas: 'Option<U256>',1805        nonce: 'Option<U256>',1806        accessList: 'Vec<(H160,Vec<H256>)>',1807      },1808      create: {1809        source: 'H160',1810        init: 'Bytes',1811        value: 'U256',1812        gasLimit: 'u64',1813        maxFeePerGas: 'U256',1814        maxPriorityFeePerGas: 'Option<U256>',1815        nonce: 'Option<U256>',1816        accessList: 'Vec<(H160,Vec<H256>)>',1817      },1818      create2: {1819        source: 'H160',1820        init: 'Bytes',1821        salt: 'H256',1822        value: 'U256',1823        gasLimit: 'u64',1824        maxFeePerGas: 'U256',1825        maxPriorityFeePerGas: 'Option<U256>',1826        nonce: 'Option<U256>',1827        accessList: 'Vec<(H160,Vec<H256>)>'1828      }1829    }1830  },1831  /**1832   * Lookup245: pallet_ethereum::pallet::Call<T>1833   **/1834  PalletEthereumCall: {1835    _enum: {1836      transact: {1837        transaction: 'EthereumTransactionTransactionV2'1838      }1839    }1840  },1841  /**1842   * Lookup246: ethereum::transaction::TransactionV21843   **/1844  EthereumTransactionTransactionV2: {1845    _enum: {1846      Legacy: 'EthereumTransactionLegacyTransaction',1847      EIP2930: 'EthereumTransactionEip2930Transaction',1848      EIP1559: 'EthereumTransactionEip1559Transaction'1849    }1850  },1851  /**1852   * Lookup247: ethereum::transaction::LegacyTransaction1853   **/1854  EthereumTransactionLegacyTransaction: {1855    nonce: 'U256',1856    gasPrice: 'U256',1857    gasLimit: 'U256',1858    action: 'EthereumTransactionTransactionAction',1859    value: 'U256',1860    input: 'Bytes',1861    signature: 'EthereumTransactionTransactionSignature'1862  },1863  /**1864   * Lookup248: ethereum::transaction::TransactionAction1865   **/1866  EthereumTransactionTransactionAction: {1867    _enum: {1868      Call: 'H160',1869      Create: 'Null'1870    }1871  },1872  /**1873   * Lookup249: ethereum::transaction::TransactionSignature1874   **/1875  EthereumTransactionTransactionSignature: {1876    v: 'u64',1877    r: 'H256',1878    s: 'H256'1879  },1880  /**1881   * Lookup251: ethereum::transaction::EIP2930Transaction1882   **/1883  EthereumTransactionEip2930Transaction: {1884    chainId: 'u64',1885    nonce: 'U256',1886    gasPrice: 'U256',1887    gasLimit: 'U256',1888    action: 'EthereumTransactionTransactionAction',1889    value: 'U256',1890    input: 'Bytes',1891    accessList: 'Vec<EthereumTransactionAccessListItem>',1892    oddYParity: 'bool',1893    r: 'H256',1894    s: 'H256'1895  },1896  /**1897   * Lookup253: ethereum::transaction::AccessListItem1898   **/1899  EthereumTransactionAccessListItem: {1900    address: 'H160',1901    storageKeys: 'Vec<H256>'1902  },1903  /**1904   * Lookup254: ethereum::transaction::EIP1559Transaction1905   **/1906  EthereumTransactionEip1559Transaction: {1907    chainId: 'u64',1908    nonce: 'U256',1909    maxPriorityFeePerGas: 'U256',1910    maxFeePerGas: 'U256',1911    gasLimit: 'U256',1912    action: 'EthereumTransactionTransactionAction',1913    value: 'U256',1914    input: 'Bytes',1915    accessList: 'Vec<EthereumTransactionAccessListItem>',1916    oddYParity: 'bool',1917    r: 'H256',1918    s: 'H256'1919  },1920  /**1921   * Lookup255: pallet_evm_migration::pallet::Call<T>1922   **/1923  PalletEvmMigrationCall: {1924    _enum: {1925      begin: {1926        address: 'H160',1927      },1928      set_data: {1929        address: 'H160',1930        data: 'Vec<(H256,H256)>',1931      },1932      finish: {1933        address: 'H160',1934        code: 'Bytes'1935      }1936    }1937  },1938  /**1939   * Lookup258: pallet_sudo::pallet::Event<T>1940   **/1941  PalletSudoEvent: {1942    _enum: {1943      Sudid: {1944        sudoResult: 'Result<Null, SpRuntimeDispatchError>',1945      },1946      KeyChanged: {1947        oldSudoer: 'Option<AccountId32>',1948      },1949      SudoAsDone: {1950        sudoResult: 'Result<Null, SpRuntimeDispatchError>'1951      }1952    }1953  },1954  /**1955   * Lookup260: sp_runtime::DispatchError1956   **/1957  SpRuntimeDispatchError: {1958    _enum: {1959      Other: 'Null',1960      CannotLookup: 'Null',1961      BadOrigin: 'Null',1962      Module: 'SpRuntimeModuleError',1963      ConsumerRemaining: 'Null',1964      NoProviders: 'Null',1965      TooManyConsumers: 'Null',1966      Token: 'SpRuntimeTokenError',1967      Arithmetic: 'SpRuntimeArithmeticError',1968      Transactional: 'SpRuntimeTransactionalError'1969    }1970  },1971  /**1972   * Lookup261: sp_runtime::ModuleError1973   **/1974  SpRuntimeModuleError: {1975    index: 'u8',1976    error: '[u8;4]'1977  },1978  /**1979   * Lookup262: sp_runtime::TokenError1980   **/1981  SpRuntimeTokenError: {1982    _enum: ['NoFunds', 'WouldDie', 'BelowMinimum', 'CannotCreate', 'UnknownAsset', 'Frozen', 'Unsupported']1983  },1984  /**1985   * Lookup263: sp_runtime::ArithmeticError1986   **/1987  SpRuntimeArithmeticError: {1988    _enum: ['Underflow', 'Overflow', 'DivisionByZero']1989  },1990  /**1991   * Lookup264: sp_runtime::TransactionalError1992   **/1993  SpRuntimeTransactionalError: {1994    _enum: ['LimitReached', 'NoLayer']1995  },1996  /**1997   * Lookup265: pallet_sudo::pallet::Error<T>1998   **/1999  PalletSudoError: {2000    _enum: ['RequireSudo']2001  },2002  /**2003   * Lookup266: frame_system::AccountInfo<Index, pallet_balances::AccountData<Balance>>2004   **/2005  FrameSystemAccountInfo: {2006    nonce: 'u32',2007    consumers: 'u32',2008    providers: 'u32',2009    sufficients: 'u32',2010    data: 'PalletBalancesAccountData'2011  },2012  /**2013   * Lookup267: frame_support::weights::PerDispatchClass<T>2014   **/2015  FrameSupportWeightsPerDispatchClassU64: {2016    normal: 'u64',2017    operational: 'u64',2018    mandatory: 'u64'2019  },2020  /**2021   * Lookup268: sp_runtime::generic::digest::Digest2022   **/2023  SpRuntimeDigest: {2024    logs: 'Vec<SpRuntimeDigestDigestItem>'2025  },2026  /**2027   * Lookup270: sp_runtime::generic::digest::DigestItem2028   **/2029  SpRuntimeDigestDigestItem: {2030    _enum: {2031      Other: 'Bytes',2032      __Unused1: 'Null',2033      __Unused2: 'Null',2034      __Unused3: 'Null',2035      Consensus: '([u8;4],Bytes)',2036      Seal: '([u8;4],Bytes)',2037      PreRuntime: '([u8;4],Bytes)',2038      __Unused7: 'Null',2039      RuntimeEnvironmentUpdated: 'Null'2040    }2041  },2042  /**2043   * Lookup272: frame_system::EventRecord<opal_runtime::Event, primitive_types::H256>2044   **/2045  FrameSystemEventRecord: {2046    phase: 'FrameSystemPhase',2047    event: 'Event',2048    topics: 'Vec<H256>'2049  },2050  /**2051   * Lookup274: frame_system::pallet::Event<T>2052   **/2053  FrameSystemEvent: {2054    _enum: {2055      ExtrinsicSuccess: {2056        dispatchInfo: 'FrameSupportWeightsDispatchInfo',2057      },2058      ExtrinsicFailed: {2059        dispatchError: 'SpRuntimeDispatchError',2060        dispatchInfo: 'FrameSupportWeightsDispatchInfo',2061      },2062      CodeUpdated: 'Null',2063      NewAccount: {2064        account: 'AccountId32',2065      },2066      KilledAccount: {2067        account: 'AccountId32',2068      },2069      Remarked: {2070        _alias: {2071          hash_: 'hash',2072        },2073        sender: 'AccountId32',2074        hash_: 'H256'2075      }2076    }2077  },2078  /**2079   * Lookup275: frame_support::weights::DispatchInfo2080   **/2081  FrameSupportWeightsDispatchInfo: {2082    weight: 'u64',2083    class: 'FrameSupportWeightsDispatchClass',2084    paysFee: 'FrameSupportWeightsPays'2085  },2086  /**2087   * Lookup276: frame_support::weights::DispatchClass2088   **/2089  FrameSupportWeightsDispatchClass: {2090    _enum: ['Normal', 'Operational', 'Mandatory']2091  },2092  /**2093   * Lookup277: frame_support::weights::Pays2094   **/2095  FrameSupportWeightsPays: {2096    _enum: ['Yes', 'No']2097  },2098  /**2099   * Lookup278: orml_vesting::module::Event<T>2100   **/2101  OrmlVestingModuleEvent: {2102    _enum: {2103      VestingScheduleAdded: {2104        from: 'AccountId32',2105        to: 'AccountId32',2106        vestingSchedule: 'OrmlVestingVestingSchedule',2107      },2108      Claimed: {2109        who: 'AccountId32',2110        amount: 'u128',2111      },2112      VestingSchedulesUpdated: {2113        who: 'AccountId32'2114      }2115    }2116  },2117  /**2118   * Lookup279: cumulus_pallet_xcmp_queue::pallet::Event<T>2119   **/2120  CumulusPalletXcmpQueueEvent: {2121    _enum: {2122      Success: 'Option<H256>',2123      Fail: '(Option<H256>,XcmV2TraitsError)',2124      BadVersion: 'Option<H256>',2125      BadFormat: 'Option<H256>',2126      UpwardMessageSent: 'Option<H256>',2127      XcmpMessageSent: 'Option<H256>',2128      OverweightEnqueued: '(u32,u32,u64,u64)',2129      OverweightServiced: '(u64,u64)'2130    }2131  },2132  /**2133   * Lookup280: pallet_xcm::pallet::Event<T>2134   **/2135  PalletXcmEvent: {2136    _enum: {2137      Attempted: 'XcmV2TraitsOutcome',2138      Sent: '(XcmV1MultiLocation,XcmV1MultiLocation,XcmV2Xcm)',2139      UnexpectedResponse: '(XcmV1MultiLocation,u64)',2140      ResponseReady: '(u64,XcmV2Response)',2141      Notified: '(u64,u8,u8)',2142      NotifyOverweight: '(u64,u8,u8,u64,u64)',2143      NotifyDispatchError: '(u64,u8,u8)',2144      NotifyDecodeFailed: '(u64,u8,u8)',2145      InvalidResponder: '(XcmV1MultiLocation,u64,Option<XcmV1MultiLocation>)',2146      InvalidResponderVersion: '(XcmV1MultiLocation,u64)',2147      ResponseTaken: 'u64',2148      AssetsTrapped: '(H256,XcmV1MultiLocation,XcmVersionedMultiAssets)',2149      VersionChangeNotified: '(XcmV1MultiLocation,u32)',2150      SupportedVersionChanged: '(XcmV1MultiLocation,u32)',2151      NotifyTargetSendFail: '(XcmV1MultiLocation,u64,XcmV2TraitsError)',2152      NotifyTargetMigrationFail: '(XcmVersionedMultiLocation,u64)'2153    }2154  },2155  /**2156   * Lookup281: xcm::v2::traits::Outcome2157   **/2158  XcmV2TraitsOutcome: {2159    _enum: {2160      Complete: 'u64',2161      Incomplete: '(u64,XcmV2TraitsError)',2162      Error: 'XcmV2TraitsError'2163    }2164  },2165  /**2166   * Lookup283: cumulus_pallet_xcm::pallet::Event<T>2167   **/2168  CumulusPalletXcmEvent: {2169    _enum: {2170      InvalidFormat: '[u8;8]',2171      UnsupportedVersion: '[u8;8]',2172      ExecutedDownward: '([u8;8],XcmV2TraitsOutcome)'2173    }2174  },2175  /**2176   * Lookup284: cumulus_pallet_dmp_queue::pallet::Event<T>2177   **/2178  CumulusPalletDmpQueueEvent: {2179    _enum: {2180      InvalidFormat: {2181        messageId: '[u8;32]',2182      },2183      UnsupportedVersion: {2184        messageId: '[u8;32]',2185      },2186      ExecutedDownward: {2187        messageId: '[u8;32]',2188        outcome: 'XcmV2TraitsOutcome',2189      },2190      WeightExhausted: {2191        messageId: '[u8;32]',2192        remainingWeight: 'u64',2193        requiredWeight: 'u64',2194      },2195      OverweightEnqueued: {2196        messageId: '[u8;32]',2197        overweightIndex: 'u64',2198        requiredWeight: 'u64',2199      },2200      OverweightServiced: {2201        overweightIndex: 'u64',2202        weightUsed: 'u64'2203      }2204    }2205  },2206  /**2207   * Lookup285: pallet_unique::RawEvent<sp_core::crypto::AccountId32, pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>2208   **/2209  PalletUniqueRawEvent: {2210    _enum: {2211      CollectionSponsorRemoved: 'u32',2212      CollectionAdminAdded: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)',2213      CollectionOwnedChanged: '(u32,AccountId32)',2214      CollectionSponsorSet: '(u32,AccountId32)',2215      SponsorshipConfirmed: '(u32,AccountId32)',2216      CollectionAdminRemoved: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)',2217      AllowListAddressRemoved: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)',2218      AllowListAddressAdded: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)',2219      CollectionLimitSet: 'u32',2220      CollectionPermissionSet: 'u32'2221    }2222  },2223  /**2224   * Lookup286: pallet_unique_scheduler::pallet::Event<T>2225   **/2226  PalletUniqueSchedulerEvent: {2227    _enum: {2228      Scheduled: {2229        when: 'u32',2230        index: 'u32',2231      },2232      Canceled: {2233        when: 'u32',2234        index: 'u32',2235      },2236      Dispatched: {2237        task: '(u32,u32)',2238        id: 'Option<[u8;16]>',2239        result: 'Result<Null, SpRuntimeDispatchError>',2240      },2241      CallLookupFailed: {2242        task: '(u32,u32)',2243        id: 'Option<[u8;16]>',2244        error: 'FrameSupportScheduleLookupError'2245      }2246    }2247  },2248  /**2249   * Lookup288: frame_support::traits::schedule::LookupError2250   **/2251  FrameSupportScheduleLookupError: {2252    _enum: ['Unknown', 'BadFormat']2253  },2254  /**2255   * Lookup289: pallet_common::pallet::Event<T>2256   **/2257  PalletCommonEvent: {2258    _enum: {2259      CollectionCreated: '(u32,u8,AccountId32)',2260      CollectionDestroyed: 'u32',2261      ItemCreated: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,u128)',2262      ItemDestroyed: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,u128)',2263      Transfer: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,PalletEvmAccountBasicCrossAccountIdRepr,u128)',2264      Approved: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,PalletEvmAccountBasicCrossAccountIdRepr,u128)',2265      CollectionPropertySet: '(u32,Bytes)',2266      CollectionPropertyDeleted: '(u32,Bytes)',2267      TokenPropertySet: '(u32,u32,Bytes)',2268      TokenPropertyDeleted: '(u32,u32,Bytes)',2269      PropertyPermissionSet: '(u32,Bytes)'2270    }2271  },2272  /**2273   * Lookup290: pallet_structure::pallet::Event<T>2274   **/2275  PalletStructureEvent: {2276    _enum: {2277      Executed: 'Result<Null, SpRuntimeDispatchError>'2278    }2279  },2280  /**2281   * Lookup291: pallet_rmrk_core::pallet::Event<T>2282   **/2283  PalletRmrkCoreEvent: {2284    _enum: {2285      CollectionCreated: {2286        issuer: 'AccountId32',2287        collectionId: 'u32',2288      },2289      CollectionDestroyed: {2290        issuer: 'AccountId32',2291        collectionId: 'u32',2292      },2293      IssuerChanged: {2294        oldIssuer: 'AccountId32',2295        newIssuer: 'AccountId32',2296        collectionId: 'u32',2297      },2298      CollectionLocked: {2299        issuer: 'AccountId32',2300        collectionId: 'u32',2301      },2302      NftMinted: {2303        owner: 'AccountId32',2304        collectionId: 'u32',2305        nftId: 'u32',2306      },2307      NFTBurned: {2308        owner: 'AccountId32',2309        nftId: 'u32',2310      },2311      NFTSent: {2312        sender: 'AccountId32',2313        recipient: 'RmrkTraitsNftAccountIdOrCollectionNftTuple',2314        collectionId: 'u32',2315        nftId: 'u32',2316        approvalRequired: 'bool',2317      },2318      NFTAccepted: {2319        sender: 'AccountId32',2320        recipient: 'RmrkTraitsNftAccountIdOrCollectionNftTuple',2321        collectionId: 'u32',2322        nftId: 'u32',2323      },2324      NFTRejected: {2325        sender: 'AccountId32',2326        collectionId: 'u32',2327        nftId: 'u32',2328      },2329      PropertySet: {2330        collectionId: 'u32',2331        maybeNftId: 'Option<u32>',2332        key: 'Bytes',2333        value: 'Bytes',2334      },2335      ResourceAdded: {2336        nftId: 'u32',2337        resourceId: 'u32',2338      },2339      ResourceRemoval: {2340        nftId: 'u32',2341        resourceId: 'u32',2342      },2343      ResourceAccepted: {2344        nftId: 'u32',2345        resourceId: 'u32',2346      },2347      ResourceRemovalAccepted: {2348        nftId: 'u32',2349        resourceId: 'u32',2350      },2351      PrioritySet: {2352        collectionId: 'u32',2353        nftId: 'u32'2354      }2355    }2356  },2357  /**2358   * Lookup292: pallet_rmrk_equip::pallet::Event<T>2359   **/2360  PalletRmrkEquipEvent: {2361    _enum: {2362      BaseCreated: {2363        issuer: 'AccountId32',2364        baseId: 'u32',2365      },2366      EquippablesUpdated: {2367        baseId: 'u32',2368        slotId: 'u32'2369      }2370    }2371  },2372  /**2373   * Lookup293: pallet_evm::pallet::Event<T>2374   **/2375  PalletEvmEvent: {2376    _enum: {2377      Log: 'EthereumLog',2378      Created: 'H160',2379      CreatedFailed: 'H160',2380      Executed: 'H160',2381      ExecutedFailed: 'H160',2382      BalanceDeposit: '(AccountId32,H160,U256)',2383      BalanceWithdraw: '(AccountId32,H160,U256)'2384    }2385  },2386  /**2387   * Lookup294: ethereum::log::Log2388   **/2389  EthereumLog: {2390    address: 'H160',2391    topics: 'Vec<H256>',2392    data: 'Bytes'2393  },2394  /**2395   * Lookup295: pallet_ethereum::pallet::Event2396   **/2397  PalletEthereumEvent: {2398    _enum: {2399      Executed: '(H160,H160,H256,EvmCoreErrorExitReason)'2400    }2401  },2402  /**2403   * Lookup296: evm_core::error::ExitReason2404   **/2405  EvmCoreErrorExitReason: {2406    _enum: {2407      Succeed: 'EvmCoreErrorExitSucceed',2408      Error: 'EvmCoreErrorExitError',2409      Revert: 'EvmCoreErrorExitRevert',2410      Fatal: 'EvmCoreErrorExitFatal'2411    }2412  },2413  /**2414   * Lookup297: evm_core::error::ExitSucceed2415   **/2416  EvmCoreErrorExitSucceed: {2417    _enum: ['Stopped', 'Returned', 'Suicided']2418  },2419  /**2420   * Lookup298: evm_core::error::ExitError2421   **/2422  EvmCoreErrorExitError: {2423    _enum: {2424      StackUnderflow: 'Null',2425      StackOverflow: 'Null',2426      InvalidJump: 'Null',2427      InvalidRange: 'Null',2428      DesignatedInvalid: 'Null',2429      CallTooDeep: 'Null',2430      CreateCollision: 'Null',2431      CreateContractLimit: 'Null',2432      OutOfOffset: 'Null',2433      OutOfGas: 'Null',2434      OutOfFund: 'Null',2435      PCUnderflow: 'Null',2436      CreateEmpty: 'Null',2437      Other: 'Text',2438      InvalidCode: 'Null'2439    }2440  },2441  /**2442   * Lookup301: evm_core::error::ExitRevert2443   **/2444  EvmCoreErrorExitRevert: {2445    _enum: ['Reverted']2446  },2447  /**2448   * Lookup302: evm_core::error::ExitFatal2449   **/2450  EvmCoreErrorExitFatal: {2451    _enum: {2452      NotSupported: 'Null',2453      UnhandledInterrupt: 'Null',2454      CallErrorAsFatal: 'EvmCoreErrorExitError',2455      Other: 'Text'2456    }2457  },2458  /**2459   * Lookup303: frame_system::Phase2460   **/2461  FrameSystemPhase: {2462    _enum: {2463      ApplyExtrinsic: 'u32',2464      Finalization: 'Null',2465      Initialization: 'Null'2466    }2467  },2468  /**2469   * Lookup305: frame_system::LastRuntimeUpgradeInfo2470   **/2471  FrameSystemLastRuntimeUpgradeInfo: {2472    specVersion: 'Compact<u32>',2473    specName: 'Text'2474  },2475  /**2476   * Lookup306: frame_system::limits::BlockWeights2477   **/2478  FrameSystemLimitsBlockWeights: {2479    baseBlock: 'u64',2480    maxBlock: 'u64',2481    perClass: 'FrameSupportWeightsPerDispatchClassWeightsPerClass'2482  },2483  /**2484   * Lookup307: frame_support::weights::PerDispatchClass<frame_system::limits::WeightsPerClass>2485   **/2486  FrameSupportWeightsPerDispatchClassWeightsPerClass: {2487    normal: 'FrameSystemLimitsWeightsPerClass',2488    operational: 'FrameSystemLimitsWeightsPerClass',2489    mandatory: 'FrameSystemLimitsWeightsPerClass'2490  },2491  /**2492   * Lookup308: frame_system::limits::WeightsPerClass2493   **/2494  FrameSystemLimitsWeightsPerClass: {2495    baseExtrinsic: 'u64',2496    maxExtrinsic: 'Option<u64>',2497    maxTotal: 'Option<u64>',2498    reserved: 'Option<u64>'2499  },2500  /**2501   * Lookup310: frame_system::limits::BlockLength2502   **/2503  FrameSystemLimitsBlockLength: {2504    max: 'FrameSupportWeightsPerDispatchClassU32'2505  },2506  /**2507   * Lookup311: frame_support::weights::PerDispatchClass<T>2508   **/2509  FrameSupportWeightsPerDispatchClassU32: {2510    normal: 'u32',2511    operational: 'u32',2512    mandatory: 'u32'2513  },2514  /**2515   * Lookup312: frame_support::weights::RuntimeDbWeight2516   **/2517  FrameSupportWeightsRuntimeDbWeight: {2518    read: 'u64',2519    write: 'u64'2520  },2521  /**2522   * Lookup313: sp_version::RuntimeVersion2523   **/2524  SpVersionRuntimeVersion: {2525    specName: 'Text',2526    implName: 'Text',2527    authoringVersion: 'u32',2528    specVersion: 'u32',2529    implVersion: 'u32',2530    apis: 'Vec<([u8;8],u32)>',2531    transactionVersion: 'u32',2532    stateVersion: 'u8'2533  },2534  /**2535   * Lookup317: frame_system::pallet::Error<T>2536   **/2537  FrameSystemError: {2538    _enum: ['InvalidSpecName', 'SpecVersionNeedsToIncrease', 'FailedToExtractRuntimeVersion', 'NonDefaultComposite', 'NonZeroRefCount', 'CallFiltered']2539  },2540  /**2541   * Lookup319: orml_vesting::module::Error<T>2542   **/2543  OrmlVestingModuleError: {2544    _enum: ['ZeroVestingPeriod', 'ZeroVestingPeriodCount', 'InsufficientBalanceToLock', 'TooManyVestingSchedules', 'AmountLow', 'MaxVestingSchedulesExceeded']2545  },2546  /**2547   * Lookup321: cumulus_pallet_xcmp_queue::InboundChannelDetails2548   **/2549  CumulusPalletXcmpQueueInboundChannelDetails: {2550    sender: 'u32',2551    state: 'CumulusPalletXcmpQueueInboundState',2552    messageMetadata: 'Vec<(u32,PolkadotParachainPrimitivesXcmpMessageFormat)>'2553  },2554  /**2555   * Lookup322: cumulus_pallet_xcmp_queue::InboundState2556   **/2557  CumulusPalletXcmpQueueInboundState: {2558    _enum: ['Ok', 'Suspended']2559  },2560  /**2561   * Lookup325: polkadot_parachain::primitives::XcmpMessageFormat2562   **/2563  PolkadotParachainPrimitivesXcmpMessageFormat: {2564    _enum: ['ConcatenatedVersionedXcm', 'ConcatenatedEncodedBlob', 'Signals']2565  },2566  /**2567   * Lookup328: cumulus_pallet_xcmp_queue::OutboundChannelDetails2568   **/2569  CumulusPalletXcmpQueueOutboundChannelDetails: {2570    recipient: 'u32',2571    state: 'CumulusPalletXcmpQueueOutboundState',2572    signalsExist: 'bool',2573    firstIndex: 'u16',2574    lastIndex: 'u16'2575  },2576  /**2577   * Lookup329: cumulus_pallet_xcmp_queue::OutboundState2578   **/2579  CumulusPalletXcmpQueueOutboundState: {2580    _enum: ['Ok', 'Suspended']2581  },2582  /**2583   * Lookup331: cumulus_pallet_xcmp_queue::QueueConfigData2584   **/2585  CumulusPalletXcmpQueueQueueConfigData: {2586    suspendThreshold: 'u32',2587    dropThreshold: 'u32',2588    resumeThreshold: 'u32',2589    thresholdWeight: 'u64',2590    weightRestrictDecay: 'u64',2591    xcmpMaxIndividualWeight: 'u64'2592  },2593  /**2594   * Lookup333: cumulus_pallet_xcmp_queue::pallet::Error<T>2595   **/2596  CumulusPalletXcmpQueueError: {2597    _enum: ['FailedToSend', 'BadXcmOrigin', 'BadXcm', 'BadOverweightIndex', 'WeightOverLimit']2598  },2599  /**2600   * Lookup334: pallet_xcm::pallet::Error<T>2601   **/2602  PalletXcmError: {2603    _enum: ['Unreachable', 'SendFailure', 'Filtered', 'UnweighableMessage', 'DestinationNotInvertible', 'Empty', 'CannotReanchor', 'TooManyAssets', 'InvalidOrigin', 'BadVersion', 'BadLocation', 'NoSubscription', 'AlreadySubscribed']2604  },2605  /**2606   * Lookup335: cumulus_pallet_xcm::pallet::Error<T>2607   **/2608  CumulusPalletXcmError: 'Null',2609  /**2610   * Lookup336: cumulus_pallet_dmp_queue::ConfigData2611   **/2612  CumulusPalletDmpQueueConfigData: {2613    maxIndividual: 'u64'2614  },2615  /**2616   * Lookup337: cumulus_pallet_dmp_queue::PageIndexData2617   **/2618  CumulusPalletDmpQueuePageIndexData: {2619    beginUsed: 'u32',2620    endUsed: 'u32',2621    overweightCount: 'u64'2622  },2623  /**2624   * Lookup340: cumulus_pallet_dmp_queue::pallet::Error<T>2625   **/2626  CumulusPalletDmpQueueError: {2627    _enum: ['Unknown', 'OverLimit']2628  },2629  /**2630   * Lookup344: pallet_unique::Error<T>2631   **/2632  PalletUniqueError: {2633    _enum: ['CollectionDecimalPointLimitExceeded', 'ConfirmUnsetSponsorFail', 'EmptyArgument', 'RepartitionCalledOnNonRefungibleCollection']2634  },2635  /**2636   * Lookup347: pallet_unique_scheduler::ScheduledV3<frame_support::traits::schedule::MaybeHashed<opal_runtime::Call, primitive_types::H256>, BlockNumber, opal_runtime::OriginCaller, sp_core::crypto::AccountId32>2637   **/2638  PalletUniqueSchedulerScheduledV3: {2639    maybeId: 'Option<[u8;16]>',2640    priority: 'u8',2641    call: 'FrameSupportScheduleMaybeHashed',2642    maybePeriodic: 'Option<(u32,u32)>',2643    origin: 'OpalRuntimeOriginCaller'2644  },2645  /**2646   * Lookup348: opal_runtime::OriginCaller2647   **/2648  OpalRuntimeOriginCaller: {2649    _enum: {2650      __Unused0: 'Null',2651      __Unused1: 'Null',2652      __Unused2: 'Null',2653      __Unused3: 'Null',2654      Void: 'SpCoreVoid',2655      __Unused5: 'Null',2656      __Unused6: 'Null',2657      __Unused7: 'Null',2658      __Unused8: 'Null',2659      __Unused9: 'Null',2660      __Unused10: 'Null',2661      __Unused11: 'Null',2662      __Unused12: 'Null',2663      __Unused13: 'Null',2664      __Unused14: 'Null',2665      __Unused15: 'Null',2666      __Unused16: 'Null',2667      __Unused17: 'Null',2668      __Unused18: 'Null',2669      __Unused19: 'Null',2670      __Unused20: 'Null',2671      __Unused21: 'Null',2672      __Unused22: 'Null',2673      __Unused23: 'Null',2674      __Unused24: 'Null',2675      __Unused25: 'Null',2676      __Unused26: 'Null',2677      __Unused27: 'Null',2678      __Unused28: 'Null',2679      __Unused29: 'Null',2680      __Unused30: 'Null',2681      __Unused31: 'Null',2682      __Unused32: 'Null',2683      __Unused33: 'Null',2684      __Unused34: 'Null',2685      __Unused35: 'Null',2686      system: 'FrameSupportDispatchRawOrigin',2687      __Unused37: 'Null',2688      __Unused38: 'Null',2689      __Unused39: 'Null',2690      __Unused40: 'Null',2691      __Unused41: 'Null',2692      __Unused42: 'Null',2693      __Unused43: 'Null',2694      __Unused44: 'Null',2695      __Unused45: 'Null',2696      __Unused46: 'Null',2697      __Unused47: 'Null',2698      __Unused48: 'Null',2699      __Unused49: 'Null',2700      __Unused50: 'Null',2701      PolkadotXcm: 'PalletXcmOrigin',2702      CumulusXcm: 'CumulusPalletXcmOrigin',2703      __Unused53: 'Null',2704      __Unused54: 'Null',2705      __Unused55: 'Null',2706      __Unused56: 'Null',2707      __Unused57: 'Null',2708      __Unused58: 'Null',2709      __Unused59: 'Null',2710      __Unused60: 'Null',2711      __Unused61: 'Null',2712      __Unused62: 'Null',2713      __Unused63: 'Null',2714      __Unused64: 'Null',2715      __Unused65: 'Null',2716      __Unused66: 'Null',2717      __Unused67: 'Null',2718      __Unused68: 'Null',2719      __Unused69: 'Null',2720      __Unused70: 'Null',2721      __Unused71: 'Null',2722      __Unused72: 'Null',2723      __Unused73: 'Null',2724      __Unused74: 'Null',2725      __Unused75: 'Null',2726      __Unused76: 'Null',2727      __Unused77: 'Null',2728      __Unused78: 'Null',2729      __Unused79: 'Null',2730      __Unused80: 'Null',2731      __Unused81: 'Null',2732      __Unused82: 'Null',2733      __Unused83: 'Null',2734      __Unused84: 'Null',2735      __Unused85: 'Null',2736      __Unused86: 'Null',2737      __Unused87: 'Null',2738      __Unused88: 'Null',2739      __Unused89: 'Null',2740      __Unused90: 'Null',2741      __Unused91: 'Null',2742      __Unused92: 'Null',2743      __Unused93: 'Null',2744      __Unused94: 'Null',2745      __Unused95: 'Null',2746      __Unused96: 'Null',2747      __Unused97: 'Null',2748      __Unused98: 'Null',2749      __Unused99: 'Null',2750      __Unused100: 'Null',2751      Ethereum: 'PalletEthereumRawOrigin'2752    }2753  },2754  /**2755   * Lookup349: frame_support::dispatch::RawOrigin<sp_core::crypto::AccountId32>2756   **/2757  FrameSupportDispatchRawOrigin: {2758    _enum: {2759      Root: 'Null',2760      Signed: 'AccountId32',2761      None: 'Null'2762    }2763  },2764  /**2765   * Lookup350: pallet_xcm::pallet::Origin2766   **/2767  PalletXcmOrigin: {2768    _enum: {2769      Xcm: 'XcmV1MultiLocation',2770      Response: 'XcmV1MultiLocation'2771    }2772  },2773  /**2774   * Lookup351: cumulus_pallet_xcm::pallet::Origin2775   **/2776  CumulusPalletXcmOrigin: {2777    _enum: {2778      Relay: 'Null',2779      SiblingParachain: 'u32'2780    }2781  },2782  /**2783   * Lookup352: pallet_ethereum::RawOrigin2784   **/2785  PalletEthereumRawOrigin: {2786    _enum: {2787      EthereumTransaction: 'H160'2788    }2789  },2790  /**2791   * Lookup353: sp_core::Void2792   **/2793  SpCoreVoid: 'Null',2794  /**2795   * Lookup354: pallet_unique_scheduler::pallet::Error<T>2796   **/2797  PalletUniqueSchedulerError: {2798    _enum: ['FailedToSchedule', 'NotFound', 'TargetBlockNumberInPast', 'RescheduleNoChange']2799  },2800  /**2801   * Lookup355: up_data_structs::Collection<sp_core::crypto::AccountId32>2802   **/2803  UpDataStructsCollection: {2804    owner: 'AccountId32',2805    mode: 'UpDataStructsCollectionMode',2806    name: 'Vec<u16>',2807    description: 'Vec<u16>',2808    tokenPrefix: 'Bytes',2809    sponsorship: 'UpDataStructsSponsorshipState',2810    limits: 'UpDataStructsCollectionLimits',2811    permissions: 'UpDataStructsCollectionPermissions',2812    externalCollection: 'bool'2813  },2814  /**2815   * Lookup356: up_data_structs::SponsorshipState<sp_core::crypto::AccountId32>2816   **/2817  UpDataStructsSponsorshipState: {2818    _enum: {2819      Disabled: 'Null',2820      Unconfirmed: 'AccountId32',2821      Confirmed: 'AccountId32'2822    }2823  },2824  /**2825   * Lookup357: up_data_structs::Properties2826   **/2827  UpDataStructsProperties: {2828    map: 'UpDataStructsPropertiesMapBoundedVec',2829    consumedSpace: 'u32',2830    spaceLimit: 'u32'2831  },2832  /**2833   * Lookup358: up_data_structs::PropertiesMap<frame_support::storage::bounded_vec::BoundedVec<T, S>>2834   **/2835  UpDataStructsPropertiesMapBoundedVec: 'BTreeMap<Bytes, Bytes>',2836  /**2837   * Lookup363: up_data_structs::PropertiesMap<up_data_structs::PropertyPermission>2838   **/2839  UpDataStructsPropertiesMapPropertyPermission: 'BTreeMap<Bytes, UpDataStructsPropertyPermission>',2840  /**2841   * Lookup370: up_data_structs::CollectionStats2842   **/2843  UpDataStructsCollectionStats: {2844    created: 'u32',2845    destroyed: 'u32',2846    alive: 'u32'2847  },2848  /**2849   * Lookup371: up_data_structs::TokenChild2850   **/2851  UpDataStructsTokenChild: {2852    token: 'u32',2853    collection: 'u32'2854  },2855  /**2856   * Lookup372: PhantomType::up_data_structs<T>2857   **/2858  PhantomTypeUpDataStructs: '[(UpDataStructsTokenData,UpDataStructsRpcCollection,RmrkTraitsCollectionCollectionInfo,RmrkTraitsNftNftInfo,RmrkTraitsResourceResourceInfo,RmrkTraitsPropertyPropertyInfo,RmrkTraitsBaseBaseInfo,RmrkTraitsPartPartType,RmrkTraitsTheme,RmrkTraitsNftNftChild);0]',2859  /**2860   * Lookup374: up_data_structs::TokenData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>2861   **/2862  UpDataStructsTokenData: {2863    properties: 'Vec<UpDataStructsProperty>',2864    owner: 'Option<PalletEvmAccountBasicCrossAccountIdRepr>',2865    pieces: 'u128'2866  },2867  /**2868   * Lookup376: up_data_structs::RpcCollection<sp_core::crypto::AccountId32>2869   **/2870  UpDataStructsRpcCollection: {2871    owner: 'AccountId32',2872    mode: 'UpDataStructsCollectionMode',2873    name: 'Vec<u16>',2874    description: 'Vec<u16>',2875    tokenPrefix: 'Bytes',2876    sponsorship: 'UpDataStructsSponsorshipState',2877    limits: 'UpDataStructsCollectionLimits',2878    permissions: 'UpDataStructsCollectionPermissions',2879    tokenPropertyPermissions: 'Vec<UpDataStructsPropertyKeyPermission>',2880    properties: 'Vec<UpDataStructsProperty>',2881    readOnly: 'bool'2882  },2883  /**2884   * Lookup377: rmrk_traits::collection::CollectionInfo<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>, sp_core::crypto::AccountId32>2885   **/2886  RmrkTraitsCollectionCollectionInfo: {2887    issuer: 'AccountId32',2888    metadata: 'Bytes',2889    max: 'Option<u32>',2890    symbol: 'Bytes',2891    nftsCount: 'u32'2892  },2893  /**2894   * Lookup378: rmrk_traits::nft::NftInfo<sp_core::crypto::AccountId32, sp_arithmetic::per_things::Permill, frame_support::storage::bounded_vec::BoundedVec<T, S>>2895   **/2896  RmrkTraitsNftNftInfo: {2897    owner: 'RmrkTraitsNftAccountIdOrCollectionNftTuple',2898    royalty: 'Option<RmrkTraitsNftRoyaltyInfo>',2899    metadata: 'Bytes',2900    equipped: 'bool',2901    pending: 'bool'2902  },2903  /**2904   * Lookup380: rmrk_traits::nft::RoyaltyInfo<sp_core::crypto::AccountId32, sp_arithmetic::per_things::Permill>2905   **/2906  RmrkTraitsNftRoyaltyInfo: {2907    recipient: 'AccountId32',2908    amount: 'Permill'2909  },2910  /**2911   * Lookup381: rmrk_traits::resource::ResourceInfo<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>>2912   **/2913  RmrkTraitsResourceResourceInfo: {2914    id: 'u32',2915    resource: 'RmrkTraitsResourceResourceTypes',2916    pending: 'bool',2917    pendingRemoval: 'bool'2918  },2919  /**2920   * Lookup382: rmrk_traits::property::PropertyInfo<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>>2921   **/2922  RmrkTraitsPropertyPropertyInfo: {2923    key: 'Bytes',2924    value: 'Bytes'2925  },2926  /**2927   * Lookup383: rmrk_traits::base::BaseInfo<sp_core::crypto::AccountId32, frame_support::storage::bounded_vec::BoundedVec<T, S>>2928   **/2929  RmrkTraitsBaseBaseInfo: {2930    issuer: 'AccountId32',2931    baseType: 'Bytes',2932    symbol: 'Bytes'2933  },2934  /**2935   * Lookup384: rmrk_traits::nft::NftChild2936   **/2937  RmrkTraitsNftNftChild: {2938    collectionId: 'u32',2939    nftId: 'u32'2940  },2941  /**2942   * Lookup386: pallet_common::pallet::Error<T>2943   **/2944  PalletCommonError: {2945    _enum: ['CollectionNotFound', 'MustBeTokenOwner', 'NoPermission', 'CantDestroyNotEmptyCollection', 'PublicMintingNotAllowed', 'AddressNotInAllowlist', 'CollectionNameLimitExceeded', 'CollectionDescriptionLimitExceeded', 'CollectionTokenPrefixLimitExceeded', 'TotalCollectionsLimitExceeded', 'CollectionAdminCountExceeded', 'CollectionLimitBoundsExceeded', 'OwnerPermissionsCantBeReverted', 'TransferNotAllowed', 'AccountTokenLimitExceeded', 'CollectionTokenLimitExceeded', 'MetadataFlagFrozen', 'TokenNotFound', 'TokenValueTooLow', 'ApprovedValueTooLow', 'CantApproveMoreThanOwned', 'AddressIsZero', 'UnsupportedOperation', 'NotSufficientFounds', 'UserIsNotAllowedToNest', 'SourceCollectionIsNotAllowedToNest', 'CollectionFieldSizeExceeded', 'NoSpaceForProperty', 'PropertyLimitReached', 'PropertyKeyIsTooLong', 'InvalidCharacterInPropertyKey', 'EmptyPropertyKey', 'CollectionIsExternal', 'CollectionIsInternal']2946  },2947  /**2948   * Lookup388: pallet_fungible::pallet::Error<T>2949   **/2950  PalletFungibleError: {2951    _enum: ['NotFungibleDataUsedToMintFungibleCollectionToken', 'FungibleItemsHaveNoId', 'FungibleItemsDontHaveData', 'FungibleDisallowsNesting', 'SettingPropertiesNotAllowed']2952  },2953  /**2954   * Lookup389: pallet_refungible::ItemData2955   **/2956  PalletRefungibleItemData: {2957    constData: 'Bytes'2958  },2959  /**2960   * Lookup393: pallet_refungible::pallet::Error<T>2961   **/2962  PalletRefungibleError: {2963    _enum: ['NotRefungibleDataUsedToMintFungibleCollectionToken', 'WrongRefungiblePieces', 'RepartitionWhileNotOwningAllPieces', 'RefungibleDisallowsNesting', 'SettingPropertiesNotAllowed']2964  },2965  /**2966   * Lookup394: pallet_nonfungible::ItemData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>2967   **/2968  PalletNonfungibleItemData: {2969    owner: 'PalletEvmAccountBasicCrossAccountIdRepr'2970  },2971  /**2972   * Lookup396: up_data_structs::PropertyScope2973   **/2974  UpDataStructsPropertyScope: {2975    _enum: ['None', 'Rmrk']2976  },2977  /**2978   * Lookup398: pallet_nonfungible::pallet::Error<T>2979   **/2980  PalletNonfungibleError: {2981    _enum: ['NotNonfungibleDataUsedToMintFungibleCollectionToken', 'NonfungibleItemsHaveNoAmount', 'CantBurnNftWithChildren']2982  },2983  /**2984   * Lookup399: pallet_structure::pallet::Error<T>2985   **/2986  PalletStructureError: {2987    _enum: ['OuroborosDetected', 'DepthLimit', 'BreadthLimit', 'TokenNotFound']2988  },2989  /**2990   * Lookup400: pallet_rmrk_core::pallet::Error<T>2991   **/2992  PalletRmrkCoreError: {2993    _enum: ['CorruptedCollectionType', 'NftTypeEncodeError', 'RmrkPropertyKeyIsTooLong', 'RmrkPropertyValueIsTooLong', 'RmrkPropertyIsNotFound', 'UnableToDecodeRmrkData', 'CollectionNotEmpty', 'NoAvailableCollectionId', 'NoAvailableNftId', 'CollectionUnknown', 'NoPermission', 'NonTransferable', 'CollectionFullOrLocked', 'ResourceDoesntExist', 'CannotSendToDescendentOrSelf', 'CannotAcceptNonOwnedNft', 'CannotRejectNonOwnedNft', 'CannotRejectNonPendingNft', 'ResourceNotPending', 'NoAvailableResourceId']2994  },2995  /**2996   * Lookup402: pallet_rmrk_equip::pallet::Error<T>2997   **/2998  PalletRmrkEquipError: {2999    _enum: ['PermissionError', 'NoAvailableBaseId', 'NoAvailablePartId', 'BaseDoesntExist', 'NeedsDefaultThemeFirst', 'PartDoesntExist', 'NoEquippableOnFixedPart']3000  },3001  /**3002   * Lookup405: pallet_evm::pallet::Error<T>3003   **/3004  PalletEvmError: {3005    _enum: ['BalanceLow', 'FeeOverflow', 'PaymentOverflow', 'WithdrawFailed', 'GasPriceTooLow', 'InvalidNonce']3006  },3007  /**3008   * Lookup408: fp_rpc::TransactionStatus3009   **/3010  FpRpcTransactionStatus: {3011    transactionHash: 'H256',3012    transactionIndex: 'u32',3013    from: 'H160',3014    to: 'Option<H160>',3015    contractAddress: 'Option<H160>',3016    logs: 'Vec<EthereumLog>',3017    logsBloom: 'EthbloomBloom'3018  },3019  /**3020   * Lookup410: ethbloom::Bloom3021   **/3022  EthbloomBloom: '[u8;256]',3023  /**3024   * Lookup412: ethereum::receipt::ReceiptV33025   **/3026  EthereumReceiptReceiptV3: {3027    _enum: {3028      Legacy: 'EthereumReceiptEip658ReceiptData',3029      EIP2930: 'EthereumReceiptEip658ReceiptData',3030      EIP1559: 'EthereumReceiptEip658ReceiptData'3031    }3032  },3033  /**3034   * Lookup413: ethereum::receipt::EIP658ReceiptData3035   **/3036  EthereumReceiptEip658ReceiptData: {3037    statusCode: 'u8',3038    usedGas: 'U256',3039    logsBloom: 'EthbloomBloom',3040    logs: 'Vec<EthereumLog>'3041  },3042  /**3043   * Lookup414: ethereum::block::Block<ethereum::transaction::TransactionV2>3044   **/3045  EthereumBlock: {3046    header: 'EthereumHeader',3047    transactions: 'Vec<EthereumTransactionTransactionV2>',3048    ommers: 'Vec<EthereumHeader>'3049  },3050  /**3051   * Lookup415: ethereum::header::Header3052   **/3053  EthereumHeader: {3054    parentHash: 'H256',3055    ommersHash: 'H256',3056    beneficiary: 'H160',3057    stateRoot: 'H256',3058    transactionsRoot: 'H256',3059    receiptsRoot: 'H256',3060    logsBloom: 'EthbloomBloom',3061    difficulty: 'U256',3062    number: 'U256',3063    gasLimit: 'U256',3064    gasUsed: 'U256',3065    timestamp: 'u64',3066    extraData: 'Bytes',3067    mixHash: 'H256',3068    nonce: 'EthereumTypesHashH64'3069  },3070  /**3071   * Lookup416: ethereum_types::hash::H643072   **/3073  EthereumTypesHashH64: '[u8;8]',3074  /**3075   * Lookup421: pallet_ethereum::pallet::Error<T>3076   **/3077  PalletEthereumError: {3078    _enum: ['InvalidSignature', 'PreLogExists']3079  },3080  /**3081   * Lookup422: pallet_evm_coder_substrate::pallet::Error<T>3082   **/3083  PalletEvmCoderSubstrateError: {3084    _enum: ['OutOfGas', 'OutOfFund']3085  },3086  /**3087   * Lookup423: pallet_evm_contract_helpers::SponsoringModeT3088   **/3089  PalletEvmContractHelpersSponsoringModeT: {3090    _enum: ['Disabled', 'Allowlisted', 'Generous']3091  },3092  /**3093   * Lookup425: pallet_evm_contract_helpers::pallet::Error<T>3094   **/3095  PalletEvmContractHelpersError: {3096    _enum: ['NoPermission']3097  },3098  /**3099   * Lookup426: pallet_evm_migration::pallet::Error<T>3100   **/3101  PalletEvmMigrationError: {3102    _enum: ['AccountNotEmpty', 'AccountIsNotMigrating']3103  },3104  /**3105   * Lookup428: sp_runtime::MultiSignature3106   **/3107  SpRuntimeMultiSignature: {3108    _enum: {3109      Ed25519: 'SpCoreEd25519Signature',3110      Sr25519: 'SpCoreSr25519Signature',3111      Ecdsa: 'SpCoreEcdsaSignature'3112    }3113  },3114  /**3115   * Lookup429: sp_core::ed25519::Signature3116   **/3117  SpCoreEd25519Signature: '[u8;64]',3118  /**3119   * Lookup431: sp_core::sr25519::Signature3120   **/3121  SpCoreSr25519Signature: '[u8;64]',3122  /**3123   * Lookup432: sp_core::ecdsa::Signature3124   **/3125  SpCoreEcdsaSignature: '[u8;65]',3126  /**3127   * Lookup435: frame_system::extensions::check_spec_version::CheckSpecVersion<T>3128   **/3129  FrameSystemExtensionsCheckSpecVersion: 'Null',3130  /**3131   * Lookup436: frame_system::extensions::check_genesis::CheckGenesis<T>3132   **/3133  FrameSystemExtensionsCheckGenesis: 'Null',3134  /**3135   * Lookup439: frame_system::extensions::check_nonce::CheckNonce<T>3136   **/3137  FrameSystemExtensionsCheckNonce: 'Compact<u32>',3138  /**3139   * Lookup440: frame_system::extensions::check_weight::CheckWeight<T>3140   **/3141  FrameSystemExtensionsCheckWeight: 'Null',3142  /**3143   * Lookup441: pallet_template_transaction_payment::ChargeTransactionPayment<opal_runtime::Runtime>3144   **/3145  PalletTemplateTransactionPaymentChargeTransactionPayment: 'Compact<u128>',3146  /**3147   * Lookup442: opal_runtime::Runtime3148   **/3149  OpalRuntimeRuntime: 'Null',3150  /**3151   * Lookup443: pallet_ethereum::FakeTransactionFinalizer<opal_runtime::Runtime>3152   **/3153  PalletEthereumFakeTransactionFinalizer: 'Null'3154};
modifiedtests/src/interfaces/types-lookup.tsdiffbeforeafterboth
--- a/tests/src/interfaces/types-lookup.ts
+++ b/tests/src/interfaces/types-lookup.ts
@@ -1385,7 +1385,7 @@
     readonly isAddCollectionAdmin: boolean;
     readonly asAddCollectionAdmin: {
       readonly collectionId: u32;
-      readonly newAdminId: PalletEvmAccountBasicCrossAccountIdRepr;
+      readonly newAdmin: PalletEvmAccountBasicCrossAccountIdRepr;
     } & Struct;
     readonly isRemoveCollectionAdmin: boolean;
     readonly asRemoveCollectionAdmin: {
@@ -1497,12 +1497,12 @@
     readonly isSetCollectionPermissions: boolean;
     readonly asSetCollectionPermissions: {
       readonly collectionId: u32;
-      readonly newLimit: UpDataStructsCollectionPermissions;
+      readonly newPermission: UpDataStructsCollectionPermissions;
     } & Struct;
     readonly isRepartition: boolean;
     readonly asRepartition: {
       readonly collectionId: u32;
-      readonly token: u32;
+      readonly tokenId: u32;
       readonly amount: u128;
     } & Struct;
     readonly type: 'CreateCollection' | 'CreateCollectionEx' | 'DestroyCollection' | 'AddToAllowList' | 'RemoveFromAllowList' | 'ChangeCollectionOwner' | 'AddCollectionAdmin' | 'RemoveCollectionAdmin' | 'SetCollectionSponsor' | 'ConfirmSponsorship' | 'RemoveCollectionSponsor' | 'CreateItem' | 'CreateMultipleItems' | 'SetCollectionProperties' | 'DeleteCollectionProperties' | 'SetTokenProperties' | 'DeleteTokenProperties' | 'SetTokenPropertyPermissions' | 'CreateMultipleItemsEx' | 'SetTransfersEnabledFlag' | 'BurnItem' | 'BurnFrom' | 'Transfer' | 'Approve' | 'TransferFrom' | 'SetCollectionLimits' | 'SetCollectionPermissions' | 'Repartition';
modifiedtests/src/interfaces/unique/definitions.tsdiffbeforeafterboth
--- a/tests/src/interfaces/unique/definitions.ts
+++ b/tests/src/interfaces/unique/definitions.ts
@@ -37,49 +37,143 @@
 export default {
   types: {},
   rpc: {
-    adminlist: fun('Get admin list', [collectionParam], 'Vec<PalletEvmAccountBasicCrossAccountIdRepr>'),
-    allowlist: fun('Get allowlist', [collectionParam], 'Vec<PalletEvmAccountBasicCrossAccountIdRepr>'),
+    accountTokens: fun(
+      'Get tokens owned by an account in a collection', 
+      [collectionParam, crossAccountParam()], 
+      'Vec<u32>',
+    ),
+    collectionTokens: fun(
+      'Get tokens contained within a collection', 
+      [collectionParam], 
+      'Vec<u32>',
+    ),
+    tokenExists: fun(
+      'Check if the token exists', 
+      [collectionParam, tokenParam], 
+      'bool',
+    ),
 
-    accountTokens: fun('Get tokens owned by account', [collectionParam, crossAccountParam()], 'Vec<u32>'),
-    collectionTokens: fun('Get tokens contained in collection', [collectionParam], 'Vec<u32>'),
+    tokenOwner: fun(
+      'Get the token owner', 
+      [collectionParam, tokenParam], 
+      `Option<${CROSS_ACCOUNT_ID_TYPE}>`,
+    ),
+    topmostTokenOwner: fun(
+      'Get the topmost token owner in the hierarchy of a possibly nested token', 
+      [collectionParam, tokenParam], 
+      `Option<${CROSS_ACCOUNT_ID_TYPE}>`,
+    ),
+    tokenOwners: fun(
+      'Returns 10 tokens owners in no particular order', 
+      [collectionParam, tokenParam], 
+      `Vec<${CROSS_ACCOUNT_ID_TYPE}>`,
+    ),
+    tokenChildren: fun(
+      'Get tokens nested directly into the token', 
+      [collectionParam, tokenParam], 
+      'Vec<UpDataStructsTokenChild>',
+    ),
 
-    lastTokenId: fun('Get last token id', [collectionParam], 'u32'),
-    totalSupply: fun('Get amount of unique collection tokens', [collectionParam], 'u32'),
-    accountBalance: fun('Get amount of different user tokens', [collectionParam, crossAccountParam()], 'u32'),
-    balance: fun('Get amount of specific account token', [collectionParam, crossAccountParam(), tokenParam], 'u128'),
-    allowance: fun('Get allowed amount', [collectionParam, crossAccountParam('sender'), crossAccountParam('spender'), tokenParam], 'u128'),
-    tokenOwner: fun('Get token owner', [collectionParam, tokenParam], `Option<${CROSS_ACCOUNT_ID_TYPE}>`),
-    tokenOwners: fun('Returns 10 tokens owners in no particular order', [collectionParam, tokenParam], `Vec<${CROSS_ACCOUNT_ID_TYPE}>`),
-    topmostTokenOwner: fun('Get token owner, in case of nested token - find parent recursive', [collectionParam, tokenParam], `Option<${CROSS_ACCOUNT_ID_TYPE}>`),
-    tokenChildren: fun('Get tokens nested directly into the token', [collectionParam, tokenParam], 'Vec<UpDataStructsTokenChild>'),
-    constMetadata: fun('Get token constant metadata', [collectionParam, tokenParam], 'Vec<u8>'),
-    variableMetadata: fun('Get token variable metadata', [collectionParam, tokenParam], 'Vec<u8>'),
     collectionProperties: fun(
-      'Get collection properties',
+      'Get collection properties, optionally limited to the provided keys',
       [collectionParam, propertyKeysParam],
       'Vec<UpDataStructsProperty>',
     ),
     tokenProperties: fun(
-      'Get token properties',
+      'Get token properties, optionally limited to the provided keys',
       [collectionParam, tokenParam, propertyKeysParam],
       'Vec<UpDataStructsProperty>',
     ),
     propertyPermissions: fun(
-      'Get property permissions',
+      'Get property permissions, optionally limited to the provided keys',
       [collectionParam, propertyKeysParam],
       'Vec<UpDataStructsPropertyKeyPermission>',
     ),
+
+    constMetadata: fun(
+      'Get token constant metadata', 
+      [collectionParam, tokenParam], 
+      'Vec<u8>',
+    ),
+    variableMetadata: fun(
+      'Get token variable metadata', 
+      [collectionParam, tokenParam], 
+      'Vec<u8>',
+    ),
+
     tokenData: fun(
-      'Get token data',
+      'Get token data, including properties, optionally limited to the provided keys, and total pieces for an RFT',
       [collectionParam, tokenParam, propertyKeysParam],
       'UpDataStructsTokenData',
     ),
-    tokenExists: fun('Check if token exists', [collectionParam, tokenParam], 'bool'),
-    collectionById: fun('Get collection by specified id', [collectionParam], 'Option<UpDataStructsRpcCollection>'),
-    collectionStats: fun('Get collection stats', [], 'UpDataStructsCollectionStats'),
-    allowed: fun('Check if user is allowed to use collection', [collectionParam, crossAccountParam()], 'bool'),
-    nextSponsored: fun('Get number of blocks when sponsored transaction is available', [collectionParam, crossAccountParam(), tokenParam], 'Option<u64>'),
-    effectiveCollectionLimits: fun('Get effective collection limits', [collectionParam], 'Option<UpDataStructsCollectionLimits>'),
-    totalPieces: fun('Get total pieces of token', [collectionParam, tokenParam], 'Option<u128>'),
+    totalSupply: fun(
+      'Get the amount of distinctive tokens present in a collection', 
+      [collectionParam], 
+      'u32',
+    ),
+
+    accountBalance: fun(
+      'Get the amount of any user tokens owned by an account', 
+      [collectionParam, crossAccountParam()], 
+      'u32',
+    ),
+    balance: fun(
+      'Get the amount of a specific token owned by an account', 
+      [collectionParam, crossAccountParam(), tokenParam], 
+      'u128',
+    ),
+    allowance: fun(
+      'Get the amount of currently possible sponsored transactions on a token for the fee to be taken off a sponsor', 
+      [collectionParam, crossAccountParam('sender'), crossAccountParam('spender'), tokenParam], 
+      'u128',
+    ),
+
+    adminlist: fun(
+      'Get the list of admin accounts of a collection', 
+      [collectionParam], 
+      'Vec<PalletEvmAccountBasicCrossAccountIdRepr>',
+    ),
+    allowlist: fun(
+      'Get the list of accounts allowed to operate within a collection', 
+      [collectionParam], 
+      'Vec<PalletEvmAccountBasicCrossAccountIdRepr>',
+    ),
+    allowed: fun(
+      'Check if a user is allowed to operate within a collection', 
+      [collectionParam, crossAccountParam()], 
+      'bool',
+    ),
+
+    lastTokenId: fun(
+      'Get the last token ID created in a collection', 
+      [collectionParam], 
+      'u32',
+    ),
+    collectionById: fun(
+      'Get a collection by the specified ID', 
+      [collectionParam], 
+      'Option<UpDataStructsRpcCollection>',
+    ),
+    collectionStats: fun(
+      'Get chain stats about collections', 
+      [], 
+      'UpDataStructsCollectionStats',
+    ),
+
+    nextSponsored: fun(
+      'Get the number of blocks until sponsoring a transaction is available', 
+      [collectionParam, crossAccountParam(), tokenParam], 
+      'Option<u64>',
+    ),
+    effectiveCollectionLimits: fun(
+      'Get effective collection limits', 
+      [collectionParam], 
+      'Option<UpDataStructsCollectionLimits>',
+    ),
+    totalPieces: fun(
+      'Get the total amount of pieces of an RFT', 
+      [collectionParam, tokenParam], 
+      'Option<u128>',
+    ),
   },
 };