git.delta.rocks / unique-network / refs/commits / 507b779dd4fb

difftreelog

Merge pull request #757 from UniqueNetwork/feature/collection-sponsoring-for-rft

Yaroslav Bolyukin2022-12-23parents: #246f27a #9b3f042.patch.diff
in: master

19 files changed

modifiedCargo.lockdiffbeforeafterboth
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -903,9 +903,9 @@
 
 [[package]]
 name = "clap"
-version = "4.0.30"
+version = "4.0.32"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "656ad1e55e23d287773f7d8192c300dc715c3eeded93b3da651d11c42cfd74d2"
+checksum = "a7db700bc935f9e43e88d00b0850dae18a63773cfbec6d8e070fccf7fef89a39"
 dependencies = [
  "bitflags",
  "clap_derive",
@@ -1300,7 +1300,7 @@
 [[package]]
 name = "cumulus-client-cli"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#a4e825c9500acab6cc3deccffea7b01350f12ed1"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0"
 dependencies = [
  "clap",
  "parity-scale-codec 3.2.1",
@@ -1315,7 +1315,7 @@
 [[package]]
 name = "cumulus-client-collator"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#a4e825c9500acab6cc3deccffea7b01350f12ed1"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0"
 dependencies = [
  "cumulus-client-consensus-common",
  "cumulus-client-network",
@@ -1338,7 +1338,7 @@
 [[package]]
 name = "cumulus-client-consensus-aura"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#a4e825c9500acab6cc3deccffea7b01350f12ed1"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0"
 dependencies = [
  "async-trait",
  "cumulus-client-consensus-common",
@@ -1367,7 +1367,7 @@
 [[package]]
 name = "cumulus-client-consensus-common"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#a4e825c9500acab6cc3deccffea7b01350f12ed1"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0"
 dependencies = [
  "async-trait",
  "cumulus-client-pov-recovery",
@@ -1390,7 +1390,7 @@
 [[package]]
 name = "cumulus-client-network"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#a4e825c9500acab6cc3deccffea7b01350f12ed1"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0"
 dependencies = [
  "async-trait",
  "cumulus-relay-chain-interface",
@@ -1413,7 +1413,7 @@
 [[package]]
 name = "cumulus-client-pov-recovery"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#a4e825c9500acab6cc3deccffea7b01350f12ed1"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0"
 dependencies = [
  "cumulus-primitives-core",
  "cumulus-relay-chain-interface",
@@ -1436,7 +1436,7 @@
 [[package]]
 name = "cumulus-client-service"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#a4e825c9500acab6cc3deccffea7b01350f12ed1"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0"
 dependencies = [
  "cumulus-client-cli",
  "cumulus-client-collator",
@@ -1464,7 +1464,7 @@
 [[package]]
 name = "cumulus-pallet-aura-ext"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#a4e825c9500acab6cc3deccffea7b01350f12ed1"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -1480,7 +1480,7 @@
 [[package]]
 name = "cumulus-pallet-dmp-queue"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#a4e825c9500acab6cc3deccffea7b01350f12ed1"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0"
 dependencies = [
  "cumulus-primitives-core",
  "frame-support",
@@ -1497,7 +1497,7 @@
 [[package]]
 name = "cumulus-pallet-parachain-system"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#a4e825c9500acab6cc3deccffea7b01350f12ed1"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0"
 dependencies = [
  "bytes",
  "cumulus-pallet-parachain-system-proc-macro",
@@ -1525,7 +1525,7 @@
 [[package]]
 name = "cumulus-pallet-parachain-system-proc-macro"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#a4e825c9500acab6cc3deccffea7b01350f12ed1"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0"
 dependencies = [
  "proc-macro-crate",
  "proc-macro2",
@@ -1536,7 +1536,7 @@
 [[package]]
 name = "cumulus-pallet-xcm"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#a4e825c9500acab6cc3deccffea7b01350f12ed1"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0"
 dependencies = [
  "cumulus-primitives-core",
  "frame-support",
@@ -1552,7 +1552,7 @@
 [[package]]
 name = "cumulus-pallet-xcmp-queue"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#a4e825c9500acab6cc3deccffea7b01350f12ed1"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0"
 dependencies = [
  "cumulus-primitives-core",
  "frame-support",
@@ -1570,7 +1570,7 @@
 [[package]]
 name = "cumulus-primitives-core"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#a4e825c9500acab6cc3deccffea7b01350f12ed1"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0"
 dependencies = [
  "parity-scale-codec 3.2.1",
  "polkadot-core-primitives",
@@ -1585,7 +1585,7 @@
 [[package]]
 name = "cumulus-primitives-parachain-inherent"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#a4e825c9500acab6cc3deccffea7b01350f12ed1"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0"
 dependencies = [
  "async-trait",
  "cumulus-primitives-core",
@@ -1608,7 +1608,7 @@
 [[package]]
 name = "cumulus-primitives-timestamp"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#a4e825c9500acab6cc3deccffea7b01350f12ed1"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0"
 dependencies = [
  "cumulus-primitives-core",
  "futures 0.3.25",
@@ -1621,7 +1621,7 @@
 [[package]]
 name = "cumulus-primitives-utility"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#a4e825c9500acab6cc3deccffea7b01350f12ed1"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0"
 dependencies = [
  "cumulus-primitives-core",
  "frame-support",
@@ -1637,7 +1637,7 @@
 [[package]]
 name = "cumulus-relay-chain-inprocess-interface"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#a4e825c9500acab6cc3deccffea7b01350f12ed1"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0"
 dependencies = [
  "async-trait",
  "cumulus-primitives-core",
@@ -1662,7 +1662,7 @@
 [[package]]
 name = "cumulus-relay-chain-interface"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#a4e825c9500acab6cc3deccffea7b01350f12ed1"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0"
 dependencies = [
  "async-trait",
  "cumulus-primitives-core",
@@ -1682,7 +1682,7 @@
 [[package]]
 name = "cumulus-relay-chain-minimal-node"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#a4e825c9500acab6cc3deccffea7b01350f12ed1"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0"
 dependencies = [
  "array-bytes 6.0.0",
  "async-trait",
@@ -1722,7 +1722,7 @@
 [[package]]
 name = "cumulus-relay-chain-rpc-interface"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#a4e825c9500acab6cc3deccffea7b01350f12ed1"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0"
 dependencies = [
  "async-trait",
  "cumulus-primitives-core",
@@ -1751,7 +1751,7 @@
 [[package]]
 name = "cumulus-test-relay-sproof-builder"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#a4e825c9500acab6cc3deccffea7b01350f12ed1"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0"
 dependencies = [
  "cumulus-primitives-core",
  "parity-scale-codec 3.2.1",
@@ -6982,7 +6982,7 @@
 [[package]]
 name = "parachain-info"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#a4e825c9500acab6cc3deccffea7b01350f12ed1"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.36#afe528af891f464b318293f183f6d3eefbc979b0"
 dependencies = [
  "cumulus-primitives-core",
  "frame-support",
modifiedpallets/common/src/eth.rsdiffbeforeafterboth
--- a/pallets/common/src/eth.rs
+++ b/pallets/common/src/eth.rs
@@ -125,7 +125,9 @@
 /// Ethereum representation of Optional value with CrossAddress.
 #[derive(Debug, Default, AbiCoder)]
 pub struct OptionCrossAddress {
+	/// Is address set
 	pub status: bool,
+	/// Address value
 	pub value: CrossAddress,
 }
 
modifiedpallets/evm-contract-helpers/src/eth.rsdiffbeforeafterboth
--- a/pallets/evm-contract-helpers/src/eth.rs
+++ b/pallets/evm-contract-helpers/src/eth.rs
@@ -23,7 +23,7 @@
 	execution::Result,
 	generate_stubgen, solidity_interface,
 	types::*,
-	ToLog, AbiCoder,
+	ToLog,
 };
 use pallet_common::eth;
 use pallet_evm::{
modifiedpallets/evm-contract-helpers/src/stubs/ContractHelpers.rawdiffbeforeafterboth

binary blob — no preview

modifiedpallets/evm-contract-helpers/src/stubs/ContractHelpers.soldiffbeforeafterboth
--- a/pallets/evm-contract-helpers/src/stubs/ContractHelpers.sol
+++ b/pallets/evm-contract-helpers/src/stubs/ContractHelpers.sol
@@ -283,6 +283,8 @@
 
 /// Ethereum representation of Optional value with CrossAddress.
 struct OptionCrossAddress {
+	/// TODO: field description
 	bool status;
+	/// TODO: field description
 	CrossAddress value;
 }
modifiedpallets/refungible/src/erc_token.rsdiffbeforeafterboth
--- a/pallets/refungible/src/erc_token.rs
+++ b/pallets/refungible/src/erc_token.rs
@@ -43,6 +43,9 @@
 	TotalSupply, weights::WeightInfo,
 };
 
+/// Refungible token handle contains information about token's collection and id
+///
+/// RefungibleTokenHandle doesn't check token's existance upon creation
 pub struct RefungibleTokenHandle<T: Config>(pub RefungibleHandle<T>, pub TokenId);
 
 #[solidity_interface(name = ERC1633)]
modifiedruntime/common/ethereum/sponsoring.rsdiffbeforeafterboth
--- a/runtime/common/ethereum/sponsoring.rs
+++ b/runtime/common/ethereum/sponsoring.rs
@@ -32,14 +32,22 @@
 	Config as FungibleConfig,
 	erc::{UniqueFungibleCall, ERC20Call},
 };
-use pallet_refungible::Config as RefungibleConfig;
+use pallet_refungible::{
+	Config as RefungibleConfig,
+	erc::UniqueRefungibleCall,
+	erc_token::{RefungibleTokenHandle, UniqueRefungibleTokenCall},
+	RefungibleHandle,
+};
 use pallet_unique::Config as UniqueConfig;
 use sp_std::prelude::*;
-use up_data_structs::{CollectionMode, CreateItemData, CreateNftData, TokenId};
+use up_data_structs::{
+	CollectionMode, CreateItemData, CreateNftData, mapping::TokenAddressMapping, TokenId,
+};
 use up_sponsorship::SponsorshipHandler;
-
 use crate::{Runtime, runtime_common::sponsoring::*};
 
+mod refungible;
+
 pub type EvmSponsorshipHandler = (
 	UniqueEthSponsorshipHandler<Runtime>,
 	pallet_evm_contract_helpers::HelpersContractSponsoring<Runtime>,
@@ -53,80 +61,163 @@
 		who: &T::CrossAccountId,
 		call_context: &CallContext,
 	) -> Option<T::CrossAccountId> {
-		let collection_id = map_eth_to_id(&call_context.contract_address)?;
-		let collection = <CollectionHandle<T>>::new(collection_id)?;
-		let sponsor = collection.sponsorship.sponsor()?.clone();
-		let (method_id, mut reader) = AbiReader::new_call(&call_context.input).ok()?;
-		Some(T::CrossAccountId::from_sub(match &collection.mode {
-			CollectionMode::NFT => {
-				let call = <UniqueNFTCall<T>>::parse(method_id, &mut reader).ok()??;
-				match call {
-					UniqueNFTCall::TokenProperties(TokenPropertiesCall::SetProperty {
-						token_id,
-						key,
-						value,
-						..
-					}) => {
-						let token_id: TokenId = token_id.try_into().ok()?;
-						withdraw_set_token_property::<T>(
+		if let Some(collection_id) = map_eth_to_id(&call_context.contract_address) {
+			let collection = <CollectionHandle<T>>::new(collection_id)?;
+			let sponsor = collection.sponsorship.sponsor()?.clone();
+			let (method_id, mut reader) = AbiReader::new_call(&call_context.input).ok()?;
+			Some(T::CrossAccountId::from_sub(match &collection.mode {
+				CollectionMode::NFT => {
+					let call = <UniqueNFTCall<T>>::parse(method_id, &mut reader).ok()??;
+					match call {
+						UniqueNFTCall::TokenProperties(TokenPropertiesCall::SetProperty {
+							token_id,
+							key,
+							value,
+							..
+						}) => {
+							let token_id: TokenId = token_id.try_into().ok()?;
+							withdraw_set_token_property::<T>(
+								&collection,
+								&who,
+								&token_id,
+								key.len() + value.len(),
+							)
+							.map(|()| sponsor)
+						}
+						UniqueNFTCall::ERC721UniqueExtensions(
+							ERC721UniqueExtensionsCall::Transfer { token_id, .. },
+						) => {
+							let token_id: TokenId = token_id.try_into().ok()?;
+							withdraw_transfer::<T>(&collection, &who, &token_id).map(|()| sponsor)
+						}
+						UniqueNFTCall::ERC721UniqueMintable(
+							ERC721UniqueMintableCall::Mint { .. }
+							| ERC721UniqueMintableCall::MintCheckId { .. }
+							| ERC721UniqueMintableCall::MintWithTokenUri { .. }
+							| ERC721UniqueMintableCall::MintWithTokenUriCheckId { .. },
+						) => withdraw_create_item::<T>(
 							&collection,
 							&who,
-							&token_id,
-							key.len() + value.len(),
+							&CreateItemData::NFT(CreateNftData::default()),
 						)
-						.map(|()| sponsor)
-					}
-					UniqueNFTCall::ERC721UniqueExtensions(
-						ERC721UniqueExtensionsCall::Transfer { token_id, .. },
-					) => {
-						let token_id: TokenId = token_id.try_into().ok()?;
-						withdraw_transfer::<T>(&collection, &who, &token_id).map(|()| sponsor)
+						.map(|()| sponsor),
+						UniqueNFTCall::ERC721(ERC721Call::TransferFrom {
+							token_id, from, ..
+						}) => {
+							let token_id: TokenId = token_id.try_into().ok()?;
+							let from = T::CrossAccountId::from_eth(from);
+							withdraw_transfer::<T>(&collection, &from, &token_id).map(|()| sponsor)
+						}
+						UniqueNFTCall::ERC721(ERC721Call::Approve { token_id, .. }) => {
+							let token_id: TokenId = token_id.try_into().ok()?;
+							withdraw_approve::<T>(&collection, who.as_sub(), &token_id)
+								.map(|()| sponsor)
+						}
+						_ => None,
 					}
-					UniqueNFTCall::ERC721UniqueMintable(
-						ERC721UniqueMintableCall::Mint { .. }
-						| ERC721UniqueMintableCall::MintCheckId { .. }
-						| ERC721UniqueMintableCall::MintWithTokenUri { .. }
-						| ERC721UniqueMintableCall::MintWithTokenUriCheckId { .. },
-					) => withdraw_create_item::<T>(
-						&collection,
-						&who,
-						&CreateItemData::NFT(CreateNftData::default()),
-					)
-					.map(|()| sponsor),
-					UniqueNFTCall::ERC721(ERC721Call::TransferFrom { token_id, from, .. }) => {
-						let token_id: TokenId = token_id.try_into().ok()?;
-						let from = T::CrossAccountId::from_eth(from);
-						withdraw_transfer::<T>(&collection, &from, &token_id).map(|()| sponsor)
-					}
-					UniqueNFTCall::ERC721(ERC721Call::Approve { token_id, .. }) => {
-						let token_id: TokenId = token_id.try_into().ok()?;
-						withdraw_approve::<T>(&collection, who.as_sub(), &token_id)
-							.map(|()| sponsor)
-					}
-					_ => None,
 				}
-			}
-			CollectionMode::Fungible(_) => {
-				let call = <UniqueFungibleCall<T>>::parse(method_id, &mut reader).ok()??;
-				#[allow(clippy::single_match)]
-				match call {
-					UniqueFungibleCall::ERC20(ERC20Call::Transfer { .. }) => {
-						withdraw_transfer::<T>(&collection, who, &TokenId::default())
-							.map(|()| sponsor)
-					}
-					UniqueFungibleCall::ERC20(ERC20Call::TransferFrom { from, .. }) => {
-						let from = T::CrossAccountId::from_eth(from);
-						withdraw_transfer::<T>(&collection, &from, &TokenId::default())
-							.map(|()| sponsor)
+				CollectionMode::ReFungible => {
+					let call = <UniqueRefungibleCall<T>>::parse(method_id, &mut reader).ok()??;
+					refungible::call_sponsor(call, collection, who).map(|()| sponsor)
+				}
+				CollectionMode::Fungible(_) => {
+					let call = <UniqueFungibleCall<T>>::parse(method_id, &mut reader).ok()??;
+					match call {
+						UniqueFungibleCall::ERC20(ERC20Call::Transfer { .. }) => {
+							withdraw_transfer::<T>(&collection, who, &TokenId::default())
+								.map(|()| sponsor)
+						}
+						UniqueFungibleCall::ERC20(ERC20Call::TransferFrom { from, .. }) => {
+							let from = T::CrossAccountId::from_eth(from);
+							withdraw_transfer::<T>(&collection, &from, &TokenId::default())
+								.map(|()| sponsor)
+						}
+						UniqueFungibleCall::ERC20(ERC20Call::Approve { .. }) => {
+							withdraw_approve::<T>(&collection, who.as_sub(), &TokenId::default())
+								.map(|()| sponsor)
+						}
+						_ => None,
 					}
-					UniqueFungibleCall::ERC20(ERC20Call::Approve { .. }) => {
-						withdraw_approve::<T>(&collection, who.as_sub(), &TokenId::default())
-							.map(|()| sponsor)
-					}
-					_ => None,
 				}
+			}?))
+		} else {
+			let (collection_id, token_id) =
+				T::EvmTokenAddressMapping::address_to_token(&call_context.contract_address)?;
+			let collection = <CollectionHandle<T>>::new(collection_id)?;
+			if collection.mode != CollectionMode::ReFungible {
+				return None;
 			}
-			_ => None,
-		}?))
+			let sponsor = collection.sponsorship.sponsor()?.clone();
+			let rft_collection = RefungibleHandle::cast(collection);
+			// Token existance isn't checked at this point and should be checked in `withdraw` method.
+			let token = RefungibleTokenHandle(rft_collection, token_id);
+
+			let (method_id, mut reader) = AbiReader::new_call(&call_context.input).ok()?;
+			let call = <UniqueRefungibleTokenCall<T>>::parse(method_id, &mut reader).ok()??;
+			Some(T::CrossAccountId::from_sub(
+				refungible::token_call_sponsor(call, token, who).map(|()| sponsor)?,
+			))
+		}
+	}
+}
+
+mod common {
+	use super::*;
+
+	use pallet_common::erc::{CollectionCall};
+
+	pub fn collection_call_sponsor<T>(
+		call: CollectionCall<T>,
+		_collection: CollectionHandle<T>,
+		_who: &T::CrossAccountId,
+	) -> Option<()>
+	where
+		T: UniqueConfig + FungibleConfig + NonfungibleConfig + RefungibleConfig,
+	{
+		use CollectionCall::*;
+
+		match call {
+			// Readonly
+			ERC165Call(_, _)
+			| CollectionProperty { .. }
+			| CollectionProperties { .. }
+			| HasCollectionPendingSponsor
+			| CollectionSponsor
+			| ContractAddress
+			| AllowlistedCross { .. }
+			| IsOwnerOrAdminEth { .. }
+			| IsOwnerOrAdminCross { .. }
+			| CollectionOwner
+			| CollectionAdmins
+			| CollectionLimits
+			| CollectionNestingRestrictedIds
+			| CollectionNestingPermissions
+			| UniqueCollectionType => None,
+
+			// Not sponsored
+			AddToCollectionAllowList { .. }
+			| AddToCollectionAllowListCross { .. }
+			| RemoveFromCollectionAllowList { .. }
+			| RemoveFromCollectionAllowListCross { .. }
+			| AddCollectionAdminCross { .. }
+			| RemoveCollectionAdminCross { .. }
+			| AddCollectionAdmin { .. }
+			| RemoveCollectionAdmin { .. }
+			| SetNestingBool { .. }
+			| SetNesting { .. }
+			| SetCollectionAccess { .. }
+			| SetCollectionMintMode { .. }
+			| SetOwner { .. }
+			| ChangeCollectionOwnerCross { .. }
+			| SetCollectionProperty { .. }
+			| SetCollectionProperties { .. }
+			| DeleteCollectionProperty { .. }
+			| DeleteCollectionProperties { .. }
+			| SetCollectionSponsor { .. }
+			| SetCollectionSponsorCross { .. }
+			| SetCollectionLimit { .. }
+			| ConfirmCollectionSponsorship
+			| RemoveCollectionSponsor => None,
+		}
 	}
 }
addedruntime/common/ethereum/sponsoring/refungible.rsdiffbeforeafterboth
--- /dev/null
+++ b/runtime/common/ethereum/sponsoring/refungible.rs
@@ -0,0 +1,381 @@
+// Copyright 2019-2022 Unique Network (Gibraltar) Ltd.
+// This file is part of Unique Network.
+
+// Unique Network is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+
+// Unique Network is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with Unique Network. If not, see <http://www.gnu.org/licenses/>.
+
+//! Implements EVM sponsoring logic via TransactionValidityHack
+
+use core::convert::TryInto;
+use pallet_common::CollectionHandle;
+use pallet_evm::account::CrossAccountId;
+use pallet_fungible::Config as FungibleConfig;
+use pallet_refungible::Config as RefungibleConfig;
+use pallet_nonfungible::Config as NonfungibleConfig;
+use pallet_unique::Config as UniqueConfig;
+use up_data_structs::{CreateItemData, CreateNftData, TokenId};
+
+use super::common;
+use crate::runtime_common::sponsoring::*;
+
+use pallet_refungible::{
+	erc::{
+		ERC721BurnableCall, ERC721Call, ERC721EnumerableCall, ERC721MetadataCall,
+		ERC721UniqueExtensionsCall, ERC721UniqueMintableCall, TokenPropertiesCall,
+		UniqueRefungibleCall,
+	},
+	erc_token::{
+		ERC1633Call, ERC20Call, ERC20UniqueExtensionsCall, RefungibleTokenHandle,
+		UniqueRefungibleTokenCall,
+	},
+};
+
+pub fn call_sponsor<T>(
+	call: UniqueRefungibleCall<T>,
+	collection: CollectionHandle<T>,
+	who: &T::CrossAccountId,
+) -> Option<()>
+where
+	T: UniqueConfig + FungibleConfig + NonfungibleConfig + RefungibleConfig,
+{
+	use UniqueRefungibleCall::*;
+
+	match call {
+		// Readonly
+		ERC165Call(_, _) => None,
+
+		ERC721Enumerable(call) => erc721::enumerable_call_sponsor(call, collection, who),
+		ERC721Burnable(call) => erc721::burnable_call_sponsor(call, collection, who),
+		ERC721Metadata(call) => erc721::metadata_call_sponsor(call, collection, who),
+		Collection(call) => common::collection_call_sponsor(call, collection, who),
+		ERC721(call) => erc721::call_sponsor(call, collection, who),
+		ERC721UniqueExtensions(call) => {
+			erc721::unique_extensions_call_sponsor(call, collection, who)
+		}
+		ERC721UniqueMintable(call) => erc721::unique_mintable_call_sponsor(call, collection, who),
+		TokenProperties(call) => token_properties_call_sponsor(call, collection, who),
+	}
+}
+
+pub fn token_properties_call_sponsor<T>(
+	call: TokenPropertiesCall<T>,
+	collection: CollectionHandle<T>,
+	who: &T::CrossAccountId,
+) -> Option<()>
+where
+	T: UniqueConfig + FungibleConfig + NonfungibleConfig + RefungibleConfig,
+{
+	use TokenPropertiesCall::*;
+
+	match call {
+		// Readonly
+		ERC165Call(_, _) | Property { .. } | TokenPropertyPermissions => None,
+
+		// Not sponsored
+		SetTokenPropertyPermission { .. }
+		| SetTokenPropertyPermissions { .. }
+		| SetProperties { .. }
+		| DeleteProperty { .. }
+		| DeleteProperties { .. } => None,
+
+		SetProperty {
+			token_id,
+			key,
+			value,
+			..
+		} => {
+			let token_id = TokenId::try_from(token_id).ok()?;
+			withdraw_set_token_property::<T>(&collection, &who, &token_id, key.len() + value.len())
+		}
+	}
+}
+
+pub fn token_call_sponsor<T>(
+	call: UniqueRefungibleTokenCall<T>,
+	token: RefungibleTokenHandle<T>,
+	who: &T::CrossAccountId,
+) -> Option<()>
+where
+	T: UniqueConfig + FungibleConfig + NonfungibleConfig + RefungibleConfig,
+{
+	use UniqueRefungibleTokenCall::*;
+
+	match call {
+		// Readonly
+		ERC165Call(_, _) => None,
+
+		ERC20(call) => erc20::call_sponsor(call, token, who),
+		ERC20UniqueExtensions(call) => erc20::unique_extensions_call_sponsor(call, token, who),
+		ERC1633(call) => erc1633::call_sponsor(call, token, who),
+	}
+}
+
+mod erc721 {
+	use super::*;
+
+	pub fn call_sponsor<T>(
+		call: ERC721Call<T>,
+		collection: CollectionHandle<T>,
+		_who: &T::CrossAccountId,
+	) -> Option<()>
+	where
+		T: UniqueConfig + FungibleConfig + NonfungibleConfig + RefungibleConfig,
+	{
+		use ERC721Call::*;
+
+		match call {
+			// Readonly
+			ERC165Call(_, _)
+			| BalanceOf { .. }
+			| OwnerOf { .. }
+			| GetApproved { .. }
+			| IsApprovedForAll { .. }
+			| CollectionHelperAddress => None,
+
+			// Not sponsored
+			SafeTransferFromWithData { .. }
+			| SafeTransferFrom { .. }
+			| SetApprovalForAll { .. } => None,
+
+			TransferFrom { token_id, from, .. } => {
+				let token_id = TokenId::try_from(token_id).ok()?;
+				let from = T::CrossAccountId::from_eth(from);
+				withdraw_transfer::<T>(&collection, &from, &token_id)
+			}
+
+			// Not supported
+			Approve { .. } => None,
+		}
+	}
+
+	pub fn enumerable_call_sponsor<T>(
+		call: ERC721EnumerableCall<T>,
+		_collection: CollectionHandle<T>,
+		_who: &T::CrossAccountId,
+	) -> Option<()>
+	where
+		T: UniqueConfig + FungibleConfig + NonfungibleConfig + RefungibleConfig,
+	{
+		use ERC721EnumerableCall::*;
+
+		match call {
+			// Readonly
+			ERC165Call(_, _) | TokenByIndex { .. } | TokenOfOwnerByIndex { .. } | TotalSupply => {
+				None
+			}
+		}
+	}
+
+	pub fn burnable_call_sponsor<T>(
+		call: ERC721BurnableCall<T>,
+		_collection: CollectionHandle<T>,
+		_who: &T::CrossAccountId,
+	) -> Option<()>
+	where
+		T: UniqueConfig + FungibleConfig + NonfungibleConfig + RefungibleConfig,
+	{
+		use ERC721BurnableCall::*;
+
+		match call {
+			// Readonly
+			ERC165Call(_, _) => None,
+
+			// Not sponsored
+			Burn { .. } => None,
+		}
+	}
+
+	pub fn metadata_call_sponsor<T>(
+		call: ERC721MetadataCall<T>,
+		_collection: CollectionHandle<T>,
+		_who: &T::CrossAccountId,
+	) -> Option<()>
+	where
+		T: UniqueConfig + FungibleConfig + NonfungibleConfig + RefungibleConfig,
+	{
+		use ERC721MetadataCall::*;
+
+		match call {
+			// Readonly
+			ERC165Call(_, _) | NameProxy | SymbolProxy | TokenUri { .. } => None,
+		}
+	}
+
+	pub fn unique_extensions_call_sponsor<T>(
+		call: ERC721UniqueExtensionsCall<T>,
+		collection: CollectionHandle<T>,
+		who: &T::CrossAccountId,
+	) -> Option<()>
+	where
+		T: UniqueConfig + FungibleConfig + NonfungibleConfig + RefungibleConfig,
+	{
+		use ERC721UniqueExtensionsCall::*;
+
+		match call {
+			// Readonly
+			ERC165Call(_, _)
+			| Name
+			| Symbol
+			| Description
+			| CrossOwnerOf { .. }
+			| Properties { .. }
+			| NextTokenId
+			| TokenContractAddress { .. } => None,
+
+			// Not sponsored
+			BurnFrom { .. }
+			| BurnFromCross { .. }
+			| MintBulk { .. }
+			| MintBulkWithTokenUri { .. } => None,
+
+			MintCross { .. } => withdraw_create_item::<T>(
+				&collection,
+				&who,
+				&CreateItemData::NFT(CreateNftData::default()),
+			),
+
+			TransferCross { token_id, .. }
+			| TransferFromCross { token_id, .. }
+			| Transfer { token_id, .. } => {
+				let token_id = TokenId::try_from(token_id).ok()?;
+				withdraw_transfer::<T>(&collection, &who, &token_id)
+			}
+		}
+	}
+
+	pub fn unique_mintable_call_sponsor<T>(
+		call: ERC721UniqueMintableCall<T>,
+		collection: CollectionHandle<T>,
+		who: &T::CrossAccountId,
+	) -> Option<()>
+	where
+		T: UniqueConfig + FungibleConfig + NonfungibleConfig + RefungibleConfig,
+	{
+		use ERC721UniqueMintableCall::*;
+
+		match call {
+			// Readonly
+			ERC165Call(_, _) | MintingFinished => None,
+
+			// Not sponsored
+			FinishMinting => None,
+
+			Mint { .. }
+			| MintCheckId { .. }
+			| MintWithTokenUri { .. }
+			| MintWithTokenUriCheckId { .. } => withdraw_create_item::<T>(
+				&collection,
+				&who,
+				&CreateItemData::NFT(CreateNftData::default()),
+			),
+		}
+	}
+}
+
+/// Module for methods of refungible token
+///
+/// Existance of token should be checked before searching for sponsor
+/// because RefungibleTokenHandle doesn't check token's existence upon creation
+mod erc20 {
+	use super::*;
+
+	pub fn call_sponsor<T>(
+		call: ERC20Call<T>,
+		token: RefungibleTokenHandle<T>,
+		who: &T::CrossAccountId,
+	) -> Option<()>
+	where
+		T: UniqueConfig + FungibleConfig + NonfungibleConfig + RefungibleConfig,
+	{
+		use ERC20Call::*;
+
+		match call {
+			// Readonly
+			ERC165Call(_, _)
+			| Name
+			| Symbol
+			| TotalSupply
+			| Decimals
+			| BalanceOf { .. }
+			| Allowance { .. } => None,
+
+			Transfer { .. } => {
+				let RefungibleTokenHandle(handle, token_id) = token;
+				let token_id = token_id.try_into().ok()?;
+				withdraw_transfer::<T>(&handle, &who, &token_id)
+			}
+			TransferFrom { from, .. } => {
+				let RefungibleTokenHandle(handle, token_id) = token;
+				let token_id = token_id.try_into().ok()?;
+				let from = T::CrossAccountId::from_eth(from);
+				withdraw_transfer::<T>(&handle, &from, &token_id)
+			}
+			Approve { .. } => {
+				let RefungibleTokenHandle(handle, token_id) = token;
+				let token_id = token_id.try_into().ok()?;
+				withdraw_approve::<T>(&handle, who.as_sub(), &token_id)
+			}
+		}
+	}
+
+	pub fn unique_extensions_call_sponsor<T>(
+		call: ERC20UniqueExtensionsCall<T>,
+		token: RefungibleTokenHandle<T>,
+		who: &T::CrossAccountId,
+	) -> Option<()>
+	where
+		T: UniqueConfig + FungibleConfig + NonfungibleConfig + RefungibleConfig,
+	{
+		use ERC20UniqueExtensionsCall::*;
+
+		match call {
+			// Readonly
+			ERC165Call(_, _) => None,
+
+			// Not sponsored
+			BurnFrom { .. } | BurnFromCross { .. } | Repartition { .. } => None,
+
+			TransferCross { .. } | TransferFromCross { .. } => {
+				let RefungibleTokenHandle(handle, token_id) = token;
+				let token_id = token_id.try_into().ok()?;
+				withdraw_transfer::<T>(&handle, &who, &token_id)
+			}
+
+			ApproveCross { .. } => {
+				let RefungibleTokenHandle(handle, token_id) = token;
+				let token_id = token_id.try_into().ok()?;
+				withdraw_approve::<T>(&handle, who.as_sub(), &token_id)
+			}
+		}
+	}
+}
+
+mod erc1633 {
+	use super::*;
+
+	pub fn call_sponsor<T>(
+		call: ERC1633Call<T>,
+		_token: RefungibleTokenHandle<T>,
+		_who: &T::CrossAccountId,
+	) -> Option<()>
+	where
+		T: UniqueConfig + FungibleConfig + NonfungibleConfig + RefungibleConfig,
+	{
+		use ERC1633Call::*;
+
+		match call {
+			// Readonly
+			ERC165Call(_, _) | ParentToken | ParentTokenId => None,
+		}
+	}
+}
modifiedtests/src/eth/abi/reFungibleDeprecated.jsondiffbeforeafterboth
--- a/tests/src/eth/abi/reFungibleDeprecated.json
+++ b/tests/src/eth/abi/reFungibleDeprecated.json
@@ -98,5 +98,33 @@
     "outputs": [],
     "stateMutability": "nonpayable",
     "type": "function"
+  },
+  {
+    "inputs": [
+      { "internalType": "address", "name": "to", "type": "address" },
+      { "internalType": "uint256[]", "name": "tokenIds", "type": "uint256[]" }
+    ],
+    "name": "mintBulk",
+    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],
+    "stateMutability": "nonpayable",
+    "type": "function"
+  },
+  {
+    "inputs": [
+      { "internalType": "address", "name": "to", "type": "address" },
+      {
+        "components": [
+          { "internalType": "uint256", "name": "field_0", "type": "uint256" },
+          { "internalType": "string", "name": "field_1", "type": "string" }
+        ],
+        "internalType": "struct Tuple0[]",
+        "name": "tokens",
+        "type": "tuple[]"
+      }
+    ],
+    "name": "mintBulkWithTokenURI",
+    "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],
+    "stateMutability": "nonpayable",
+    "type": "function"
   }
 ]
modifiedtests/src/eth/api/ContractHelpers.soldiffbeforeafterboth
--- a/tests/src/eth/api/ContractHelpers.sol
+++ b/tests/src/eth/api/ContractHelpers.sol
@@ -183,7 +183,9 @@
 
 /// Ethereum representation of Optional value with CrossAddress.
 struct OptionCrossAddress {
+	/// TODO: field description
 	bool status;
+	/// TODO: field description
 	CrossAddress value;
 }
 
modifiedtests/src/eth/collectionSponsoring.test.tsdiffbeforeafterboth
--- a/tests/src/eth/collectionSponsoring.test.ts
+++ b/tests/src/eth/collectionSponsoring.test.ts
@@ -15,10 +15,10 @@
 // along with Unique Network. If not, see <http://www.gnu.org/licenses/>.
 
 import {IKeyringPair} from '@polkadot/types/types';
-import {usingPlaygrounds} from '../util/index';
+import {Pallets, requirePalletsOrSkip, usingPlaygrounds} from '../util/index';
 import {itEth, expect} from './util';
 
-describe('evm collection sponsoring', () => {
+describe('evm nft collection sponsoring', () => {
   let donor: IKeyringPair;
   let alice: IKeyringPair;
   let nominal: bigint;
@@ -101,14 +101,14 @@
       expect(await collectionEvm.methods.hasCollectionPendingSponsor().call({from: owner})).to.be.true;
 
       await collectionEvm.methods.confirmCollectionSponsorship().send({from: sponsor});
-      let sponsorTuple = await collectionEvm.methods.collectionSponsor().call({from: owner});
-      expect(helper.address.restoreCrossAccountFromBigInt(BigInt(sponsorTuple.sub))).to.be.eq(helper.address.ethToSubstrate(sponsor, true));
+      let sponsorStruct = await collectionEvm.methods.collectionSponsor().call({from: owner});
+      expect(helper.address.restoreCrossAccountFromBigInt(BigInt(sponsorStruct.sub))).to.be.eq(helper.address.ethToSubstrate(sponsor, true));
       expect(await collectionEvm.methods.hasCollectionPendingSponsor().call({from: owner})).to.be.false;
 
       await collectionEvm.methods.removeCollectionSponsor().send({from: owner});
 
-      sponsorTuple = await collectionEvm.methods.collectionSponsor().call({from: owner});
-      expect(sponsorTuple.eth).to.be.eq('0x0000000000000000000000000000000000000000');
+      sponsorStruct = await collectionEvm.methods.collectionSponsor().call({from: owner});
+      expect(sponsorStruct.eth).to.be.eq('0x0000000000000000000000000000000000000000');
     }));
 
   [
@@ -144,7 +144,7 @@
       expect(nextTokenId).to.be.equal('1');
 
       // Set collection permissions:
-      const oldPermissions = (await collectionSub.getData())!.raw.permissions; // (await getDetailedCollectionInfo(api, collectionId))!.permissions.toHuman();
+      const oldPermissions = (await collectionSub.getData())!.raw.permissions;
       expect(oldPermissions.mintMode).to.be.false;
       expect(oldPermissions.access).to.be.equal('Normal');
 
@@ -152,12 +152,13 @@
       await collectionEvm.methods.addToCollectionAllowListCross(userCross).send({from: owner});
       await collectionEvm.methods.setCollectionMintMode(true).send({from: owner});
 
-      const newPermissions = (await collectionSub.getData())!.raw.permissions; // (await getDetailedCollectionInfo(api, collectionId))!.permissions.toHuman();
+      const newPermissions = (await collectionSub.getData())!.raw.permissions;
       expect(newPermissions.mintMode).to.be.true;
       expect(newPermissions.access).to.be.equal('AllowList');
 
       const ownerBalanceBefore = await helper.balance.getSubstrate(helper.address.ethToSubstrate(owner));
       const sponsorBalanceBefore = await helper.balance.getSubstrate(helper.address.ethToSubstrate(sponsorEth));
+      const userBalanceBefore =  await helper.balance.getSubstrate(helper.address.ethToSubstrate(user));
 
       // User can mint token without balance:
       {
@@ -181,7 +182,7 @@
 
         expect(await collectionEvm.methods.tokenURI(nextTokenId).call()).to.be.equal('Test URI');
         expect(ownerBalanceBefore).to.be.eq(ownerBalanceAfter);
-        expect(userBalanceAfter).to.be.eq(0n);
+        expect(userBalanceAfter).to.be.eq(userBalanceBefore);
         expect(sponsorBalanceBefore > sponsorBalanceAfter).to.be.true;
       }
     }));
@@ -317,3 +318,531 @@
     expect(collectionSponsor).to.deep.eq({Unconfirmed: sponsorSub.address});
   });
 });
+
+describe('evm RFT collection sponsoring', () => {
+  let donor: IKeyringPair;
+  let alice: IKeyringPair;
+  let nominal: bigint;
+
+  before(async function() {
+    await usingPlaygrounds(async (helper, privateKey) => {
+      requirePalletsOrSkip(this, helper, [Pallets.ReFungible]);
+      donor = await privateKey({filename: __filename});
+      [alice] = await helper.arrange.createAccounts([100n], donor);
+      nominal = helper.balance.getOneTokenNominal();
+    });
+  });
+
+  [
+    'mintCross',
+    'mintWithTokenURI',
+  ].map(testCase =>
+    itEth(`[${testCase}] sponsors mint transactions`, async ({helper}) => {
+      const collection = await helper.rft.mintCollection(alice, {tokenPrefix: 'spnr', permissions: {mintMode: true}, tokenPropertyPermissions: [
+        {key: 'URI', permission: {tokenOwner: true, mutable: true, collectionAdmin: true}},
+      ]});
+
+      const owner = await helper.eth.createAccountWithBalance(donor);
+      await collection.setSponsor(alice, alice.address);
+      await collection.confirmSponsorship(alice);
+
+      const minter = helper.eth.createAccount();
+      const minterCross = helper.ethCrossAccount.fromAddress(minter);
+      expect(await helper.balance.getEthereum(minter)).to.equal(0n);
+
+      const collectionAddress = helper.ethAddress.fromCollectionId(collection.collectionId);
+      const contract = await helper.ethNativeContract.collection(collectionAddress, 'rft', minter, true);
+
+      await collection.addToAllowList(alice, {Ethereum: minter});
+      await collection.addAdmin(alice, {Ethereum: owner});
+      const collectionHelpers = await helper.ethNativeContract.collectionHelpers(owner);
+      await collectionHelpers.methods.makeCollectionERC721MetadataCompatible(collectionAddress, 'base/')
+        .send();
+
+      let mintingResult;
+      let tokenId;
+      switch (testCase) {
+        case 'mintCross':
+          mintingResult = await contract.methods.mintCross(minterCross, []).send();
+          break;
+        case 'mintWithTokenURI':
+          mintingResult = await contract.methods.mintWithTokenURI(minter, 'Test URI').send();
+          tokenId = mintingResult.events.Transfer.returnValues.tokenId;
+          expect(await contract.methods.tokenURI(tokenId).call()).to.be.equal('Test URI');
+          break;
+      }
+
+      const events = helper.eth.normalizeEvents(mintingResult.events);
+      expect(events).to.deep.include({
+        address: collectionAddress,
+        event: 'Transfer',
+        args: {
+          from: '0x0000000000000000000000000000000000000000',
+          to: minter,
+          tokenId: '1',
+        },
+      });
+    }));
+
+  [
+    'setCollectionSponsorCross',
+    'setCollectionSponsor', // Soft-deprecated
+  ].map(testCase =>
+    itEth(`[${testCase}] can remove collection sponsor`, async ({helper}) => {
+      const owner = await helper.eth.createAccountWithBalance(donor);
+      const collectionHelpers = await helper.ethNativeContract.collectionHelpers(owner);
+
+      let result = await collectionHelpers.methods.createRFTCollection('Sponsor collection', '1', '1').send({value: Number(2n * nominal)});
+      const collectionIdAddress = helper.ethAddress.normalizeAddress(result.events.CollectionCreated.returnValues.collectionId);
+      const sponsor = await helper.eth.createAccountWithBalance(donor);
+      const sponsorCross = helper.ethCrossAccount.fromAddress(sponsor);
+      const collectionEvm = await helper.ethNativeContract.collection(collectionIdAddress, 'rft', owner, testCase === 'setCollectionSponsor');
+
+      expect(await collectionEvm.methods.hasCollectionPendingSponsor().call({from: owner})).to.be.false;
+      result = await collectionEvm.methods[testCase](testCase === 'setCollectionSponsor' ? sponsor : sponsorCross).send({from: owner});
+      expect(await collectionEvm.methods.hasCollectionPendingSponsor().call({from: owner})).to.be.true;
+
+      await collectionEvm.methods.confirmCollectionSponsorship().send({from: sponsor});
+      expect(await collectionEvm.methods.hasCollectionPendingSponsor().call({from: owner})).to.be.false;
+
+      await collectionEvm.methods.removeCollectionSponsor().send({from: owner});
+
+      const sponsorStruct = await collectionEvm.methods.collectionSponsor().call({from: owner});
+      expect(sponsorStruct.eth).to.be.eq('0x0000000000000000000000000000000000000000');
+    }));
+
+  [
+    'setCollectionSponsorCross',
+    'setCollectionSponsor', // Soft-deprecated
+  ].map(testCase =>
+    itEth(`[${testCase}] Can sponsor from evm address via access list`, async ({helper}) => {
+      const owner = await helper.eth.createAccountWithBalance(donor);
+      const sponsorEth = await helper.eth.createAccountWithBalance(donor);
+      const sponsorCrossEth = helper.ethCrossAccount.fromAddress(sponsorEth);
+
+      const {collectionId, collectionAddress} = await helper.eth.createERC721MetadataCompatibleRFTCollection(owner, 'Sponsor collection', '1', '1', '');
+
+      const collectionSub = helper.rft.getCollectionObject(collectionId);
+      const collectionEvm = await helper.ethNativeContract.collection(collectionAddress, 'rft', owner, testCase === 'setCollectionSponsor');
+
+      // Set collection sponsor:
+      await collectionEvm.methods[testCase](testCase === 'setCollectionSponsor' ? sponsorEth : sponsorCrossEth).send({from: owner});
+      let sponsorship = (await collectionSub.getData())!.raw.sponsorship;
+      expect(sponsorship.Unconfirmed).to.be.eq(helper.address.ethToSubstrate(sponsorEth, true));
+      // Account cannot confirm sponsorship if it is not set as a sponsor
+      await expect(collectionEvm.methods.confirmCollectionSponsorship().call()).to.be.rejectedWith('ConfirmSponsorshipFail');
+
+      // Sponsor can confirm sponsorship:
+      await collectionEvm.methods.confirmCollectionSponsorship().send({from: sponsorEth});
+      sponsorship = (await collectionSub.getData())!.raw.sponsorship;
+      expect(sponsorship.Confirmed).to.be.eq(helper.address.ethToSubstrate(sponsorEth, true));
+
+      // Create user with no balance:
+      const user = helper.eth.createAccount();
+      const userCross = helper.ethCrossAccount.fromAddress(user);
+      const nextTokenId = await collectionEvm.methods.nextTokenId().call();
+      expect(nextTokenId).to.be.equal('1');
+
+      // Set collection permissions:
+      const oldPermissions = (await collectionSub.getData())!.raw.permissions;
+      expect(oldPermissions.mintMode).to.be.false;
+      expect(oldPermissions.access).to.be.equal('Normal');
+
+      await collectionEvm.methods.setCollectionAccess(1 /*'AllowList'*/).send({from: owner});
+      await collectionEvm.methods.addToCollectionAllowListCross(userCross).send({from: owner});
+      await collectionEvm.methods.setCollectionMintMode(true).send({from: owner});
+
+      const newPermissions = (await collectionSub.getData())!.raw.permissions;
+      expect(newPermissions.mintMode).to.be.true;
+      expect(newPermissions.access).to.be.equal('AllowList');
+
+      const ownerBalanceBefore = await helper.balance.getSubstrate(helper.address.ethToSubstrate(owner));
+      const sponsorBalanceBefore = await helper.balance.getSubstrate(helper.address.ethToSubstrate(sponsorEth));
+      const userBalanceBefore =  await helper.balance.getSubstrate(helper.address.ethToSubstrate(user));
+
+      // User can mint token without balance:
+      {
+        const result = await collectionEvm.methods.mintWithTokenURI(user, 'Test URI').send({from: user});
+        const events = helper.eth.normalizeEvents(result.events);
+
+        expect(events).to.deep.include({
+          address: collectionAddress,
+          event: 'Transfer',
+          args: {
+            from: '0x0000000000000000000000000000000000000000',
+            to: user,
+            tokenId: '1',
+          },
+        });
+
+        const ownerBalanceAfter = await helper.balance.getSubstrate(helper.address.ethToSubstrate(owner));
+        const sponsorBalanceAfter = await helper.balance.getSubstrate(helper.address.ethToSubstrate(sponsorEth));
+        const userBalanceAfter =  await helper.balance.getSubstrate(helper.address.ethToSubstrate(user));
+
+        expect(await collectionEvm.methods.tokenURI(nextTokenId).call()).to.be.equal('Test URI');
+        expect(ownerBalanceBefore).to.be.eq(ownerBalanceAfter);
+        expect(userBalanceAfter).to.be.eq(userBalanceBefore);
+        expect(sponsorBalanceBefore > sponsorBalanceAfter).to.be.true;
+      }
+    }));
+
+  [
+    'setCollectionSponsorCross',
+    'setCollectionSponsor', // Soft-deprecated
+  ].map(testCase =>
+    itEth(`[${testCase}] Check that collection admin EVM transaction spend money from sponsor eth address`, async ({helper}) => {
+      const owner = await helper.eth.createAccountWithBalance(donor);
+      const sponsor = await helper.eth.createAccountWithBalance(donor);
+      const sponsorCross = helper.ethCrossAccount.fromAddress(sponsor);
+
+      const {collectionAddress, collectionId} = await helper.eth.createERC721MetadataCompatibleRFTCollection(owner,'Sponsor collection', '1', '1', '');
+
+      const collectionSub = helper.rft.getCollectionObject(collectionId);
+      const collectionEvm = await helper.ethNativeContract.collection(collectionAddress, 'rft', owner, testCase === 'setCollectionSponsor');
+      // Set collection sponsor:
+      expect(await collectionEvm.methods.hasCollectionPendingSponsor().call()).to.be.false;
+      await collectionEvm.methods[testCase](testCase === 'setCollectionSponsor' ? sponsor : sponsorCross).send();
+      expect(await collectionEvm.methods.hasCollectionPendingSponsor().call()).to.be.true;
+      let collectionData = (await collectionSub.getData())!;
+      expect(collectionData.raw.sponsorship.Unconfirmed).to.be.eq(helper.address.ethToSubstrate(sponsor, true));
+      await expect(collectionEvm.methods.confirmCollectionSponsorship().call()).to.be.rejectedWith('ConfirmSponsorshipFail');
+      expect(await collectionEvm.methods.hasCollectionPendingSponsor().call()).to.be.true;
+
+      await collectionEvm.methods.confirmCollectionSponsorship().send({from: sponsor});
+      collectionData = (await collectionSub.getData())!;
+      expect(collectionData.raw.sponsorship.Confirmed).to.be.eq(helper.address.ethToSubstrate(sponsor, true));
+      expect(await collectionEvm.methods.hasCollectionPendingSponsor().call()).to.be.false;
+      const sponsorStruct = await collectionEvm.methods.collectionSponsor().call({from: owner});
+      const sponsorSubAddress = helper.address.normalizeSubstrateToChainFormat(helper.address.ethToSubstrate(sponsor));
+      const actualSubAddress = helper.address.normalizeSubstrateToChainFormat(helper.address.restoreCrossAccountFromBigInt(BigInt(sponsorStruct.sub)));
+      expect(actualSubAddress).to.be.equal(sponsorSubAddress);
+
+      const user = helper.eth.createAccount();
+      const userCross = helper.ethCrossAccount.fromAddress(user);
+      await collectionEvm.methods.addCollectionAdminCross(userCross).send();
+
+      const ownerBalanceBefore = await helper.balance.getSubstrate(helper.address.ethToSubstrate(owner));
+      const sponsorBalanceBefore = await helper.balance.getSubstrate(helper.address.ethToSubstrate(sponsor));
+
+      const mintingResult = await collectionEvm.methods.mintWithTokenURI(user, 'Test URI').send({from: user});
+      const tokenId = mintingResult.events.Transfer.returnValues.tokenId;
+
+      const events = helper.eth.normalizeEvents(mintingResult.events);
+      const address = helper.ethAddress.fromCollectionId(collectionId);
+
+      expect(events).to.deep.include({
+        address,
+        event: 'Transfer',
+        args: {
+          from: '0x0000000000000000000000000000000000000000',
+          to: user,
+          tokenId: '1',
+        },
+      });
+      expect(await collectionEvm.methods.tokenURI(tokenId).call({from: user})).to.be.equal('Test URI');
+
+      const ownerBalanceAfter = await helper.balance.getSubstrate(helper.address.ethToSubstrate(owner));
+      expect(ownerBalanceAfter).to.be.eq(ownerBalanceBefore);
+      const sponsorBalanceAfter = await helper.balance.getSubstrate(helper.address.ethToSubstrate(sponsor));
+      expect(sponsorBalanceAfter < sponsorBalanceBefore).to.be.true;
+    }));
+
+  itEth('Check that collection admin EVM transaction spend money from sponsor sub address', async ({helper}) => {
+    const owner = await helper.eth.createAccountWithBalance(donor);
+    const sponsor = alice;
+    const sponsorCross = helper.ethCrossAccount.fromKeyringPair(sponsor);
+
+    const {collectionAddress, collectionId} = await helper.eth.createERC721MetadataCompatibleRFTCollection(owner,'Sponsor collection', '1', '1', '');
+
+    const collectionSub = helper.rft.getCollectionObject(collectionId);
+    const collectionEvm = await helper.ethNativeContract.collection(collectionAddress, 'rft', owner, false);
+    // Set collection sponsor:
+    expect(await collectionEvm.methods.hasCollectionPendingSponsor().call()).to.be.false;
+    await collectionEvm.methods.setCollectionSponsorCross(sponsorCross).send();
+    expect(await collectionEvm.methods.hasCollectionPendingSponsor().call()).to.be.true;
+    let collectionData = (await collectionSub.getData())!;
+    expect(collectionData.raw.sponsorship.Unconfirmed).to.be.eq(sponsor.address);
+    await expect(collectionEvm.methods.confirmCollectionSponsorship().call()).to.be.rejectedWith('ConfirmSponsorshipFail');
+
+    await collectionSub.confirmSponsorship(sponsor);
+    collectionData = (await collectionSub.getData())!;
+    expect(collectionData.raw.sponsorship.Confirmed).to.be.eq(sponsor.address);
+    expect(await collectionEvm.methods.hasCollectionPendingSponsor().call()).to.be.false;
+    const sponsorStruct = await collectionEvm.methods.collectionSponsor().call({from: owner});
+    expect(BigInt(sponsorStruct.sub)).to.be.equal(BigInt('0x' + Buffer.from(sponsor.addressRaw).toString('hex')));
+
+    const user = helper.eth.createAccount();
+    const userCross = helper.ethCrossAccount.fromAddress(user);
+    await collectionEvm.methods.addCollectionAdminCross(userCross).send();
+
+    const ownerBalanceBefore = await helper.balance.getSubstrate(helper.address.ethToSubstrate(owner));
+    const sponsorBalanceBefore = await helper.balance.getSubstrate(sponsor.address);
+
+    const mintingResult = await collectionEvm.methods.mintWithTokenURI(user, 'Test URI').send({from: user});
+    const tokenId = mintingResult.events.Transfer.returnValues.tokenId;
+
+    const events = helper.eth.normalizeEvents(mintingResult.events);
+
+    expect(events).to.deep.include({
+      address: collectionAddress,
+      event: 'Transfer',
+      args: {
+        from: '0x0000000000000000000000000000000000000000',
+        to: user,
+        tokenId: '1',
+      },
+    });
+    expect(await collectionEvm.methods.tokenURI(tokenId).call({from: user})).to.be.equal('Test URI');
+
+    const ownerBalanceAfter = await helper.balance.getSubstrate(helper.address.ethToSubstrate(owner));
+    expect(ownerBalanceAfter).to.be.eq(ownerBalanceBefore);
+    const sponsorBalanceAfter = await helper.balance.getSubstrate(sponsor.address);
+    expect(sponsorBalanceAfter < sponsorBalanceBefore).to.be.true;
+  });
+
+  itEth('Sponsoring collection from substrate address via access list', async ({helper}) => {
+    const owner = await helper.eth.createAccountWithBalance(donor);
+    const user = helper.eth.createAccount();
+    const userCross =  helper.ethCrossAccount.fromAddress(user);
+    const sponsor = alice;
+    const sponsorCross = helper.ethCrossAccount.fromKeyringPair(sponsor);
+
+    const {collectionAddress, collectionId} = await helper.eth.createERC721MetadataCompatibleRFTCollection(owner,'Sponsor collection', '1', '1', '');
+    const collectionEvm = await helper.ethNativeContract.collection(collectionAddress, 'rft', owner, false);
+
+    await collectionEvm.methods.setCollectionSponsorCross(sponsorCross).send({from: owner});
+
+    const collectionSub = helper.rft.getCollectionObject(collectionId);
+    await collectionSub.confirmSponsorship(sponsor);
+
+    const nextTokenId = await collectionEvm.methods.nextTokenId().call();
+    expect(nextTokenId).to.be.equal('1');
+
+    await collectionEvm.methods.setCollectionAccess(1 /*'AllowList'*/).send({from: owner});
+
+    await collectionEvm.methods.addToCollectionAllowListCross(userCross).send({from: owner});
+    await collectionEvm.methods.setCollectionMintMode(true).send({from: owner});
+
+    const ownerBalanceBefore = await helper.balance.getSubstrate(helper.address.ethToSubstrate(owner));
+    const sponsorBalanceBefore = await helper.balance.getSubstrate(sponsor.address);
+    const userBalanceBefore =  await helper.balance.getSubstrate(helper.address.ethToSubstrate(user));
+
+    {
+      const nextTokenId = await collectionEvm.methods.nextTokenId().call();
+      expect(nextTokenId).to.be.equal('1');
+      const mintingResult = await collectionEvm.methods.mintWithTokenURI(
+        user,
+        'Test URI',
+      ).send({from: user});
+
+      const events = helper.eth.normalizeEvents(mintingResult.events);
+
+
+      expect(events).to.deep.include({
+        address: collectionAddress,
+        event: 'Transfer',
+        args: {
+          from: '0x0000000000000000000000000000000000000000',
+          to: user,
+          tokenId: nextTokenId,
+        },
+      });
+
+      const ownerBalanceAfter = await helper.balance.getSubstrate(helper.address.ethToSubstrate(owner));
+      const sponsorBalanceAfter = await helper.balance.getSubstrate(sponsor.address);
+      const userBalanceAfter =  await helper.balance.getSubstrate(helper.address.ethToSubstrate(user));
+
+      expect(await collectionEvm.methods.tokenURI(nextTokenId).call()).to.be.equal('Test URI');
+      expect(ownerBalanceBefore).to.be.eq(ownerBalanceAfter);
+      expect(userBalanceAfter).to.be.eq(userBalanceBefore);
+      expect(sponsorBalanceBefore > sponsorBalanceAfter).to.be.true;
+    }
+  });
+
+  itEth('Can reassign collection sponsor', async ({helper}) => {
+    const owner = await helper.eth.createAccountWithBalance(donor);
+    const sponsorEth = await helper.eth.createAccountWithBalance(donor);
+    const sponsorCrossEth = helper.ethCrossAccount.fromAddress(sponsorEth);
+    const [sponsorSub] = await helper.arrange.createAccounts([100n], donor);
+    const sponsorCrossSub = helper.ethCrossAccount.fromKeyringPair(sponsorSub);
+
+    const {collectionAddress, collectionId} = await helper.eth.createERC721MetadataCompatibleRFTCollection(owner,'Sponsor collection', '1', '1', '');
+    const collectionSub = helper.rft.getCollectionObject(collectionId);
+    const collectionEvm = await helper.ethNativeContract.collection(collectionAddress, 'rft', owner);
+
+    // Set and confirm sponsor:
+    await collectionEvm.methods.setCollectionSponsorCross(sponsorCrossEth).send({from: owner});
+    await collectionEvm.methods.confirmCollectionSponsorship().send({from: sponsorEth});
+
+    // Can reassign sponsor:
+    await collectionEvm.methods.setCollectionSponsorCross(sponsorCrossSub).send({from: owner});
+    const collectionSponsor = (await collectionSub.getData())?.raw.sponsorship;
+    expect(collectionSponsor).to.deep.eq({Unconfirmed: sponsorSub.address});
+  });
+
+  [
+    'transfer',
+    'transferCross',
+    'transferFrom',
+    'transferFromCross',
+  ].map(testCase =>
+    itEth(`[${testCase}] Check that transfer via EVM spend money from sponsor address`, async ({helper}) => {
+      const owner = await helper.eth.createAccountWithBalance(donor);
+
+      const {collectionAddress} = await helper.eth.createERC721MetadataCompatibleRFTCollection(owner,'Sponsor collection', '1', '1', '');
+      const sponsor = await helper.eth.createAccountWithBalance(donor);
+      const sponsorCross = helper.ethCrossAccount.fromAddress(sponsor);
+      const receiver = await helper.eth.createAccountWithBalance(donor);
+      const collectionEvm = await helper.ethNativeContract.collection(collectionAddress, 'rft', owner);
+
+      await collectionEvm.methods.setCollectionSponsorCross(sponsorCross).send();
+      await collectionEvm.methods.confirmCollectionSponsorship().send({from: sponsor});
+
+      const user = await helper.eth.createAccountWithBalance(donor);
+      const userCross = helper.ethCrossAccount.fromAddress(user);
+      await collectionEvm.methods.addCollectionAdminCross(userCross).send();
+
+      const result = await collectionEvm.methods.mintWithTokenURI(user, 'Test URI').send({from: user});
+      const tokenId = result.events.Transfer.returnValues.tokenId;
+
+      const ownerBalanceBefore = await helper.balance.getSubstrate(helper.address.ethToSubstrate(owner));
+      const sponsorBalanceBefore = await helper.balance.getSubstrate(helper.address.ethToSubstrate(sponsor));
+      const userBalanceBefore = await helper.balance.getSubstrate(helper.address.ethToSubstrate(user));
+
+      switch (testCase) {
+        case 'transfer':
+          await collectionEvm.methods.transfer(receiver, tokenId).send({from: user});
+          break;
+        case 'transferCross':
+          await collectionEvm.methods.transferCross(helper.ethCrossAccount.fromAddress(receiver), tokenId).send({from: user});
+          break;
+        case 'transferFrom':
+          await collectionEvm.methods.transferFrom(user, receiver, tokenId).send({from: user});
+          break;
+        case 'transferFromCross':
+          await collectionEvm.methods.transferFromCross(helper.ethCrossAccount.fromAddress(user), helper.ethCrossAccount.fromAddress(receiver), tokenId).send({from: user});
+          break;
+      }
+
+      const ownerBalanceAfter = await helper.balance.getSubstrate(helper.address.ethToSubstrate(owner));
+      expect(ownerBalanceAfter).to.be.eq(ownerBalanceBefore);
+      const sponsorBalanceAfter = await helper.balance.getSubstrate(helper.address.ethToSubstrate(sponsor));
+      expect(sponsorBalanceAfter < sponsorBalanceBefore).to.be.true;
+      const userBalanceAfter = await helper.balance.getSubstrate(helper.address.ethToSubstrate(user));
+      expect(userBalanceAfter).to.be.eq(userBalanceBefore);
+    }));
+});
+
+describe('evm RFT token sponsoring', () => {
+  let donor: IKeyringPair;
+
+  before(async function() {
+    await usingPlaygrounds(async (helper, privateKey) => {
+      requirePalletsOrSkip(this, helper, [Pallets.ReFungible]);
+      donor = await privateKey({filename: __filename});
+    });
+  });
+
+  [
+    'transfer',
+    'transferCross',
+    'transferFrom',
+    'transferFromCross',
+  ].map(testCase =>
+    itEth(`[${testCase}] Check that token piece transfer via EVM spend money from sponsor address`, async ({helper}) => {
+      const owner = await helper.eth.createAccountWithBalance(donor);
+
+      const {collectionAddress, collectionId} = await helper.eth.createERC721MetadataCompatibleRFTCollection(owner,'Sponsor collection', '1', '1', '');
+      const sponsor = await helper.eth.createAccountWithBalance(donor);
+      const sponsorCross = helper.ethCrossAccount.fromAddress(sponsor);
+      const receiver = await helper.eth.createAccountWithBalance(donor);
+      const collectionEvm = await helper.ethNativeContract.collection(collectionAddress, 'rft', owner);
+
+      await collectionEvm.methods.setCollectionSponsorCross(sponsorCross).send();
+      await collectionEvm.methods.confirmCollectionSponsorship().send({from: sponsor});
+
+      const user = await helper.eth.createAccountWithBalance(donor);
+      const userCross = helper.ethCrossAccount.fromAddress(user);
+      await collectionEvm.methods.addCollectionAdminCross(userCross).send();
+
+      const result = await collectionEvm.methods.mintWithTokenURI(user, 'Test URI').send({from: user});
+      const tokenId = result.events.Transfer.returnValues.tokenId;
+
+      const tokenContract = await helper.ethNativeContract.rftTokenById(collectionId, tokenId, user);
+      await tokenContract.methods.repartition(2).send();
+
+      const ownerBalanceBefore = await helper.balance.getSubstrate(helper.address.ethToSubstrate(owner));
+      const sponsorBalanceBefore = await helper.balance.getSubstrate(helper.address.ethToSubstrate(sponsor));
+      const userBalanceBefore = await helper.balance.getSubstrate(helper.address.ethToSubstrate(user));
+
+      switch (testCase) {
+        case 'transfer':
+          await tokenContract.methods.transfer(receiver, 1).send();
+          break;
+        case 'transferCross':
+          await tokenContract.methods.transferCross(helper.ethCrossAccount.fromAddress(receiver), 1).send();
+          break;
+        case 'transferFrom':
+          await tokenContract.methods.transferFrom(user, receiver, 1).send();
+          break;
+        case 'transferFromCross':
+          await tokenContract.methods.transferFromCross(helper.ethCrossAccount.fromAddress(user), helper.ethCrossAccount.fromAddress(receiver), 1).send();
+          break;
+      }
+
+      const ownerBalanceAfter = await helper.balance.getSubstrate(helper.address.ethToSubstrate(owner));
+      expect(ownerBalanceAfter).to.be.eq(ownerBalanceBefore);
+      const sponsorBalanceAfter = await helper.balance.getSubstrate(helper.address.ethToSubstrate(sponsor));
+      expect(sponsorBalanceAfter < sponsorBalanceBefore).to.be.true;
+      const userBalanceAfter = await helper.balance.getSubstrate(helper.address.ethToSubstrate(user));
+      expect(userBalanceAfter).to.be.eq(userBalanceBefore);
+    }));
+
+  [
+    'approve',
+    'approveCross',
+  ].map(testCase =>
+    itEth(`[${testCase}] Check that approve via EVM spend money from sponsor address`, async ({helper}) => {
+      const owner = await helper.eth.createAccountWithBalance(donor);
+
+      const {collectionAddress, collectionId} = await helper.eth.createERC721MetadataCompatibleRFTCollection(owner,'Sponsor collection', '1', '1', '');
+      const sponsor = await helper.eth.createAccountWithBalance(donor);
+      const sponsorCross = helper.ethCrossAccount.fromAddress(sponsor);
+      const receiver = await helper.eth.createAccountWithBalance(donor);
+      const collectionEvm = await helper.ethNativeContract.collection(collectionAddress, 'rft', owner);
+
+      await collectionEvm.methods.setCollectionSponsorCross(sponsorCross).send();
+      await collectionEvm.methods.confirmCollectionSponsorship().send({from: sponsor});
+
+      const user = await helper.eth.createAccountWithBalance(donor);
+      const userCross = helper.ethCrossAccount.fromAddress(user);
+      await collectionEvm.methods.addCollectionAdminCross(userCross).send();
+
+      const result = await collectionEvm.methods.mintWithTokenURI(user, 'Test URI').send({from: user});
+      const tokenId = result.events.Transfer.returnValues.tokenId;
+
+      const tokenContract = await helper.ethNativeContract.rftTokenById(collectionId, tokenId, user);
+      await tokenContract.methods.repartition(2).send();
+
+      const ownerBalanceBefore = await helper.balance.getSubstrate(helper.address.ethToSubstrate(owner));
+      const sponsorBalanceBefore = await helper.balance.getSubstrate(helper.address.ethToSubstrate(sponsor));
+      const userBalanceBefore = await helper.balance.getSubstrate(helper.address.ethToSubstrate(user));
+
+      switch (testCase) {
+        case 'approve':
+          await tokenContract.methods.approve(receiver, 1).send();
+          break;
+        case 'approveCross':
+          await tokenContract.methods.approveCross(helper.ethCrossAccount.fromAddress(receiver), 1).send();
+          break;
+      }
+
+      const ownerBalanceAfter = await helper.balance.getSubstrate(helper.address.ethToSubstrate(owner));
+      expect(ownerBalanceAfter).to.be.eq(ownerBalanceBefore);
+      const sponsorBalanceAfter = await helper.balance.getSubstrate(helper.address.ethToSubstrate(sponsor));
+      expect(sponsorBalanceAfter < sponsorBalanceBefore).to.be.true;
+      const userBalanceAfter = await helper.balance.getSubstrate(helper.address.ethToSubstrate(user));
+      expect(userBalanceAfter).to.be.eq(userBalanceBefore);
+    }));
+});
+
modifiedtests/src/interfaces/augment-api-errors.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-api-errors.ts
+++ b/tests/src/interfaces/augment-api-errors.ts
@@ -304,6 +304,10 @@
        **/
       Reentrancy: AugmentedError<ApiType>;
       /**
+       * EIP-3607,
+       **/
+      TransactionMustComeFromEOA: AugmentedError<ApiType>;
+      /**
        * Undefined error.
        **/
       Undefined: AugmentedError<ApiType>;
modifiedtests/src/interfaces/augment-api-query.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-api-query.ts
+++ b/tests/src/interfaces/augment-api-query.ts
@@ -9,7 +9,7 @@
 import type { BTreeMap, Bytes, Option, U256, Vec, bool, u128, u16, u32, u64, u8 } from '@polkadot/types-codec';
 import type { AnyNumber, ITuple } from '@polkadot/types-codec/types';
 import type { AccountId32, H160, H256 } from '@polkadot/types/interfaces/runtime';
-import type { CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueQueueConfigData, EthereumBlock, EthereumLog, EthereumReceiptReceiptV3, EthereumTransactionTransactionV2, FpRpcTransactionStatus, FrameSupportDispatchPerDispatchClassWeight, FrameSystemAccountInfo, FrameSystemEventRecord, FrameSystemLastRuntimeUpgradeInfo, FrameSystemPhase, OrmlTokensAccountData, OrmlTokensBalanceLock, OrmlTokensReserveData, OrmlVestingVestingSchedule, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesReleases, PalletBalancesReserveData, PalletConfigurationAppPromotionConfiguration, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmContractHelpersSponsoringModeT, PalletForeignAssetsAssetIds, PalletForeignAssetsModuleAssetMetadata, PalletNonfungibleItemData, PalletRefungibleItemData, PalletTransactionPaymentReleases, PalletTreasuryProposal, PhantomTypeUpDataStructs, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, SpRuntimeDigest, SpTrieStorageProof, SpWeightsWeightV2Weight, UpDataStructsCollection, UpDataStructsCollectionStats, UpDataStructsProperties, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsPropertyPermission, UpDataStructsPropertyScope, UpDataStructsSponsorshipStateBasicCrossAccountIdRepr, UpDataStructsTokenChild, XcmV1MultiLocation } from '@polkadot/types/lookup';
+import type { CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueQueueConfigData, EthereumBlock, EthereumLog, EthereumReceiptReceiptV3, EthereumTransactionTransactionV2, FpRpcTransactionStatus, FrameSupportDispatchPerDispatchClassWeight, FrameSystemAccountInfo, FrameSystemEventRecord, FrameSystemLastRuntimeUpgradeInfo, FrameSystemPhase, OrmlTokensAccountData, OrmlTokensBalanceLock, OrmlTokensReserveData, OrmlVestingVestingSchedule, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesReserveData, PalletConfigurationAppPromotionConfiguration, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmContractHelpersSponsoringModeT, PalletForeignAssetsAssetIds, PalletForeignAssetsModuleAssetMetadata, PalletNonfungibleItemData, PalletRefungibleItemData, PalletTransactionPaymentReleases, PalletTreasuryProposal, PhantomTypeUpDataStructs, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, SpRuntimeDigest, SpTrieStorageProof, SpWeightsWeightV2Weight, UpDataStructsCollection, UpDataStructsCollectionStats, UpDataStructsProperties, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsPropertyPermission, UpDataStructsPropertyScope, UpDataStructsSponsorshipStateBasicCrossAccountIdRepr, UpDataStructsTokenChild, XcmV1MultiLocation } from '@polkadot/types/lookup';
 import type { Observable } from '@polkadot/types/types';
 
 export type __AugmentedQuery<ApiType extends ApiTypes> = AugmentedQuery<ApiType, () => unknown>;
@@ -88,6 +88,10 @@
        **/
       account: AugmentedQuery<ApiType, (arg: AccountId32 | string | Uint8Array) => Observable<PalletBalancesAccountData>, [AccountId32]> & QueryableStorageEntry<ApiType, [AccountId32]>;
       /**
+       * The total units of outstanding deactivated balance in the system.
+       **/
+      inactiveIssuance: AugmentedQuery<ApiType, () => Observable<u128>, []> & QueryableStorageEntry<ApiType, []>;
+      /**
        * Any liquidity locks on some account balances.
        * NOTE: Should only be accessed when setting, changing and freeing a lock.
        **/
@@ -96,12 +100,6 @@
        * Named reserves on some account balances.
        **/
       reserves: AugmentedQuery<ApiType, (arg: AccountId32 | string | Uint8Array) => Observable<Vec<PalletBalancesReserveData>>, [AccountId32]> & QueryableStorageEntry<ApiType, [AccountId32]>;
-      /**
-       * Storage version of the pallet.
-       * 
-       * This is set to v2.0.0 for new networks.
-       **/
-      storageVersion: AugmentedQuery<ApiType, () => Observable<PalletBalancesReleases>, []> & QueryableStorageEntry<ApiType, []>;
       /**
        * The total units issued in the system.
        **/
@@ -853,6 +851,10 @@
        **/
       approvals: AugmentedQuery<ApiType, () => Observable<Vec<u32>>, []> & QueryableStorageEntry<ApiType, []>;
       /**
+       * The amount which has been reported as inactive to Currency.
+       **/
+      inactive: AugmentedQuery<ApiType, () => Observable<u128>, []> & QueryableStorageEntry<ApiType, []>;
+      /**
        * Number of proposals that have been made.
        **/
       proposalCount: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;
modifiedtests/src/interfaces/augment-api-tx.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-api-tx.ts
+++ b/tests/src/interfaces/augment-api-tx.ts
@@ -8,7 +8,7 @@
 import type { ApiTypes, AugmentedSubmittable, SubmittableExtrinsic, SubmittableExtrinsicFunction } from '@polkadot/api-base/types';
 import type { Bytes, Compact, Option, U256, Vec, bool, u128, u16, u32, u64, u8 } from '@polkadot/types-codec';
 import type { AnyNumber, IMethod, ITuple } from '@polkadot/types-codec/types';
-import type { AccountId32, Call, H160, H256, MultiAddress, Perbill, Permill } from '@polkadot/types/interfaces/runtime';
+import type { AccountId32, Call, H160, H256, MultiAddress, Permill } from '@polkadot/types/interfaces/runtime';
 import type { CumulusPrimitivesParachainInherentParachainInherentData, EthereumLog, EthereumTransactionTransactionV2, OrmlVestingVestingSchedule, PalletConfigurationAppPromotionConfiguration, PalletEvmAccountBasicCrossAccountIdRepr, PalletForeignAssetsAssetIds, PalletForeignAssetsModuleAssetMetadata, RmrkTraitsNftAccountIdOrCollectionNftTuple, RmrkTraitsPartEquippableList, RmrkTraitsPartPartType, RmrkTraitsResourceBasicResource, RmrkTraitsResourceComposableResource, RmrkTraitsResourceResourceTypes, RmrkTraitsResourceSlotResource, RmrkTraitsTheme, SpWeightsWeightV2Weight, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionPermissions, UpDataStructsCreateCollectionData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, XcmV1MultiLocation, XcmV2WeightLimit, XcmVersionedMultiAsset, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from '@polkadot/types/lookup';
 
 export type __AugmentedSubmittable = AugmentedSubmittable<() => unknown>;
@@ -905,10 +905,6 @@
       [key: string]: SubmittableExtrinsicFunction<ApiType>;
     };
     system: {
-      /**
-       * A dispatch that will fill the block weight up to the given ratio.
-       **/
-      fillBlock: AugmentedSubmittable<(ratio: Perbill | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [Perbill]>;
       /**
        * Kill all storage items with a key that starts with the given prefix.
        * 
modifiedtests/src/interfaces/augment-types.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-types.ts
+++ b/tests/src/interfaces/augment-types.ts
@@ -5,7 +5,7 @@
 // this is required to allow for ambient/previous definitions
 import '@polkadot/types/types/registry';
 
-import type { CumulusPalletDmpQueueCall, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueueError, CumulusPalletDmpQueueEvent, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCall, CumulusPalletParachainSystemError, CumulusPalletParachainSystemEvent, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmCall, CumulusPalletXcmError, CumulusPalletXcmEvent, CumulusPalletXcmpQueueCall, CumulusPalletXcmpQueueError, CumulusPalletXcmpQueueEvent, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueInboundState, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueOutboundState, CumulusPalletXcmpQueueQueueConfigData, CumulusPrimitivesParachainInherentParachainInherentData, EthbloomBloom, EthereumBlock, EthereumHeader, EthereumLog, EthereumReceiptEip658ReceiptData, EthereumReceiptReceiptV3, EthereumTransactionAccessListItem, EthereumTransactionEip1559Transaction, EthereumTransactionEip2930Transaction, EthereumTransactionLegacyTransaction, EthereumTransactionTransactionAction, EthereumTransactionTransactionSignature, EthereumTransactionTransactionV2, EthereumTypesHashH64, EvmCoreErrorExitError, EvmCoreErrorExitFatal, EvmCoreErrorExitReason, EvmCoreErrorExitRevert, EvmCoreErrorExitSucceed, FpRpcTransactionStatus, FrameSupportDispatchDispatchClass, FrameSupportDispatchDispatchInfo, FrameSupportDispatchPays, FrameSupportDispatchPerDispatchClassU32, FrameSupportDispatchPerDispatchClassWeight, FrameSupportDispatchPerDispatchClassWeightsPerClass, FrameSupportPalletId, FrameSupportTokensMiscBalanceStatus, FrameSystemAccountInfo, FrameSystemCall, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckNonce, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckTxVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, OpalRuntimeRuntime, OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance, OrmlTokensAccountData, OrmlTokensBalanceLock, OrmlTokensModuleCall, OrmlTokensModuleError, OrmlTokensModuleEvent, OrmlTokensReserveData, OrmlVestingModuleCall, OrmlVestingModuleError, OrmlVestingModuleEvent, OrmlVestingVestingSchedule, OrmlXtokensModuleCall, OrmlXtokensModuleError, OrmlXtokensModuleEvent, PalletAppPromotionCall, PalletAppPromotionError, PalletAppPromotionEvent, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesReasons, PalletBalancesReleases, PalletBalancesReserveData, PalletCommonError, PalletCommonEvent, PalletConfigurationAppPromotionConfiguration, PalletConfigurationCall, PalletConfigurationError, PalletEthereumCall, PalletEthereumError, PalletEthereumEvent, PalletEthereumFakeTransactionFinalizer, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmCall, PalletEvmCoderSubstrateError, PalletEvmContractHelpersError, PalletEvmContractHelpersEvent, PalletEvmContractHelpersSponsoringModeT, PalletEvmError, PalletEvmEvent, PalletEvmMigrationCall, PalletEvmMigrationError, PalletEvmMigrationEvent, PalletForeignAssetsAssetIds, PalletForeignAssetsModuleAssetMetadata, PalletForeignAssetsModuleCall, PalletForeignAssetsModuleError, PalletForeignAssetsModuleEvent, PalletForeignAssetsNativeCurrency, PalletFungibleError, PalletInflationCall, PalletMaintenanceCall, PalletMaintenanceError, PalletMaintenanceEvent, PalletNonfungibleError, PalletNonfungibleItemData, PalletRefungibleError, PalletRefungibleItemData, PalletRmrkCoreCall, PalletRmrkCoreError, PalletRmrkCoreEvent, PalletRmrkEquipCall, PalletRmrkEquipError, PalletRmrkEquipEvent, PalletStructureCall, PalletStructureError, PalletStructureEvent, PalletSudoCall, PalletSudoError, PalletSudoEvent, PalletTemplateTransactionPaymentCall, PalletTemplateTransactionPaymentChargeTransactionPayment, PalletTestUtilsCall, PalletTestUtilsError, PalletTestUtilsEvent, PalletTimestampCall, PalletTransactionPaymentEvent, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUniqueCall, PalletUniqueError, PalletXcmCall, PalletXcmError, PalletXcmEvent, PhantomTypeUpDataStructs, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2AbridgedHrmpChannel, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, RmrkTraitsBaseBaseInfo, RmrkTraitsCollectionCollectionInfo, RmrkTraitsNftAccountIdOrCollectionNftTuple, RmrkTraitsNftNftChild, RmrkTraitsNftNftInfo, RmrkTraitsNftRoyaltyInfo, RmrkTraitsPartEquippableList, RmrkTraitsPartFixedPart, RmrkTraitsPartPartType, RmrkTraitsPartSlotPart, RmrkTraitsPropertyPropertyInfo, RmrkTraitsResourceBasicResource, RmrkTraitsResourceComposableResource, RmrkTraitsResourceResourceInfo, RmrkTraitsResourceResourceTypes, RmrkTraitsResourceSlotResource, RmrkTraitsTheme, RmrkTraitsThemeThemeProperty, SpCoreEcdsaSignature, SpCoreEd25519Signature, SpCoreSr25519Signature, SpRuntimeArithmeticError, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpRuntimeTransactionalError, SpTrieStorageProof, SpVersionRuntimeVersion, SpWeightsRuntimeDbWeight, SpWeightsWeightV2Weight, UpDataStructsAccessMode, UpDataStructsCollection, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionPermissions, UpDataStructsCollectionStats, UpDataStructsCreateCollectionData, UpDataStructsCreateFungibleData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsCreateNftData, UpDataStructsCreateNftExData, UpDataStructsCreateReFungibleData, UpDataStructsCreateRefungibleExMultipleOwners, UpDataStructsCreateRefungibleExSingleOwner, UpDataStructsNestingPermissions, UpDataStructsOwnerRestrictedSet, UpDataStructsProperties, UpDataStructsPropertiesMapBoundedVec, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, UpDataStructsPropertyPermission, UpDataStructsPropertyScope, UpDataStructsRpcCollection, UpDataStructsRpcCollectionFlags, UpDataStructsSponsoringRateLimit, UpDataStructsSponsorshipStateAccountId32, UpDataStructsSponsorshipStateBasicCrossAccountIdRepr, UpDataStructsTokenChild, UpDataStructsTokenData, XcmDoubleEncoded, XcmV0Junction, XcmV0JunctionBodyId, XcmV0JunctionBodyPart, XcmV0JunctionNetworkId, XcmV0MultiAsset, XcmV0MultiLocation, XcmV0Order, XcmV0OriginKind, XcmV0Response, XcmV0Xcm, XcmV1Junction, XcmV1MultiAsset, XcmV1MultiLocation, XcmV1MultiassetAssetId, XcmV1MultiassetAssetInstance, XcmV1MultiassetFungibility, XcmV1MultiassetMultiAssetFilter, XcmV1MultiassetMultiAssets, XcmV1MultiassetWildFungibility, XcmV1MultiassetWildMultiAsset, XcmV1MultilocationJunctions, XcmV1Order, XcmV1Response, XcmV1Xcm, XcmV2Instruction, XcmV2Response, XcmV2TraitsError, XcmV2TraitsOutcome, XcmV2WeightLimit, XcmV2Xcm, XcmVersionedMultiAsset, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from './default';
+import type { CumulusPalletDmpQueueCall, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueueError, CumulusPalletDmpQueueEvent, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCall, CumulusPalletParachainSystemError, CumulusPalletParachainSystemEvent, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmCall, CumulusPalletXcmError, CumulusPalletXcmEvent, CumulusPalletXcmpQueueCall, CumulusPalletXcmpQueueError, CumulusPalletXcmpQueueEvent, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueInboundState, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueOutboundState, CumulusPalletXcmpQueueQueueConfigData, CumulusPrimitivesParachainInherentParachainInherentData, EthbloomBloom, EthereumBlock, EthereumHeader, EthereumLog, EthereumReceiptEip658ReceiptData, EthereumReceiptReceiptV3, EthereumTransactionAccessListItem, EthereumTransactionEip1559Transaction, EthereumTransactionEip2930Transaction, EthereumTransactionLegacyTransaction, EthereumTransactionTransactionAction, EthereumTransactionTransactionSignature, EthereumTransactionTransactionV2, EthereumTypesHashH64, EvmCoreErrorExitError, EvmCoreErrorExitFatal, EvmCoreErrorExitReason, EvmCoreErrorExitRevert, EvmCoreErrorExitSucceed, FpRpcTransactionStatus, FrameSupportDispatchDispatchClass, FrameSupportDispatchDispatchInfo, FrameSupportDispatchPays, FrameSupportDispatchPerDispatchClassU32, FrameSupportDispatchPerDispatchClassWeight, FrameSupportDispatchPerDispatchClassWeightsPerClass, FrameSupportPalletId, FrameSupportTokensMiscBalanceStatus, FrameSystemAccountInfo, FrameSystemCall, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckNonce, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckTxVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, OpalRuntimeRuntime, OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance, OrmlTokensAccountData, OrmlTokensBalanceLock, OrmlTokensModuleCall, OrmlTokensModuleError, OrmlTokensModuleEvent, OrmlTokensReserveData, OrmlVestingModuleCall, OrmlVestingModuleError, OrmlVestingModuleEvent, OrmlVestingVestingSchedule, OrmlXtokensModuleCall, OrmlXtokensModuleError, OrmlXtokensModuleEvent, PalletAppPromotionCall, PalletAppPromotionError, PalletAppPromotionEvent, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesReasons, PalletBalancesReserveData, PalletCommonError, PalletCommonEvent, PalletConfigurationAppPromotionConfiguration, PalletConfigurationCall, PalletConfigurationError, PalletEthereumCall, PalletEthereumError, PalletEthereumEvent, PalletEthereumFakeTransactionFinalizer, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmCall, PalletEvmCoderSubstrateError, PalletEvmContractHelpersError, PalletEvmContractHelpersEvent, PalletEvmContractHelpersSponsoringModeT, PalletEvmError, PalletEvmEvent, PalletEvmMigrationCall, PalletEvmMigrationError, PalletEvmMigrationEvent, PalletForeignAssetsAssetIds, PalletForeignAssetsModuleAssetMetadata, PalletForeignAssetsModuleCall, PalletForeignAssetsModuleError, PalletForeignAssetsModuleEvent, PalletForeignAssetsNativeCurrency, PalletFungibleError, PalletInflationCall, PalletMaintenanceCall, PalletMaintenanceError, PalletMaintenanceEvent, PalletNonfungibleError, PalletNonfungibleItemData, PalletRefungibleError, PalletRefungibleItemData, PalletRmrkCoreCall, PalletRmrkCoreError, PalletRmrkCoreEvent, PalletRmrkEquipCall, PalletRmrkEquipError, PalletRmrkEquipEvent, PalletStructureCall, PalletStructureError, PalletStructureEvent, PalletSudoCall, PalletSudoError, PalletSudoEvent, PalletTemplateTransactionPaymentCall, PalletTemplateTransactionPaymentChargeTransactionPayment, PalletTestUtilsCall, PalletTestUtilsError, PalletTestUtilsEvent, PalletTimestampCall, PalletTransactionPaymentEvent, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUniqueCall, PalletUniqueError, PalletXcmCall, PalletXcmError, PalletXcmEvent, PhantomTypeUpDataStructs, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2AbridgedHrmpChannel, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, RmrkTraitsBaseBaseInfo, RmrkTraitsCollectionCollectionInfo, RmrkTraitsNftAccountIdOrCollectionNftTuple, RmrkTraitsNftNftChild, RmrkTraitsNftNftInfo, RmrkTraitsNftRoyaltyInfo, RmrkTraitsPartEquippableList, RmrkTraitsPartFixedPart, RmrkTraitsPartPartType, RmrkTraitsPartSlotPart, RmrkTraitsPropertyPropertyInfo, RmrkTraitsResourceBasicResource, RmrkTraitsResourceComposableResource, RmrkTraitsResourceResourceInfo, RmrkTraitsResourceResourceTypes, RmrkTraitsResourceSlotResource, RmrkTraitsTheme, RmrkTraitsThemeThemeProperty, SpCoreEcdsaSignature, SpCoreEd25519Signature, SpCoreSr25519Signature, SpRuntimeArithmeticError, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpRuntimeTransactionalError, SpTrieStorageProof, SpVersionRuntimeVersion, SpWeightsRuntimeDbWeight, SpWeightsWeightV2Weight, UpDataStructsAccessMode, UpDataStructsCollection, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionPermissions, UpDataStructsCollectionStats, UpDataStructsCreateCollectionData, UpDataStructsCreateFungibleData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsCreateNftData, UpDataStructsCreateNftExData, UpDataStructsCreateReFungibleData, UpDataStructsCreateRefungibleExMultipleOwners, UpDataStructsCreateRefungibleExSingleOwner, UpDataStructsNestingPermissions, UpDataStructsOwnerRestrictedSet, UpDataStructsProperties, UpDataStructsPropertiesMapBoundedVec, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, UpDataStructsPropertyPermission, UpDataStructsPropertyScope, UpDataStructsRpcCollection, UpDataStructsRpcCollectionFlags, UpDataStructsSponsoringRateLimit, UpDataStructsSponsorshipStateAccountId32, UpDataStructsSponsorshipStateBasicCrossAccountIdRepr, UpDataStructsTokenChild, UpDataStructsTokenData, XcmDoubleEncoded, XcmV0Junction, XcmV0JunctionBodyId, XcmV0JunctionBodyPart, XcmV0JunctionNetworkId, XcmV0MultiAsset, XcmV0MultiLocation, XcmV0Order, XcmV0OriginKind, XcmV0Response, XcmV0Xcm, XcmV1Junction, XcmV1MultiAsset, XcmV1MultiLocation, XcmV1MultiassetAssetId, XcmV1MultiassetAssetInstance, XcmV1MultiassetFungibility, XcmV1MultiassetMultiAssetFilter, XcmV1MultiassetMultiAssets, XcmV1MultiassetWildFungibility, XcmV1MultiassetWildMultiAsset, XcmV1MultilocationJunctions, XcmV1Order, XcmV1Response, XcmV1Xcm, XcmV2Instruction, XcmV2Response, XcmV2TraitsError, XcmV2TraitsOutcome, XcmV2WeightLimit, XcmV2Xcm, XcmVersionedMultiAsset, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from './default';
 import type { Data, StorageKey } from '@polkadot/types';
 import type { BitVec, Bool, Bytes, F32, F64, I128, I16, I256, I32, I64, I8, Json, Null, OptionBool, Raw, Text, Type, U128, U16, U256, U32, U64, U8, USize, bool, f32, f64, i128, i16, i256, i32, i64, i8, u128, u16, u256, u32, u64, u8, usize } from '@polkadot/types-codec';
 import type { AssetApproval, AssetApprovalKey, AssetBalance, AssetDestroyWitness, AssetDetails, AssetMetadata, TAssetBalance, TAssetDepositBalance } from '@polkadot/types/interfaces/assets';
@@ -823,7 +823,6 @@
     PalletBalancesError: PalletBalancesError;
     PalletBalancesEvent: PalletBalancesEvent;
     PalletBalancesReasons: PalletBalancesReasons;
-    PalletBalancesReleases: PalletBalancesReleases;
     PalletBalancesReserveData: PalletBalancesReserveData;
     PalletCallMetadataLatest: PalletCallMetadataLatest;
     PalletCallMetadataV14: PalletCallMetadataV14;
modifiedtests/src/interfaces/default/types.tsdiffbeforeafterboth
--- a/tests/src/interfaces/default/types.ts
+++ b/tests/src/interfaces/default/types.ts
@@ -557,10 +557,6 @@
 
 /** @name FrameSystemCall */
 export interface FrameSystemCall extends Enum {
-  readonly isFillBlock: boolean;
-  readonly asFillBlock: {
-    readonly ratio: Perbill;
-  } & Struct;
   readonly isRemark: boolean;
   readonly asRemark: {
     readonly remark: Bytes;
@@ -594,7 +590,7 @@
   readonly asRemarkWithEvent: {
     readonly remark: Bytes;
   } & Struct;
-  readonly type: 'FillBlock' | 'Remark' | 'SetHeapPages' | 'SetCode' | 'SetCodeWithoutChecks' | 'SetStorage' | 'KillStorage' | 'KillPrefix' | 'RemarkWithEvent';
+  readonly type: 'Remark' | 'SetHeapPages' | 'SetCode' | 'SetCodeWithoutChecks' | 'SetStorage' | 'KillStorage' | 'KillPrefix' | 'RemarkWithEvent';
 }
 
 /** @name FrameSystemError */
@@ -1186,13 +1182,6 @@
   readonly isMisc: boolean;
   readonly isAll: boolean;
   readonly type: 'Fee' | 'Misc' | 'All';
-}
-
-/** @name PalletBalancesReleases */
-export interface PalletBalancesReleases extends Enum {
-  readonly isV100: boolean;
-  readonly isV200: boolean;
-  readonly type: 'V100' | 'V200';
 }
 
 /** @name PalletBalancesReserveData */
@@ -1457,7 +1446,8 @@
   readonly isGasLimitTooHigh: boolean;
   readonly isUndefined: boolean;
   readonly isReentrancy: boolean;
-  readonly type: 'BalanceLow' | 'FeeOverflow' | 'PaymentOverflow' | 'WithdrawFailed' | 'GasPriceTooLow' | 'InvalidNonce' | 'GasLimitTooLow' | 'GasLimitTooHigh' | 'Undefined' | 'Reentrancy';
+  readonly isTransactionMustComeFromEOA: boolean;
+  readonly type: 'BalanceLow' | 'FeeOverflow' | 'PaymentOverflow' | 'WithdrawFailed' | 'GasPriceTooLow' | 'InvalidNonce' | 'GasLimitTooLow' | 'GasLimitTooHigh' | 'Undefined' | 'Reentrancy' | 'TransactionMustComeFromEOA';
 }
 
 /** @name PalletEvmEvent */
modifiedtests/src/interfaces/lookup.tsdiffbeforeafterboth
--- a/tests/src/interfaces/lookup.ts
+++ b/tests/src/interfaces/lookup.ts
@@ -1329,9 +1329,6 @@
    **/
   FrameSystemCall: {
     _enum: {
-      fill_block: {
-        ratio: 'Perbill',
-      },
       remark: {
         remark: 'Bytes',
       },
@@ -1363,7 +1360,7 @@
     }
   },
   /**
-   * Lookup130: frame_system::limits::BlockWeights
+   * Lookup129: frame_system::limits::BlockWeights
    **/
   FrameSystemLimitsBlockWeights: {
     baseBlock: 'SpWeightsWeightV2Weight',
@@ -1371,7 +1368,7 @@
     perClass: 'FrameSupportDispatchPerDispatchClassWeightsPerClass'
   },
   /**
-   * Lookup131: frame_support::dispatch::PerDispatchClass<frame_system::limits::WeightsPerClass>
+   * Lookup130: frame_support::dispatch::PerDispatchClass<frame_system::limits::WeightsPerClass>
    **/
   FrameSupportDispatchPerDispatchClassWeightsPerClass: {
     normal: 'FrameSystemLimitsWeightsPerClass',
@@ -1379,7 +1376,7 @@
     mandatory: 'FrameSystemLimitsWeightsPerClass'
   },
   /**
-   * Lookup132: frame_system::limits::WeightsPerClass
+   * Lookup131: frame_system::limits::WeightsPerClass
    **/
   FrameSystemLimitsWeightsPerClass: {
     baseExtrinsic: 'SpWeightsWeightV2Weight',
@@ -1388,13 +1385,13 @@
     reserved: 'Option<SpWeightsWeightV2Weight>'
   },
   /**
-   * Lookup134: frame_system::limits::BlockLength
+   * Lookup133: frame_system::limits::BlockLength
    **/
   FrameSystemLimitsBlockLength: {
     max: 'FrameSupportDispatchPerDispatchClassU32'
   },
   /**
-   * Lookup135: frame_support::dispatch::PerDispatchClass<T>
+   * Lookup134: frame_support::dispatch::PerDispatchClass<T>
    **/
   FrameSupportDispatchPerDispatchClassU32: {
     normal: 'u32',
@@ -1402,14 +1399,14 @@
     mandatory: 'u32'
   },
   /**
-   * Lookup136: sp_weights::RuntimeDbWeight
+   * Lookup135: sp_weights::RuntimeDbWeight
    **/
   SpWeightsRuntimeDbWeight: {
     read: 'u64',
     write: 'u64'
   },
   /**
-   * Lookup137: sp_version::RuntimeVersion
+   * Lookup136: sp_version::RuntimeVersion
    **/
   SpVersionRuntimeVersion: {
     specName: 'Text',
@@ -1422,13 +1419,13 @@
     stateVersion: 'u8'
   },
   /**
-   * Lookup142: frame_system::pallet::Error<T>
+   * Lookup141: frame_system::pallet::Error<T>
    **/
   FrameSystemError: {
     _enum: ['InvalidSpecName', 'SpecVersionNeedsToIncrease', 'FailedToExtractRuntimeVersion', 'NonDefaultComposite', 'NonZeroRefCount', 'CallFiltered']
   },
   /**
-   * Lookup143: polkadot_primitives::v2::PersistedValidationData<primitive_types::H256, N>
+   * Lookup142: polkadot_primitives::v2::PersistedValidationData<primitive_types::H256, N>
    **/
   PolkadotPrimitivesV2PersistedValidationData: {
     parentHead: 'Bytes',
@@ -1437,19 +1434,19 @@
     maxPovSize: 'u32'
   },
   /**
-   * Lookup146: polkadot_primitives::v2::UpgradeRestriction
+   * Lookup145: polkadot_primitives::v2::UpgradeRestriction
    **/
   PolkadotPrimitivesV2UpgradeRestriction: {
     _enum: ['Present']
   },
   /**
-   * Lookup147: sp_trie::storage_proof::StorageProof
+   * Lookup146: sp_trie::storage_proof::StorageProof
    **/
   SpTrieStorageProof: {
     trieNodes: 'BTreeSet<Bytes>'
   },
   /**
-   * Lookup149: cumulus_pallet_parachain_system::relay_state_snapshot::MessagingStateSnapshot
+   * Lookup148: cumulus_pallet_parachain_system::relay_state_snapshot::MessagingStateSnapshot
    **/
   CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot: {
     dmqMqcHead: 'H256',
@@ -1458,7 +1455,7 @@
     egressChannels: 'Vec<(u32,PolkadotPrimitivesV2AbridgedHrmpChannel)>'
   },
   /**
-   * Lookup152: polkadot_primitives::v2::AbridgedHrmpChannel
+   * Lookup151: polkadot_primitives::v2::AbridgedHrmpChannel
    **/
   PolkadotPrimitivesV2AbridgedHrmpChannel: {
     maxCapacity: 'u32',
@@ -1469,7 +1466,7 @@
     mqcHead: 'Option<H256>'
   },
   /**
-   * Lookup153: polkadot_primitives::v2::AbridgedHostConfiguration
+   * Lookup152: polkadot_primitives::v2::AbridgedHostConfiguration
    **/
   PolkadotPrimitivesV2AbridgedHostConfiguration: {
     maxCodeSize: 'u32',
@@ -1483,14 +1480,14 @@
     validationUpgradeDelay: 'u32'
   },
   /**
-   * Lookup159: polkadot_core_primitives::OutboundHrmpMessage<polkadot_parachain::primitives::Id>
+   * Lookup158: polkadot_core_primitives::OutboundHrmpMessage<polkadot_parachain::primitives::Id>
    **/
   PolkadotCorePrimitivesOutboundHrmpMessage: {
     recipient: 'u32',
     data: 'Bytes'
   },
   /**
-   * Lookup160: cumulus_pallet_parachain_system::pallet::Call<T>
+   * Lookup159: cumulus_pallet_parachain_system::pallet::Call<T>
    **/
   CumulusPalletParachainSystemCall: {
     _enum: {
@@ -1509,7 +1506,7 @@
     }
   },
   /**
-   * Lookup161: cumulus_primitives_parachain_inherent::ParachainInherentData
+   * Lookup160: cumulus_primitives_parachain_inherent::ParachainInherentData
    **/
   CumulusPrimitivesParachainInherentParachainInherentData: {
     validationData: 'PolkadotPrimitivesV2PersistedValidationData',
@@ -1518,27 +1515,27 @@
     horizontalMessages: 'BTreeMap<u32, Vec<PolkadotCorePrimitivesInboundHrmpMessage>>'
   },
   /**
-   * Lookup163: polkadot_core_primitives::InboundDownwardMessage<BlockNumber>
+   * Lookup162: polkadot_core_primitives::InboundDownwardMessage<BlockNumber>
    **/
   PolkadotCorePrimitivesInboundDownwardMessage: {
     sentAt: 'u32',
     msg: 'Bytes'
   },
   /**
-   * Lookup166: polkadot_core_primitives::InboundHrmpMessage<BlockNumber>
+   * Lookup165: polkadot_core_primitives::InboundHrmpMessage<BlockNumber>
    **/
   PolkadotCorePrimitivesInboundHrmpMessage: {
     sentAt: 'u32',
     data: 'Bytes'
   },
   /**
-   * Lookup169: cumulus_pallet_parachain_system::pallet::Error<T>
+   * Lookup168: cumulus_pallet_parachain_system::pallet::Error<T>
    **/
   CumulusPalletParachainSystemError: {
     _enum: ['OverlappingUpgrades', 'ProhibitedByPolkadot', 'TooBig', 'ValidationDataNotAvailable', 'HostConfigurationNotAvailable', 'NotScheduled', 'NothingAuthorized', 'Unauthorized']
   },
   /**
-   * Lookup171: pallet_balances::BalanceLock<Balance>
+   * Lookup170: pallet_balances::BalanceLock<Balance>
    **/
   PalletBalancesBalanceLock: {
     id: '[u8;8]',
@@ -1546,26 +1543,20 @@
     reasons: 'PalletBalancesReasons'
   },
   /**
-   * Lookup172: pallet_balances::Reasons
+   * Lookup171: pallet_balances::Reasons
    **/
   PalletBalancesReasons: {
     _enum: ['Fee', 'Misc', 'All']
   },
   /**
-   * Lookup175: pallet_balances::ReserveData<ReserveIdentifier, Balance>
+   * Lookup174: pallet_balances::ReserveData<ReserveIdentifier, Balance>
    **/
   PalletBalancesReserveData: {
     id: '[u8;16]',
     amount: 'u128'
   },
   /**
-   * Lookup177: pallet_balances::Releases
-   **/
-  PalletBalancesReleases: {
-    _enum: ['V1_0_0', 'V2_0_0']
-  },
-  /**
-   * Lookup178: pallet_balances::pallet::Call<T, I>
+   * Lookup176: pallet_balances::pallet::Call<T, I>
    **/
   PalletBalancesCall: {
     _enum: {
@@ -1598,13 +1589,13 @@
     }
   },
   /**
-   * Lookup181: pallet_balances::pallet::Error<T, I>
+   * Lookup179: pallet_balances::pallet::Error<T, I>
    **/
   PalletBalancesError: {
     _enum: ['VestingBalance', 'LiquidityRestrictions', 'InsufficientBalance', 'ExistentialDeposit', 'KeepAlive', 'ExistingVestingSchedule', 'DeadAccount', 'TooManyReserves']
   },
   /**
-   * Lookup183: pallet_timestamp::pallet::Call<T>
+   * Lookup181: pallet_timestamp::pallet::Call<T>
    **/
   PalletTimestampCall: {
     _enum: {
@@ -1614,13 +1605,13 @@
     }
   },
   /**
-   * Lookup185: pallet_transaction_payment::Releases
+   * Lookup183: pallet_transaction_payment::Releases
    **/
   PalletTransactionPaymentReleases: {
     _enum: ['V1Ancient', 'V2']
   },
   /**
-   * Lookup186: pallet_treasury::Proposal<sp_core::crypto::AccountId32, Balance>
+   * Lookup184: pallet_treasury::Proposal<sp_core::crypto::AccountId32, Balance>
    **/
   PalletTreasuryProposal: {
     proposer: 'AccountId32',
@@ -1629,7 +1620,7 @@
     bond: 'u128'
   },
   /**
-   * Lookup189: pallet_treasury::pallet::Call<T, I>
+   * Lookup187: pallet_treasury::pallet::Call<T, I>
    **/
   PalletTreasuryCall: {
     _enum: {
@@ -1653,17 +1644,17 @@
     }
   },
   /**
-   * Lookup192: frame_support::PalletId
+   * Lookup190: frame_support::PalletId
    **/
   FrameSupportPalletId: '[u8;8]',
   /**
-   * Lookup193: pallet_treasury::pallet::Error<T, I>
+   * Lookup191: pallet_treasury::pallet::Error<T, I>
    **/
   PalletTreasuryError: {
     _enum: ['InsufficientProposersBalance', 'InvalidIndex', 'TooManyApprovals', 'InsufficientPermission', 'ProposalNotApproved']
   },
   /**
-   * Lookup194: pallet_sudo::pallet::Call<T>
+   * Lookup192: pallet_sudo::pallet::Call<T>
    **/
   PalletSudoCall: {
     _enum: {
@@ -1687,7 +1678,7 @@
     }
   },
   /**
-   * Lookup196: orml_vesting::module::Call<T>
+   * Lookup194: orml_vesting::module::Call<T>
    **/
   OrmlVestingModuleCall: {
     _enum: {
@@ -1706,7 +1697,7 @@
     }
   },
   /**
-   * Lookup198: orml_xtokens::module::Call<T>
+   * Lookup196: orml_xtokens::module::Call<T>
    **/
   OrmlXtokensModuleCall: {
     _enum: {
@@ -1749,7 +1740,7 @@
     }
   },
   /**
-   * Lookup199: xcm::VersionedMultiAsset
+   * Lookup197: xcm::VersionedMultiAsset
    **/
   XcmVersionedMultiAsset: {
     _enum: {
@@ -1758,7 +1749,7 @@
     }
   },
   /**
-   * Lookup202: orml_tokens::module::Call<T>
+   * Lookup200: orml_tokens::module::Call<T>
    **/
   OrmlTokensModuleCall: {
     _enum: {
@@ -1792,7 +1783,7 @@
     }
   },
   /**
-   * Lookup203: cumulus_pallet_xcmp_queue::pallet::Call<T>
+   * Lookup201: cumulus_pallet_xcmp_queue::pallet::Call<T>
    **/
   CumulusPalletXcmpQueueCall: {
     _enum: {
@@ -1841,7 +1832,7 @@
     }
   },
   /**
-   * Lookup204: pallet_xcm::pallet::Call<T>
+   * Lookup202: pallet_xcm::pallet::Call<T>
    **/
   PalletXcmCall: {
     _enum: {
@@ -1895,7 +1886,7 @@
     }
   },
   /**
-   * Lookup205: xcm::VersionedXcm<RuntimeCall>
+   * Lookup203: xcm::VersionedXcm<RuntimeCall>
    **/
   XcmVersionedXcm: {
     _enum: {
@@ -1905,7 +1896,7 @@
     }
   },
   /**
-   * Lookup206: xcm::v0::Xcm<RuntimeCall>
+   * Lookup204: xcm::v0::Xcm<RuntimeCall>
    **/
   XcmV0Xcm: {
     _enum: {
@@ -1959,7 +1950,7 @@
     }
   },
   /**
-   * Lookup208: xcm::v0::order::Order<RuntimeCall>
+   * Lookup206: xcm::v0::order::Order<RuntimeCall>
    **/
   XcmV0Order: {
     _enum: {
@@ -2002,7 +1993,7 @@
     }
   },
   /**
-   * Lookup210: xcm::v0::Response
+   * Lookup208: xcm::v0::Response
    **/
   XcmV0Response: {
     _enum: {
@@ -2010,7 +2001,7 @@
     }
   },
   /**
-   * Lookup211: xcm::v1::Xcm<RuntimeCall>
+   * Lookup209: xcm::v1::Xcm<RuntimeCall>
    **/
   XcmV1Xcm: {
     _enum: {
@@ -2069,7 +2060,7 @@
     }
   },
   /**
-   * Lookup213: xcm::v1::order::Order<RuntimeCall>
+   * Lookup211: xcm::v1::order::Order<RuntimeCall>
    **/
   XcmV1Order: {
     _enum: {
@@ -2114,7 +2105,7 @@
     }
   },
   /**
-   * Lookup215: xcm::v1::Response
+   * Lookup213: xcm::v1::Response
    **/
   XcmV1Response: {
     _enum: {
@@ -2123,11 +2114,11 @@
     }
   },
   /**
-   * Lookup229: cumulus_pallet_xcm::pallet::Call<T>
+   * Lookup227: cumulus_pallet_xcm::pallet::Call<T>
    **/
   CumulusPalletXcmCall: 'Null',
   /**
-   * Lookup230: cumulus_pallet_dmp_queue::pallet::Call<T>
+   * Lookup228: cumulus_pallet_dmp_queue::pallet::Call<T>
    **/
   CumulusPalletDmpQueueCall: {
     _enum: {
@@ -2138,7 +2129,7 @@
     }
   },
   /**
-   * Lookup231: pallet_inflation::pallet::Call<T>
+   * Lookup229: pallet_inflation::pallet::Call<T>
    **/
   PalletInflationCall: {
     _enum: {
@@ -2148,7 +2139,7 @@
     }
   },
   /**
-   * Lookup232: pallet_unique::Call<T>
+   * Lookup230: pallet_unique::Call<T>
    **/
   PalletUniqueCall: {
     _enum: {
@@ -2292,7 +2283,7 @@
     }
   },
   /**
-   * Lookup237: up_data_structs::CollectionMode
+   * Lookup235: up_data_structs::CollectionMode
    **/
   UpDataStructsCollectionMode: {
     _enum: {
@@ -2302,7 +2293,7 @@
     }
   },
   /**
-   * Lookup238: up_data_structs::CreateCollectionData<sp_core::crypto::AccountId32>
+   * Lookup236: up_data_structs::CreateCollectionData<sp_core::crypto::AccountId32>
    **/
   UpDataStructsCreateCollectionData: {
     mode: 'UpDataStructsCollectionMode',
@@ -2317,13 +2308,13 @@
     properties: 'Vec<UpDataStructsProperty>'
   },
   /**
-   * Lookup240: up_data_structs::AccessMode
+   * Lookup238: up_data_structs::AccessMode
    **/
   UpDataStructsAccessMode: {
     _enum: ['Normal', 'AllowList']
   },
   /**
-   * Lookup242: up_data_structs::CollectionLimits
+   * Lookup240: up_data_structs::CollectionLimits
    **/
   UpDataStructsCollectionLimits: {
     accountTokenOwnershipLimit: 'Option<u32>',
@@ -2337,7 +2328,7 @@
     transfersEnabled: 'Option<bool>'
   },
   /**
-   * Lookup244: up_data_structs::SponsoringRateLimit
+   * Lookup242: up_data_structs::SponsoringRateLimit
    **/
   UpDataStructsSponsoringRateLimit: {
     _enum: {
@@ -2346,7 +2337,7 @@
     }
   },
   /**
-   * Lookup247: up_data_structs::CollectionPermissions
+   * Lookup245: up_data_structs::CollectionPermissions
    **/
   UpDataStructsCollectionPermissions: {
     access: 'Option<UpDataStructsAccessMode>',
@@ -2354,7 +2345,7 @@
     nesting: 'Option<UpDataStructsNestingPermissions>'
   },
   /**
-   * Lookup249: up_data_structs::NestingPermissions
+   * Lookup247: up_data_structs::NestingPermissions
    **/
   UpDataStructsNestingPermissions: {
     tokenOwner: 'bool',
@@ -2362,18 +2353,18 @@
     restricted: 'Option<UpDataStructsOwnerRestrictedSet>'
   },
   /**
-   * Lookup251: up_data_structs::OwnerRestrictedSet
+   * Lookup249: up_data_structs::OwnerRestrictedSet
    **/
   UpDataStructsOwnerRestrictedSet: 'BTreeSet<u32>',
   /**
-   * Lookup256: up_data_structs::PropertyKeyPermission
+   * Lookup254: up_data_structs::PropertyKeyPermission
    **/
   UpDataStructsPropertyKeyPermission: {
     key: 'Bytes',
     permission: 'UpDataStructsPropertyPermission'
   },
   /**
-   * Lookup257: up_data_structs::PropertyPermission
+   * Lookup255: up_data_structs::PropertyPermission
    **/
   UpDataStructsPropertyPermission: {
     mutable: 'bool',
@@ -2381,14 +2372,14 @@
     tokenOwner: 'bool'
   },
   /**
-   * Lookup260: up_data_structs::Property
+   * Lookup258: up_data_structs::Property
    **/
   UpDataStructsProperty: {
     key: 'Bytes',
     value: 'Bytes'
   },
   /**
-   * Lookup263: up_data_structs::CreateItemData
+   * Lookup261: up_data_structs::CreateItemData
    **/
   UpDataStructsCreateItemData: {
     _enum: {
@@ -2398,26 +2389,26 @@
     }
   },
   /**
-   * Lookup264: up_data_structs::CreateNftData
+   * Lookup262: up_data_structs::CreateNftData
    **/
   UpDataStructsCreateNftData: {
     properties: 'Vec<UpDataStructsProperty>'
   },
   /**
-   * Lookup265: up_data_structs::CreateFungibleData
+   * Lookup263: up_data_structs::CreateFungibleData
    **/
   UpDataStructsCreateFungibleData: {
     value: 'u128'
   },
   /**
-   * Lookup266: up_data_structs::CreateReFungibleData
+   * Lookup264: up_data_structs::CreateReFungibleData
    **/
   UpDataStructsCreateReFungibleData: {
     pieces: 'u128',
     properties: 'Vec<UpDataStructsProperty>'
   },
   /**
-   * Lookup269: up_data_structs::CreateItemExData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
+   * Lookup267: up_data_structs::CreateItemExData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
    **/
   UpDataStructsCreateItemExData: {
     _enum: {
@@ -2428,14 +2419,14 @@
     }
   },
   /**
-   * Lookup271: up_data_structs::CreateNftExData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
+   * Lookup269: up_data_structs::CreateNftExData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
    **/
   UpDataStructsCreateNftExData: {
     properties: 'Vec<UpDataStructsProperty>',
     owner: 'PalletEvmAccountBasicCrossAccountIdRepr'
   },
   /**
-   * Lookup278: up_data_structs::CreateRefungibleExSingleOwner<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
+   * Lookup276: up_data_structs::CreateRefungibleExSingleOwner<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
    **/
   UpDataStructsCreateRefungibleExSingleOwner: {
     user: 'PalletEvmAccountBasicCrossAccountIdRepr',
@@ -2443,14 +2434,14 @@
     properties: 'Vec<UpDataStructsProperty>'
   },
   /**
-   * Lookup280: up_data_structs::CreateRefungibleExMultipleOwners<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
+   * Lookup278: up_data_structs::CreateRefungibleExMultipleOwners<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
    **/
   UpDataStructsCreateRefungibleExMultipleOwners: {
     users: 'BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>',
     properties: 'Vec<UpDataStructsProperty>'
   },
   /**
-   * Lookup281: pallet_configuration::pallet::Call<T>
+   * Lookup279: pallet_configuration::pallet::Call<T>
    **/
   PalletConfigurationCall: {
     _enum: {
@@ -2469,7 +2460,7 @@
     }
   },
   /**
-   * Lookup286: pallet_configuration::AppPromotionConfiguration<BlockNumber>
+   * Lookup284: pallet_configuration::AppPromotionConfiguration<BlockNumber>
    **/
   PalletConfigurationAppPromotionConfiguration: {
     recalculationInterval: 'Option<u32>',
@@ -2478,15 +2469,15 @@
     maxStakersPerCalculation: 'Option<u8>'
   },
   /**
-   * Lookup289: pallet_template_transaction_payment::Call<T>
+   * Lookup288: pallet_template_transaction_payment::Call<T>
    **/
   PalletTemplateTransactionPaymentCall: 'Null',
   /**
-   * Lookup290: pallet_structure::pallet::Call<T>
+   * Lookup289: pallet_structure::pallet::Call<T>
    **/
   PalletStructureCall: 'Null',
   /**
-   * Lookup291: pallet_rmrk_core::pallet::Call<T>
+   * Lookup290: pallet_rmrk_core::pallet::Call<T>
    **/
   PalletRmrkCoreCall: {
     _enum: {
@@ -2577,7 +2568,7 @@
     }
   },
   /**
-   * Lookup297: rmrk_traits::resource::ResourceTypes<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>>
+   * Lookup296: rmrk_traits::resource::ResourceTypes<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>>
    **/
   RmrkTraitsResourceResourceTypes: {
     _enum: {
@@ -2587,7 +2578,7 @@
     }
   },
   /**
-   * Lookup299: rmrk_traits::resource::BasicResource<sp_core::bounded::bounded_vec::BoundedVec<T, S>>
+   * Lookup298: rmrk_traits::resource::BasicResource<sp_core::bounded::bounded_vec::BoundedVec<T, S>>
    **/
   RmrkTraitsResourceBasicResource: {
     src: 'Option<Bytes>',
@@ -2596,7 +2587,7 @@
     thumb: 'Option<Bytes>'
   },
   /**
-   * Lookup301: rmrk_traits::resource::ComposableResource<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>>
+   * Lookup300: rmrk_traits::resource::ComposableResource<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>>
    **/
   RmrkTraitsResourceComposableResource: {
     parts: 'Vec<u32>',
@@ -2607,7 +2598,7 @@
     thumb: 'Option<Bytes>'
   },
   /**
-   * Lookup302: rmrk_traits::resource::SlotResource<sp_core::bounded::bounded_vec::BoundedVec<T, S>>
+   * Lookup301: rmrk_traits::resource::SlotResource<sp_core::bounded::bounded_vec::BoundedVec<T, S>>
    **/
   RmrkTraitsResourceSlotResource: {
     base: 'u32',
@@ -2618,7 +2609,7 @@
     thumb: 'Option<Bytes>'
   },
   /**
-   * Lookup305: pallet_rmrk_equip::pallet::Call<T>
+   * Lookup304: pallet_rmrk_equip::pallet::Call<T>
    **/
   PalletRmrkEquipCall: {
     _enum: {
@@ -2639,7 +2630,7 @@
     }
   },
   /**
-   * Lookup308: rmrk_traits::part::PartType<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>>
+   * Lookup307: rmrk_traits::part::PartType<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>>
    **/
   RmrkTraitsPartPartType: {
     _enum: {
@@ -2648,7 +2639,7 @@
     }
   },
   /**
-   * Lookup310: rmrk_traits::part::FixedPart<sp_core::bounded::bounded_vec::BoundedVec<T, S>>
+   * Lookup309: rmrk_traits::part::FixedPart<sp_core::bounded::bounded_vec::BoundedVec<T, S>>
    **/
   RmrkTraitsPartFixedPart: {
     id: 'u32',
@@ -2656,7 +2647,7 @@
     src: 'Bytes'
   },
   /**
-   * Lookup311: rmrk_traits::part::SlotPart<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>>
+   * Lookup310: rmrk_traits::part::SlotPart<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>>
    **/
   RmrkTraitsPartSlotPart: {
     id: 'u32',
@@ -2665,7 +2656,7 @@
     z: 'u32'
   },
   /**
-   * Lookup312: rmrk_traits::part::EquippableList<sp_core::bounded::bounded_vec::BoundedVec<T, S>>
+   * Lookup311: rmrk_traits::part::EquippableList<sp_core::bounded::bounded_vec::BoundedVec<T, S>>
    **/
   RmrkTraitsPartEquippableList: {
     _enum: {
@@ -2675,7 +2666,7 @@
     }
   },
   /**
-   * Lookup314: rmrk_traits::theme::Theme<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<rmrk_traits::theme::ThemeProperty<sp_core::bounded::bounded_vec::BoundedVec<T, S>>, S>>
+   * Lookup313: rmrk_traits::theme::Theme<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<rmrk_traits::theme::ThemeProperty<sp_core::bounded::bounded_vec::BoundedVec<T, S>>, S>>
    **/
   RmrkTraitsTheme: {
     name: 'Bytes',
@@ -2683,14 +2674,14 @@
     inherit: 'bool'
   },
   /**
-   * Lookup316: rmrk_traits::theme::ThemeProperty<sp_core::bounded::bounded_vec::BoundedVec<T, S>>
+   * Lookup315: rmrk_traits::theme::ThemeProperty<sp_core::bounded::bounded_vec::BoundedVec<T, S>>
    **/
   RmrkTraitsThemeThemeProperty: {
     key: 'Bytes',
     value: 'Bytes'
   },
   /**
-   * Lookup318: pallet_app_promotion::pallet::Call<T>
+   * Lookup317: pallet_app_promotion::pallet::Call<T>
    **/
   PalletAppPromotionCall: {
     _enum: {
@@ -2719,7 +2710,7 @@
     }
   },
   /**
-   * Lookup319: pallet_foreign_assets::module::Call<T>
+   * Lookup318: pallet_foreign_assets::module::Call<T>
    **/
   PalletForeignAssetsModuleCall: {
     _enum: {
@@ -2736,7 +2727,7 @@
     }
   },
   /**
-   * Lookup320: pallet_evm::pallet::Call<T>
+   * Lookup319: pallet_evm::pallet::Call<T>
    **/
   PalletEvmCall: {
     _enum: {
@@ -2779,7 +2770,7 @@
     }
   },
   /**
-   * Lookup326: pallet_ethereum::pallet::Call<T>
+   * Lookup325: pallet_ethereum::pallet::Call<T>
    **/
   PalletEthereumCall: {
     _enum: {
@@ -2789,7 +2780,7 @@
     }
   },
   /**
-   * Lookup327: ethereum::transaction::TransactionV2
+   * Lookup326: ethereum::transaction::TransactionV2
    **/
   EthereumTransactionTransactionV2: {
     _enum: {
@@ -2799,7 +2790,7 @@
     }
   },
   /**
-   * Lookup328: ethereum::transaction::LegacyTransaction
+   * Lookup327: ethereum::transaction::LegacyTransaction
    **/
   EthereumTransactionLegacyTransaction: {
     nonce: 'U256',
@@ -2811,7 +2802,7 @@
     signature: 'EthereumTransactionTransactionSignature'
   },
   /**
-   * Lookup329: ethereum::transaction::TransactionAction
+   * Lookup328: ethereum::transaction::TransactionAction
    **/
   EthereumTransactionTransactionAction: {
     _enum: {
@@ -2820,7 +2811,7 @@
     }
   },
   /**
-   * Lookup330: ethereum::transaction::TransactionSignature
+   * Lookup329: ethereum::transaction::TransactionSignature
    **/
   EthereumTransactionTransactionSignature: {
     v: 'u64',
@@ -2828,7 +2819,7 @@
     s: 'H256'
   },
   /**
-   * Lookup332: ethereum::transaction::EIP2930Transaction
+   * Lookup331: ethereum::transaction::EIP2930Transaction
    **/
   EthereumTransactionEip2930Transaction: {
     chainId: 'u64',
@@ -2844,14 +2835,14 @@
     s: 'H256'
   },
   /**
-   * Lookup334: ethereum::transaction::AccessListItem
+   * Lookup333: ethereum::transaction::AccessListItem
    **/
   EthereumTransactionAccessListItem: {
     address: 'H160',
     storageKeys: 'Vec<H256>'
   },
   /**
-   * Lookup335: ethereum::transaction::EIP1559Transaction
+   * Lookup334: ethereum::transaction::EIP1559Transaction
    **/
   EthereumTransactionEip1559Transaction: {
     chainId: 'u64',
@@ -2868,7 +2859,7 @@
     s: 'H256'
   },
   /**
-   * Lookup336: pallet_evm_migration::pallet::Call<T>
+   * Lookup335: pallet_evm_migration::pallet::Call<T>
    **/
   PalletEvmMigrationCall: {
     _enum: {
@@ -2892,13 +2883,13 @@
     }
   },
   /**
-   * Lookup340: pallet_maintenance::pallet::Call<T>
+   * Lookup339: pallet_maintenance::pallet::Call<T>
    **/
   PalletMaintenanceCall: {
     _enum: ['enable', 'disable']
   },
   /**
-   * Lookup341: pallet_test_utils::pallet::Call<T>
+   * Lookup340: pallet_test_utils::pallet::Call<T>
    **/
   PalletTestUtilsCall: {
     _enum: {
@@ -2917,32 +2908,32 @@
     }
   },
   /**
-   * Lookup343: pallet_sudo::pallet::Error<T>
+   * Lookup342: pallet_sudo::pallet::Error<T>
    **/
   PalletSudoError: {
     _enum: ['RequireSudo']
   },
   /**
-   * Lookup345: orml_vesting::module::Error<T>
+   * Lookup344: orml_vesting::module::Error<T>
    **/
   OrmlVestingModuleError: {
     _enum: ['ZeroVestingPeriod', 'ZeroVestingPeriodCount', 'InsufficientBalanceToLock', 'TooManyVestingSchedules', 'AmountLow', 'MaxVestingSchedulesExceeded']
   },
   /**
-   * Lookup346: orml_xtokens::module::Error<T>
+   * Lookup345: orml_xtokens::module::Error<T>
    **/
   OrmlXtokensModuleError: {
     _enum: ['AssetHasNoReserve', 'NotCrossChainTransfer', 'InvalidDest', 'NotCrossChainTransferableCurrency', 'UnweighableMessage', 'XcmExecutionFailed', 'CannotReanchor', 'InvalidAncestry', 'InvalidAsset', 'DestinationNotInvertible', 'BadVersion', 'DistinctReserveForAssetAndFee', 'ZeroFee', 'ZeroAmount', 'TooManyAssetsBeingSent', 'AssetIndexNonExistent', 'FeeNotEnough', 'NotSupportedMultiLocation', 'MinXcmFeeNotDefined']
   },
   /**
-   * Lookup349: orml_tokens::BalanceLock<Balance>
+   * Lookup348: orml_tokens::BalanceLock<Balance>
    **/
   OrmlTokensBalanceLock: {
     id: '[u8;8]',
     amount: 'u128'
   },
   /**
-   * Lookup351: orml_tokens::AccountData<Balance>
+   * Lookup350: orml_tokens::AccountData<Balance>
    **/
   OrmlTokensAccountData: {
     free: 'u128',
@@ -2950,20 +2941,20 @@
     frozen: 'u128'
   },
   /**
-   * Lookup353: orml_tokens::ReserveData<ReserveIdentifier, Balance>
+   * Lookup352: orml_tokens::ReserveData<ReserveIdentifier, Balance>
    **/
   OrmlTokensReserveData: {
     id: 'Null',
     amount: 'u128'
   },
   /**
-   * Lookup355: orml_tokens::module::Error<T>
+   * Lookup354: orml_tokens::module::Error<T>
    **/
   OrmlTokensModuleError: {
     _enum: ['BalanceTooLow', 'AmountIntoBalanceFailed', 'LiquidityRestrictions', 'MaxLocksExceeded', 'KeepAlive', 'ExistentialDeposit', 'DeadAccount', 'TooManyReserves']
   },
   /**
-   * Lookup357: cumulus_pallet_xcmp_queue::InboundChannelDetails
+   * Lookup356: cumulus_pallet_xcmp_queue::InboundChannelDetails
    **/
   CumulusPalletXcmpQueueInboundChannelDetails: {
     sender: 'u32',
@@ -2971,19 +2962,19 @@
     messageMetadata: 'Vec<(u32,PolkadotParachainPrimitivesXcmpMessageFormat)>'
   },
   /**
-   * Lookup358: cumulus_pallet_xcmp_queue::InboundState
+   * Lookup357: cumulus_pallet_xcmp_queue::InboundState
    **/
   CumulusPalletXcmpQueueInboundState: {
     _enum: ['Ok', 'Suspended']
   },
   /**
-   * Lookup361: polkadot_parachain::primitives::XcmpMessageFormat
+   * Lookup360: polkadot_parachain::primitives::XcmpMessageFormat
    **/
   PolkadotParachainPrimitivesXcmpMessageFormat: {
     _enum: ['ConcatenatedVersionedXcm', 'ConcatenatedEncodedBlob', 'Signals']
   },
   /**
-   * Lookup364: cumulus_pallet_xcmp_queue::OutboundChannelDetails
+   * Lookup363: cumulus_pallet_xcmp_queue::OutboundChannelDetails
    **/
   CumulusPalletXcmpQueueOutboundChannelDetails: {
     recipient: 'u32',
@@ -2993,13 +2984,13 @@
     lastIndex: 'u16'
   },
   /**
-   * Lookup365: cumulus_pallet_xcmp_queue::OutboundState
+   * Lookup364: cumulus_pallet_xcmp_queue::OutboundState
    **/
   CumulusPalletXcmpQueueOutboundState: {
     _enum: ['Ok', 'Suspended']
   },
   /**
-   * Lookup367: cumulus_pallet_xcmp_queue::QueueConfigData
+   * Lookup366: cumulus_pallet_xcmp_queue::QueueConfigData
    **/
   CumulusPalletXcmpQueueQueueConfigData: {
     suspendThreshold: 'u32',
@@ -3010,29 +3001,29 @@
     xcmpMaxIndividualWeight: 'SpWeightsWeightV2Weight'
   },
   /**
-   * Lookup369: cumulus_pallet_xcmp_queue::pallet::Error<T>
+   * Lookup368: cumulus_pallet_xcmp_queue::pallet::Error<T>
    **/
   CumulusPalletXcmpQueueError: {
     _enum: ['FailedToSend', 'BadXcmOrigin', 'BadXcm', 'BadOverweightIndex', 'WeightOverLimit']
   },
   /**
-   * Lookup370: pallet_xcm::pallet::Error<T>
+   * Lookup369: pallet_xcm::pallet::Error<T>
    **/
   PalletXcmError: {
     _enum: ['Unreachable', 'SendFailure', 'Filtered', 'UnweighableMessage', 'DestinationNotInvertible', 'Empty', 'CannotReanchor', 'TooManyAssets', 'InvalidOrigin', 'BadVersion', 'BadLocation', 'NoSubscription', 'AlreadySubscribed']
   },
   /**
-   * Lookup371: cumulus_pallet_xcm::pallet::Error<T>
+   * Lookup370: cumulus_pallet_xcm::pallet::Error<T>
    **/
   CumulusPalletXcmError: 'Null',
   /**
-   * Lookup372: cumulus_pallet_dmp_queue::ConfigData
+   * Lookup371: cumulus_pallet_dmp_queue::ConfigData
    **/
   CumulusPalletDmpQueueConfigData: {
     maxIndividual: 'SpWeightsWeightV2Weight'
   },
   /**
-   * Lookup373: cumulus_pallet_dmp_queue::PageIndexData
+   * Lookup372: cumulus_pallet_dmp_queue::PageIndexData
    **/
   CumulusPalletDmpQueuePageIndexData: {
     beginUsed: 'u32',
@@ -3040,25 +3031,25 @@
     overweightCount: 'u64'
   },
   /**
-   * Lookup376: cumulus_pallet_dmp_queue::pallet::Error<T>
+   * Lookup375: cumulus_pallet_dmp_queue::pallet::Error<T>
    **/
   CumulusPalletDmpQueueError: {
     _enum: ['Unknown', 'OverLimit']
   },
   /**
-   * Lookup380: pallet_unique::Error<T>
+   * Lookup379: pallet_unique::Error<T>
    **/
   PalletUniqueError: {
     _enum: ['CollectionDecimalPointLimitExceeded', 'EmptyArgument', 'RepartitionCalledOnNonRefungibleCollection']
   },
   /**
-   * Lookup381: pallet_configuration::pallet::Error<T>
+   * Lookup380: pallet_configuration::pallet::Error<T>
    **/
   PalletConfigurationError: {
     _enum: ['InconsistentConfiguration']
   },
   /**
-   * Lookup382: up_data_structs::Collection<sp_core::crypto::AccountId32>
+   * Lookup381: up_data_structs::Collection<sp_core::crypto::AccountId32>
    **/
   UpDataStructsCollection: {
     owner: 'AccountId32',
@@ -3072,7 +3063,7 @@
     flags: '[u8;1]'
   },
   /**
-   * Lookup383: up_data_structs::SponsorshipState<sp_core::crypto::AccountId32>
+   * Lookup382: up_data_structs::SponsorshipState<sp_core::crypto::AccountId32>
    **/
   UpDataStructsSponsorshipStateAccountId32: {
     _enum: {
@@ -3082,7 +3073,7 @@
     }
   },
   /**
-   * Lookup385: up_data_structs::Properties
+   * Lookup384: up_data_structs::Properties
    **/
   UpDataStructsProperties: {
     map: 'UpDataStructsPropertiesMapBoundedVec',
@@ -3090,15 +3081,15 @@
     spaceLimit: 'u32'
   },
   /**
-   * Lookup386: up_data_structs::PropertiesMap<sp_core::bounded::bounded_vec::BoundedVec<T, S>>
+   * Lookup385: up_data_structs::PropertiesMap<sp_core::bounded::bounded_vec::BoundedVec<T, S>>
    **/
   UpDataStructsPropertiesMapBoundedVec: 'BTreeMap<Bytes, Bytes>',
   /**
-   * Lookup391: up_data_structs::PropertiesMap<up_data_structs::PropertyPermission>
+   * Lookup390: up_data_structs::PropertiesMap<up_data_structs::PropertyPermission>
    **/
   UpDataStructsPropertiesMapPropertyPermission: 'BTreeMap<Bytes, UpDataStructsPropertyPermission>',
   /**
-   * Lookup398: up_data_structs::CollectionStats
+   * Lookup397: up_data_structs::CollectionStats
    **/
   UpDataStructsCollectionStats: {
     created: 'u32',
@@ -3106,18 +3097,18 @@
     alive: 'u32'
   },
   /**
-   * Lookup399: up_data_structs::TokenChild
+   * Lookup398: up_data_structs::TokenChild
    **/
   UpDataStructsTokenChild: {
     token: 'u32',
     collection: 'u32'
   },
   /**
-   * Lookup400: PhantomType::up_data_structs<T>
+   * Lookup399: PhantomType::up_data_structs<T>
    **/
   PhantomTypeUpDataStructs: '[(UpDataStructsTokenData,UpDataStructsRpcCollection,RmrkTraitsCollectionCollectionInfo,RmrkTraitsNftNftInfo,RmrkTraitsResourceResourceInfo,RmrkTraitsPropertyPropertyInfo,RmrkTraitsBaseBaseInfo,RmrkTraitsPartPartType,RmrkTraitsTheme,RmrkTraitsNftNftChild);0]',
   /**
-   * Lookup402: up_data_structs::TokenData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
+   * Lookup401: up_data_structs::TokenData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
    **/
   UpDataStructsTokenData: {
     properties: 'Vec<UpDataStructsProperty>',
@@ -3125,7 +3116,7 @@
     pieces: 'u128'
   },
   /**
-   * Lookup404: up_data_structs::RpcCollection<sp_core::crypto::AccountId32>
+   * Lookup403: up_data_structs::RpcCollection<sp_core::crypto::AccountId32>
    **/
   UpDataStructsRpcCollection: {
     owner: 'AccountId32',
@@ -3142,14 +3133,14 @@
     flags: 'UpDataStructsRpcCollectionFlags'
   },
   /**
-   * Lookup405: up_data_structs::RpcCollectionFlags
+   * Lookup404: up_data_structs::RpcCollectionFlags
    **/
   UpDataStructsRpcCollectionFlags: {
     foreign: 'bool',
     erc721metadata: 'bool'
   },
   /**
-   * Lookup406: rmrk_traits::collection::CollectionInfo<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::crypto::AccountId32>
+   * Lookup405: rmrk_traits::collection::CollectionInfo<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::crypto::AccountId32>
    **/
   RmrkTraitsCollectionCollectionInfo: {
     issuer: 'AccountId32',
@@ -3159,7 +3150,7 @@
     nftsCount: 'u32'
   },
   /**
-   * Lookup407: rmrk_traits::nft::NftInfo<sp_core::crypto::AccountId32, sp_arithmetic::per_things::Permill, sp_core::bounded::bounded_vec::BoundedVec<T, S>>
+   * Lookup406: rmrk_traits::nft::NftInfo<sp_core::crypto::AccountId32, sp_arithmetic::per_things::Permill, sp_core::bounded::bounded_vec::BoundedVec<T, S>>
    **/
   RmrkTraitsNftNftInfo: {
     owner: 'RmrkTraitsNftAccountIdOrCollectionNftTuple',
@@ -3169,14 +3160,14 @@
     pending: 'bool'
   },
   /**
-   * Lookup409: rmrk_traits::nft::RoyaltyInfo<sp_core::crypto::AccountId32, sp_arithmetic::per_things::Permill>
+   * Lookup408: rmrk_traits::nft::RoyaltyInfo<sp_core::crypto::AccountId32, sp_arithmetic::per_things::Permill>
    **/
   RmrkTraitsNftRoyaltyInfo: {
     recipient: 'AccountId32',
     amount: 'Permill'
   },
   /**
-   * Lookup410: rmrk_traits::resource::ResourceInfo<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>>
+   * Lookup409: rmrk_traits::resource::ResourceInfo<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>>
    **/
   RmrkTraitsResourceResourceInfo: {
     id: 'u32',
@@ -3185,14 +3176,14 @@
     pendingRemoval: 'bool'
   },
   /**
-   * Lookup411: rmrk_traits::property::PropertyInfo<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>>
+   * Lookup410: rmrk_traits::property::PropertyInfo<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>>
    **/
   RmrkTraitsPropertyPropertyInfo: {
     key: 'Bytes',
     value: 'Bytes'
   },
   /**
-   * Lookup412: rmrk_traits::base::BaseInfo<sp_core::crypto::AccountId32, sp_core::bounded::bounded_vec::BoundedVec<T, S>>
+   * Lookup411: rmrk_traits::base::BaseInfo<sp_core::crypto::AccountId32, sp_core::bounded::bounded_vec::BoundedVec<T, S>>
    **/
   RmrkTraitsBaseBaseInfo: {
     issuer: 'AccountId32',
@@ -3200,92 +3191,92 @@
     symbol: 'Bytes'
   },
   /**
-   * Lookup413: rmrk_traits::nft::NftChild
+   * Lookup412: rmrk_traits::nft::NftChild
    **/
   RmrkTraitsNftNftChild: {
     collectionId: 'u32',
     nftId: 'u32'
   },
   /**
-   * Lookup415: pallet_common::pallet::Error<T>
+   * Lookup414: pallet_common::pallet::Error<T>
    **/
   PalletCommonError: {
     _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', 'ConfirmSponsorshipFail', 'UserIsNotCollectionAdmin']
   },
   /**
-   * Lookup417: pallet_fungible::pallet::Error<T>
+   * Lookup416: pallet_fungible::pallet::Error<T>
    **/
   PalletFungibleError: {
     _enum: ['NotFungibleDataUsedToMintFungibleCollectionToken', 'FungibleItemsHaveNoId', 'FungibleItemsDontHaveData', 'FungibleDisallowsNesting', 'SettingPropertiesNotAllowed', 'SettingAllowanceForAllNotAllowed', 'FungibleTokensAreAlwaysValid']
   },
   /**
-   * Lookup418: pallet_refungible::ItemData
+   * Lookup417: pallet_refungible::ItemData
    **/
   PalletRefungibleItemData: {
     constData: 'Bytes'
   },
   /**
-   * Lookup423: pallet_refungible::pallet::Error<T>
+   * Lookup422: pallet_refungible::pallet::Error<T>
    **/
   PalletRefungibleError: {
     _enum: ['NotRefungibleDataUsedToMintFungibleCollectionToken', 'WrongRefungiblePieces', 'RepartitionWhileNotOwningAllPieces', 'RefungibleDisallowsNesting', 'SettingPropertiesNotAllowed']
   },
   /**
-   * Lookup424: pallet_nonfungible::ItemData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
+   * Lookup423: pallet_nonfungible::ItemData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
    **/
   PalletNonfungibleItemData: {
     owner: 'PalletEvmAccountBasicCrossAccountIdRepr'
   },
   /**
-   * Lookup426: up_data_structs::PropertyScope
+   * Lookup425: up_data_structs::PropertyScope
    **/
   UpDataStructsPropertyScope: {
     _enum: ['None', 'Rmrk']
   },
   /**
-   * Lookup428: pallet_nonfungible::pallet::Error<T>
+   * Lookup427: pallet_nonfungible::pallet::Error<T>
    **/
   PalletNonfungibleError: {
     _enum: ['NotNonfungibleDataUsedToMintFungibleCollectionToken', 'NonfungibleItemsHaveNoAmount', 'CantBurnNftWithChildren']
   },
   /**
-   * Lookup429: pallet_structure::pallet::Error<T>
+   * Lookup428: pallet_structure::pallet::Error<T>
    **/
   PalletStructureError: {
     _enum: ['OuroborosDetected', 'DepthLimit', 'BreadthLimit', 'TokenNotFound']
   },
   /**
-   * Lookup430: pallet_rmrk_core::pallet::Error<T>
+   * Lookup429: pallet_rmrk_core::pallet::Error<T>
    **/
   PalletRmrkCoreError: {
     _enum: ['CorruptedCollectionType', 'RmrkPropertyKeyIsTooLong', 'RmrkPropertyValueIsTooLong', 'RmrkPropertyIsNotFound', 'UnableToDecodeRmrkData', 'CollectionNotEmpty', 'NoAvailableCollectionId', 'NoAvailableNftId', 'CollectionUnknown', 'NoPermission', 'NonTransferable', 'CollectionFullOrLocked', 'ResourceDoesntExist', 'CannotSendToDescendentOrSelf', 'CannotAcceptNonOwnedNft', 'CannotRejectNonOwnedNft', 'CannotRejectNonPendingNft', 'ResourceNotPending', 'NoAvailableResourceId']
   },
   /**
-   * Lookup432: pallet_rmrk_equip::pallet::Error<T>
+   * Lookup431: pallet_rmrk_equip::pallet::Error<T>
    **/
   PalletRmrkEquipError: {
     _enum: ['PermissionError', 'NoAvailableBaseId', 'NoAvailablePartId', 'BaseDoesntExist', 'NeedsDefaultThemeFirst', 'PartDoesntExist', 'NoEquippableOnFixedPart']
   },
   /**
-   * Lookup438: pallet_app_promotion::pallet::Error<T>
+   * Lookup437: pallet_app_promotion::pallet::Error<T>
    **/
   PalletAppPromotionError: {
     _enum: ['AdminNotSet', 'NoPermission', 'NotSufficientFunds', 'PendingForBlockOverflow', 'SponsorNotSet', 'IncorrectLockedBalanceOperation']
   },
   /**
-   * Lookup439: pallet_foreign_assets::module::Error<T>
+   * Lookup438: pallet_foreign_assets::module::Error<T>
    **/
   PalletForeignAssetsModuleError: {
     _enum: ['BadLocation', 'MultiLocationExisted', 'AssetIdNotExists', 'AssetIdExisted']
   },
   /**
-   * Lookup441: pallet_evm::pallet::Error<T>
+   * Lookup440: pallet_evm::pallet::Error<T>
    **/
   PalletEvmError: {
-    _enum: ['BalanceLow', 'FeeOverflow', 'PaymentOverflow', 'WithdrawFailed', 'GasPriceTooLow', 'InvalidNonce', 'GasLimitTooLow', 'GasLimitTooHigh', 'Undefined', 'Reentrancy']
+    _enum: ['BalanceLow', 'FeeOverflow', 'PaymentOverflow', 'WithdrawFailed', 'GasPriceTooLow', 'InvalidNonce', 'GasLimitTooLow', 'GasLimitTooHigh', 'Undefined', 'Reentrancy', 'TransactionMustComeFromEOA']
   },
   /**
-   * Lookup444: fp_rpc::TransactionStatus
+   * Lookup443: fp_rpc::TransactionStatus
    **/
   FpRpcTransactionStatus: {
     transactionHash: 'H256',
@@ -3297,11 +3288,11 @@
     logsBloom: 'EthbloomBloom'
   },
   /**
-   * Lookup446: ethbloom::Bloom
+   * Lookup445: ethbloom::Bloom
    **/
   EthbloomBloom: '[u8;256]',
   /**
-   * Lookup448: ethereum::receipt::ReceiptV3
+   * Lookup447: ethereum::receipt::ReceiptV3
    **/
   EthereumReceiptReceiptV3: {
     _enum: {
@@ -3311,7 +3302,7 @@
     }
   },
   /**
-   * Lookup449: ethereum::receipt::EIP658ReceiptData
+   * Lookup448: ethereum::receipt::EIP658ReceiptData
    **/
   EthereumReceiptEip658ReceiptData: {
     statusCode: 'u8',
@@ -3320,7 +3311,7 @@
     logs: 'Vec<EthereumLog>'
   },
   /**
-   * Lookup450: ethereum::block::Block<ethereum::transaction::TransactionV2>
+   * Lookup449: ethereum::block::Block<ethereum::transaction::TransactionV2>
    **/
   EthereumBlock: {
     header: 'EthereumHeader',
@@ -3328,7 +3319,7 @@
     ommers: 'Vec<EthereumHeader>'
   },
   /**
-   * Lookup451: ethereum::header::Header
+   * Lookup450: ethereum::header::Header
    **/
   EthereumHeader: {
     parentHash: 'H256',
@@ -3348,23 +3339,23 @@
     nonce: 'EthereumTypesHashH64'
   },
   /**
-   * Lookup452: ethereum_types::hash::H64
+   * Lookup451: ethereum_types::hash::H64
    **/
   EthereumTypesHashH64: '[u8;8]',
   /**
-   * Lookup457: pallet_ethereum::pallet::Error<T>
+   * Lookup456: pallet_ethereum::pallet::Error<T>
    **/
   PalletEthereumError: {
     _enum: ['InvalidSignature', 'PreLogExists']
   },
   /**
-   * Lookup458: pallet_evm_coder_substrate::pallet::Error<T>
+   * Lookup457: pallet_evm_coder_substrate::pallet::Error<T>
    **/
   PalletEvmCoderSubstrateError: {
     _enum: ['OutOfGas', 'OutOfFund']
   },
   /**
-   * Lookup459: up_data_structs::SponsorshipState<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
+   * Lookup458: up_data_structs::SponsorshipState<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
    **/
   UpDataStructsSponsorshipStateBasicCrossAccountIdRepr: {
     _enum: {
@@ -3374,35 +3365,35 @@
     }
   },
   /**
-   * Lookup460: pallet_evm_contract_helpers::SponsoringModeT
+   * Lookup459: pallet_evm_contract_helpers::SponsoringModeT
    **/
   PalletEvmContractHelpersSponsoringModeT: {
     _enum: ['Disabled', 'Allowlisted', 'Generous']
   },
   /**
-   * Lookup466: pallet_evm_contract_helpers::pallet::Error<T>
+   * Lookup465: pallet_evm_contract_helpers::pallet::Error<T>
    **/
   PalletEvmContractHelpersError: {
     _enum: ['NoPermission', 'NoPendingSponsor', 'TooManyMethodsHaveSponsoredLimit']
   },
   /**
-   * Lookup467: pallet_evm_migration::pallet::Error<T>
+   * Lookup466: pallet_evm_migration::pallet::Error<T>
    **/
   PalletEvmMigrationError: {
     _enum: ['AccountNotEmpty', 'AccountIsNotMigrating', 'BadEvent']
   },
   /**
-   * Lookup468: pallet_maintenance::pallet::Error<T>
+   * Lookup467: pallet_maintenance::pallet::Error<T>
    **/
   PalletMaintenanceError: 'Null',
   /**
-   * Lookup469: pallet_test_utils::pallet::Error<T>
+   * Lookup468: pallet_test_utils::pallet::Error<T>
    **/
   PalletTestUtilsError: {
     _enum: ['TestPalletDisabled', 'TriggerRollback']
   },
   /**
-   * Lookup471: sp_runtime::MultiSignature
+   * Lookup470: sp_runtime::MultiSignature
    **/
   SpRuntimeMultiSignature: {
     _enum: {
@@ -3412,51 +3403,51 @@
     }
   },
   /**
-   * Lookup472: sp_core::ed25519::Signature
+   * Lookup471: sp_core::ed25519::Signature
    **/
   SpCoreEd25519Signature: '[u8;64]',
   /**
-   * Lookup474: sp_core::sr25519::Signature
+   * Lookup473: sp_core::sr25519::Signature
    **/
   SpCoreSr25519Signature: '[u8;64]',
   /**
-   * Lookup475: sp_core::ecdsa::Signature
+   * Lookup474: sp_core::ecdsa::Signature
    **/
   SpCoreEcdsaSignature: '[u8;65]',
   /**
-   * Lookup478: frame_system::extensions::check_spec_version::CheckSpecVersion<T>
+   * Lookup477: frame_system::extensions::check_spec_version::CheckSpecVersion<T>
    **/
   FrameSystemExtensionsCheckSpecVersion: 'Null',
   /**
-   * Lookup479: frame_system::extensions::check_tx_version::CheckTxVersion<T>
+   * Lookup478: frame_system::extensions::check_tx_version::CheckTxVersion<T>
    **/
   FrameSystemExtensionsCheckTxVersion: 'Null',
   /**
-   * Lookup480: frame_system::extensions::check_genesis::CheckGenesis<T>
+   * Lookup479: frame_system::extensions::check_genesis::CheckGenesis<T>
    **/
   FrameSystemExtensionsCheckGenesis: 'Null',
   /**
-   * Lookup483: frame_system::extensions::check_nonce::CheckNonce<T>
+   * Lookup482: frame_system::extensions::check_nonce::CheckNonce<T>
    **/
   FrameSystemExtensionsCheckNonce: 'Compact<u32>',
   /**
-   * Lookup484: frame_system::extensions::check_weight::CheckWeight<T>
+   * Lookup483: frame_system::extensions::check_weight::CheckWeight<T>
    **/
   FrameSystemExtensionsCheckWeight: 'Null',
   /**
-   * Lookup485: opal_runtime::runtime_common::maintenance::CheckMaintenance
+   * Lookup484: opal_runtime::runtime_common::maintenance::CheckMaintenance
    **/
   OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance: 'Null',
   /**
-   * Lookup486: pallet_template_transaction_payment::ChargeTransactionPayment<opal_runtime::Runtime>
+   * Lookup485: pallet_template_transaction_payment::ChargeTransactionPayment<opal_runtime::Runtime>
    **/
   PalletTemplateTransactionPaymentChargeTransactionPayment: 'Compact<u128>',
   /**
-   * Lookup487: opal_runtime::Runtime
+   * Lookup486: opal_runtime::Runtime
    **/
   OpalRuntimeRuntime: 'Null',
   /**
-   * Lookup488: pallet_ethereum::FakeTransactionFinalizer<opal_runtime::Runtime>
+   * Lookup487: pallet_ethereum::FakeTransactionFinalizer<opal_runtime::Runtime>
    **/
   PalletEthereumFakeTransactionFinalizer: 'Null'
 };
modifiedtests/src/interfaces/registry.tsdiffbeforeafterboth
--- a/tests/src/interfaces/registry.ts
+++ b/tests/src/interfaces/registry.ts
@@ -5,7 +5,7 @@
 // this is required to allow for ambient/previous definitions
 import '@polkadot/types/types/registry';
 
-import type { CumulusPalletDmpQueueCall, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueueError, CumulusPalletDmpQueueEvent, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCall, CumulusPalletParachainSystemError, CumulusPalletParachainSystemEvent, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmCall, CumulusPalletXcmError, CumulusPalletXcmEvent, CumulusPalletXcmpQueueCall, CumulusPalletXcmpQueueError, CumulusPalletXcmpQueueEvent, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueInboundState, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueOutboundState, CumulusPalletXcmpQueueQueueConfigData, CumulusPrimitivesParachainInherentParachainInherentData, EthbloomBloom, EthereumBlock, EthereumHeader, EthereumLog, EthereumReceiptEip658ReceiptData, EthereumReceiptReceiptV3, EthereumTransactionAccessListItem, EthereumTransactionEip1559Transaction, EthereumTransactionEip2930Transaction, EthereumTransactionLegacyTransaction, EthereumTransactionTransactionAction, EthereumTransactionTransactionSignature, EthereumTransactionTransactionV2, EthereumTypesHashH64, EvmCoreErrorExitError, EvmCoreErrorExitFatal, EvmCoreErrorExitReason, EvmCoreErrorExitRevert, EvmCoreErrorExitSucceed, FpRpcTransactionStatus, FrameSupportDispatchDispatchClass, FrameSupportDispatchDispatchInfo, FrameSupportDispatchPays, FrameSupportDispatchPerDispatchClassU32, FrameSupportDispatchPerDispatchClassWeight, FrameSupportDispatchPerDispatchClassWeightsPerClass, FrameSupportPalletId, FrameSupportTokensMiscBalanceStatus, FrameSystemAccountInfo, FrameSystemCall, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckNonce, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckTxVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, OpalRuntimeRuntime, OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance, OrmlTokensAccountData, OrmlTokensBalanceLock, OrmlTokensModuleCall, OrmlTokensModuleError, OrmlTokensModuleEvent, OrmlTokensReserveData, OrmlVestingModuleCall, OrmlVestingModuleError, OrmlVestingModuleEvent, OrmlVestingVestingSchedule, OrmlXtokensModuleCall, OrmlXtokensModuleError, OrmlXtokensModuleEvent, PalletAppPromotionCall, PalletAppPromotionError, PalletAppPromotionEvent, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesReasons, PalletBalancesReleases, PalletBalancesReserveData, PalletCommonError, PalletCommonEvent, PalletConfigurationAppPromotionConfiguration, PalletConfigurationCall, PalletConfigurationError, PalletEthereumCall, PalletEthereumError, PalletEthereumEvent, PalletEthereumFakeTransactionFinalizer, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmCall, PalletEvmCoderSubstrateError, PalletEvmContractHelpersError, PalletEvmContractHelpersEvent, PalletEvmContractHelpersSponsoringModeT, PalletEvmError, PalletEvmEvent, PalletEvmMigrationCall, PalletEvmMigrationError, PalletEvmMigrationEvent, PalletForeignAssetsAssetIds, PalletForeignAssetsModuleAssetMetadata, PalletForeignAssetsModuleCall, PalletForeignAssetsModuleError, PalletForeignAssetsModuleEvent, PalletForeignAssetsNativeCurrency, PalletFungibleError, PalletInflationCall, PalletMaintenanceCall, PalletMaintenanceError, PalletMaintenanceEvent, PalletNonfungibleError, PalletNonfungibleItemData, PalletRefungibleError, PalletRefungibleItemData, PalletRmrkCoreCall, PalletRmrkCoreError, PalletRmrkCoreEvent, PalletRmrkEquipCall, PalletRmrkEquipError, PalletRmrkEquipEvent, PalletStructureCall, PalletStructureError, PalletStructureEvent, PalletSudoCall, PalletSudoError, PalletSudoEvent, PalletTemplateTransactionPaymentCall, PalletTemplateTransactionPaymentChargeTransactionPayment, PalletTestUtilsCall, PalletTestUtilsError, PalletTestUtilsEvent, PalletTimestampCall, PalletTransactionPaymentEvent, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUniqueCall, PalletUniqueError, PalletXcmCall, PalletXcmError, PalletXcmEvent, PhantomTypeUpDataStructs, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2AbridgedHrmpChannel, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, RmrkTraitsBaseBaseInfo, RmrkTraitsCollectionCollectionInfo, RmrkTraitsNftAccountIdOrCollectionNftTuple, RmrkTraitsNftNftChild, RmrkTraitsNftNftInfo, RmrkTraitsNftRoyaltyInfo, RmrkTraitsPartEquippableList, RmrkTraitsPartFixedPart, RmrkTraitsPartPartType, RmrkTraitsPartSlotPart, RmrkTraitsPropertyPropertyInfo, RmrkTraitsResourceBasicResource, RmrkTraitsResourceComposableResource, RmrkTraitsResourceResourceInfo, RmrkTraitsResourceResourceTypes, RmrkTraitsResourceSlotResource, RmrkTraitsTheme, RmrkTraitsThemeThemeProperty, SpCoreEcdsaSignature, SpCoreEd25519Signature, SpCoreSr25519Signature, SpRuntimeArithmeticError, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpRuntimeTransactionalError, SpTrieStorageProof, SpVersionRuntimeVersion, SpWeightsRuntimeDbWeight, SpWeightsWeightV2Weight, UpDataStructsAccessMode, UpDataStructsCollection, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionPermissions, UpDataStructsCollectionStats, UpDataStructsCreateCollectionData, UpDataStructsCreateFungibleData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsCreateNftData, UpDataStructsCreateNftExData, UpDataStructsCreateReFungibleData, UpDataStructsCreateRefungibleExMultipleOwners, UpDataStructsCreateRefungibleExSingleOwner, UpDataStructsNestingPermissions, UpDataStructsOwnerRestrictedSet, UpDataStructsProperties, UpDataStructsPropertiesMapBoundedVec, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, UpDataStructsPropertyPermission, UpDataStructsPropertyScope, UpDataStructsRpcCollection, UpDataStructsRpcCollectionFlags, UpDataStructsSponsoringRateLimit, UpDataStructsSponsorshipStateAccountId32, UpDataStructsSponsorshipStateBasicCrossAccountIdRepr, UpDataStructsTokenChild, UpDataStructsTokenData, XcmDoubleEncoded, XcmV0Junction, XcmV0JunctionBodyId, XcmV0JunctionBodyPart, XcmV0JunctionNetworkId, XcmV0MultiAsset, XcmV0MultiLocation, XcmV0Order, XcmV0OriginKind, XcmV0Response, XcmV0Xcm, XcmV1Junction, XcmV1MultiAsset, XcmV1MultiLocation, XcmV1MultiassetAssetId, XcmV1MultiassetAssetInstance, XcmV1MultiassetFungibility, XcmV1MultiassetMultiAssetFilter, XcmV1MultiassetMultiAssets, XcmV1MultiassetWildFungibility, XcmV1MultiassetWildMultiAsset, XcmV1MultilocationJunctions, XcmV1Order, XcmV1Response, XcmV1Xcm, XcmV2Instruction, XcmV2Response, XcmV2TraitsError, XcmV2TraitsOutcome, XcmV2WeightLimit, XcmV2Xcm, XcmVersionedMultiAsset, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from '@polkadot/types/lookup';
+import type { CumulusPalletDmpQueueCall, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueueError, CumulusPalletDmpQueueEvent, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCall, CumulusPalletParachainSystemError, CumulusPalletParachainSystemEvent, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmCall, CumulusPalletXcmError, CumulusPalletXcmEvent, CumulusPalletXcmpQueueCall, CumulusPalletXcmpQueueError, CumulusPalletXcmpQueueEvent, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueInboundState, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueOutboundState, CumulusPalletXcmpQueueQueueConfigData, CumulusPrimitivesParachainInherentParachainInherentData, EthbloomBloom, EthereumBlock, EthereumHeader, EthereumLog, EthereumReceiptEip658ReceiptData, EthereumReceiptReceiptV3, EthereumTransactionAccessListItem, EthereumTransactionEip1559Transaction, EthereumTransactionEip2930Transaction, EthereumTransactionLegacyTransaction, EthereumTransactionTransactionAction, EthereumTransactionTransactionSignature, EthereumTransactionTransactionV2, EthereumTypesHashH64, EvmCoreErrorExitError, EvmCoreErrorExitFatal, EvmCoreErrorExitReason, EvmCoreErrorExitRevert, EvmCoreErrorExitSucceed, FpRpcTransactionStatus, FrameSupportDispatchDispatchClass, FrameSupportDispatchDispatchInfo, FrameSupportDispatchPays, FrameSupportDispatchPerDispatchClassU32, FrameSupportDispatchPerDispatchClassWeight, FrameSupportDispatchPerDispatchClassWeightsPerClass, FrameSupportPalletId, FrameSupportTokensMiscBalanceStatus, FrameSystemAccountInfo, FrameSystemCall, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckNonce, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckTxVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, OpalRuntimeRuntime, OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance, OrmlTokensAccountData, OrmlTokensBalanceLock, OrmlTokensModuleCall, OrmlTokensModuleError, OrmlTokensModuleEvent, OrmlTokensReserveData, OrmlVestingModuleCall, OrmlVestingModuleError, OrmlVestingModuleEvent, OrmlVestingVestingSchedule, OrmlXtokensModuleCall, OrmlXtokensModuleError, OrmlXtokensModuleEvent, PalletAppPromotionCall, PalletAppPromotionError, PalletAppPromotionEvent, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesReasons, PalletBalancesReserveData, PalletCommonError, PalletCommonEvent, PalletConfigurationAppPromotionConfiguration, PalletConfigurationCall, PalletConfigurationError, PalletEthereumCall, PalletEthereumError, PalletEthereumEvent, PalletEthereumFakeTransactionFinalizer, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmCall, PalletEvmCoderSubstrateError, PalletEvmContractHelpersError, PalletEvmContractHelpersEvent, PalletEvmContractHelpersSponsoringModeT, PalletEvmError, PalletEvmEvent, PalletEvmMigrationCall, PalletEvmMigrationError, PalletEvmMigrationEvent, PalletForeignAssetsAssetIds, PalletForeignAssetsModuleAssetMetadata, PalletForeignAssetsModuleCall, PalletForeignAssetsModuleError, PalletForeignAssetsModuleEvent, PalletForeignAssetsNativeCurrency, PalletFungibleError, PalletInflationCall, PalletMaintenanceCall, PalletMaintenanceError, PalletMaintenanceEvent, PalletNonfungibleError, PalletNonfungibleItemData, PalletRefungibleError, PalletRefungibleItemData, PalletRmrkCoreCall, PalletRmrkCoreError, PalletRmrkCoreEvent, PalletRmrkEquipCall, PalletRmrkEquipError, PalletRmrkEquipEvent, PalletStructureCall, PalletStructureError, PalletStructureEvent, PalletSudoCall, PalletSudoError, PalletSudoEvent, PalletTemplateTransactionPaymentCall, PalletTemplateTransactionPaymentChargeTransactionPayment, PalletTestUtilsCall, PalletTestUtilsError, PalletTestUtilsEvent, PalletTimestampCall, PalletTransactionPaymentEvent, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUniqueCall, PalletUniqueError, PalletXcmCall, PalletXcmError, PalletXcmEvent, PhantomTypeUpDataStructs, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2AbridgedHrmpChannel, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, RmrkTraitsBaseBaseInfo, RmrkTraitsCollectionCollectionInfo, RmrkTraitsNftAccountIdOrCollectionNftTuple, RmrkTraitsNftNftChild, RmrkTraitsNftNftInfo, RmrkTraitsNftRoyaltyInfo, RmrkTraitsPartEquippableList, RmrkTraitsPartFixedPart, RmrkTraitsPartPartType, RmrkTraitsPartSlotPart, RmrkTraitsPropertyPropertyInfo, RmrkTraitsResourceBasicResource, RmrkTraitsResourceComposableResource, RmrkTraitsResourceResourceInfo, RmrkTraitsResourceResourceTypes, RmrkTraitsResourceSlotResource, RmrkTraitsTheme, RmrkTraitsThemeThemeProperty, SpCoreEcdsaSignature, SpCoreEd25519Signature, SpCoreSr25519Signature, SpRuntimeArithmeticError, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpRuntimeTransactionalError, SpTrieStorageProof, SpVersionRuntimeVersion, SpWeightsRuntimeDbWeight, SpWeightsWeightV2Weight, UpDataStructsAccessMode, UpDataStructsCollection, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionPermissions, UpDataStructsCollectionStats, UpDataStructsCreateCollectionData, UpDataStructsCreateFungibleData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsCreateNftData, UpDataStructsCreateNftExData, UpDataStructsCreateReFungibleData, UpDataStructsCreateRefungibleExMultipleOwners, UpDataStructsCreateRefungibleExSingleOwner, UpDataStructsNestingPermissions, UpDataStructsOwnerRestrictedSet, UpDataStructsProperties, UpDataStructsPropertiesMapBoundedVec, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, UpDataStructsPropertyPermission, UpDataStructsPropertyScope, UpDataStructsRpcCollection, UpDataStructsRpcCollectionFlags, UpDataStructsSponsoringRateLimit, UpDataStructsSponsorshipStateAccountId32, UpDataStructsSponsorshipStateBasicCrossAccountIdRepr, UpDataStructsTokenChild, UpDataStructsTokenData, XcmDoubleEncoded, XcmV0Junction, XcmV0JunctionBodyId, XcmV0JunctionBodyPart, XcmV0JunctionNetworkId, XcmV0MultiAsset, XcmV0MultiLocation, XcmV0Order, XcmV0OriginKind, XcmV0Response, XcmV0Xcm, XcmV1Junction, XcmV1MultiAsset, XcmV1MultiLocation, XcmV1MultiassetAssetId, XcmV1MultiassetAssetInstance, XcmV1MultiassetFungibility, XcmV1MultiassetMultiAssetFilter, XcmV1MultiassetMultiAssets, XcmV1MultiassetWildFungibility, XcmV1MultiassetWildMultiAsset, XcmV1MultilocationJunctions, XcmV1Order, XcmV1Response, XcmV1Xcm, XcmV2Instruction, XcmV2Response, XcmV2TraitsError, XcmV2TraitsOutcome, XcmV2WeightLimit, XcmV2Xcm, XcmVersionedMultiAsset, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from '@polkadot/types/lookup';
 
 declare module '@polkadot/types/types/registry' {
   interface InterfaceTypes {
@@ -97,7 +97,6 @@
     PalletBalancesError: PalletBalancesError;
     PalletBalancesEvent: PalletBalancesEvent;
     PalletBalancesReasons: PalletBalancesReasons;
-    PalletBalancesReleases: PalletBalancesReleases;
     PalletBalancesReserveData: PalletBalancesReserveData;
     PalletCommonError: PalletCommonError;
     PalletCommonEvent: PalletCommonEvent;
modifiedtests/src/interfaces/types-lookup.tsdiffbeforeafterboth
14881488
1489 /** @name FrameSystemCall (125) */1489 /** @name FrameSystemCall (125) */
1490 interface FrameSystemCall extends Enum {1490 interface FrameSystemCall extends Enum {
1491 readonly isFillBlock: boolean;
1492 readonly asFillBlock: {
1493 readonly ratio: Perbill;
1494 } & Struct;
1495 readonly isRemark: boolean;1491 readonly isRemark: boolean;
1496 readonly asRemark: {1492 readonly asRemark: {
1497 readonly remark: Bytes;1493 readonly remark: Bytes;
1525 readonly asRemarkWithEvent: {1521 readonly asRemarkWithEvent: {
1526 readonly remark: Bytes;1522 readonly remark: Bytes;
1527 } & Struct;1523 } & Struct;
1528 readonly type: 'FillBlock' | 'Remark' | 'SetHeapPages' | 'SetCode' | 'SetCodeWithoutChecks' | 'SetStorage' | 'KillStorage' | 'KillPrefix' | 'RemarkWithEvent';1524 readonly type: 'Remark' | 'SetHeapPages' | 'SetCode' | 'SetCodeWithoutChecks' | 'SetStorage' | 'KillStorage' | 'KillPrefix' | 'RemarkWithEvent';
1529 }1525 }
15301526
1531 /** @name FrameSystemLimitsBlockWeights (130) */1527 /** @name FrameSystemLimitsBlockWeights (129) */
1532 interface FrameSystemLimitsBlockWeights extends Struct {1528 interface FrameSystemLimitsBlockWeights extends Struct {
1533 readonly baseBlock: SpWeightsWeightV2Weight;1529 readonly baseBlock: SpWeightsWeightV2Weight;
1534 readonly maxBlock: SpWeightsWeightV2Weight;1530 readonly maxBlock: SpWeightsWeightV2Weight;
1535 readonly perClass: FrameSupportDispatchPerDispatchClassWeightsPerClass;1531 readonly perClass: FrameSupportDispatchPerDispatchClassWeightsPerClass;
1536 }1532 }
15371533
1538 /** @name FrameSupportDispatchPerDispatchClassWeightsPerClass (131) */1534 /** @name FrameSupportDispatchPerDispatchClassWeightsPerClass (130) */
1539 interface FrameSupportDispatchPerDispatchClassWeightsPerClass extends Struct {1535 interface FrameSupportDispatchPerDispatchClassWeightsPerClass extends Struct {
1540 readonly normal: FrameSystemLimitsWeightsPerClass;1536 readonly normal: FrameSystemLimitsWeightsPerClass;
1541 readonly operational: FrameSystemLimitsWeightsPerClass;1537 readonly operational: FrameSystemLimitsWeightsPerClass;
1542 readonly mandatory: FrameSystemLimitsWeightsPerClass;1538 readonly mandatory: FrameSystemLimitsWeightsPerClass;
1543 }1539 }
15441540
1545 /** @name FrameSystemLimitsWeightsPerClass (132) */1541 /** @name FrameSystemLimitsWeightsPerClass (131) */
1546 interface FrameSystemLimitsWeightsPerClass extends Struct {1542 interface FrameSystemLimitsWeightsPerClass extends Struct {
1547 readonly baseExtrinsic: SpWeightsWeightV2Weight;1543 readonly baseExtrinsic: SpWeightsWeightV2Weight;
1548 readonly maxExtrinsic: Option<SpWeightsWeightV2Weight>;1544 readonly maxExtrinsic: Option<SpWeightsWeightV2Weight>;
1549 readonly maxTotal: Option<SpWeightsWeightV2Weight>;1545 readonly maxTotal: Option<SpWeightsWeightV2Weight>;
1550 readonly reserved: Option<SpWeightsWeightV2Weight>;1546 readonly reserved: Option<SpWeightsWeightV2Weight>;
1551 }1547 }
15521548
1553 /** @name FrameSystemLimitsBlockLength (134) */1549 /** @name FrameSystemLimitsBlockLength (133) */
1554 interface FrameSystemLimitsBlockLength extends Struct {1550 interface FrameSystemLimitsBlockLength extends Struct {
1555 readonly max: FrameSupportDispatchPerDispatchClassU32;1551 readonly max: FrameSupportDispatchPerDispatchClassU32;
1556 }1552 }
15571553
1558 /** @name FrameSupportDispatchPerDispatchClassU32 (135) */1554 /** @name FrameSupportDispatchPerDispatchClassU32 (134) */
1559 interface FrameSupportDispatchPerDispatchClassU32 extends Struct {1555 interface FrameSupportDispatchPerDispatchClassU32 extends Struct {
1560 readonly normal: u32;1556 readonly normal: u32;
1561 readonly operational: u32;1557 readonly operational: u32;
1562 readonly mandatory: u32;1558 readonly mandatory: u32;
1563 }1559 }
15641560
1565 /** @name SpWeightsRuntimeDbWeight (136) */1561 /** @name SpWeightsRuntimeDbWeight (135) */
1566 interface SpWeightsRuntimeDbWeight extends Struct {1562 interface SpWeightsRuntimeDbWeight extends Struct {
1567 readonly read: u64;1563 readonly read: u64;
1568 readonly write: u64;1564 readonly write: u64;
1569 }1565 }
15701566
1571 /** @name SpVersionRuntimeVersion (137) */1567 /** @name SpVersionRuntimeVersion (136) */
1572 interface SpVersionRuntimeVersion extends Struct {1568 interface SpVersionRuntimeVersion extends Struct {
1573 readonly specName: Text;1569 readonly specName: Text;
1574 readonly implName: Text;1570 readonly implName: Text;
1580 readonly stateVersion: u8;1576 readonly stateVersion: u8;
1581 }1577 }
15821578
1583 /** @name FrameSystemError (142) */1579 /** @name FrameSystemError (141) */
1584 interface FrameSystemError extends Enum {1580 interface FrameSystemError extends Enum {
1585 readonly isInvalidSpecName: boolean;1581 readonly isInvalidSpecName: boolean;
1586 readonly isSpecVersionNeedsToIncrease: boolean;1582 readonly isSpecVersionNeedsToIncrease: boolean;
1591 readonly type: 'InvalidSpecName' | 'SpecVersionNeedsToIncrease' | 'FailedToExtractRuntimeVersion' | 'NonDefaultComposite' | 'NonZeroRefCount' | 'CallFiltered';1587 readonly type: 'InvalidSpecName' | 'SpecVersionNeedsToIncrease' | 'FailedToExtractRuntimeVersion' | 'NonDefaultComposite' | 'NonZeroRefCount' | 'CallFiltered';
1592 }1588 }
15931589
1594 /** @name PolkadotPrimitivesV2PersistedValidationData (143) */1590 /** @name PolkadotPrimitivesV2PersistedValidationData (142) */
1595 interface PolkadotPrimitivesV2PersistedValidationData extends Struct {1591 interface PolkadotPrimitivesV2PersistedValidationData extends Struct {
1596 readonly parentHead: Bytes;1592 readonly parentHead: Bytes;
1597 readonly relayParentNumber: u32;1593 readonly relayParentNumber: u32;
1598 readonly relayParentStorageRoot: H256;1594 readonly relayParentStorageRoot: H256;
1599 readonly maxPovSize: u32;1595 readonly maxPovSize: u32;
1600 }1596 }
16011597
1602 /** @name PolkadotPrimitivesV2UpgradeRestriction (146) */1598 /** @name PolkadotPrimitivesV2UpgradeRestriction (145) */
1603 interface PolkadotPrimitivesV2UpgradeRestriction extends Enum {1599 interface PolkadotPrimitivesV2UpgradeRestriction extends Enum {
1604 readonly isPresent: boolean;1600 readonly isPresent: boolean;
1605 readonly type: 'Present';1601 readonly type: 'Present';
1606 }1602 }
16071603
1608 /** @name SpTrieStorageProof (147) */1604 /** @name SpTrieStorageProof (146) */
1609 interface SpTrieStorageProof extends Struct {1605 interface SpTrieStorageProof extends Struct {
1610 readonly trieNodes: BTreeSet<Bytes>;1606 readonly trieNodes: BTreeSet<Bytes>;
1611 }1607 }
16121608
1613 /** @name CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot (149) */1609 /** @name CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot (148) */
1614 interface CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot extends Struct {1610 interface CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot extends Struct {
1615 readonly dmqMqcHead: H256;1611 readonly dmqMqcHead: H256;
1616 readonly relayDispatchQueueSize: ITuple<[u32, u32]>;1612 readonly relayDispatchQueueSize: ITuple<[u32, u32]>;
1617 readonly ingressChannels: Vec<ITuple<[u32, PolkadotPrimitivesV2AbridgedHrmpChannel]>>;1613 readonly ingressChannels: Vec<ITuple<[u32, PolkadotPrimitivesV2AbridgedHrmpChannel]>>;
1618 readonly egressChannels: Vec<ITuple<[u32, PolkadotPrimitivesV2AbridgedHrmpChannel]>>;1614 readonly egressChannels: Vec<ITuple<[u32, PolkadotPrimitivesV2AbridgedHrmpChannel]>>;
1619 }1615 }
16201616
1621 /** @name PolkadotPrimitivesV2AbridgedHrmpChannel (152) */1617 /** @name PolkadotPrimitivesV2AbridgedHrmpChannel (151) */
1622 interface PolkadotPrimitivesV2AbridgedHrmpChannel extends Struct {1618 interface PolkadotPrimitivesV2AbridgedHrmpChannel extends Struct {
1623 readonly maxCapacity: u32;1619 readonly maxCapacity: u32;
1624 readonly maxTotalSize: u32;1620 readonly maxTotalSize: u32;
1628 readonly mqcHead: Option<H256>;1624 readonly mqcHead: Option<H256>;
1629 }1625 }
16301626
1631 /** @name PolkadotPrimitivesV2AbridgedHostConfiguration (153) */1627 /** @name PolkadotPrimitivesV2AbridgedHostConfiguration (152) */
1632 interface PolkadotPrimitivesV2AbridgedHostConfiguration extends Struct {1628 interface PolkadotPrimitivesV2AbridgedHostConfiguration extends Struct {
1633 readonly maxCodeSize: u32;1629 readonly maxCodeSize: u32;
1634 readonly maxHeadDataSize: u32;1630 readonly maxHeadDataSize: u32;
1641 readonly validationUpgradeDelay: u32;1637 readonly validationUpgradeDelay: u32;
1642 }1638 }
16431639
1644 /** @name PolkadotCorePrimitivesOutboundHrmpMessage (159) */1640 /** @name PolkadotCorePrimitivesOutboundHrmpMessage (158) */
1645 interface PolkadotCorePrimitivesOutboundHrmpMessage extends Struct {1641 interface PolkadotCorePrimitivesOutboundHrmpMessage extends Struct {
1646 readonly recipient: u32;1642 readonly recipient: u32;
1647 readonly data: Bytes;1643 readonly data: Bytes;
1648 }1644 }
16491645
1650 /** @name CumulusPalletParachainSystemCall (160) */1646 /** @name CumulusPalletParachainSystemCall (159) */
1651 interface CumulusPalletParachainSystemCall extends Enum {1647 interface CumulusPalletParachainSystemCall extends Enum {
1652 readonly isSetValidationData: boolean;1648 readonly isSetValidationData: boolean;
1653 readonly asSetValidationData: {1649 readonly asSetValidationData: {
1668 readonly type: 'SetValidationData' | 'SudoSendUpwardMessage' | 'AuthorizeUpgrade' | 'EnactAuthorizedUpgrade';1664 readonly type: 'SetValidationData' | 'SudoSendUpwardMessage' | 'AuthorizeUpgrade' | 'EnactAuthorizedUpgrade';
1669 }1665 }
16701666
1671 /** @name CumulusPrimitivesParachainInherentParachainInherentData (161) */1667 /** @name CumulusPrimitivesParachainInherentParachainInherentData (160) */
1672 interface CumulusPrimitivesParachainInherentParachainInherentData extends Struct {1668 interface CumulusPrimitivesParachainInherentParachainInherentData extends Struct {
1673 readonly validationData: PolkadotPrimitivesV2PersistedValidationData;1669 readonly validationData: PolkadotPrimitivesV2PersistedValidationData;
1674 readonly relayChainState: SpTrieStorageProof;1670 readonly relayChainState: SpTrieStorageProof;
1675 readonly downwardMessages: Vec<PolkadotCorePrimitivesInboundDownwardMessage>;1671 readonly downwardMessages: Vec<PolkadotCorePrimitivesInboundDownwardMessage>;
1676 readonly horizontalMessages: BTreeMap<u32, Vec<PolkadotCorePrimitivesInboundHrmpMessage>>;1672 readonly horizontalMessages: BTreeMap<u32, Vec<PolkadotCorePrimitivesInboundHrmpMessage>>;
1677 }1673 }
16781674
1679 /** @name PolkadotCorePrimitivesInboundDownwardMessage (163) */1675 /** @name PolkadotCorePrimitivesInboundDownwardMessage (162) */
1680 interface PolkadotCorePrimitivesInboundDownwardMessage extends Struct {1676 interface PolkadotCorePrimitivesInboundDownwardMessage extends Struct {
1681 readonly sentAt: u32;1677 readonly sentAt: u32;
1682 readonly msg: Bytes;1678 readonly msg: Bytes;
1683 }1679 }
16841680
1685 /** @name PolkadotCorePrimitivesInboundHrmpMessage (166) */1681 /** @name PolkadotCorePrimitivesInboundHrmpMessage (165) */
1686 interface PolkadotCorePrimitivesInboundHrmpMessage extends Struct {1682 interface PolkadotCorePrimitivesInboundHrmpMessage extends Struct {
1687 readonly sentAt: u32;1683 readonly sentAt: u32;
1688 readonly data: Bytes;1684 readonly data: Bytes;
1689 }1685 }
16901686
1691 /** @name CumulusPalletParachainSystemError (169) */1687 /** @name CumulusPalletParachainSystemError (168) */
1692 interface CumulusPalletParachainSystemError extends Enum {1688 interface CumulusPalletParachainSystemError extends Enum {
1693 readonly isOverlappingUpgrades: boolean;1689 readonly isOverlappingUpgrades: boolean;
1694 readonly isProhibitedByPolkadot: boolean;1690 readonly isProhibitedByPolkadot: boolean;
1701 readonly type: 'OverlappingUpgrades' | 'ProhibitedByPolkadot' | 'TooBig' | 'ValidationDataNotAvailable' | 'HostConfigurationNotAvailable' | 'NotScheduled' | 'NothingAuthorized' | 'Unauthorized';1697 readonly type: 'OverlappingUpgrades' | 'ProhibitedByPolkadot' | 'TooBig' | 'ValidationDataNotAvailable' | 'HostConfigurationNotAvailable' | 'NotScheduled' | 'NothingAuthorized' | 'Unauthorized';
1702 }1698 }
17031699
1704 /** @name PalletBalancesBalanceLock (171) */1700 /** @name PalletBalancesBalanceLock (170) */
1705 interface PalletBalancesBalanceLock extends Struct {1701 interface PalletBalancesBalanceLock extends Struct {
1706 readonly id: U8aFixed;1702 readonly id: U8aFixed;
1707 readonly amount: u128;1703 readonly amount: u128;
1708 readonly reasons: PalletBalancesReasons;1704 readonly reasons: PalletBalancesReasons;
1709 }1705 }
17101706
1711 /** @name PalletBalancesReasons (172) */1707 /** @name PalletBalancesReasons (171) */
1712 interface PalletBalancesReasons extends Enum {1708 interface PalletBalancesReasons extends Enum {
1713 readonly isFee: boolean;1709 readonly isFee: boolean;
1714 readonly isMisc: boolean;1710 readonly isMisc: boolean;
1715 readonly isAll: boolean;1711 readonly isAll: boolean;
1716 readonly type: 'Fee' | 'Misc' | 'All';1712 readonly type: 'Fee' | 'Misc' | 'All';
1717 }1713 }
17181714
1719 /** @name PalletBalancesReserveData (175) */1715 /** @name PalletBalancesReserveData (174) */
1720 interface PalletBalancesReserveData extends Struct {1716 interface PalletBalancesReserveData extends Struct {
1721 readonly id: U8aFixed;1717 readonly id: U8aFixed;
1722 readonly amount: u128;1718 readonly amount: u128;
1723 }1719 }
1724
1725 /** @name PalletBalancesReleases (177) */
1726 interface PalletBalancesReleases extends Enum {
1727 readonly isV100: boolean;
1728 readonly isV200: boolean;
1729 readonly type: 'V100' | 'V200';
1730 }
17311720
1732 /** @name PalletBalancesCall (178) */1721 /** @name PalletBalancesCall (176) */
1733 interface PalletBalancesCall extends Enum {1722 interface PalletBalancesCall extends Enum {
1734 readonly isTransfer: boolean;1723 readonly isTransfer: boolean;
1735 readonly asTransfer: {1724 readonly asTransfer: {
1766 readonly type: 'Transfer' | 'SetBalance' | 'ForceTransfer' | 'TransferKeepAlive' | 'TransferAll' | 'ForceUnreserve';1755 readonly type: 'Transfer' | 'SetBalance' | 'ForceTransfer' | 'TransferKeepAlive' | 'TransferAll' | 'ForceUnreserve';
1767 }1756 }
17681757
1769 /** @name PalletBalancesError (181) */1758 /** @name PalletBalancesError (179) */
1770 interface PalletBalancesError extends Enum {1759 interface PalletBalancesError extends Enum {
1771 readonly isVestingBalance: boolean;1760 readonly isVestingBalance: boolean;
1772 readonly isLiquidityRestrictions: boolean;1761 readonly isLiquidityRestrictions: boolean;
1779 readonly type: 'VestingBalance' | 'LiquidityRestrictions' | 'InsufficientBalance' | 'ExistentialDeposit' | 'KeepAlive' | 'ExistingVestingSchedule' | 'DeadAccount' | 'TooManyReserves';1768 readonly type: 'VestingBalance' | 'LiquidityRestrictions' | 'InsufficientBalance' | 'ExistentialDeposit' | 'KeepAlive' | 'ExistingVestingSchedule' | 'DeadAccount' | 'TooManyReserves';
1780 }1769 }
17811770
1782 /** @name PalletTimestampCall (183) */1771 /** @name PalletTimestampCall (181) */
1783 interface PalletTimestampCall extends Enum {1772 interface PalletTimestampCall extends Enum {
1784 readonly isSet: boolean;1773 readonly isSet: boolean;
1785 readonly asSet: {1774 readonly asSet: {
1788 readonly type: 'Set';1777 readonly type: 'Set';
1789 }1778 }
17901779
1791 /** @name PalletTransactionPaymentReleases (185) */1780 /** @name PalletTransactionPaymentReleases (183) */
1792 interface PalletTransactionPaymentReleases extends Enum {1781 interface PalletTransactionPaymentReleases extends Enum {
1793 readonly isV1Ancient: boolean;1782 readonly isV1Ancient: boolean;
1794 readonly isV2: boolean;1783 readonly isV2: boolean;
1795 readonly type: 'V1Ancient' | 'V2';1784 readonly type: 'V1Ancient' | 'V2';
1796 }1785 }
17971786
1798 /** @name PalletTreasuryProposal (186) */1787 /** @name PalletTreasuryProposal (184) */
1799 interface PalletTreasuryProposal extends Struct {1788 interface PalletTreasuryProposal extends Struct {
1800 readonly proposer: AccountId32;1789 readonly proposer: AccountId32;
1801 readonly value: u128;1790 readonly value: u128;
1802 readonly beneficiary: AccountId32;1791 readonly beneficiary: AccountId32;
1803 readonly bond: u128;1792 readonly bond: u128;
1804 }1793 }
18051794
1806 /** @name PalletTreasuryCall (189) */1795 /** @name PalletTreasuryCall (187) */
1807 interface PalletTreasuryCall extends Enum {1796 interface PalletTreasuryCall extends Enum {
1808 readonly isProposeSpend: boolean;1797 readonly isProposeSpend: boolean;
1809 readonly asProposeSpend: {1798 readonly asProposeSpend: {
1830 readonly type: 'ProposeSpend' | 'RejectProposal' | 'ApproveProposal' | 'Spend' | 'RemoveApproval';1819 readonly type: 'ProposeSpend' | 'RejectProposal' | 'ApproveProposal' | 'Spend' | 'RemoveApproval';
1831 }1820 }
18321821
1833 /** @name FrameSupportPalletId (192) */1822 /** @name FrameSupportPalletId (190) */
1834 interface FrameSupportPalletId extends U8aFixed {}1823 interface FrameSupportPalletId extends U8aFixed {}
18351824
1836 /** @name PalletTreasuryError (193) */1825 /** @name PalletTreasuryError (191) */
1837 interface PalletTreasuryError extends Enum {1826 interface PalletTreasuryError extends Enum {
1838 readonly isInsufficientProposersBalance: boolean;1827 readonly isInsufficientProposersBalance: boolean;
1839 readonly isInvalidIndex: boolean;1828 readonly isInvalidIndex: boolean;
1843 readonly type: 'InsufficientProposersBalance' | 'InvalidIndex' | 'TooManyApprovals' | 'InsufficientPermission' | 'ProposalNotApproved';1832 readonly type: 'InsufficientProposersBalance' | 'InvalidIndex' | 'TooManyApprovals' | 'InsufficientPermission' | 'ProposalNotApproved';
1844 }1833 }
18451834
1846 /** @name PalletSudoCall (194) */1835 /** @name PalletSudoCall (192) */
1847 interface PalletSudoCall extends Enum {1836 interface PalletSudoCall extends Enum {
1848 readonly isSudo: boolean;1837 readonly isSudo: boolean;
1849 readonly asSudo: {1838 readonly asSudo: {
1866 readonly type: 'Sudo' | 'SudoUncheckedWeight' | 'SetKey' | 'SudoAs';1855 readonly type: 'Sudo' | 'SudoUncheckedWeight' | 'SetKey' | 'SudoAs';
1867 }1856 }
18681857
1869 /** @name OrmlVestingModuleCall (196) */1858 /** @name OrmlVestingModuleCall (194) */
1870 interface OrmlVestingModuleCall extends Enum {1859 interface OrmlVestingModuleCall extends Enum {
1871 readonly isClaim: boolean;1860 readonly isClaim: boolean;
1872 readonly isVestedTransfer: boolean;1861 readonly isVestedTransfer: boolean;
1886 readonly type: 'Claim' | 'VestedTransfer' | 'UpdateVestingSchedules' | 'ClaimFor';1875 readonly type: 'Claim' | 'VestedTransfer' | 'UpdateVestingSchedules' | 'ClaimFor';
1887 }1876 }
18881877
1889 /** @name OrmlXtokensModuleCall (198) */1878 /** @name OrmlXtokensModuleCall (196) */
1890 interface OrmlXtokensModuleCall extends Enum {1879 interface OrmlXtokensModuleCall extends Enum {
1891 readonly isTransfer: boolean;1880 readonly isTransfer: boolean;
1892 readonly asTransfer: {1881 readonly asTransfer: {
1933 readonly type: 'Transfer' | 'TransferMultiasset' | 'TransferWithFee' | 'TransferMultiassetWithFee' | 'TransferMulticurrencies' | 'TransferMultiassets';1922 readonly type: 'Transfer' | 'TransferMultiasset' | 'TransferWithFee' | 'TransferMultiassetWithFee' | 'TransferMulticurrencies' | 'TransferMultiassets';
1934 }1923 }
19351924
1936 /** @name XcmVersionedMultiAsset (199) */1925 /** @name XcmVersionedMultiAsset (197) */
1937 interface XcmVersionedMultiAsset extends Enum {1926 interface XcmVersionedMultiAsset extends Enum {
1938 readonly isV0: boolean;1927 readonly isV0: boolean;
1939 readonly asV0: XcmV0MultiAsset;1928 readonly asV0: XcmV0MultiAsset;
1942 readonly type: 'V0' | 'V1';1931 readonly type: 'V0' | 'V1';
1943 }1932 }
19441933
1945 /** @name OrmlTokensModuleCall (202) */1934 /** @name OrmlTokensModuleCall (200) */
1946 interface OrmlTokensModuleCall extends Enum {1935 interface OrmlTokensModuleCall extends Enum {
1947 readonly isTransfer: boolean;1936 readonly isTransfer: boolean;
1948 readonly asTransfer: {1937 readonly asTransfer: {
1979 readonly type: 'Transfer' | 'TransferAll' | 'TransferKeepAlive' | 'ForceTransfer' | 'SetBalance';1968 readonly type: 'Transfer' | 'TransferAll' | 'TransferKeepAlive' | 'ForceTransfer' | 'SetBalance';
1980 }1969 }
19811970
1982 /** @name CumulusPalletXcmpQueueCall (203) */1971 /** @name CumulusPalletXcmpQueueCall (201) */
1983 interface CumulusPalletXcmpQueueCall extends Enum {1972 interface CumulusPalletXcmpQueueCall extends Enum {
1984 readonly isServiceOverweight: boolean;1973 readonly isServiceOverweight: boolean;
1985 readonly asServiceOverweight: {1974 readonly asServiceOverweight: {
2015 readonly type: 'ServiceOverweight' | 'SuspendXcmExecution' | 'ResumeXcmExecution' | 'UpdateSuspendThreshold' | 'UpdateDropThreshold' | 'UpdateResumeThreshold' | 'UpdateThresholdWeight' | 'UpdateWeightRestrictDecay' | 'UpdateXcmpMaxIndividualWeight';2004 readonly type: 'ServiceOverweight' | 'SuspendXcmExecution' | 'ResumeXcmExecution' | 'UpdateSuspendThreshold' | 'UpdateDropThreshold' | 'UpdateResumeThreshold' | 'UpdateThresholdWeight' | 'UpdateWeightRestrictDecay' | 'UpdateXcmpMaxIndividualWeight';
2016 }2005 }
20172006
2018 /** @name PalletXcmCall (204) */2007 /** @name PalletXcmCall (202) */
2019 interface PalletXcmCall extends Enum {2008 interface PalletXcmCall extends Enum {
2020 readonly isSend: boolean;2009 readonly isSend: boolean;
2021 readonly asSend: {2010 readonly asSend: {
2077 readonly type: 'Send' | 'TeleportAssets' | 'ReserveTransferAssets' | 'Execute' | 'ForceXcmVersion' | 'ForceDefaultXcmVersion' | 'ForceSubscribeVersionNotify' | 'ForceUnsubscribeVersionNotify' | 'LimitedReserveTransferAssets' | 'LimitedTeleportAssets';2066 readonly type: 'Send' | 'TeleportAssets' | 'ReserveTransferAssets' | 'Execute' | 'ForceXcmVersion' | 'ForceDefaultXcmVersion' | 'ForceSubscribeVersionNotify' | 'ForceUnsubscribeVersionNotify' | 'LimitedReserveTransferAssets' | 'LimitedTeleportAssets';
2078 }2067 }
20792068
2080 /** @name XcmVersionedXcm (205) */2069 /** @name XcmVersionedXcm (203) */
2081 interface XcmVersionedXcm extends Enum {2070 interface XcmVersionedXcm extends Enum {
2082 readonly isV0: boolean;2071 readonly isV0: boolean;
2083 readonly asV0: XcmV0Xcm;2072 readonly asV0: XcmV0Xcm;
2088 readonly type: 'V0' | 'V1' | 'V2';2077 readonly type: 'V0' | 'V1' | 'V2';
2089 }2078 }
20902079
2091 /** @name XcmV0Xcm (206) */2080 /** @name XcmV0Xcm (204) */
2092 interface XcmV0Xcm extends Enum {2081 interface XcmV0Xcm extends Enum {
2093 readonly isWithdrawAsset: boolean;2082 readonly isWithdrawAsset: boolean;
2094 readonly asWithdrawAsset: {2083 readonly asWithdrawAsset: {
2151 readonly type: 'WithdrawAsset' | 'ReserveAssetDeposit' | 'TeleportAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'RelayedFrom';2140 readonly type: 'WithdrawAsset' | 'ReserveAssetDeposit' | 'TeleportAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'RelayedFrom';
2152 }2141 }
21532142
2154 /** @name XcmV0Order (208) */2143 /** @name XcmV0Order (206) */
2155 interface XcmV0Order extends Enum {2144 interface XcmV0Order extends Enum {
2156 readonly isNull: boolean;2145 readonly isNull: boolean;
2157 readonly isDepositAsset: boolean;2146 readonly isDepositAsset: boolean;
2199 readonly type: 'Null' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution';2188 readonly type: 'Null' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution';
2200 }2189 }
22012190
2202 /** @name XcmV0Response (210) */2191 /** @name XcmV0Response (208) */
2203 interface XcmV0Response extends Enum {2192 interface XcmV0Response extends Enum {
2204 readonly isAssets: boolean;2193 readonly isAssets: boolean;
2205 readonly asAssets: Vec<XcmV0MultiAsset>;2194 readonly asAssets: Vec<XcmV0MultiAsset>;
2206 readonly type: 'Assets';2195 readonly type: 'Assets';
2207 }2196 }
22082197
2209 /** @name XcmV1Xcm (211) */2198 /** @name XcmV1Xcm (209) */
2210 interface XcmV1Xcm extends Enum {2199 interface XcmV1Xcm extends Enum {
2211 readonly isWithdrawAsset: boolean;2200 readonly isWithdrawAsset: boolean;
2212 readonly asWithdrawAsset: {2201 readonly asWithdrawAsset: {
2275 readonly type: 'WithdrawAsset' | 'ReserveAssetDeposited' | 'ReceiveTeleportedAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'RelayedFrom' | 'SubscribeVersion' | 'UnsubscribeVersion';2264 readonly type: 'WithdrawAsset' | 'ReserveAssetDeposited' | 'ReceiveTeleportedAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'RelayedFrom' | 'SubscribeVersion' | 'UnsubscribeVersion';
2276 }2265 }
22772266
2278 /** @name XcmV1Order (213) */2267 /** @name XcmV1Order (211) */
2279 interface XcmV1Order extends Enum {2268 interface XcmV1Order extends Enum {
2280 readonly isNoop: boolean;2269 readonly isNoop: boolean;
2281 readonly isDepositAsset: boolean;2270 readonly isDepositAsset: boolean;
2325 readonly type: 'Noop' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution';2314 readonly type: 'Noop' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution';
2326 }2315 }
23272316
2328 /** @name XcmV1Response (215) */2317 /** @name XcmV1Response (213) */
2329 interface XcmV1Response extends Enum {2318 interface XcmV1Response extends Enum {
2330 readonly isAssets: boolean;2319 readonly isAssets: boolean;
2331 readonly asAssets: XcmV1MultiassetMultiAssets;2320 readonly asAssets: XcmV1MultiassetMultiAssets;
2334 readonly type: 'Assets' | 'Version';2323 readonly type: 'Assets' | 'Version';
2335 }2324 }
23362325
2337 /** @name CumulusPalletXcmCall (229) */2326 /** @name CumulusPalletXcmCall (227) */
2338 type CumulusPalletXcmCall = Null;2327 type CumulusPalletXcmCall = Null;
23392328
2340 /** @name CumulusPalletDmpQueueCall (230) */2329 /** @name CumulusPalletDmpQueueCall (228) */
2341 interface CumulusPalletDmpQueueCall extends Enum {2330 interface CumulusPalletDmpQueueCall extends Enum {
2342 readonly isServiceOverweight: boolean;2331 readonly isServiceOverweight: boolean;
2343 readonly asServiceOverweight: {2332 readonly asServiceOverweight: {
2347 readonly type: 'ServiceOverweight';2336 readonly type: 'ServiceOverweight';
2348 }2337 }
23492338
2350 /** @name PalletInflationCall (231) */2339 /** @name PalletInflationCall (229) */
2351 interface PalletInflationCall extends Enum {2340 interface PalletInflationCall extends Enum {
2352 readonly isStartInflation: boolean;2341 readonly isStartInflation: boolean;
2353 readonly asStartInflation: {2342 readonly asStartInflation: {
2356 readonly type: 'StartInflation';2345 readonly type: 'StartInflation';
2357 }2346 }
23582347
2359 /** @name PalletUniqueCall (232) */2348 /** @name PalletUniqueCall (230) */
2360 interface PalletUniqueCall extends Enum {2349 interface PalletUniqueCall extends Enum {
2361 readonly isCreateCollection: boolean;2350 readonly isCreateCollection: boolean;
2362 readonly asCreateCollection: {2351 readonly asCreateCollection: {
2529 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' | 'SetAllowanceForAll' | 'ForceRepairCollection' | 'ForceRepairItem';2518 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' | 'SetAllowanceForAll' | 'ForceRepairCollection' | 'ForceRepairItem';
2530 }2519 }
25312520
2532 /** @name UpDataStructsCollectionMode (237) */2521 /** @name UpDataStructsCollectionMode (235) */
2533 interface UpDataStructsCollectionMode extends Enum {2522 interface UpDataStructsCollectionMode extends Enum {
2534 readonly isNft: boolean;2523 readonly isNft: boolean;
2535 readonly isFungible: boolean;2524 readonly isFungible: boolean;
2538 readonly type: 'Nft' | 'Fungible' | 'ReFungible';2527 readonly type: 'Nft' | 'Fungible' | 'ReFungible';
2539 }2528 }
25402529
2541 /** @name UpDataStructsCreateCollectionData (238) */2530 /** @name UpDataStructsCreateCollectionData (236) */
2542 interface UpDataStructsCreateCollectionData extends Struct {2531 interface UpDataStructsCreateCollectionData extends Struct {
2543 readonly mode: UpDataStructsCollectionMode;2532 readonly mode: UpDataStructsCollectionMode;
2544 readonly access: Option<UpDataStructsAccessMode>;2533 readonly access: Option<UpDataStructsAccessMode>;
2552 readonly properties: Vec<UpDataStructsProperty>;2541 readonly properties: Vec<UpDataStructsProperty>;
2553 }2542 }
25542543
2555 /** @name UpDataStructsAccessMode (240) */2544 /** @name UpDataStructsAccessMode (238) */
2556 interface UpDataStructsAccessMode extends Enum {2545 interface UpDataStructsAccessMode extends Enum {
2557 readonly isNormal: boolean;2546 readonly isNormal: boolean;
2558 readonly isAllowList: boolean;2547 readonly isAllowList: boolean;
2559 readonly type: 'Normal' | 'AllowList';2548 readonly type: 'Normal' | 'AllowList';
2560 }2549 }
25612550
2562 /** @name UpDataStructsCollectionLimits (242) */2551 /** @name UpDataStructsCollectionLimits (240) */
2563 interface UpDataStructsCollectionLimits extends Struct {2552 interface UpDataStructsCollectionLimits extends Struct {
2564 readonly accountTokenOwnershipLimit: Option<u32>;2553 readonly accountTokenOwnershipLimit: Option<u32>;
2565 readonly sponsoredDataSize: Option<u32>;2554 readonly sponsoredDataSize: Option<u32>;
2572 readonly transfersEnabled: Option<bool>;2561 readonly transfersEnabled: Option<bool>;
2573 }2562 }
25742563
2575 /** @name UpDataStructsSponsoringRateLimit (244) */2564 /** @name UpDataStructsSponsoringRateLimit (242) */
2576 interface UpDataStructsSponsoringRateLimit extends Enum {2565 interface UpDataStructsSponsoringRateLimit extends Enum {
2577 readonly isSponsoringDisabled: boolean;2566 readonly isSponsoringDisabled: boolean;
2578 readonly isBlocks: boolean;2567 readonly isBlocks: boolean;
2579 readonly asBlocks: u32;2568 readonly asBlocks: u32;
2580 readonly type: 'SponsoringDisabled' | 'Blocks';2569 readonly type: 'SponsoringDisabled' | 'Blocks';
2581 }2570 }
25822571
2583 /** @name UpDataStructsCollectionPermissions (247) */2572 /** @name UpDataStructsCollectionPermissions (245) */
2584 interface UpDataStructsCollectionPermissions extends Struct {2573 interface UpDataStructsCollectionPermissions extends Struct {
2585 readonly access: Option<UpDataStructsAccessMode>;2574 readonly access: Option<UpDataStructsAccessMode>;
2586 readonly mintMode: Option<bool>;2575 readonly mintMode: Option<bool>;
2587 readonly nesting: Option<UpDataStructsNestingPermissions>;2576 readonly nesting: Option<UpDataStructsNestingPermissions>;
2588 }2577 }
25892578
2590 /** @name UpDataStructsNestingPermissions (249) */2579 /** @name UpDataStructsNestingPermissions (247) */
2591 interface UpDataStructsNestingPermissions extends Struct {2580 interface UpDataStructsNestingPermissions extends Struct {
2592 readonly tokenOwner: bool;2581 readonly tokenOwner: bool;
2593 readonly collectionAdmin: bool;2582 readonly collectionAdmin: bool;
2594 readonly restricted: Option<UpDataStructsOwnerRestrictedSet>;2583 readonly restricted: Option<UpDataStructsOwnerRestrictedSet>;
2595 }2584 }
25962585
2597 /** @name UpDataStructsOwnerRestrictedSet (251) */2586 /** @name UpDataStructsOwnerRestrictedSet (249) */
2598 interface UpDataStructsOwnerRestrictedSet extends BTreeSet<u32> {}2587 interface UpDataStructsOwnerRestrictedSet extends BTreeSet<u32> {}
25992588
2600 /** @name UpDataStructsPropertyKeyPermission (256) */2589 /** @name UpDataStructsPropertyKeyPermission (254) */
2601 interface UpDataStructsPropertyKeyPermission extends Struct {2590 interface UpDataStructsPropertyKeyPermission extends Struct {
2602 readonly key: Bytes;2591 readonly key: Bytes;
2603 readonly permission: UpDataStructsPropertyPermission;2592 readonly permission: UpDataStructsPropertyPermission;
2604 }2593 }
26052594
2606 /** @name UpDataStructsPropertyPermission (257) */2595 /** @name UpDataStructsPropertyPermission (255) */
2607 interface UpDataStructsPropertyPermission extends Struct {2596 interface UpDataStructsPropertyPermission extends Struct {
2608 readonly mutable: bool;2597 readonly mutable: bool;
2609 readonly collectionAdmin: bool;2598 readonly collectionAdmin: bool;
2610 readonly tokenOwner: bool;2599 readonly tokenOwner: bool;
2611 }2600 }
26122601
2613 /** @name UpDataStructsProperty (260) */2602 /** @name UpDataStructsProperty (258) */
2614 interface UpDataStructsProperty extends Struct {2603 interface UpDataStructsProperty extends Struct {
2615 readonly key: Bytes;2604 readonly key: Bytes;
2616 readonly value: Bytes;2605 readonly value: Bytes;
2617 }2606 }
26182607
2619 /** @name UpDataStructsCreateItemData (263) */2608 /** @name UpDataStructsCreateItemData (261) */
2620 interface UpDataStructsCreateItemData extends Enum {2609 interface UpDataStructsCreateItemData extends Enum {
2621 readonly isNft: boolean;2610 readonly isNft: boolean;
2622 readonly asNft: UpDataStructsCreateNftData;2611 readonly asNft: UpDataStructsCreateNftData;
2627 readonly type: 'Nft' | 'Fungible' | 'ReFungible';2616 readonly type: 'Nft' | 'Fungible' | 'ReFungible';
2628 }2617 }
26292618
2630 /** @name UpDataStructsCreateNftData (264) */2619 /** @name UpDataStructsCreateNftData (262) */
2631 interface UpDataStructsCreateNftData extends Struct {2620 interface UpDataStructsCreateNftData extends Struct {
2632 readonly properties: Vec<UpDataStructsProperty>;2621 readonly properties: Vec<UpDataStructsProperty>;
2633 }2622 }
26342623
2635 /** @name UpDataStructsCreateFungibleData (265) */2624 /** @name UpDataStructsCreateFungibleData (263) */
2636 interface UpDataStructsCreateFungibleData extends Struct {2625 interface UpDataStructsCreateFungibleData extends Struct {
2637 readonly value: u128;2626 readonly value: u128;
2638 }2627 }
26392628
2640 /** @name UpDataStructsCreateReFungibleData (266) */2629 /** @name UpDataStructsCreateReFungibleData (264) */
2641 interface UpDataStructsCreateReFungibleData extends Struct {2630 interface UpDataStructsCreateReFungibleData extends Struct {
2642 readonly pieces: u128;2631 readonly pieces: u128;
2643 readonly properties: Vec<UpDataStructsProperty>;2632 readonly properties: Vec<UpDataStructsProperty>;
2644 }2633 }
26452634
2646 /** @name UpDataStructsCreateItemExData (269) */2635 /** @name UpDataStructsCreateItemExData (267) */
2647 interface UpDataStructsCreateItemExData extends Enum {2636 interface UpDataStructsCreateItemExData extends Enum {
2648 readonly isNft: boolean;2637 readonly isNft: boolean;
2649 readonly asNft: Vec<UpDataStructsCreateNftExData>;2638 readonly asNft: Vec<UpDataStructsCreateNftExData>;
2656 readonly type: 'Nft' | 'Fungible' | 'RefungibleMultipleItems' | 'RefungibleMultipleOwners';2645 readonly type: 'Nft' | 'Fungible' | 'RefungibleMultipleItems' | 'RefungibleMultipleOwners';
2657 }2646 }
26582647
2659 /** @name UpDataStructsCreateNftExData (271) */2648 /** @name UpDataStructsCreateNftExData (269) */
2660 interface UpDataStructsCreateNftExData extends Struct {2649 interface UpDataStructsCreateNftExData extends Struct {
2661 readonly properties: Vec<UpDataStructsProperty>;2650 readonly properties: Vec<UpDataStructsProperty>;
2662 readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;2651 readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;
2663 }2652 }
26642653
2665 /** @name UpDataStructsCreateRefungibleExSingleOwner (278) */2654 /** @name UpDataStructsCreateRefungibleExSingleOwner (276) */
2666 interface UpDataStructsCreateRefungibleExSingleOwner extends Struct {2655 interface UpDataStructsCreateRefungibleExSingleOwner extends Struct {
2667 readonly user: PalletEvmAccountBasicCrossAccountIdRepr;2656 readonly user: PalletEvmAccountBasicCrossAccountIdRepr;
2668 readonly pieces: u128;2657 readonly pieces: u128;
2669 readonly properties: Vec<UpDataStructsProperty>;2658 readonly properties: Vec<UpDataStructsProperty>;
2670 }2659 }
26712660
2672 /** @name UpDataStructsCreateRefungibleExMultipleOwners (280) */2661 /** @name UpDataStructsCreateRefungibleExMultipleOwners (278) */
2673 interface UpDataStructsCreateRefungibleExMultipleOwners extends Struct {2662 interface UpDataStructsCreateRefungibleExMultipleOwners extends Struct {
2674 readonly users: BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>;2663 readonly users: BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>;
2675 readonly properties: Vec<UpDataStructsProperty>;2664 readonly properties: Vec<UpDataStructsProperty>;
2676 }2665 }
26772666
2678 /** @name PalletConfigurationCall (281) */2667 /** @name PalletConfigurationCall (279) */
2679 interface PalletConfigurationCall extends Enum {2668 interface PalletConfigurationCall extends Enum {
2680 readonly isSetWeightToFeeCoefficientOverride: boolean;2669 readonly isSetWeightToFeeCoefficientOverride: boolean;
2681 readonly asSetWeightToFeeCoefficientOverride: {2670 readonly asSetWeightToFeeCoefficientOverride: {
2696 readonly type: 'SetWeightToFeeCoefficientOverride' | 'SetMinGasPriceOverride' | 'SetXcmAllowedLocations' | 'SetAppPromotionConfigurationOverride';2685 readonly type: 'SetWeightToFeeCoefficientOverride' | 'SetMinGasPriceOverride' | 'SetXcmAllowedLocations' | 'SetAppPromotionConfigurationOverride';
2697 }2686 }
26982687
2699 /** @name PalletConfigurationAppPromotionConfiguration (286) */2688 /** @name PalletConfigurationAppPromotionConfiguration (284) */
2700 interface PalletConfigurationAppPromotionConfiguration extends Struct {2689 interface PalletConfigurationAppPromotionConfiguration extends Struct {
2701 readonly recalculationInterval: Option<u32>;2690 readonly recalculationInterval: Option<u32>;
2702 readonly pendingInterval: Option<u32>;2691 readonly pendingInterval: Option<u32>;
2703 readonly intervalIncome: Option<Perbill>;2692 readonly intervalIncome: Option<Perbill>;
2704 readonly maxStakersPerCalculation: Option<u8>;2693 readonly maxStakersPerCalculation: Option<u8>;
2705 }2694 }
27062695
2707 /** @name PalletTemplateTransactionPaymentCall (289) */2696 /** @name PalletTemplateTransactionPaymentCall (288) */
2708 type PalletTemplateTransactionPaymentCall = Null;2697 type PalletTemplateTransactionPaymentCall = Null;
27092698
2710 /** @name PalletStructureCall (290) */2699 /** @name PalletStructureCall (289) */
2711 type PalletStructureCall = Null;2700 type PalletStructureCall = Null;
27122701
2713 /** @name PalletRmrkCoreCall (291) */2702 /** @name PalletRmrkCoreCall (290) */
2714 interface PalletRmrkCoreCall extends Enum {2703 interface PalletRmrkCoreCall extends Enum {
2715 readonly isCreateCollection: boolean;2704 readonly isCreateCollection: boolean;
2716 readonly asCreateCollection: {2705 readonly asCreateCollection: {
2816 readonly type: 'CreateCollection' | 'DestroyCollection' | 'ChangeCollectionIssuer' | 'LockCollection' | 'MintNft' | 'BurnNft' | 'Send' | 'AcceptNft' | 'RejectNft' | 'AcceptResource' | 'AcceptResourceRemoval' | 'SetProperty' | 'SetPriority' | 'AddBasicResource' | 'AddComposableResource' | 'AddSlotResource' | 'RemoveResource';2805 readonly type: 'CreateCollection' | 'DestroyCollection' | 'ChangeCollectionIssuer' | 'LockCollection' | 'MintNft' | 'BurnNft' | 'Send' | 'AcceptNft' | 'RejectNft' | 'AcceptResource' | 'AcceptResourceRemoval' | 'SetProperty' | 'SetPriority' | 'AddBasicResource' | 'AddComposableResource' | 'AddSlotResource' | 'RemoveResource';
2817 }2806 }
28182807
2819 /** @name RmrkTraitsResourceResourceTypes (297) */2808 /** @name RmrkTraitsResourceResourceTypes (296) */
2820 interface RmrkTraitsResourceResourceTypes extends Enum {2809 interface RmrkTraitsResourceResourceTypes extends Enum {
2821 readonly isBasic: boolean;2810 readonly isBasic: boolean;
2822 readonly asBasic: RmrkTraitsResourceBasicResource;2811 readonly asBasic: RmrkTraitsResourceBasicResource;
2827 readonly type: 'Basic' | 'Composable' | 'Slot';2816 readonly type: 'Basic' | 'Composable' | 'Slot';
2828 }2817 }
28292818
2830 /** @name RmrkTraitsResourceBasicResource (299) */2819 /** @name RmrkTraitsResourceBasicResource (298) */
2831 interface RmrkTraitsResourceBasicResource extends Struct {2820 interface RmrkTraitsResourceBasicResource extends Struct {
2832 readonly src: Option<Bytes>;2821 readonly src: Option<Bytes>;
2833 readonly metadata: Option<Bytes>;2822 readonly metadata: Option<Bytes>;
2834 readonly license: Option<Bytes>;2823 readonly license: Option<Bytes>;
2835 readonly thumb: Option<Bytes>;2824 readonly thumb: Option<Bytes>;
2836 }2825 }
28372826
2838 /** @name RmrkTraitsResourceComposableResource (301) */2827 /** @name RmrkTraitsResourceComposableResource (300) */
2839 interface RmrkTraitsResourceComposableResource extends Struct {2828 interface RmrkTraitsResourceComposableResource extends Struct {
2840 readonly parts: Vec<u32>;2829 readonly parts: Vec<u32>;
2841 readonly base: u32;2830 readonly base: u32;
2845 readonly thumb: Option<Bytes>;2834 readonly thumb: Option<Bytes>;
2846 }2835 }
28472836
2848 /** @name RmrkTraitsResourceSlotResource (302) */2837 /** @name RmrkTraitsResourceSlotResource (301) */
2849 interface RmrkTraitsResourceSlotResource extends Struct {2838 interface RmrkTraitsResourceSlotResource extends Struct {
2850 readonly base: u32;2839 readonly base: u32;
2851 readonly src: Option<Bytes>;2840 readonly src: Option<Bytes>;
2855 readonly thumb: Option<Bytes>;2844 readonly thumb: Option<Bytes>;
2856 }2845 }
28572846
2858 /** @name PalletRmrkEquipCall (305) */2847 /** @name PalletRmrkEquipCall (304) */
2859 interface PalletRmrkEquipCall extends Enum {2848 interface PalletRmrkEquipCall extends Enum {
2860 readonly isCreateBase: boolean;2849 readonly isCreateBase: boolean;
2861 readonly asCreateBase: {2850 readonly asCreateBase: {
2877 readonly type: 'CreateBase' | 'ThemeAdd' | 'Equippable';2866 readonly type: 'CreateBase' | 'ThemeAdd' | 'Equippable';
2878 }2867 }
28792868
2880 /** @name RmrkTraitsPartPartType (308) */2869 /** @name RmrkTraitsPartPartType (307) */
2881 interface RmrkTraitsPartPartType extends Enum {2870 interface RmrkTraitsPartPartType extends Enum {
2882 readonly isFixedPart: boolean;2871 readonly isFixedPart: boolean;
2883 readonly asFixedPart: RmrkTraitsPartFixedPart;2872 readonly asFixedPart: RmrkTraitsPartFixedPart;
2886 readonly type: 'FixedPart' | 'SlotPart';2875 readonly type: 'FixedPart' | 'SlotPart';
2887 }2876 }
28882877
2889 /** @name RmrkTraitsPartFixedPart (310) */2878 /** @name RmrkTraitsPartFixedPart (309) */
2890 interface RmrkTraitsPartFixedPart extends Struct {2879 interface RmrkTraitsPartFixedPart extends Struct {
2891 readonly id: u32;2880 readonly id: u32;
2892 readonly z: u32;2881 readonly z: u32;
2893 readonly src: Bytes;2882 readonly src: Bytes;
2894 }2883 }
28952884
2896 /** @name RmrkTraitsPartSlotPart (311) */2885 /** @name RmrkTraitsPartSlotPart (310) */
2897 interface RmrkTraitsPartSlotPart extends Struct {2886 interface RmrkTraitsPartSlotPart extends Struct {
2898 readonly id: u32;2887 readonly id: u32;
2899 readonly equippable: RmrkTraitsPartEquippableList;2888 readonly equippable: RmrkTraitsPartEquippableList;
2900 readonly src: Bytes;2889 readonly src: Bytes;
2901 readonly z: u32;2890 readonly z: u32;
2902 }2891 }
29032892
2904 /** @name RmrkTraitsPartEquippableList (312) */2893 /** @name RmrkTraitsPartEquippableList (311) */
2905 interface RmrkTraitsPartEquippableList extends Enum {2894 interface RmrkTraitsPartEquippableList extends Enum {
2906 readonly isAll: boolean;2895 readonly isAll: boolean;
2907 readonly isEmpty: boolean;2896 readonly isEmpty: boolean;
2910 readonly type: 'All' | 'Empty' | 'Custom';2899 readonly type: 'All' | 'Empty' | 'Custom';
2911 }2900 }
29122901
2913 /** @name RmrkTraitsTheme (314) */2902 /** @name RmrkTraitsTheme (313) */
2914 interface RmrkTraitsTheme extends Struct {2903 interface RmrkTraitsTheme extends Struct {
2915 readonly name: Bytes;2904 readonly name: Bytes;
2916 readonly properties: Vec<RmrkTraitsThemeThemeProperty>;2905 readonly properties: Vec<RmrkTraitsThemeThemeProperty>;
2917 readonly inherit: bool;2906 readonly inherit: bool;
2918 }2907 }
29192908
2920 /** @name RmrkTraitsThemeThemeProperty (316) */2909 /** @name RmrkTraitsThemeThemeProperty (315) */
2921 interface RmrkTraitsThemeThemeProperty extends Struct {2910 interface RmrkTraitsThemeThemeProperty extends Struct {
2922 readonly key: Bytes;2911 readonly key: Bytes;
2923 readonly value: Bytes;2912 readonly value: Bytes;
2924 }2913 }
29252914
2926 /** @name PalletAppPromotionCall (318) */2915 /** @name PalletAppPromotionCall (317) */
2927 interface PalletAppPromotionCall extends Enum {2916 interface PalletAppPromotionCall extends Enum {
2928 readonly isSetAdminAddress: boolean;2917 readonly isSetAdminAddress: boolean;
2929 readonly asSetAdminAddress: {2918 readonly asSetAdminAddress: {
2957 readonly type: 'SetAdminAddress' | 'Stake' | 'Unstake' | 'SponsorCollection' | 'StopSponsoringCollection' | 'SponsorContract' | 'StopSponsoringContract' | 'PayoutStakers';2946 readonly type: 'SetAdminAddress' | 'Stake' | 'Unstake' | 'SponsorCollection' | 'StopSponsoringCollection' | 'SponsorContract' | 'StopSponsoringContract' | 'PayoutStakers';
2958 }2947 }
29592948
2960 /** @name PalletForeignAssetsModuleCall (319) */2949 /** @name PalletForeignAssetsModuleCall (318) */
2961 interface PalletForeignAssetsModuleCall extends Enum {2950 interface PalletForeignAssetsModuleCall extends Enum {
2962 readonly isRegisterForeignAsset: boolean;2951 readonly isRegisterForeignAsset: boolean;
2963 readonly asRegisterForeignAsset: {2952 readonly asRegisterForeignAsset: {
2974 readonly type: 'RegisterForeignAsset' | 'UpdateForeignAsset';2963 readonly type: 'RegisterForeignAsset' | 'UpdateForeignAsset';
2975 }2964 }
29762965
2977 /** @name PalletEvmCall (320) */2966 /** @name PalletEvmCall (319) */
2978 interface PalletEvmCall extends Enum {2967 interface PalletEvmCall extends Enum {
2979 readonly isWithdraw: boolean;2968 readonly isWithdraw: boolean;
2980 readonly asWithdraw: {2969 readonly asWithdraw: {
3019 readonly type: 'Withdraw' | 'Call' | 'Create' | 'Create2';3008 readonly type: 'Withdraw' | 'Call' | 'Create' | 'Create2';
3020 }3009 }
30213010
3022 /** @name PalletEthereumCall (326) */3011 /** @name PalletEthereumCall (325) */
3023 interface PalletEthereumCall extends Enum {3012 interface PalletEthereumCall extends Enum {
3024 readonly isTransact: boolean;3013 readonly isTransact: boolean;
3025 readonly asTransact: {3014 readonly asTransact: {
3028 readonly type: 'Transact';3017 readonly type: 'Transact';
3029 }3018 }
30303019
3031 /** @name EthereumTransactionTransactionV2 (327) */3020 /** @name EthereumTransactionTransactionV2 (326) */
3032 interface EthereumTransactionTransactionV2 extends Enum {3021 interface EthereumTransactionTransactionV2 extends Enum {
3033 readonly isLegacy: boolean;3022 readonly isLegacy: boolean;
3034 readonly asLegacy: EthereumTransactionLegacyTransaction;3023 readonly asLegacy: EthereumTransactionLegacyTransaction;
3039 readonly type: 'Legacy' | 'Eip2930' | 'Eip1559';3028 readonly type: 'Legacy' | 'Eip2930' | 'Eip1559';
3040 }3029 }
30413030
3042 /** @name EthereumTransactionLegacyTransaction (328) */3031 /** @name EthereumTransactionLegacyTransaction (327) */
3043 interface EthereumTransactionLegacyTransaction extends Struct {3032 interface EthereumTransactionLegacyTransaction extends Struct {
3044 readonly nonce: U256;3033 readonly nonce: U256;
3045 readonly gasPrice: U256;3034 readonly gasPrice: U256;
3050 readonly signature: EthereumTransactionTransactionSignature;3039 readonly signature: EthereumTransactionTransactionSignature;
3051 }3040 }
30523041
3053 /** @name EthereumTransactionTransactionAction (329) */3042 /** @name EthereumTransactionTransactionAction (328) */
3054 interface EthereumTransactionTransactionAction extends Enum {3043 interface EthereumTransactionTransactionAction extends Enum {
3055 readonly isCall: boolean;3044 readonly isCall: boolean;
3056 readonly asCall: H160;3045 readonly asCall: H160;
3057 readonly isCreate: boolean;3046 readonly isCreate: boolean;
3058 readonly type: 'Call' | 'Create';3047 readonly type: 'Call' | 'Create';
3059 }3048 }
30603049
3061 /** @name EthereumTransactionTransactionSignature (330) */3050 /** @name EthereumTransactionTransactionSignature (329) */
3062 interface EthereumTransactionTransactionSignature extends Struct {3051 interface EthereumTransactionTransactionSignature extends Struct {
3063 readonly v: u64;3052 readonly v: u64;
3064 readonly r: H256;3053 readonly r: H256;
3065 readonly s: H256;3054 readonly s: H256;
3066 }3055 }
30673056
3068 /** @name EthereumTransactionEip2930Transaction (332) */3057 /** @name EthereumTransactionEip2930Transaction (331) */
3069 interface EthereumTransactionEip2930Transaction extends Struct {3058 interface EthereumTransactionEip2930Transaction extends Struct {
3070 readonly chainId: u64;3059 readonly chainId: u64;
3071 readonly nonce: U256;3060 readonly nonce: U256;
3080 readonly s: H256;3069 readonly s: H256;
3081 }3070 }
30823071
3083 /** @name EthereumTransactionAccessListItem (334) */3072 /** @name EthereumTransactionAccessListItem (333) */
3084 interface EthereumTransactionAccessListItem extends Struct {3073 interface EthereumTransactionAccessListItem extends Struct {
3085 readonly address: H160;3074 readonly address: H160;
3086 readonly storageKeys: Vec<H256>;3075 readonly storageKeys: Vec<H256>;
3087 }3076 }
30883077
3089 /** @name EthereumTransactionEip1559Transaction (335) */3078 /** @name EthereumTransactionEip1559Transaction (334) */
3090 interface EthereumTransactionEip1559Transaction extends Struct {3079 interface EthereumTransactionEip1559Transaction extends Struct {
3091 readonly chainId: u64;3080 readonly chainId: u64;
3092 readonly nonce: U256;3081 readonly nonce: U256;
3102 readonly s: H256;3091 readonly s: H256;
3103 }3092 }
31043093
3105 /** @name PalletEvmMigrationCall (336) */3094 /** @name PalletEvmMigrationCall (335) */
3106 interface PalletEvmMigrationCall extends Enum {3095 interface PalletEvmMigrationCall extends Enum {
3107 readonly isBegin: boolean;3096 readonly isBegin: boolean;
3108 readonly asBegin: {3097 readonly asBegin: {
3129 readonly type: 'Begin' | 'SetData' | 'Finish' | 'InsertEthLogs' | 'InsertEvents';3118 readonly type: 'Begin' | 'SetData' | 'Finish' | 'InsertEthLogs' | 'InsertEvents';
3130 }3119 }
31313120
3132 /** @name PalletMaintenanceCall (340) */3121 /** @name PalletMaintenanceCall (339) */
3133 interface PalletMaintenanceCall extends Enum {3122 interface PalletMaintenanceCall extends Enum {
3134 readonly isEnable: boolean;3123 readonly isEnable: boolean;
3135 readonly isDisable: boolean;3124 readonly isDisable: boolean;
3136 readonly type: 'Enable' | 'Disable';3125 readonly type: 'Enable' | 'Disable';
3137 }3126 }
31383127
3139 /** @name PalletTestUtilsCall (341) */3128 /** @name PalletTestUtilsCall (340) */
3140 interface PalletTestUtilsCall extends Enum {3129 interface PalletTestUtilsCall extends Enum {
3141 readonly isEnable: boolean;3130 readonly isEnable: boolean;
3142 readonly isSetTestValue: boolean;3131 readonly isSetTestValue: boolean;
3156 readonly type: 'Enable' | 'SetTestValue' | 'SetTestValueAndRollback' | 'IncTestValue' | 'JustTakeFee' | 'BatchAll';3145 readonly type: 'Enable' | 'SetTestValue' | 'SetTestValueAndRollback' | 'IncTestValue' | 'JustTakeFee' | 'BatchAll';
3157 }3146 }
31583147
3159 /** @name PalletSudoError (343) */3148 /** @name PalletSudoError (342) */
3160 interface PalletSudoError extends Enum {3149 interface PalletSudoError extends Enum {
3161 readonly isRequireSudo: boolean;3150 readonly isRequireSudo: boolean;
3162 readonly type: 'RequireSudo';3151 readonly type: 'RequireSudo';
3163 }3152 }
31643153
3165 /** @name OrmlVestingModuleError (345) */3154 /** @name OrmlVestingModuleError (344) */
3166 interface OrmlVestingModuleError extends Enum {3155 interface OrmlVestingModuleError extends Enum {
3167 readonly isZeroVestingPeriod: boolean;3156 readonly isZeroVestingPeriod: boolean;
3168 readonly isZeroVestingPeriodCount: boolean;3157 readonly isZeroVestingPeriodCount: boolean;
3173 readonly type: 'ZeroVestingPeriod' | 'ZeroVestingPeriodCount' | 'InsufficientBalanceToLock' | 'TooManyVestingSchedules' | 'AmountLow' | 'MaxVestingSchedulesExceeded';3162 readonly type: 'ZeroVestingPeriod' | 'ZeroVestingPeriodCount' | 'InsufficientBalanceToLock' | 'TooManyVestingSchedules' | 'AmountLow' | 'MaxVestingSchedulesExceeded';
3174 }3163 }
31753164
3176 /** @name OrmlXtokensModuleError (346) */3165 /** @name OrmlXtokensModuleError (345) */
3177 interface OrmlXtokensModuleError extends Enum {3166 interface OrmlXtokensModuleError extends Enum {
3178 readonly isAssetHasNoReserve: boolean;3167 readonly isAssetHasNoReserve: boolean;
3179 readonly isNotCrossChainTransfer: boolean;3168 readonly isNotCrossChainTransfer: boolean;
3197 readonly type: 'AssetHasNoReserve' | 'NotCrossChainTransfer' | 'InvalidDest' | 'NotCrossChainTransferableCurrency' | 'UnweighableMessage' | 'XcmExecutionFailed' | 'CannotReanchor' | 'InvalidAncestry' | 'InvalidAsset' | 'DestinationNotInvertible' | 'BadVersion' | 'DistinctReserveForAssetAndFee' | 'ZeroFee' | 'ZeroAmount' | 'TooManyAssetsBeingSent' | 'AssetIndexNonExistent' | 'FeeNotEnough' | 'NotSupportedMultiLocation' | 'MinXcmFeeNotDefined';3186 readonly type: 'AssetHasNoReserve' | 'NotCrossChainTransfer' | 'InvalidDest' | 'NotCrossChainTransferableCurrency' | 'UnweighableMessage' | 'XcmExecutionFailed' | 'CannotReanchor' | 'InvalidAncestry' | 'InvalidAsset' | 'DestinationNotInvertible' | 'BadVersion' | 'DistinctReserveForAssetAndFee' | 'ZeroFee' | 'ZeroAmount' | 'TooManyAssetsBeingSent' | 'AssetIndexNonExistent' | 'FeeNotEnough' | 'NotSupportedMultiLocation' | 'MinXcmFeeNotDefined';
3198 }3187 }
31993188
3200 /** @name OrmlTokensBalanceLock (349) */3189 /** @name OrmlTokensBalanceLock (348) */
3201 interface OrmlTokensBalanceLock extends Struct {3190 interface OrmlTokensBalanceLock extends Struct {
3202 readonly id: U8aFixed;3191 readonly id: U8aFixed;
3203 readonly amount: u128;3192 readonly amount: u128;
3204 }3193 }
32053194
3206 /** @name OrmlTokensAccountData (351) */3195 /** @name OrmlTokensAccountData (350) */
3207 interface OrmlTokensAccountData extends Struct {3196 interface OrmlTokensAccountData extends Struct {
3208 readonly free: u128;3197 readonly free: u128;
3209 readonly reserved: u128;3198 readonly reserved: u128;
3210 readonly frozen: u128;3199 readonly frozen: u128;
3211 }3200 }
32123201
3213 /** @name OrmlTokensReserveData (353) */3202 /** @name OrmlTokensReserveData (352) */
3214 interface OrmlTokensReserveData extends Struct {3203 interface OrmlTokensReserveData extends Struct {
3215 readonly id: Null;3204 readonly id: Null;
3216 readonly amount: u128;3205 readonly amount: u128;
3217 }3206 }
32183207
3219 /** @name OrmlTokensModuleError (355) */3208 /** @name OrmlTokensModuleError (354) */
3220 interface OrmlTokensModuleError extends Enum {3209 interface OrmlTokensModuleError extends Enum {
3221 readonly isBalanceTooLow: boolean;3210 readonly isBalanceTooLow: boolean;
3222 readonly isAmountIntoBalanceFailed: boolean;3211 readonly isAmountIntoBalanceFailed: boolean;
3229 readonly type: 'BalanceTooLow' | 'AmountIntoBalanceFailed' | 'LiquidityRestrictions' | 'MaxLocksExceeded' | 'KeepAlive' | 'ExistentialDeposit' | 'DeadAccount' | 'TooManyReserves';3218 readonly type: 'BalanceTooLow' | 'AmountIntoBalanceFailed' | 'LiquidityRestrictions' | 'MaxLocksExceeded' | 'KeepAlive' | 'ExistentialDeposit' | 'DeadAccount' | 'TooManyReserves';
3230 }3219 }
32313220
3232 /** @name CumulusPalletXcmpQueueInboundChannelDetails (357) */3221 /** @name CumulusPalletXcmpQueueInboundChannelDetails (356) */
3233 interface CumulusPalletXcmpQueueInboundChannelDetails extends Struct {3222 interface CumulusPalletXcmpQueueInboundChannelDetails extends Struct {
3234 readonly sender: u32;3223 readonly sender: u32;
3235 readonly state: CumulusPalletXcmpQueueInboundState;3224 readonly state: CumulusPalletXcmpQueueInboundState;
3236 readonly messageMetadata: Vec<ITuple<[u32, PolkadotParachainPrimitivesXcmpMessageFormat]>>;3225 readonly messageMetadata: Vec<ITuple<[u32, PolkadotParachainPrimitivesXcmpMessageFormat]>>;
3237 }3226 }
32383227
3239 /** @name CumulusPalletXcmpQueueInboundState (358) */3228 /** @name CumulusPalletXcmpQueueInboundState (357) */
3240 interface CumulusPalletXcmpQueueInboundState extends Enum {3229 interface CumulusPalletXcmpQueueInboundState extends Enum {
3241 readonly isOk: boolean;3230 readonly isOk: boolean;
3242 readonly isSuspended: boolean;3231 readonly isSuspended: boolean;
3243 readonly type: 'Ok' | 'Suspended';3232 readonly type: 'Ok' | 'Suspended';
3244 }3233 }
32453234
3246 /** @name PolkadotParachainPrimitivesXcmpMessageFormat (361) */3235 /** @name PolkadotParachainPrimitivesXcmpMessageFormat (360) */
3247 interface PolkadotParachainPrimitivesXcmpMessageFormat extends Enum {3236 interface PolkadotParachainPrimitivesXcmpMessageFormat extends Enum {
3248 readonly isConcatenatedVersionedXcm: boolean;3237 readonly isConcatenatedVersionedXcm: boolean;
3249 readonly isConcatenatedEncodedBlob: boolean;3238 readonly isConcatenatedEncodedBlob: boolean;
3250 readonly isSignals: boolean;3239 readonly isSignals: boolean;
3251 readonly type: 'ConcatenatedVersionedXcm' | 'ConcatenatedEncodedBlob' | 'Signals';3240 readonly type: 'ConcatenatedVersionedXcm' | 'ConcatenatedEncodedBlob' | 'Signals';
3252 }3241 }
32533242
3254 /** @name CumulusPalletXcmpQueueOutboundChannelDetails (364) */3243 /** @name CumulusPalletXcmpQueueOutboundChannelDetails (363) */
3255 interface CumulusPalletXcmpQueueOutboundChannelDetails extends Struct {3244 interface CumulusPalletXcmpQueueOutboundChannelDetails extends Struct {
3256 readonly recipient: u32;3245 readonly recipient: u32;
3257 readonly state: CumulusPalletXcmpQueueOutboundState;3246 readonly state: CumulusPalletXcmpQueueOutboundState;
3260 readonly lastIndex: u16;3249 readonly lastIndex: u16;
3261 }3250 }
32623251
3263 /** @name CumulusPalletXcmpQueueOutboundState (365) */3252 /** @name CumulusPalletXcmpQueueOutboundState (364) */
3264 interface CumulusPalletXcmpQueueOutboundState extends Enum {3253 interface CumulusPalletXcmpQueueOutboundState extends Enum {
3265 readonly isOk: boolean;3254 readonly isOk: boolean;
3266 readonly isSuspended: boolean;3255 readonly isSuspended: boolean;
3267 readonly type: 'Ok' | 'Suspended';3256 readonly type: 'Ok' | 'Suspended';
3268 }3257 }
32693258
3270 /** @name CumulusPalletXcmpQueueQueueConfigData (367) */3259 /** @name CumulusPalletXcmpQueueQueueConfigData (366) */
3271 interface CumulusPalletXcmpQueueQueueConfigData extends Struct {3260 interface CumulusPalletXcmpQueueQueueConfigData extends Struct {
3272 readonly suspendThreshold: u32;3261 readonly suspendThreshold: u32;
3273 readonly dropThreshold: u32;3262 readonly dropThreshold: u32;
3277 readonly xcmpMaxIndividualWeight: SpWeightsWeightV2Weight;3266 readonly xcmpMaxIndividualWeight: SpWeightsWeightV2Weight;
3278 }3267 }
32793268
3280 /** @name CumulusPalletXcmpQueueError (369) */3269 /** @name CumulusPalletXcmpQueueError (368) */
3281 interface CumulusPalletXcmpQueueError extends Enum {3270 interface CumulusPalletXcmpQueueError extends Enum {
3282 readonly isFailedToSend: boolean;3271 readonly isFailedToSend: boolean;
3283 readonly isBadXcmOrigin: boolean;3272 readonly isBadXcmOrigin: boolean;
3287 readonly type: 'FailedToSend' | 'BadXcmOrigin' | 'BadXcm' | 'BadOverweightIndex' | 'WeightOverLimit';3276 readonly type: 'FailedToSend' | 'BadXcmOrigin' | 'BadXcm' | 'BadOverweightIndex' | 'WeightOverLimit';
3288 }3277 }
32893278
3290 /** @name PalletXcmError (370) */3279 /** @name PalletXcmError (369) */
3291 interface PalletXcmError extends Enum {3280 interface PalletXcmError extends Enum {
3292 readonly isUnreachable: boolean;3281 readonly isUnreachable: boolean;
3293 readonly isSendFailure: boolean;3282 readonly isSendFailure: boolean;
3305 readonly type: 'Unreachable' | 'SendFailure' | 'Filtered' | 'UnweighableMessage' | 'DestinationNotInvertible' | 'Empty' | 'CannotReanchor' | 'TooManyAssets' | 'InvalidOrigin' | 'BadVersion' | 'BadLocation' | 'NoSubscription' | 'AlreadySubscribed';3294 readonly type: 'Unreachable' | 'SendFailure' | 'Filtered' | 'UnweighableMessage' | 'DestinationNotInvertible' | 'Empty' | 'CannotReanchor' | 'TooManyAssets' | 'InvalidOrigin' | 'BadVersion' | 'BadLocation' | 'NoSubscription' | 'AlreadySubscribed';
3306 }3295 }
33073296
3308 /** @name CumulusPalletXcmError (371) */3297 /** @name CumulusPalletXcmError (370) */
3309 type CumulusPalletXcmError = Null;3298 type CumulusPalletXcmError = Null;
33103299
3311 /** @name CumulusPalletDmpQueueConfigData (372) */3300 /** @name CumulusPalletDmpQueueConfigData (371) */
3312 interface CumulusPalletDmpQueueConfigData extends Struct {3301 interface CumulusPalletDmpQueueConfigData extends Struct {
3313 readonly maxIndividual: SpWeightsWeightV2Weight;3302 readonly maxIndividual: SpWeightsWeightV2Weight;
3314 }3303 }
33153304
3316 /** @name CumulusPalletDmpQueuePageIndexData (373) */3305 /** @name CumulusPalletDmpQueuePageIndexData (372) */
3317 interface CumulusPalletDmpQueuePageIndexData extends Struct {3306 interface CumulusPalletDmpQueuePageIndexData extends Struct {
3318 readonly beginUsed: u32;3307 readonly beginUsed: u32;
3319 readonly endUsed: u32;3308 readonly endUsed: u32;
3320 readonly overweightCount: u64;3309 readonly overweightCount: u64;
3321 }3310 }
33223311
3323 /** @name CumulusPalletDmpQueueError (376) */3312 /** @name CumulusPalletDmpQueueError (375) */
3324 interface CumulusPalletDmpQueueError extends Enum {3313 interface CumulusPalletDmpQueueError extends Enum {
3325 readonly isUnknown: boolean;3314 readonly isUnknown: boolean;
3326 readonly isOverLimit: boolean;3315 readonly isOverLimit: boolean;
3327 readonly type: 'Unknown' | 'OverLimit';3316 readonly type: 'Unknown' | 'OverLimit';
3328 }3317 }
33293318
3330 /** @name PalletUniqueError (380) */3319 /** @name PalletUniqueError (379) */
3331 interface PalletUniqueError extends Enum {3320 interface PalletUniqueError extends Enum {
3332 readonly isCollectionDecimalPointLimitExceeded: boolean;3321 readonly isCollectionDecimalPointLimitExceeded: boolean;
3333 readonly isEmptyArgument: boolean;3322 readonly isEmptyArgument: boolean;
3334 readonly isRepartitionCalledOnNonRefungibleCollection: boolean;3323 readonly isRepartitionCalledOnNonRefungibleCollection: boolean;
3335 readonly type: 'CollectionDecimalPointLimitExceeded' | 'EmptyArgument' | 'RepartitionCalledOnNonRefungibleCollection';3324 readonly type: 'CollectionDecimalPointLimitExceeded' | 'EmptyArgument' | 'RepartitionCalledOnNonRefungibleCollection';
3336 }3325 }
33373326
3338 /** @name PalletConfigurationError (381) */3327 /** @name PalletConfigurationError (380) */
3339 interface PalletConfigurationError extends Enum {3328 interface PalletConfigurationError extends Enum {
3340 readonly isInconsistentConfiguration: boolean;3329 readonly isInconsistentConfiguration: boolean;
3341 readonly type: 'InconsistentConfiguration';3330 readonly type: 'InconsistentConfiguration';
3342 }3331 }
33433332
3344 /** @name UpDataStructsCollection (382) */3333 /** @name UpDataStructsCollection (381) */
3345 interface UpDataStructsCollection extends Struct {3334 interface UpDataStructsCollection extends Struct {
3346 readonly owner: AccountId32;3335 readonly owner: AccountId32;
3347 readonly mode: UpDataStructsCollectionMode;3336 readonly mode: UpDataStructsCollectionMode;
3354 readonly flags: U8aFixed;3343 readonly flags: U8aFixed;
3355 }3344 }
33563345
3357 /** @name UpDataStructsSponsorshipStateAccountId32 (383) */3346 /** @name UpDataStructsSponsorshipStateAccountId32 (382) */
3358 interface UpDataStructsSponsorshipStateAccountId32 extends Enum {3347 interface UpDataStructsSponsorshipStateAccountId32 extends Enum {
3359 readonly isDisabled: boolean;3348 readonly isDisabled: boolean;
3360 readonly isUnconfirmed: boolean;3349 readonly isUnconfirmed: boolean;
3364 readonly type: 'Disabled' | 'Unconfirmed' | 'Confirmed';3353 readonly type: 'Disabled' | 'Unconfirmed' | 'Confirmed';
3365 }3354 }
33663355
3367 /** @name UpDataStructsProperties (385) */3356 /** @name UpDataStructsProperties (384) */
3368 interface UpDataStructsProperties extends Struct {3357 interface UpDataStructsProperties extends Struct {
3369 readonly map: UpDataStructsPropertiesMapBoundedVec;3358 readonly map: UpDataStructsPropertiesMapBoundedVec;
3370 readonly consumedSpace: u32;3359 readonly consumedSpace: u32;
3371 readonly spaceLimit: u32;3360 readonly spaceLimit: u32;
3372 }3361 }
33733362
3374 /** @name UpDataStructsPropertiesMapBoundedVec (386) */3363 /** @name UpDataStructsPropertiesMapBoundedVec (385) */
3375 interface UpDataStructsPropertiesMapBoundedVec extends BTreeMap<Bytes, Bytes> {}3364 interface UpDataStructsPropertiesMapBoundedVec extends BTreeMap<Bytes, Bytes> {}
33763365
3377 /** @name UpDataStructsPropertiesMapPropertyPermission (391) */3366 /** @name UpDataStructsPropertiesMapPropertyPermission (390) */
3378 interface UpDataStructsPropertiesMapPropertyPermission extends BTreeMap<Bytes, UpDataStructsPropertyPermission> {}3367 interface UpDataStructsPropertiesMapPropertyPermission extends BTreeMap<Bytes, UpDataStructsPropertyPermission> {}
33793368
3380 /** @name UpDataStructsCollectionStats (398) */3369 /** @name UpDataStructsCollectionStats (397) */
3381 interface UpDataStructsCollectionStats extends Struct {3370 interface UpDataStructsCollectionStats extends Struct {
3382 readonly created: u32;3371 readonly created: u32;
3383 readonly destroyed: u32;3372 readonly destroyed: u32;
3384 readonly alive: u32;3373 readonly alive: u32;
3385 }3374 }
33863375
3387 /** @name UpDataStructsTokenChild (399) */3376 /** @name UpDataStructsTokenChild (398) */
3388 interface UpDataStructsTokenChild extends Struct {3377 interface UpDataStructsTokenChild extends Struct {
3389 readonly token: u32;3378 readonly token: u32;
3390 readonly collection: u32;3379 readonly collection: u32;
3391 }3380 }
33923381
3393 /** @name PhantomTypeUpDataStructs (400) */3382 /** @name PhantomTypeUpDataStructs (399) */
3394 interface PhantomTypeUpDataStructs extends Vec<ITuple<[UpDataStructsTokenData, UpDataStructsRpcCollection, RmrkTraitsCollectionCollectionInfo, RmrkTraitsNftNftInfo, RmrkTraitsResourceResourceInfo, RmrkTraitsPropertyPropertyInfo, RmrkTraitsBaseBaseInfo, RmrkTraitsPartPartType, RmrkTraitsTheme, RmrkTraitsNftNftChild]>> {}3383 interface PhantomTypeUpDataStructs extends Vec<ITuple<[UpDataStructsTokenData, UpDataStructsRpcCollection, RmrkTraitsCollectionCollectionInfo, RmrkTraitsNftNftInfo, RmrkTraitsResourceResourceInfo, RmrkTraitsPropertyPropertyInfo, RmrkTraitsBaseBaseInfo, RmrkTraitsPartPartType, RmrkTraitsTheme, RmrkTraitsNftNftChild]>> {}
33953384
3396 /** @name UpDataStructsTokenData (402) */3385 /** @name UpDataStructsTokenData (401) */
3397 interface UpDataStructsTokenData extends Struct {3386 interface UpDataStructsTokenData extends Struct {
3398 readonly properties: Vec<UpDataStructsProperty>;3387 readonly properties: Vec<UpDataStructsProperty>;
3399 readonly owner: Option<PalletEvmAccountBasicCrossAccountIdRepr>;3388 readonly owner: Option<PalletEvmAccountBasicCrossAccountIdRepr>;
3400 readonly pieces: u128;3389 readonly pieces: u128;
3401 }3390 }
34023391
3403 /** @name UpDataStructsRpcCollection (404) */3392 /** @name UpDataStructsRpcCollection (403) */
3404 interface UpDataStructsRpcCollection extends Struct {3393 interface UpDataStructsRpcCollection extends Struct {
3405 readonly owner: AccountId32;3394 readonly owner: AccountId32;
3406 readonly mode: UpDataStructsCollectionMode;3395 readonly mode: UpDataStructsCollectionMode;
3416 readonly flags: UpDataStructsRpcCollectionFlags;3405 readonly flags: UpDataStructsRpcCollectionFlags;
3417 }3406 }
34183407
3419 /** @name UpDataStructsRpcCollectionFlags (405) */3408 /** @name UpDataStructsRpcCollectionFlags (404) */
3420 interface UpDataStructsRpcCollectionFlags extends Struct {3409 interface UpDataStructsRpcCollectionFlags extends Struct {
3421 readonly foreign: bool;3410 readonly foreign: bool;
3422 readonly erc721metadata: bool;3411 readonly erc721metadata: bool;
3423 }3412 }
34243413
3425 /** @name RmrkTraitsCollectionCollectionInfo (406) */3414 /** @name RmrkTraitsCollectionCollectionInfo (405) */
3426 interface RmrkTraitsCollectionCollectionInfo extends Struct {3415 interface RmrkTraitsCollectionCollectionInfo extends Struct {
3427 readonly issuer: AccountId32;3416 readonly issuer: AccountId32;
3428 readonly metadata: Bytes;3417 readonly metadata: Bytes;
3431 readonly nftsCount: u32;3420 readonly nftsCount: u32;
3432 }3421 }
34333422
3434 /** @name RmrkTraitsNftNftInfo (407) */3423 /** @name RmrkTraitsNftNftInfo (406) */
3435 interface RmrkTraitsNftNftInfo extends Struct {3424 interface RmrkTraitsNftNftInfo extends Struct {
3436 readonly owner: RmrkTraitsNftAccountIdOrCollectionNftTuple;3425 readonly owner: RmrkTraitsNftAccountIdOrCollectionNftTuple;
3437 readonly royalty: Option<RmrkTraitsNftRoyaltyInfo>;3426 readonly royalty: Option<RmrkTraitsNftRoyaltyInfo>;
3440 readonly pending: bool;3429 readonly pending: bool;
3441 }3430 }
34423431
3443 /** @name RmrkTraitsNftRoyaltyInfo (409) */3432 /** @name RmrkTraitsNftRoyaltyInfo (408) */
3444 interface RmrkTraitsNftRoyaltyInfo extends Struct {3433 interface RmrkTraitsNftRoyaltyInfo extends Struct {
3445 readonly recipient: AccountId32;3434 readonly recipient: AccountId32;
3446 readonly amount: Permill;3435 readonly amount: Permill;
3447 }3436 }
34483437
3449 /** @name RmrkTraitsResourceResourceInfo (410) */3438 /** @name RmrkTraitsResourceResourceInfo (409) */
3450 interface RmrkTraitsResourceResourceInfo extends Struct {3439 interface RmrkTraitsResourceResourceInfo extends Struct {
3451 readonly id: u32;3440 readonly id: u32;
3452 readonly resource: RmrkTraitsResourceResourceTypes;3441 readonly resource: RmrkTraitsResourceResourceTypes;
3453 readonly pending: bool;3442 readonly pending: bool;
3454 readonly pendingRemoval: bool;3443 readonly pendingRemoval: bool;
3455 }3444 }
34563445
3457 /** @name RmrkTraitsPropertyPropertyInfo (411) */3446 /** @name RmrkTraitsPropertyPropertyInfo (410) */
3458 interface RmrkTraitsPropertyPropertyInfo extends Struct {3447 interface RmrkTraitsPropertyPropertyInfo extends Struct {
3459 readonly key: Bytes;3448 readonly key: Bytes;
3460 readonly value: Bytes;3449 readonly value: Bytes;
3461 }3450 }
34623451
3463 /** @name RmrkTraitsBaseBaseInfo (412) */3452 /** @name RmrkTraitsBaseBaseInfo (411) */
3464 interface RmrkTraitsBaseBaseInfo extends Struct {3453 interface RmrkTraitsBaseBaseInfo extends Struct {
3465 readonly issuer: AccountId32;3454 readonly issuer: AccountId32;
3466 readonly baseType: Bytes;3455 readonly baseType: Bytes;
3467 readonly symbol: Bytes;3456 readonly symbol: Bytes;
3468 }3457 }
34693458
3470 /** @name RmrkTraitsNftNftChild (413) */3459 /** @name RmrkTraitsNftNftChild (412) */
3471 interface RmrkTraitsNftNftChild extends Struct {3460 interface RmrkTraitsNftNftChild extends Struct {
3472 readonly collectionId: u32;3461 readonly collectionId: u32;
3473 readonly nftId: u32;3462 readonly nftId: u32;
3474 }3463 }
34753464
3476 /** @name PalletCommonError (415) */3465 /** @name PalletCommonError (414) */
3477 interface PalletCommonError extends Enum {3466 interface PalletCommonError extends Enum {
3478 readonly isCollectionNotFound: boolean;3467 readonly isCollectionNotFound: boolean;
3479 readonly isMustBeTokenOwner: boolean;3468 readonly isMustBeTokenOwner: boolean;
3514 readonly type: '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' | 'ConfirmSponsorshipFail' | 'UserIsNotCollectionAdmin';3503 readonly type: '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' | 'ConfirmSponsorshipFail' | 'UserIsNotCollectionAdmin';
3515 }3504 }
35163505
3517 /** @name PalletFungibleError (417) */3506 /** @name PalletFungibleError (416) */
3518 interface PalletFungibleError extends Enum {3507 interface PalletFungibleError extends Enum {
3519 readonly isNotFungibleDataUsedToMintFungibleCollectionToken: boolean;3508 readonly isNotFungibleDataUsedToMintFungibleCollectionToken: boolean;
3520 readonly isFungibleItemsHaveNoId: boolean;3509 readonly isFungibleItemsHaveNoId: boolean;
3526 readonly type: 'NotFungibleDataUsedToMintFungibleCollectionToken' | 'FungibleItemsHaveNoId' | 'FungibleItemsDontHaveData' | 'FungibleDisallowsNesting' | 'SettingPropertiesNotAllowed' | 'SettingAllowanceForAllNotAllowed' | 'FungibleTokensAreAlwaysValid';3515 readonly type: 'NotFungibleDataUsedToMintFungibleCollectionToken' | 'FungibleItemsHaveNoId' | 'FungibleItemsDontHaveData' | 'FungibleDisallowsNesting' | 'SettingPropertiesNotAllowed' | 'SettingAllowanceForAllNotAllowed' | 'FungibleTokensAreAlwaysValid';
3527 }3516 }
35283517
3529 /** @name PalletRefungibleItemData (418) */3518 /** @name PalletRefungibleItemData (417) */
3530 interface PalletRefungibleItemData extends Struct {3519 interface PalletRefungibleItemData extends Struct {
3531 readonly constData: Bytes;3520 readonly constData: Bytes;
3532 }3521 }
35333522
3534 /** @name PalletRefungibleError (423) */3523 /** @name PalletRefungibleError (422) */
3535 interface PalletRefungibleError extends Enum {3524 interface PalletRefungibleError extends Enum {
3536 readonly isNotRefungibleDataUsedToMintFungibleCollectionToken: boolean;3525 readonly isNotRefungibleDataUsedToMintFungibleCollectionToken: boolean;
3537 readonly isWrongRefungiblePieces: boolean;3526 readonly isWrongRefungiblePieces: boolean;
3541 readonly type: 'NotRefungibleDataUsedToMintFungibleCollectionToken' | 'WrongRefungiblePieces' | 'RepartitionWhileNotOwningAllPieces' | 'RefungibleDisallowsNesting' | 'SettingPropertiesNotAllowed';3530 readonly type: 'NotRefungibleDataUsedToMintFungibleCollectionToken' | 'WrongRefungiblePieces' | 'RepartitionWhileNotOwningAllPieces' | 'RefungibleDisallowsNesting' | 'SettingPropertiesNotAllowed';
3542 }3531 }
35433532
3544 /** @name PalletNonfungibleItemData (424) */3533 /** @name PalletNonfungibleItemData (423) */
3545 interface PalletNonfungibleItemData extends Struct {3534 interface PalletNonfungibleItemData extends Struct {
3546 readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;3535 readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;
3547 }3536 }
35483537
3549 /** @name UpDataStructsPropertyScope (426) */3538 /** @name UpDataStructsPropertyScope (425) */
3550 interface UpDataStructsPropertyScope extends Enum {3539 interface UpDataStructsPropertyScope extends Enum {
3551 readonly isNone: boolean;3540 readonly isNone: boolean;
3552 readonly isRmrk: boolean;3541 readonly isRmrk: boolean;
3553 readonly type: 'None' | 'Rmrk';3542 readonly type: 'None' | 'Rmrk';
3554 }3543 }
35553544
3556 /** @name PalletNonfungibleError (428) */3545 /** @name PalletNonfungibleError (427) */
3557 interface PalletNonfungibleError extends Enum {3546 interface PalletNonfungibleError extends Enum {
3558 readonly isNotNonfungibleDataUsedToMintFungibleCollectionToken: boolean;3547 readonly isNotNonfungibleDataUsedToMintFungibleCollectionToken: boolean;
3559 readonly isNonfungibleItemsHaveNoAmount: boolean;3548 readonly isNonfungibleItemsHaveNoAmount: boolean;
3560 readonly isCantBurnNftWithChildren: boolean;3549 readonly isCantBurnNftWithChildren: boolean;
3561 readonly type: 'NotNonfungibleDataUsedToMintFungibleCollectionToken' | 'NonfungibleItemsHaveNoAmount' | 'CantBurnNftWithChildren';3550 readonly type: 'NotNonfungibleDataUsedToMintFungibleCollectionToken' | 'NonfungibleItemsHaveNoAmount' | 'CantBurnNftWithChildren';
3562 }3551 }
35633552
3564 /** @name PalletStructureError (429) */3553 /** @name PalletStructureError (428) */
3565 interface PalletStructureError extends Enum {3554 interface PalletStructureError extends Enum {
3566 readonly isOuroborosDetected: boolean;3555 readonly isOuroborosDetected: boolean;
3567 readonly isDepthLimit: boolean;3556 readonly isDepthLimit: boolean;
3570 readonly type: 'OuroborosDetected' | 'DepthLimit' | 'BreadthLimit' | 'TokenNotFound';3559 readonly type: 'OuroborosDetected' | 'DepthLimit' | 'BreadthLimit' | 'TokenNotFound';
3571 }3560 }
35723561
3573 /** @name PalletRmrkCoreError (430) */3562 /** @name PalletRmrkCoreError (429) */
3574 interface PalletRmrkCoreError extends Enum {3563 interface PalletRmrkCoreError extends Enum {
3575 readonly isCorruptedCollectionType: boolean;3564 readonly isCorruptedCollectionType: boolean;
3576 readonly isRmrkPropertyKeyIsTooLong: boolean;3565 readonly isRmrkPropertyKeyIsTooLong: boolean;
3594 readonly type: 'CorruptedCollectionType' | 'RmrkPropertyKeyIsTooLong' | 'RmrkPropertyValueIsTooLong' | 'RmrkPropertyIsNotFound' | 'UnableToDecodeRmrkData' | 'CollectionNotEmpty' | 'NoAvailableCollectionId' | 'NoAvailableNftId' | 'CollectionUnknown' | 'NoPermission' | 'NonTransferable' | 'CollectionFullOrLocked' | 'ResourceDoesntExist' | 'CannotSendToDescendentOrSelf' | 'CannotAcceptNonOwnedNft' | 'CannotRejectNonOwnedNft' | 'CannotRejectNonPendingNft' | 'ResourceNotPending' | 'NoAvailableResourceId';3583 readonly type: 'CorruptedCollectionType' | 'RmrkPropertyKeyIsTooLong' | 'RmrkPropertyValueIsTooLong' | 'RmrkPropertyIsNotFound' | 'UnableToDecodeRmrkData' | 'CollectionNotEmpty' | 'NoAvailableCollectionId' | 'NoAvailableNftId' | 'CollectionUnknown' | 'NoPermission' | 'NonTransferable' | 'CollectionFullOrLocked' | 'ResourceDoesntExist' | 'CannotSendToDescendentOrSelf' | 'CannotAcceptNonOwnedNft' | 'CannotRejectNonOwnedNft' | 'CannotRejectNonPendingNft' | 'ResourceNotPending' | 'NoAvailableResourceId';
3595 }3584 }
35963585
3597 /** @name PalletRmrkEquipError (432) */3586 /** @name PalletRmrkEquipError (431) */
3598 interface PalletRmrkEquipError extends Enum {3587 interface PalletRmrkEquipError extends Enum {
3599 readonly isPermissionError: boolean;3588 readonly isPermissionError: boolean;
3600 readonly isNoAvailableBaseId: boolean;3589 readonly isNoAvailableBaseId: boolean;
3606 readonly type: 'PermissionError' | 'NoAvailableBaseId' | 'NoAvailablePartId' | 'BaseDoesntExist' | 'NeedsDefaultThemeFirst' | 'PartDoesntExist' | 'NoEquippableOnFixedPart';3595 readonly type: 'PermissionError' | 'NoAvailableBaseId' | 'NoAvailablePartId' | 'BaseDoesntExist' | 'NeedsDefaultThemeFirst' | 'PartDoesntExist' | 'NoEquippableOnFixedPart';
3607 }3596 }
36083597
3609 /** @name PalletAppPromotionError (438) */3598 /** @name PalletAppPromotionError (437) */
3610 interface PalletAppPromotionError extends Enum {3599 interface PalletAppPromotionError extends Enum {
3611 readonly isAdminNotSet: boolean;3600 readonly isAdminNotSet: boolean;
3612 readonly isNoPermission: boolean;3601 readonly isNoPermission: boolean;
3617 readonly type: 'AdminNotSet' | 'NoPermission' | 'NotSufficientFunds' | 'PendingForBlockOverflow' | 'SponsorNotSet' | 'IncorrectLockedBalanceOperation';3606 readonly type: 'AdminNotSet' | 'NoPermission' | 'NotSufficientFunds' | 'PendingForBlockOverflow' | 'SponsorNotSet' | 'IncorrectLockedBalanceOperation';
3618 }3607 }
36193608
3620 /** @name PalletForeignAssetsModuleError (439) */3609 /** @name PalletForeignAssetsModuleError (438) */
3621 interface PalletForeignAssetsModuleError extends Enum {3610 interface PalletForeignAssetsModuleError extends Enum {
3622 readonly isBadLocation: boolean;3611 readonly isBadLocation: boolean;
3623 readonly isMultiLocationExisted: boolean;3612 readonly isMultiLocationExisted: boolean;
3626 readonly type: 'BadLocation' | 'MultiLocationExisted' | 'AssetIdNotExists' | 'AssetIdExisted';3615 readonly type: 'BadLocation' | 'MultiLocationExisted' | 'AssetIdNotExists' | 'AssetIdExisted';
3627 }3616 }
36283617
3629 /** @name PalletEvmError (441) */3618 /** @name PalletEvmError (440) */
3630 interface PalletEvmError extends Enum {3619 interface PalletEvmError extends Enum {
3631 readonly isBalanceLow: boolean;3620 readonly isBalanceLow: boolean;
3632 readonly isFeeOverflow: boolean;3621 readonly isFeeOverflow: boolean;
3638 readonly isGasLimitTooHigh: boolean;3627 readonly isGasLimitTooHigh: boolean;
3639 readonly isUndefined: boolean;3628 readonly isUndefined: boolean;
3640 readonly isReentrancy: boolean;3629 readonly isReentrancy: boolean;
3630 readonly isTransactionMustComeFromEOA: boolean;
3641 readonly type: 'BalanceLow' | 'FeeOverflow' | 'PaymentOverflow' | 'WithdrawFailed' | 'GasPriceTooLow' | 'InvalidNonce' | 'GasLimitTooLow' | 'GasLimitTooHigh' | 'Undefined' | 'Reentrancy';3631 readonly type: 'BalanceLow' | 'FeeOverflow' | 'PaymentOverflow' | 'WithdrawFailed' | 'GasPriceTooLow' | 'InvalidNonce' | 'GasLimitTooLow' | 'GasLimitTooHigh' | 'Undefined' | 'Reentrancy' | 'TransactionMustComeFromEOA';
3642 }3632 }
36433633
3644 /** @name FpRpcTransactionStatus (444) */3634 /** @name FpRpcTransactionStatus (443) */
3645 interface FpRpcTransactionStatus extends Struct {3635 interface FpRpcTransactionStatus extends Struct {
3646 readonly transactionHash: H256;3636 readonly transactionHash: H256;
3647 readonly transactionIndex: u32;3637 readonly transactionIndex: u32;
3652 readonly logsBloom: EthbloomBloom;3642 readonly logsBloom: EthbloomBloom;
3653 }3643 }
36543644
3655 /** @name EthbloomBloom (446) */3645 /** @name EthbloomBloom (445) */
3656 interface EthbloomBloom extends U8aFixed {}3646 interface EthbloomBloom extends U8aFixed {}
36573647
3658 /** @name EthereumReceiptReceiptV3 (448) */3648 /** @name EthereumReceiptReceiptV3 (447) */
3659 interface EthereumReceiptReceiptV3 extends Enum {3649 interface EthereumReceiptReceiptV3 extends Enum {
3660 readonly isLegacy: boolean;3650 readonly isLegacy: boolean;
3661 readonly asLegacy: EthereumReceiptEip658ReceiptData;3651 readonly asLegacy: EthereumReceiptEip658ReceiptData;
3666 readonly type: 'Legacy' | 'Eip2930' | 'Eip1559';3656 readonly type: 'Legacy' | 'Eip2930' | 'Eip1559';
3667 }3657 }
36683658
3669 /** @name EthereumReceiptEip658ReceiptData (449) */3659 /** @name EthereumReceiptEip658ReceiptData (448) */
3670 interface EthereumReceiptEip658ReceiptData extends Struct {3660 interface EthereumReceiptEip658ReceiptData extends Struct {
3671 readonly statusCode: u8;3661 readonly statusCode: u8;
3672 readonly usedGas: U256;3662 readonly usedGas: U256;
3673 readonly logsBloom: EthbloomBloom;3663 readonly logsBloom: EthbloomBloom;
3674 readonly logs: Vec<EthereumLog>;3664 readonly logs: Vec<EthereumLog>;
3675 }3665 }
36763666
3677 /** @name EthereumBlock (450) */3667 /** @name EthereumBlock (449) */
3678 interface EthereumBlock extends Struct {3668 interface EthereumBlock extends Struct {
3679 readonly header: EthereumHeader;3669 readonly header: EthereumHeader;
3680 readonly transactions: Vec<EthereumTransactionTransactionV2>;3670 readonly transactions: Vec<EthereumTransactionTransactionV2>;
3681 readonly ommers: Vec<EthereumHeader>;3671 readonly ommers: Vec<EthereumHeader>;
3682 }3672 }
36833673
3684 /** @name EthereumHeader (451) */3674 /** @name EthereumHeader (450) */
3685 interface EthereumHeader extends Struct {3675 interface EthereumHeader extends Struct {
3686 readonly parentHash: H256;3676 readonly parentHash: H256;
3687 readonly ommersHash: H256;3677 readonly ommersHash: H256;
3700 readonly nonce: EthereumTypesHashH64;3690 readonly nonce: EthereumTypesHashH64;
3701 }3691 }
37023692
3703 /** @name EthereumTypesHashH64 (452) */3693 /** @name EthereumTypesHashH64 (451) */
3704 interface EthereumTypesHashH64 extends U8aFixed {}3694 interface EthereumTypesHashH64 extends U8aFixed {}
37053695
3706 /** @name PalletEthereumError (457) */3696 /** @name PalletEthereumError (456) */
3707 interface PalletEthereumError extends Enum {3697 interface PalletEthereumError extends Enum {
3708 readonly isInvalidSignature: boolean;3698 readonly isInvalidSignature: boolean;
3709 readonly isPreLogExists: boolean;3699 readonly isPreLogExists: boolean;
3710 readonly type: 'InvalidSignature' | 'PreLogExists';3700 readonly type: 'InvalidSignature' | 'PreLogExists';
3711 }3701 }
37123702
3713 /** @name PalletEvmCoderSubstrateError (458) */3703 /** @name PalletEvmCoderSubstrateError (457) */
3714 interface PalletEvmCoderSubstrateError extends Enum {3704 interface PalletEvmCoderSubstrateError extends Enum {
3715 readonly isOutOfGas: boolean;3705 readonly isOutOfGas: boolean;
3716 readonly isOutOfFund: boolean;3706 readonly isOutOfFund: boolean;
3717 readonly type: 'OutOfGas' | 'OutOfFund';3707 readonly type: 'OutOfGas' | 'OutOfFund';
3718 }3708 }
37193709
3720 /** @name UpDataStructsSponsorshipStateBasicCrossAccountIdRepr (459) */3710 /** @name UpDataStructsSponsorshipStateBasicCrossAccountIdRepr (458) */
3721 interface UpDataStructsSponsorshipStateBasicCrossAccountIdRepr extends Enum {3711 interface UpDataStructsSponsorshipStateBasicCrossAccountIdRepr extends Enum {
3722 readonly isDisabled: boolean;3712 readonly isDisabled: boolean;
3723 readonly isUnconfirmed: boolean;3713 readonly isUnconfirmed: boolean;
3727 readonly type: 'Disabled' | 'Unconfirmed' | 'Confirmed';3717 readonly type: 'Disabled' | 'Unconfirmed' | 'Confirmed';
3728 }3718 }
37293719
3730 /** @name PalletEvmContractHelpersSponsoringModeT (460) */3720 /** @name PalletEvmContractHelpersSponsoringModeT (459) */
3731 interface PalletEvmContractHelpersSponsoringModeT extends Enum {3721 interface PalletEvmContractHelpersSponsoringModeT extends Enum {
3732 readonly isDisabled: boolean;3722 readonly isDisabled: boolean;
3733 readonly isAllowlisted: boolean;3723 readonly isAllowlisted: boolean;
3734 readonly isGenerous: boolean;3724 readonly isGenerous: boolean;
3735 readonly type: 'Disabled' | 'Allowlisted' | 'Generous';3725 readonly type: 'Disabled' | 'Allowlisted' | 'Generous';
3736 }3726 }
37373727
3738 /** @name PalletEvmContractHelpersError (466) */3728 /** @name PalletEvmContractHelpersError (465) */
3739 interface PalletEvmContractHelpersError extends Enum {3729 interface PalletEvmContractHelpersError extends Enum {
3740 readonly isNoPermission: boolean;3730 readonly isNoPermission: boolean;
3741 readonly isNoPendingSponsor: boolean;3731 readonly isNoPendingSponsor: boolean;
3742 readonly isTooManyMethodsHaveSponsoredLimit: boolean;3732 readonly isTooManyMethodsHaveSponsoredLimit: boolean;
3743 readonly type: 'NoPermission' | 'NoPendingSponsor' | 'TooManyMethodsHaveSponsoredLimit';3733 readonly type: 'NoPermission' | 'NoPendingSponsor' | 'TooManyMethodsHaveSponsoredLimit';
3744 }3734 }
37453735
3746 /** @name PalletEvmMigrationError (467) */3736 /** @name PalletEvmMigrationError (466) */
3747 interface PalletEvmMigrationError extends Enum {3737 interface PalletEvmMigrationError extends Enum {
3748 readonly isAccountNotEmpty: boolean;3738 readonly isAccountNotEmpty: boolean;
3749 readonly isAccountIsNotMigrating: boolean;3739 readonly isAccountIsNotMigrating: boolean;
3750 readonly isBadEvent: boolean;3740 readonly isBadEvent: boolean;
3751 readonly type: 'AccountNotEmpty' | 'AccountIsNotMigrating' | 'BadEvent';3741 readonly type: 'AccountNotEmpty' | 'AccountIsNotMigrating' | 'BadEvent';
3752 }3742 }
37533743
3754 /** @name PalletMaintenanceError (468) */3744 /** @name PalletMaintenanceError (467) */
3755 type PalletMaintenanceError = Null;3745 type PalletMaintenanceError = Null;
37563746
3757 /** @name PalletTestUtilsError (469) */3747 /** @name PalletTestUtilsError (468) */
3758 interface PalletTestUtilsError extends Enum {3748 interface PalletTestUtilsError extends Enum {
3759 readonly isTestPalletDisabled: boolean;3749 readonly isTestPalletDisabled: boolean;
3760 readonly isTriggerRollback: boolean;3750 readonly isTriggerRollback: boolean;
3761 readonly type: 'TestPalletDisabled' | 'TriggerRollback';3751 readonly type: 'TestPalletDisabled' | 'TriggerRollback';
3762 }3752 }
37633753
3764 /** @name SpRuntimeMultiSignature (471) */3754 /** @name SpRuntimeMultiSignature (470) */
3765 interface SpRuntimeMultiSignature extends Enum {3755 interface SpRuntimeMultiSignature extends Enum {
3766 readonly isEd25519: boolean;3756 readonly isEd25519: boolean;
3767 readonly asEd25519: SpCoreEd25519Signature;3757 readonly asEd25519: SpCoreEd25519Signature;
3772 readonly type: 'Ed25519' | 'Sr25519' | 'Ecdsa';3762 readonly type: 'Ed25519' | 'Sr25519' | 'Ecdsa';
3773 }3763 }
37743764
3775 /** @name SpCoreEd25519Signature (472) */3765 /** @name SpCoreEd25519Signature (471) */
3776 interface SpCoreEd25519Signature extends U8aFixed {}3766 interface SpCoreEd25519Signature extends U8aFixed {}
37773767
3778 /** @name SpCoreSr25519Signature (474) */3768 /** @name SpCoreSr25519Signature (473) */
3779 interface SpCoreSr25519Signature extends U8aFixed {}3769 interface SpCoreSr25519Signature extends U8aFixed {}
37803770
3781 /** @name SpCoreEcdsaSignature (475) */3771 /** @name SpCoreEcdsaSignature (474) */
3782 interface SpCoreEcdsaSignature extends U8aFixed {}3772 interface SpCoreEcdsaSignature extends U8aFixed {}
37833773
3784 /** @name FrameSystemExtensionsCheckSpecVersion (478) */3774 /** @name FrameSystemExtensionsCheckSpecVersion (477) */
3785 type FrameSystemExtensionsCheckSpecVersion = Null;3775 type FrameSystemExtensionsCheckSpecVersion = Null;
37863776
3787 /** @name FrameSystemExtensionsCheckTxVersion (479) */3777 /** @name FrameSystemExtensionsCheckTxVersion (478) */
3788 type FrameSystemExtensionsCheckTxVersion = Null;3778 type FrameSystemExtensionsCheckTxVersion = Null;
37893779
3790 /** @name FrameSystemExtensionsCheckGenesis (480) */3780 /** @name FrameSystemExtensionsCheckGenesis (479) */
3791 type FrameSystemExtensionsCheckGenesis = Null;3781 type FrameSystemExtensionsCheckGenesis = Null;
37923782
3793 /** @name FrameSystemExtensionsCheckNonce (483) */3783 /** @name FrameSystemExtensionsCheckNonce (482) */
3794 interface FrameSystemExtensionsCheckNonce extends Compact<u32> {}3784 interface FrameSystemExtensionsCheckNonce extends Compact<u32> {}
37953785
3796 /** @name FrameSystemExtensionsCheckWeight (484) */3786 /** @name FrameSystemExtensionsCheckWeight (483) */
3797 type FrameSystemExtensionsCheckWeight = Null;3787 type FrameSystemExtensionsCheckWeight = Null;
37983788
3799 /** @name OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance (485) */3789 /** @name OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance (484) */
3800 type OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance = Null;3790 type OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance = Null;
38013791
3802 /** @name PalletTemplateTransactionPaymentChargeTransactionPayment (486) */3792 /** @name PalletTemplateTransactionPaymentChargeTransactionPayment (485) */
3803 interface PalletTemplateTransactionPaymentChargeTransactionPayment extends Compact<u128> {}3793 interface PalletTemplateTransactionPaymentChargeTransactionPayment extends Compact<u128> {}
38043794
3805 /** @name OpalRuntimeRuntime (487) */3795 /** @name OpalRuntimeRuntime (486) */
3806 type OpalRuntimeRuntime = Null;3796 type OpalRuntimeRuntime = Null;
38073797
3808 /** @name PalletEthereumFakeTransactionFinalizer (488) */3798 /** @name PalletEthereumFakeTransactionFinalizer (487) */
3809 type PalletEthereumFakeTransactionFinalizer = Null;3799 type PalletEthereumFakeTransactionFinalizer = Null;
38103800
3811} // declare module3801} // declare module