git.delta.rocks / unique-network / refs/commits / 982476ef99fe

difftreelog

feautres: Pending interval is now tied to relay blocks, contract sponsors and `stopAppPromotion` added. Preparing to integrate the `app-promotion` palette to integrate with Unique and Quartz.

PraetorP2022-08-29parent: #9d0f344.patch.diff
in: master

13 files changed

modifiedpallets/app-promotion/src/lib.rsdiffbeforeafterboth
--- a/pallets/app-promotion/src/lib.rs
+++ b/pallets/app-promotion/src/lib.rs
@@ -37,9 +37,10 @@
 pub mod weights;
 
 use sp_std::{vec::Vec, iter::Sum, borrow::ToOwned};
+use sp_core::H160;
 use codec::EncodeLike;
 use pallet_balances::BalanceLock;
-pub use types::ExtendedLockableCurrency;
+pub use types::*;
 
 // use up_common::constants::{DAYS, UNIQUE};
 use up_data_structs::CollectionId;
@@ -78,7 +79,6 @@
 	use super::*;
 	use frame_support::{Blake2_128Concat, Twox64Concat, pallet_prelude::*, storage::Key, PalletId};
 	use frame_system::pallet_prelude::*;
-	use types::CollectionHandler;
 
 	#[pallet::config]
 	pub trait Config: frame_system::Config + pallet_evm::account::Config {
@@ -89,6 +89,8 @@
 			CollectionId = CollectionId,
 		>;
 
+		type ContractHandler: ContractHandler<AccountId = Self::CrossAccountId, ContractId = H160>;
+
 		type TreasuryAccountId: Get<Self::AccountId>;
 
 		/// The app's pallet id, used for deriving its sovereign account ID.
@@ -98,7 +100,7 @@
 		/// In relay blocks.
 		#[pallet::constant]
 		type RecalculationInterval: Get<Self::BlockNumber>;
-		/// In chain blocks.
+		/// In relay blocks.
 		#[pallet::constant]
 		type PendingInterval: Get<Self::BlockNumber>;
 
@@ -120,13 +122,6 @@
 
 		/// Events compatible with [`frame_system::Config::Event`].
 		type Event: IsType<<Self as frame_system::Config>::Event> + From<Event<Self>>;
-
-		// /// Number of blocks that pass between treasury balance updates due to inflation
-		// #[pallet::constant]
-		// type InterestBlockInterval: Get<Self::BlockNumber>;
-
-		// // Weight information for functions of this pallet.
-		// type WeightInfo: WeightInfo;
 	}
 
 	#[pallet::pallet]
@@ -146,13 +141,14 @@
 
 	#[pallet::error]
 	pub enum Error<T> {
+		/// Error due to action requiring admin to be set
 		AdminNotSet,
-		/// No permission to perform action
+		/// No permission to perform an action
 		NoPermission,
 		/// Insufficient funds to perform an action
 		NotSufficientFounds,
+		/// An error related to the fact that an invalid argument was passed to perform an action
 		InvalidArgument,
-		AlreadySponsored,
 	}
 
 	#[pallet::storage]
@@ -183,7 +179,7 @@
 		QueryKind = ValueQuery,
 	>;
 
-	/// A block when app-promotion has started
+	/// A block when app-promotion has started .I think this is redundant, because we only need `NextInterestBlock`.
 	#[pallet::storage]
 	pub type StartBlock<T: Config> = StorageValue<Value = T::BlockNumber, QueryKind = ValueQuery>;
 
@@ -285,6 +281,21 @@
 			Ok(())
 		}
 
+		#[pallet::weight(0)]
+		pub fn stop_app_promotion(origin: OriginFor<T>) -> DispatchResult
+		where
+			<T as frame_system::Config>::BlockNumber: From<u32>,
+		{
+			ensure_root(origin)?;
+
+			if <StartBlock<T>>::get() != 0u32.into() {
+				<StartBlock<T>>::set(T::BlockNumber::default());
+				<NextInterestBlock<T>>::set(T::BlockNumber::default());
+			}
+
+			Ok(())
+		}
+
 		#[pallet::weight(T::WeightInfo::stake())]
 		pub fn stake(staker: OriginFor<T>, amount: BalanceOf<T>) -> DispatchResult {
 			let staker_id = ensure_signed(staker)?;
@@ -341,7 +352,8 @@
 					.ok_or(ArithmeticError::Underflow)?,
 			);
 
-			let block = frame_system::Pallet::<T>::block_number() + T::PendingInterval::get();
+			let block =
+				T::RelayBlockNumberProvider::current_block_number() + T::PendingInterval::get();
 			<PendingUnstake<T>>::insert(
 				(&staker_id, block),
 				<PendingUnstake<T>>::get((&staker_id, block))
@@ -415,113 +427,46 @@
 			);
 			T::CollectionHandler::remove_collection_sponsor(collection_id)
 		}
-	}
-}
-
-impl<T: Config> Pallet<T> {
-	// pub fn stake(staker: &T::AccountId, amount: BalanceOf<T>) -> DispatchResult {
-	// 	let balance = <<T as Config>::Currency as Currency<T::AccountId>>::free_balance(staker);
-
-	// 	ensure!(balance >= amount, ArithmeticError::Underflow);
-
-	// 	Self::set_lock_unchecked(staker, amount);
-
-	// 	let block_number = <T::BlockNumberProvider as BlockNumberProvider>::current_block_number();
 
-	// 	<Staked<T>>::insert(
-	// 		(staker, block_number),
-	// 		<Staked<T>>::get((staker, block_number))
-	// 			.checked_add(&amount)
-	// 			.ok_or(ArithmeticError::Overflow)?,
-	// 	);
-
-	// 	<TotalStaked<T>>::set(
-	// 		<TotalStaked<T>>::get()
-	// 			.checked_add(&amount)
-	// 			.ok_or(ArithmeticError::Overflow)?,
-	// 	);
-
-	// 	Ok(())
-	// }
-
-	// pub fn unstake(staker: &T::AccountId, amount: BalanceOf<T>) -> DispatchResult {
-	// 	let mut stakes = Staked::<T>::iter_prefix((staker,)).collect::<Vec<_>>();
-
-	// 	let total_staked = stakes
-	// 		.iter()
-	// 		.fold(<BalanceOf<T>>::default(), |acc, (_, amount)| acc + *amount);
-
-	// 	ensure!(total_staked >= amount, ArithmeticError::Underflow);
-
-	// 	<TotalStaked<T>>::set(
-	// 		<TotalStaked<T>>::get()
-	// 			.checked_sub(&amount)
-	// 			.ok_or(ArithmeticError::Underflow)?,
-	// 	);
-
-	// 	let block = <T::BlockNumberProvider>::current_block_number() + WEEK.into();
-	// 	<PendingUnstake<T>>::insert(
-	// 		(staker, block),
-	// 		<PendingUnstake<T>>::get((staker, block))
-	// 			.checked_add(&amount)
-	// 			.ok_or(ArithmeticError::Overflow)?,
-	// 	);
-
-	// 	stakes.sort_by_key(|(block, _)| *block);
-
-	// 	let mut acc_amount = amount;
-	// 	let new_state = stakes
-	// 		.into_iter()
-	// 		.map_while(|(block, balance_per_block)| {
-	// 			if acc_amount == <BalanceOf<T>>::default() {
-	// 				return None;
-	// 			}
-	// 			if acc_amount <= balance_per_block {
-	// 				let res = (block, balance_per_block - acc_amount, acc_amount);
-	// 				acc_amount = <BalanceOf<T>>::default();
-	// 				return Some(res);
-	// 			} else {
-	// 				acc_amount -= balance_per_block;
-	// 				return Some((block, <BalanceOf<T>>::default(), acc_amount));
-	// 			}
-	// 		})
-	// 		.collect::<Vec<_>>();
-
-	// 	new_state
-	// 		.into_iter()
-	// 		.for_each(|(block, to_staked, _to_pending)| {
-	// 			if to_staked == <BalanceOf<T>>::default() {
-	// 				<Staked<T>>::remove((staker, block));
-	// 			} else {
-	// 				<Staked<T>>::insert((staker, block), to_staked);
-	// 			}
-	// 		});
+		#[pallet::weight(0)]
+		pub fn sponsor_conract(admin: OriginFor<T>, contract_id: H160) -> DispatchResult {
+			let admin_id = ensure_signed(admin)?;
 
-	// 	Ok(())
-	// }
+			ensure!(
+				admin_id == Admin::<T>::get().ok_or(Error::<T>::AdminNotSet)?,
+				Error::<T>::NoPermission
+			);
 
-	// pub fn sponsor_collection(admin: T::AccountId, collection_id: u32) -> DispatchResult {
-	// 	Ok(())
-	// }
+			T::ContractHandler::set_sponsor(
+				T::CrossAccountId::from_sub(Self::account_id()),
+				contract_id,
+			)
+		}
 
-	// pub fn stop_sponsorign_collection(admin: T::AccountId, collection_id: u32) -> DispatchResult {
-	// 	Ok(())
-	// }
+		#[pallet::weight(0)]
+		pub fn stop_sponsorign_contract(admin: OriginFor<T>, contract_id: H160) -> DispatchResult {
+			let admin_id = ensure_signed(admin)?;
 
-	pub fn sponsor_conract(admin: T::AccountId, app_id: u32) -> DispatchResult {
-		Ok(())
-	}
+			ensure!(
+				admin_id == Admin::<T>::get().ok_or(Error::<T>::AdminNotSet)?,
+				Error::<T>::NoPermission
+			);
 
-	pub fn stop_sponsorign_contract(admin: T::AccountId, app_id: u32) -> DispatchResult {
-		Ok(())
+			ensure!(
+				T::ContractHandler::get_sponsor(contract_id)?.ok_or(<Error<T>>::InvalidArgument)?
+					== T::CrossAccountId::from_sub(Self::account_id()),
+				<Error<T>>::NoPermission
+			);
+			T::ContractHandler::remove_contract_sponsor(contract_id)
+		}
 	}
+}
 
+impl<T: Config> Pallet<T> {
 	pub fn account_id() -> T::AccountId {
 		T::PalletId::get().into_account_truncating()
 	}
-}
 
-impl<T: Config> Pallet<T> {
 	fn unlock_balance_unchecked(staker: &T::AccountId, amount: BalanceOf<T>) {
 		let mut locked_balance = Self::get_locked_balance(staker).map(|l| l.amount).unwrap();
 		locked_balance -= amount;
modifiedpallets/app-promotion/src/types.rsdiffbeforeafterboth
--- a/pallets/app-promotion/src/types.rs
+++ b/pallets/app-promotion/src/types.rs
@@ -9,7 +9,7 @@
 use sp_runtime::DispatchError;
 use up_data_structs::{CollectionId, SponsorshipState};
 use sp_std::borrow::ToOwned;
-
+use pallet_evm_contract_helpers::{Pallet as EvmHelpersPallet, Config as EvmHelpersConfig, Sponsoring};
 
 pub trait ExtendedLockableCurrency<AccountId: Parameter>: LockableCurrency<AccountId> {
 	fn locks<KArg>(who: KArg) -> WeakBoundedVec<BalanceLock<Self::Balance>, Self::MaxLocks>
@@ -94,3 +94,40 @@
 			.map(|acc| acc.to_owned()))
 	}
 }
+
+pub trait ContractHandler {
+	type ContractId;
+	type AccountId;
+
+	fn set_sponsor(sponsor_id: Self::AccountId, contract_id: Self::ContractId) -> DispatchResult;
+
+	fn remove_contract_sponsor(collection_id: Self::ContractId) -> DispatchResult;
+
+	fn get_sponsor(contract_id: Self::ContractId)
+		-> Result<Option<Self::AccountId>, DispatchError>;
+}
+
+impl<T: EvmHelpersConfig> ContractHandler for EvmHelpersPallet<T> {
+	type ContractId = sp_core::H160;
+
+	type AccountId = T::CrossAccountId;
+
+	fn set_sponsor(sponsor_id: Self::AccountId, contract_id: Self::ContractId) -> DispatchResult {
+		Sponsoring::<T>::insert(
+			contract_id,
+			SponsorshipState::<T::CrossAccountId>::Confirmed(sponsor_id),
+		);
+		Ok(())
+	}
+
+	fn remove_contract_sponsor(contract_id: Self::ContractId) -> DispatchResult {
+		Sponsoring::<T>::remove(contract_id);
+		Ok(())
+	}
+
+	fn get_sponsor(
+		contract_id: Self::ContractId,
+	) -> Result<Option<Self::AccountId>, DispatchError> {
+		Ok(Self::get_sponsor(contract_id))
+	}
+}
modifiedpallets/evm-contract-helpers/src/lib.rsdiffbeforeafterboth
--- a/pallets/evm-contract-helpers/src/lib.rs
+++ b/pallets/evm-contract-helpers/src/lib.rs
@@ -75,7 +75,7 @@
 	/// * **Key** - contract address.
 	/// * **Value** - sponsorship state.
 	#[pallet::storage]
-	pub(super) type Sponsoring<T: Config> = StorageMap<
+	pub type Sponsoring<T: Config> = StorageMap<
 		Hasher = Twox64Concat,
 		Key = H160,
 		Value = SponsorshipState<T::CrossAccountId>,
modifiedprimitives/common/src/constants.rsdiffbeforeafterboth
--- a/primitives/common/src/constants.rs
+++ b/primitives/common/src/constants.rs
@@ -22,6 +22,7 @@
 use crate::types::{BlockNumber, Balance};
 
 pub const MILLISECS_PER_BLOCK: u64 = 12000;
+pub const MILLISECS_PER_RELAY_BLOCK: u64 = 6000;
 
 pub const SLOT_DURATION: u64 = MILLISECS_PER_BLOCK;
 
@@ -30,6 +31,11 @@
 pub const HOURS: BlockNumber = MINUTES * 60;
 pub const DAYS: BlockNumber = HOURS * 24;
 
+// These time units are defined in number of relay blocks.
+pub const RELAY_MINUTES: BlockNumber = 60_000 / (MILLISECS_PER_RELAY_BLOCK as BlockNumber);
+pub const RELAY_HOURS: BlockNumber = RELAY_MINUTES * 60;
+pub const RELAY_DAYS: BlockNumber = RELAY_HOURS * 24;
+
 pub const MICROUNIQUE: Balance = 1_000_000_000_000;
 pub const MILLIUNIQUE: Balance = 1_000 * MICROUNIQUE;
 pub const CENTIUNIQUE: Balance = 10 * MILLIUNIQUE;
modifiedruntime/common/config/pallets/app_promotion.rsdiffbeforeafterboth
--- a/runtime/common/config/pallets/app_promotion.rs
+++ b/runtime/common/config/pallets/app_promotion.rs
@@ -16,28 +16,40 @@
 
 use crate::{
 	runtime_common::config::pallets::{TreasuryAccountId, RelayChainBlockNumberProvider},
-	Runtime, Balances, BlockNumber, Unique, Event,
+	Runtime, Balances, BlockNumber, Unique, Event, EvmContractHelpers,
 };
 
 use frame_support::{parameter_types, PalletId};
 use sp_arithmetic::Perbill;
 use up_common::{
-	constants::{DAYS, UNIQUE},
+	constants::{DAYS, UNIQUE, RELAY_DAYS},
 	types::Balance,
 };
 
+#[cfg(all(not(feature = "unique-runtime"), not(feature = "quartz-runtime")))]
 parameter_types! {
 	pub const AppPromotionId: PalletId = PalletId(*b"appstake");
 	pub const RecalculationInterval: BlockNumber = 20;
-	pub const PendingInterval: BlockNumber = 10;
+	pub const PendingInterval: BlockNumber = 20;
 	pub const Nominal: Balance = UNIQUE;
 	pub const Day: BlockNumber = DAYS;
-	pub IntervalIncome: Perbill = Perbill::from_rational(RecalculationInterval::get(), 2 * DAYS) * Perbill::from_rational(5u32, 10_000);
+	pub IntervalIncome: Perbill = Perbill::from_rational(RecalculationInterval::get(), RELAY_DAYS) * Perbill::from_rational(5u32, 10_000);
+}
+
+#[cfg(any(feature = "unique-runtime", feature = "quartz-runtime"))]
+parameter_types! {
+	pub const AppPromotionId: PalletId = PalletId(*b"appstake");
+	pub const RecalculationInterval: BlockNumber = RELAY_DAYS;
+	pub const PendingInterval: BlockNumber = 7 * RELAY_DAYS;
+	pub const Nominal: Balance = UNIQUE;
+	pub const Day: BlockNumber = RELAY_DAYS;
+	pub IntervalIncome: Perbill = Perbill::from_rational(5u32, 10_000);
 }
 
 impl pallet_app_promotion::Config for Runtime {
 	type PalletId = AppPromotionId;
 	type CollectionHandler = Unique;
+	type ContractHandler = EvmContractHelpers;
 	type Currency = Balances;
 	type WeightInfo = pallet_app_promotion::weights::SubstrateWeight<Self>;
 	type TreasuryAccountId = TreasuryAccountId;
modifiedtests/src/app-promotion.test.tsdiffbeforeafterboth
--- a/tests/src/app-promotion.test.ts
+++ b/tests/src/app-promotion.test.ts
@@ -706,6 +706,12 @@
       nominal = helper.balance.getOneTokenNominal();
     });
   });
+
+  after(async function () {
+    await usingPlaygrounds(async (helper) => {
+      await helper.signTransaction(alice, helper.api!.tx.sudo.sudo(helper.api!.tx.promotion.stopAppPromotion()));
+    });
+  });
   
   it('will credit 0.05% for staking period', async () => {
     // arrange: bob.stake(10000);
@@ -770,39 +776,24 @@
       const staker = await createUser(40n * nominal);
       
       await waitForRecalculationBlock(helper.api!);
-      // const foo = await helper.api!.registry.getChainProperties().
+      
 
       await expect(helper.signTransaction(staker, helper.api!.tx.promotion.stake(10n * nominal))).to.be.eventually.fulfilled;
-      // await waitNewBlocks(helper.api!, 1);
+      
       await expect(helper.signTransaction(staker, helper.api!.tx.promotion.stake(10n * nominal))).to.be.eventually.fulfilled;
-      // await waitNewBlocks(helper.api!, 1);
+      
       await expect(helper.signTransaction(staker, helper.api!.tx.promotion.stake(10n * nominal))).to.be.eventually.fulfilled;
-      // console.log(await helper.balance.getSubstrate(staker.address));
-      // await waitNewBlocks(helper.api!, 17);
+      
       await waitForRelayBlock(helper.api!, 34);
       expect((await helper.api!.rpc.unique.totalStakedPerBlock(normalizeAccountId(staker)))
         .map(([_, amount]) => amount.toBigInt()))
         .to.be.deep.equal([calculateIncome(10n * nominal, 10n), calculateIncome(10n * nominal, 10n), calculateIncome(10n * nominal, 10n)]);
       
-      // console.log(await getBlockNumber(helper.api!));
-      // console.log((await helper.api!.rpc.unique.totalStakedPerBlock(normalizeAccountId(staker))).map(([block, amount]) => [block.toBigInt(), amount.toBigInt()]));
-      // console.log(`${calculateIncome(10n * nominal, 10n)} || ${calculateIncome(10n * nominal, 10n, 2)}`);
-      // await waitNewBlocks(helper.api!, 10);
       await waitForRelayBlock(helper.api!, 20);
-      // console.log((await helper.api!.rpc.unique.totalStakedPerBlock(normalizeAccountId(staker))).map(([_, amount]) => amount.toBigInt()));
-      // console.log(await helper.balance.getSubstrate(staker.address));
       await expect(helper.signTransaction(staker, helper.api!.tx.promotion.unstake(calculateIncome(10n * nominal, 10n, 2) - 10n * nominal))).to.be.eventually.fulfilled;
-      // console.log(calculateIncome(10n * nominal, 10n, 2));
-      // console.log(calculateIncome(10n * nominal, 10n, 3));
-      // console.log(calculateIncome(10n * nominal, 10n, 4));
-      // console.log(calculateIncome(10n * nominal, 10n, 5));
       expect((await helper.api!.rpc.unique.totalStakedPerBlock(normalizeAccountId(staker)))
         .map(([_, amount]) => amount.toBigInt()))
         .to.be.deep.equal([10n * nominal, calculateIncome(10n * nominal, 10n, 2), calculateIncome(10n * nominal, 10n, 2)]);
-      
-      // console.log((await helper.api!.rpc.unique.totalStakedPerBlock(normalizeAccountId(staker))).map(([_, amount]) => amount.toBigInt()));
-      
-      // console.log(await helper.balance.getSubstrate(staker.address));
     });
     
   });
modifiedtests/src/interfaces/augment-api-consts.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-api-consts.ts
+++ b/tests/src/interfaces/augment-api-consts.ts
@@ -78,7 +78,7 @@
        **/
       palletId: FrameSupportPalletId & AugmentedConst<ApiType>;
       /**
-       * In chain blocks.
+       * In relay blocks.
        **/
       pendingInterval: u32 & AugmentedConst<ApiType>;
       /**
modifiedtests/src/interfaces/augment-api-errors.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-api-errors.ts
+++ b/tests/src/interfaces/augment-api-errors.ts
@@ -430,11 +430,16 @@
       [key: string]: AugmentedError<ApiType>;
     };
     promotion: {
+      /**
+       * Error due to action requiring admin to be set
+       **/
       AdminNotSet: AugmentedError<ApiType>;
-      AlreadySponsored: AugmentedError<ApiType>;
+      /**
+       * An error related to the fact that an invalid argument was passed to perform an action
+       **/
       InvalidArgument: AugmentedError<ApiType>;
       /**
-       * No permission to perform action
+       * No permission to perform an action
        **/
       NoPermission: 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
@@ -525,7 +525,7 @@
        **/
       staked: AugmentedQuery<ApiType, (arg1: AccountId32 | string | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<u128>, [AccountId32, u32]> & QueryableStorageEntry<ApiType, [AccountId32, u32]>;
       /**
-       * A block when app-promotion has started
+       * A block when app-promotion has started .I think this is redundant, because we only need `NextInterestBlock`.
        **/
       startBlock: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;
       totalStaked: AugmentedQuery<ApiType, () => Observable<u128>, []> & QueryableStorageEntry<ApiType, []>;
modifiedtests/src/interfaces/augment-api-tx.tsdiffbeforeafterboth
before · tests/src/interfaces/augment-api-tx.ts
1// Auto-generated via `yarn polkadot-types-from-chain`, do not edit2/* eslint-disable */34// import type lookup before we augment - in some environments5// this is required to allow for ambient/previous definitions6import '@polkadot/api-base/types/submittable';78import type { ApiTypes, AugmentedSubmittable, SubmittableExtrinsic, SubmittableExtrinsicFunction } from '@polkadot/api-base/types';9import type { Bytes, Compact, Option, U256, U8aFixed, Vec, bool, u128, u16, u32, u64, u8 } from '@polkadot/types-codec';10import type { AnyNumber, IMethod, ITuple } from '@polkadot/types-codec/types';11import type { AccountId32, Call, H160, H256, MultiAddress, Perbill, Permill } from '@polkadot/types/interfaces/runtime';12import type { CumulusPrimitivesParachainInherentParachainInherentData, EthereumTransactionTransactionV2, FrameSupportScheduleMaybeHashed, OrmlVestingVestingSchedule, PalletEvmAccountBasicCrossAccountIdRepr, RmrkTraitsNftAccountIdOrCollectionNftTuple, RmrkTraitsPartEquippableList, RmrkTraitsPartPartType, RmrkTraitsResourceBasicResource, RmrkTraitsResourceComposableResource, RmrkTraitsResourceResourceTypes, RmrkTraitsResourceSlotResource, RmrkTraitsTheme, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionPermissions, UpDataStructsCreateCollectionData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, XcmV1MultiLocation, XcmV2WeightLimit, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from '@polkadot/types/lookup';1314export type __AugmentedSubmittable = AugmentedSubmittable<() => unknown>;15export type __SubmittableExtrinsic<ApiType extends ApiTypes> = SubmittableExtrinsic<ApiType>;16export type __SubmittableExtrinsicFunction<ApiType extends ApiTypes> = SubmittableExtrinsicFunction<ApiType>;1718declare module '@polkadot/api-base/types/submittable' {19  interface AugmentedSubmittables<ApiType extends ApiTypes> {20    balances: {21      /**22       * Exactly as `transfer`, except the origin must be root and the source account may be23       * specified.24       * # <weight>25       * - Same as transfer, but additional read and write because the source account is not26       * assumed to be in the overlay.27       * # </weight>28       **/29      forceTransfer: AugmentedSubmittable<(source: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, dest: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, value: Compact<u128> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [MultiAddress, MultiAddress, Compact<u128>]>;30      /**31       * Unreserve some balance from a user by force.32       * 33       * Can only be called by ROOT.34       **/35      forceUnreserve: AugmentedSubmittable<(who: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, amount: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [MultiAddress, u128]>;36      /**37       * Set the balances of a given account.38       * 39       * This will alter `FreeBalance` and `ReservedBalance` in storage. it will40       * also alter the total issuance of the system (`TotalIssuance`) appropriately.41       * If the new free or reserved balance is below the existential deposit,42       * it will reset the account nonce (`frame_system::AccountNonce`).43       * 44       * The dispatch origin for this call is `root`.45       **/46      setBalance: AugmentedSubmittable<(who: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, newFree: Compact<u128> | AnyNumber | Uint8Array, newReserved: Compact<u128> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [MultiAddress, Compact<u128>, Compact<u128>]>;47      /**48       * Transfer some liquid free balance to another account.49       * 50       * `transfer` will set the `FreeBalance` of the sender and receiver.51       * If the sender's account is below the existential deposit as a result52       * of the transfer, the account will be reaped.53       * 54       * The dispatch origin for this call must be `Signed` by the transactor.55       * 56       * # <weight>57       * - Dependent on arguments but not critical, given proper implementations for input config58       * types. See related functions below.59       * - It contains a limited number of reads and writes internally and no complex60       * computation.61       * 62       * Related functions:63       * 64       * - `ensure_can_withdraw` is always called internally but has a bounded complexity.65       * - Transferring balances to accounts that did not exist before will cause66       * `T::OnNewAccount::on_new_account` to be called.67       * - Removing enough funds from an account will trigger `T::DustRemoval::on_unbalanced`.68       * - `transfer_keep_alive` works the same way as `transfer`, but has an additional check69       * that the transfer will not kill the origin account.70       * ---------------------------------71       * - Origin account is already in memory, so no DB operations for them.72       * # </weight>73       **/74      transfer: AugmentedSubmittable<(dest: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, value: Compact<u128> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [MultiAddress, Compact<u128>]>;75      /**76       * Transfer the entire transferable balance from the caller account.77       * 78       * NOTE: This function only attempts to transfer _transferable_ balances. This means that79       * any locked, reserved, or existential deposits (when `keep_alive` is `true`), will not be80       * transferred by this function. To ensure that this function results in a killed account,81       * you might need to prepare the account by removing any reference counters, storage82       * deposits, etc...83       * 84       * The dispatch origin of this call must be Signed.85       * 86       * - `dest`: The recipient of the transfer.87       * - `keep_alive`: A boolean to determine if the `transfer_all` operation should send all88       * of the funds the account has, causing the sender account to be killed (false), or89       * transfer everything except at least the existential deposit, which will guarantee to90       * keep the sender account alive (true). # <weight>91       * - O(1). Just like transfer, but reading the user's transferable balance first.92       * #</weight>93       **/94      transferAll: AugmentedSubmittable<(dest: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, keepAlive: bool | boolean | Uint8Array) => SubmittableExtrinsic<ApiType>, [MultiAddress, bool]>;95      /**96       * Same as the [`transfer`] call, but with a check that the transfer will not kill the97       * origin account.98       * 99       * 99% of the time you want [`transfer`] instead.100       * 101       * [`transfer`]: struct.Pallet.html#method.transfer102       **/103      transferKeepAlive: AugmentedSubmittable<(dest: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, value: Compact<u128> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [MultiAddress, Compact<u128>]>;104      /**105       * Generic tx106       **/107      [key: string]: SubmittableExtrinsicFunction<ApiType>;108    };109    charging: {110      /**111       * Generic tx112       **/113      [key: string]: SubmittableExtrinsicFunction<ApiType>;114    };115    configuration: {116      setMinGasPriceOverride: AugmentedSubmittable<(coeff: Option<u64> | null | Uint8Array | u64 | AnyNumber) => SubmittableExtrinsic<ApiType>, [Option<u64>]>;117      setWeightToFeeCoefficientOverride: AugmentedSubmittable<(coeff: Option<u32> | null | Uint8Array | u32 | AnyNumber) => SubmittableExtrinsic<ApiType>, [Option<u32>]>;118      /**119       * Generic tx120       **/121      [key: string]: SubmittableExtrinsicFunction<ApiType>;122    };123    cumulusXcm: {124      /**125       * Generic tx126       **/127      [key: string]: SubmittableExtrinsicFunction<ApiType>;128    };129    dmpQueue: {130      /**131       * Service a single overweight message.132       * 133       * - `origin`: Must pass `ExecuteOverweightOrigin`.134       * - `index`: The index of the overweight message to service.135       * - `weight_limit`: The amount of weight that message execution may take.136       * 137       * Errors:138       * - `Unknown`: Message of `index` is unknown.139       * - `OverLimit`: Message execution may use greater than `weight_limit`.140       * 141       * Events:142       * - `OverweightServiced`: On success.143       **/144      serviceOverweight: AugmentedSubmittable<(index: u64 | AnyNumber | Uint8Array, weightLimit: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u64, u64]>;145      /**146       * Generic tx147       **/148      [key: string]: SubmittableExtrinsicFunction<ApiType>;149    };150    ethereum: {151      /**152       * Transact an Ethereum transaction.153       **/154      transact: AugmentedSubmittable<(transaction: EthereumTransactionTransactionV2 | { Legacy: any } | { EIP2930: any } | { EIP1559: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [EthereumTransactionTransactionV2]>;155      /**156       * Generic tx157       **/158      [key: string]: SubmittableExtrinsicFunction<ApiType>;159    };160    evm: {161      /**162       * Issue an EVM call operation. This is similar to a message call transaction in Ethereum.163       **/164      call: AugmentedSubmittable<(source: H160 | string | Uint8Array, target: H160 | string | Uint8Array, input: Bytes | string | Uint8Array, value: U256 | AnyNumber | Uint8Array, gasLimit: u64 | AnyNumber | Uint8Array, maxFeePerGas: U256 | AnyNumber | Uint8Array, maxPriorityFeePerGas: Option<U256> | null | Uint8Array | U256 | AnyNumber, nonce: Option<U256> | null | Uint8Array | U256 | AnyNumber, accessList: Vec<ITuple<[H160, Vec<H256>]>> | ([H160 | string | Uint8Array, Vec<H256> | (H256 | string | Uint8Array)[]])[]) => SubmittableExtrinsic<ApiType>, [H160, H160, Bytes, U256, u64, U256, Option<U256>, Option<U256>, Vec<ITuple<[H160, Vec<H256>]>>]>;165      /**166       * Issue an EVM create operation. This is similar to a contract creation transaction in167       * Ethereum.168       **/169      create: AugmentedSubmittable<(source: H160 | string | Uint8Array, init: Bytes | string | Uint8Array, value: U256 | AnyNumber | Uint8Array, gasLimit: u64 | AnyNumber | Uint8Array, maxFeePerGas: U256 | AnyNumber | Uint8Array, maxPriorityFeePerGas: Option<U256> | null | Uint8Array | U256 | AnyNumber, nonce: Option<U256> | null | Uint8Array | U256 | AnyNumber, accessList: Vec<ITuple<[H160, Vec<H256>]>> | ([H160 | string | Uint8Array, Vec<H256> | (H256 | string | Uint8Array)[]])[]) => SubmittableExtrinsic<ApiType>, [H160, Bytes, U256, u64, U256, Option<U256>, Option<U256>, Vec<ITuple<[H160, Vec<H256>]>>]>;170      /**171       * Issue an EVM create2 operation.172       **/173      create2: AugmentedSubmittable<(source: H160 | string | Uint8Array, init: Bytes | string | Uint8Array, salt: H256 | string | Uint8Array, value: U256 | AnyNumber | Uint8Array, gasLimit: u64 | AnyNumber | Uint8Array, maxFeePerGas: U256 | AnyNumber | Uint8Array, maxPriorityFeePerGas: Option<U256> | null | Uint8Array | U256 | AnyNumber, nonce: Option<U256> | null | Uint8Array | U256 | AnyNumber, accessList: Vec<ITuple<[H160, Vec<H256>]>> | ([H160 | string | Uint8Array, Vec<H256> | (H256 | string | Uint8Array)[]])[]) => SubmittableExtrinsic<ApiType>, [H160, Bytes, H256, U256, u64, U256, Option<U256>, Option<U256>, Vec<ITuple<[H160, Vec<H256>]>>]>;174      /**175       * Withdraw balance from EVM into currency/balances pallet.176       **/177      withdraw: AugmentedSubmittable<(address: H160 | string | Uint8Array, value: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [H160, u128]>;178      /**179       * Generic tx180       **/181      [key: string]: SubmittableExtrinsicFunction<ApiType>;182    };183    evmMigration: {184      begin: AugmentedSubmittable<(address: H160 | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [H160]>;185      finish: AugmentedSubmittable<(address: H160 | string | Uint8Array, code: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [H160, Bytes]>;186      setData: AugmentedSubmittable<(address: H160 | string | Uint8Array, data: Vec<ITuple<[H256, H256]>> | ([H256 | string | Uint8Array, H256 | string | Uint8Array])[]) => SubmittableExtrinsic<ApiType>, [H160, Vec<ITuple<[H256, H256]>>]>;187      /**188       * Generic tx189       **/190      [key: string]: SubmittableExtrinsicFunction<ApiType>;191    };192    inflation: {193      /**194       * This method sets the inflation start date. Can be only called once.195       * Inflation start block can be backdated and will catch up. The method will create Treasury196       * account if it does not exist and perform the first inflation deposit.197       * 198       * # Permissions199       * 200       * * Root201       * 202       * # Arguments203       * 204       * * inflation_start_relay_block: The relay chain block at which inflation should start205       **/206      startInflation: AugmentedSubmittable<(inflationStartRelayBlock: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32]>;207      /**208       * Generic tx209       **/210      [key: string]: SubmittableExtrinsicFunction<ApiType>;211    };212    parachainSystem: {213      authorizeUpgrade: AugmentedSubmittable<(codeHash: H256 | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [H256]>;214      enactAuthorizedUpgrade: AugmentedSubmittable<(code: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes]>;215      /**216       * Set the current validation data.217       * 218       * This should be invoked exactly once per block. It will panic at the finalization219       * phase if the call was not invoked.220       * 221       * The dispatch origin for this call must be `Inherent`222       * 223       * As a side effect, this function upgrades the current validation function224       * if the appropriate time has come.225       **/226      setValidationData: AugmentedSubmittable<(data: CumulusPrimitivesParachainInherentParachainInherentData | { validationData?: any; relayChainState?: any; downwardMessages?: any; horizontalMessages?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [CumulusPrimitivesParachainInherentParachainInherentData]>;227      sudoSendUpwardMessage: AugmentedSubmittable<(message: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes]>;228      /**229       * Generic tx230       **/231      [key: string]: SubmittableExtrinsicFunction<ApiType>;232    };233    polkadotXcm: {234      /**235       * Execute an XCM message from a local, signed, origin.236       * 237       * An event is deposited indicating whether `msg` could be executed completely or only238       * partially.239       * 240       * No more than `max_weight` will be used in its attempted execution. If this is less than the241       * maximum amount of weight that the message could take to be executed, then no execution242       * attempt will be made.243       * 244       * NOTE: A successful return to this does *not* imply that the `msg` was executed successfully245       * to completion; only that *some* of it was executed.246       **/247      execute: AugmentedSubmittable<(message: XcmVersionedXcm | { V0: any } | { V1: any } | { V2: any } | string | Uint8Array, maxWeight: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [XcmVersionedXcm, u64]>;248      /**249       * Set a safe XCM version (the version that XCM should be encoded with if the most recent250       * version a destination can accept is unknown).251       * 252       * - `origin`: Must be Root.253       * - `maybe_xcm_version`: The default XCM encoding version, or `None` to disable.254       **/255      forceDefaultXcmVersion: AugmentedSubmittable<(maybeXcmVersion: Option<u32> | null | Uint8Array | u32 | AnyNumber) => SubmittableExtrinsic<ApiType>, [Option<u32>]>;256      /**257       * Ask a location to notify us regarding their XCM version and any changes to it.258       * 259       * - `origin`: Must be Root.260       * - `location`: The location to which we should subscribe for XCM version notifications.261       **/262      forceSubscribeVersionNotify: AugmentedSubmittable<(location: XcmVersionedMultiLocation | { V0: any } | { V1: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [XcmVersionedMultiLocation]>;263      /**264       * Require that a particular destination should no longer notify us regarding any XCM265       * version changes.266       * 267       * - `origin`: Must be Root.268       * - `location`: The location to which we are currently subscribed for XCM version269       * notifications which we no longer desire.270       **/271      forceUnsubscribeVersionNotify: AugmentedSubmittable<(location: XcmVersionedMultiLocation | { V0: any } | { V1: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [XcmVersionedMultiLocation]>;272      /**273       * Extoll that a particular destination can be communicated with through a particular274       * version of XCM.275       * 276       * - `origin`: Must be Root.277       * - `location`: The destination that is being described.278       * - `xcm_version`: The latest version of XCM that `location` supports.279       **/280      forceXcmVersion: AugmentedSubmittable<(location: XcmV1MultiLocation | { parents?: any; interior?: any } | string | Uint8Array, xcmVersion: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [XcmV1MultiLocation, u32]>;281      /**282       * Transfer some assets from the local chain to the sovereign account of a destination283       * chain and forward a notification XCM.284       * 285       * Fee payment on the destination side is made from the asset in the `assets` vector of286       * index `fee_asset_item`, up to enough to pay for `weight_limit` of weight. If more weight287       * is needed than `weight_limit`, then the operation will fail and the assets send may be288       * at risk.289       * 290       * - `origin`: Must be capable of withdrawing the `assets` and executing XCM.291       * - `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send292       * from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.293       * - `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be294       * an `AccountId32` value.295       * - `assets`: The assets to be withdrawn. This should include the assets used to pay the fee on the296       * `dest` side.297       * - `fee_asset_item`: The index into `assets` of the item which should be used to pay298       * fees.299       * - `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase.300       **/301      limitedReserveTransferAssets: AugmentedSubmittable<(dest: XcmVersionedMultiLocation | { V0: any } | { V1: any } | string | Uint8Array, beneficiary: XcmVersionedMultiLocation | { V0: any } | { V1: any } | string | Uint8Array, assets: XcmVersionedMultiAssets | { V0: any } | { V1: any } | string | Uint8Array, feeAssetItem: u32 | AnyNumber | Uint8Array, weightLimit: XcmV2WeightLimit | { Unlimited: any } | { Limited: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [XcmVersionedMultiLocation, XcmVersionedMultiLocation, XcmVersionedMultiAssets, u32, XcmV2WeightLimit]>;302      /**303       * Teleport some assets from the local chain to some destination chain.304       * 305       * Fee payment on the destination side is made from the asset in the `assets` vector of306       * index `fee_asset_item`, up to enough to pay for `weight_limit` of weight. If more weight307       * is needed than `weight_limit`, then the operation will fail and the assets send may be308       * at risk.309       * 310       * - `origin`: Must be capable of withdrawing the `assets` and executing XCM.311       * - `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send312       * from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.313       * - `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be314       * an `AccountId32` value.315       * - `assets`: The assets to be withdrawn. The first item should be the currency used to to pay the fee on the316       * `dest` side. May not be empty.317       * - `fee_asset_item`: The index into `assets` of the item which should be used to pay318       * fees.319       * - `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase.320       **/321      limitedTeleportAssets: AugmentedSubmittable<(dest: XcmVersionedMultiLocation | { V0: any } | { V1: any } | string | Uint8Array, beneficiary: XcmVersionedMultiLocation | { V0: any } | { V1: any } | string | Uint8Array, assets: XcmVersionedMultiAssets | { V0: any } | { V1: any } | string | Uint8Array, feeAssetItem: u32 | AnyNumber | Uint8Array, weightLimit: XcmV2WeightLimit | { Unlimited: any } | { Limited: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [XcmVersionedMultiLocation, XcmVersionedMultiLocation, XcmVersionedMultiAssets, u32, XcmV2WeightLimit]>;322      /**323       * Transfer some assets from the local chain to the sovereign account of a destination324       * chain and forward a notification XCM.325       * 326       * Fee payment on the destination side is made from the asset in the `assets` vector of327       * index `fee_asset_item`. The weight limit for fees is not provided and thus is unlimited,328       * with all fees taken as needed from the asset.329       * 330       * - `origin`: Must be capable of withdrawing the `assets` and executing XCM.331       * - `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send332       * from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.333       * - `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be334       * an `AccountId32` value.335       * - `assets`: The assets to be withdrawn. This should include the assets used to pay the fee on the336       * `dest` side.337       * - `fee_asset_item`: The index into `assets` of the item which should be used to pay338       * fees.339       **/340      reserveTransferAssets: AugmentedSubmittable<(dest: XcmVersionedMultiLocation | { V0: any } | { V1: any } | string | Uint8Array, beneficiary: XcmVersionedMultiLocation | { V0: any } | { V1: any } | string | Uint8Array, assets: XcmVersionedMultiAssets | { V0: any } | { V1: any } | string | Uint8Array, feeAssetItem: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [XcmVersionedMultiLocation, XcmVersionedMultiLocation, XcmVersionedMultiAssets, u32]>;341      send: AugmentedSubmittable<(dest: XcmVersionedMultiLocation | { V0: any } | { V1: any } | string | Uint8Array, message: XcmVersionedXcm | { V0: any } | { V1: any } | { V2: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [XcmVersionedMultiLocation, XcmVersionedXcm]>;342      /**343       * Teleport some assets from the local chain to some destination chain.344       * 345       * Fee payment on the destination side is made from the asset in the `assets` vector of346       * index `fee_asset_item`. The weight limit for fees is not provided and thus is unlimited,347       * with all fees taken as needed from the asset.348       * 349       * - `origin`: Must be capable of withdrawing the `assets` and executing XCM.350       * - `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send351       * from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.352       * - `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be353       * an `AccountId32` value.354       * - `assets`: The assets to be withdrawn. The first item should be the currency used to to pay the fee on the355       * `dest` side. May not be empty.356       * - `fee_asset_item`: The index into `assets` of the item which should be used to pay357       * fees.358       **/359      teleportAssets: AugmentedSubmittable<(dest: XcmVersionedMultiLocation | { V0: any } | { V1: any } | string | Uint8Array, beneficiary: XcmVersionedMultiLocation | { V0: any } | { V1: any } | string | Uint8Array, assets: XcmVersionedMultiAssets | { V0: any } | { V1: any } | string | Uint8Array, feeAssetItem: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [XcmVersionedMultiLocation, XcmVersionedMultiLocation, XcmVersionedMultiAssets, u32]>;360      /**361       * Generic tx362       **/363      [key: string]: SubmittableExtrinsicFunction<ApiType>;364    };365    promotion: {366      setAdminAddress: AugmentedSubmittable<(admin: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [PalletEvmAccountBasicCrossAccountIdRepr]>;367      sponsorCollection: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32]>;368      stake: AugmentedSubmittable<(amount: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u128]>;369      startAppPromotion: AugmentedSubmittable<(promotionStartRelayBlock: Option<u32> | null | Uint8Array | u32 | AnyNumber) => SubmittableExtrinsic<ApiType>, [Option<u32>]>;370      stopSponsorignCollection: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32]>;371      unstake: AugmentedSubmittable<(amount: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u128]>;372      /**373       * Generic tx374       **/375      [key: string]: SubmittableExtrinsicFunction<ApiType>;376    };377    rmrkCore: {378      /**379       * Accept an NFT sent from another account to self or an owned NFT.380       * 381       * The NFT in question must be pending, and, thus, be [sent](`Pallet::send`) first.382       * 383       * # Permissions:384       * - Token-owner-to-be385       * 386       * # Arguments:387       * - `origin`: sender of the transaction388       * - `rmrk_collection_id`: RMRK collection ID of the NFT to be accepted.389       * - `rmrk_nft_id`: ID of the NFT to be accepted.390       * - `new_owner`: Either the sender's account ID or a sender-owned NFT,391       * whichever the accepted NFT was sent to.392       **/393      acceptNft: AugmentedSubmittable<(rmrkCollectionId: u32 | AnyNumber | Uint8Array, rmrkNftId: u32 | AnyNumber | Uint8Array, newOwner: RmrkTraitsNftAccountIdOrCollectionNftTuple | { AccountId: any } | { CollectionAndNftTuple: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, u32, RmrkTraitsNftAccountIdOrCollectionNftTuple]>;394      /**395       * Accept the addition of a newly created pending resource to an existing NFT.396       * 397       * This transaction is needed when a resource is created and assigned to an NFT398       * by a non-owner, i.e. the collection issuer, with one of the399       * [`add_...` transactions](Pallet::add_basic_resource).400       * 401       * # Permissions:402       * - Token owner403       * 404       * # Arguments:405       * - `origin`: sender of the transaction406       * - `rmrk_collection_id`: RMRK collection ID of the NFT.407       * - `rmrk_nft_id`: ID of the NFT with a pending resource to be accepted.408       * - `resource_id`: ID of the newly created pending resource.409       * accept the addition of a new resource to an existing NFT410       **/411      acceptResource: AugmentedSubmittable<(rmrkCollectionId: u32 | AnyNumber | Uint8Array, rmrkNftId: u32 | AnyNumber | Uint8Array, resourceId: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, u32, u32]>;412      /**413       * Accept the removal of a removal-pending resource from an NFT.414       * 415       * This transaction is needed when a non-owner, i.e. the collection issuer,416       * requests a [removal](`Pallet::remove_resource`) of a resource from an NFT.417       * 418       * # Permissions:419       * - Token owner420       * 421       * # Arguments:422       * - `origin`: sender of the transaction423       * - `rmrk_collection_id`: RMRK collection ID of the NFT.424       * - `rmrk_nft_id`: ID of the NFT with a resource to be removed.425       * - `resource_id`: ID of the removal-pending resource.426       **/427      acceptResourceRemoval: AugmentedSubmittable<(rmrkCollectionId: u32 | AnyNumber | Uint8Array, rmrkNftId: u32 | AnyNumber | Uint8Array, resourceId: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, u32, u32]>;428      /**429       * Create and set/propose a basic resource for an NFT.430       * 431       * A basic resource is the simplest, lacking a Base and anything that comes with it.432       * See RMRK docs for more information and examples.433       * 434       * # Permissions:435       * - Collection issuer - if not the token owner, adding the resource will warrant436       * the owner's [acceptance](Pallet::accept_resource).437       * 438       * # Arguments:439       * - `origin`: sender of the transaction440       * - `rmrk_collection_id`: RMRK collection ID of the NFT.441       * - `nft_id`: ID of the NFT to assign a resource to.442       * - `resource`: Data of the resource to be created.443       **/444      addBasicResource: AugmentedSubmittable<(rmrkCollectionId: u32 | AnyNumber | Uint8Array, nftId: u32 | AnyNumber | Uint8Array, resource: RmrkTraitsResourceBasicResource | { src?: any; metadata?: any; license?: any; thumb?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, u32, RmrkTraitsResourceBasicResource]>;445      /**446       * Create and set/propose a composable resource for an NFT.447       * 448       * A composable resource links to a Base and has a subset of its Parts it is composed of.449       * See RMRK docs for more information and examples.450       * 451       * # Permissions:452       * - Collection issuer - if not the token owner, adding the resource will warrant453       * the owner's [acceptance](Pallet::accept_resource).454       * 455       * # Arguments:456       * - `origin`: sender of the transaction457       * - `rmrk_collection_id`: RMRK collection ID of the NFT.458       * - `nft_id`: ID of the NFT to assign a resource to.459       * - `resource`: Data of the resource to be created.460       **/461      addComposableResource: AugmentedSubmittable<(rmrkCollectionId: u32 | AnyNumber | Uint8Array, nftId: u32 | AnyNumber | Uint8Array, resource: RmrkTraitsResourceComposableResource | { parts?: any; base?: any; src?: any; metadata?: any; license?: any; thumb?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, u32, RmrkTraitsResourceComposableResource]>;462      /**463       * Create and set/propose a slot resource for an NFT.464       * 465       * A slot resource links to a Base and a slot ID in it which it can fit into.466       * See RMRK docs for more information and examples.467       * 468       * # Permissions:469       * - Collection issuer - if not the token owner, adding the resource will warrant470       * the owner's [acceptance](Pallet::accept_resource).471       * 472       * # Arguments:473       * - `origin`: sender of the transaction474       * - `rmrk_collection_id`: RMRK collection ID of the NFT.475       * - `nft_id`: ID of the NFT to assign a resource to.476       * - `resource`: Data of the resource to be created.477       **/478      addSlotResource: AugmentedSubmittable<(rmrkCollectionId: u32 | AnyNumber | Uint8Array, nftId: u32 | AnyNumber | Uint8Array, resource: RmrkTraitsResourceSlotResource | { base?: any; src?: any; metadata?: any; slot?: any; license?: any; thumb?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, u32, RmrkTraitsResourceSlotResource]>;479      /**480       * Burn an NFT, destroying it and its nested tokens up to the specified limit.481       * If the burning budget is exceeded, the transaction is reverted.482       * 483       * This is the way to burn a nested token as well.484       * 485       * For more information, see [`burn_recursively`](pallet_nonfungible::pallet::Pallet::burn_recursively).486       * 487       * # Permissions:488       * * Token owner489       * 490       * # Arguments:491       * - `origin`: sender of the transaction492       * - `collection_id`: RMRK ID of the collection in which the NFT to burn belongs to.493       * - `nft_id`: ID of the NFT to be destroyed.494       * - `max_burns`: Maximum number of tokens to burn, assuming nesting. The transaction495       * is reverted if there are more tokens to burn in the nesting tree than this number.496       * This is primarily a mechanism of transaction weight control.497       **/498      burnNft: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, nftId: u32 | AnyNumber | Uint8Array, maxBurns: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, u32, u32]>;499      /**500       * Change the issuer of a collection. Analogous to Unique's collection's [`owner`](up_data_structs::Collection).501       * 502       * # Permissions:503       * * Collection issuer504       * 505       * # Arguments:506       * - `origin`: sender of the transaction507       * - `collection_id`: RMRK collection ID to change the issuer of.508       * - `new_issuer`: Collection's new issuer.509       **/510      changeCollectionIssuer: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, newIssuer: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, MultiAddress]>;511      /**512       * Create a new collection of NFTs.513       * 514       * # Permissions:515       * * Anyone - will be assigned as the issuer of the collection.516       * 517       * # Arguments:518       * - `origin`: sender of the transaction519       * - `metadata`: Metadata describing the collection, e.g. IPFS hash. Cannot be changed.520       * - `max`: Optional maximum number of tokens.521       * - `symbol`: UTF-8 string with token prefix, by which to represent the token in wallets and UIs.522       * Analogous to Unique's [`token_prefix`](up_data_structs::Collection). Cannot be changed.523       **/524      createCollection: AugmentedSubmittable<(metadata: Bytes | string | Uint8Array, max: Option<u32> | null | Uint8Array | u32 | AnyNumber, symbol: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes, Option<u32>, Bytes]>;525      /**526       * Destroy a collection.527       * 528       * Only empty collections can be destroyed. If it has any tokens, they must be burned first.529       * 530       * # Permissions:531       * * Collection issuer532       * 533       * # Arguments:534       * - `origin`: sender of the transaction535       * - `collection_id`: RMRK ID of the collection to destroy.536       **/537      destroyCollection: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32]>;538      /**539       * "Lock" the collection and prevent new token creation. Cannot be undone.540       * 541       * # Permissions:542       * * Collection issuer543       * 544       * # Arguments:545       * - `origin`: sender of the transaction546       * - `collection_id`: RMRK ID of the collection to lock.547       **/548      lockCollection: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32]>;549      /**550       * Mint an NFT in a specified collection.551       * 552       * # Permissions:553       * * Collection issuer554       * 555       * # Arguments:556       * - `origin`: sender of the transaction557       * - `owner`: Owner account of the NFT. If set to None, defaults to the sender (collection issuer).558       * - `collection_id`: RMRK collection ID for the NFT to be minted within. Cannot be changed.559       * - `recipient`: Receiver account of the royalty. Has no effect if the `royalty_amount` is not set. Cannot be changed.560       * - `royalty_amount`: Optional permillage reward from each trade for the `recipient`. Cannot be changed.561       * - `metadata`: Arbitrary data about an NFT, e.g. IPFS hash. Cannot be changed.562       * - `transferable`: Can this NFT be transferred? Cannot be changed.563       * - `resources`: Resource data to be added to the NFT immediately after minting.564       **/565      mintNft: AugmentedSubmittable<(owner: Option<AccountId32> | null | Uint8Array | AccountId32 | string, collectionId: u32 | AnyNumber | Uint8Array, recipient: Option<AccountId32> | null | Uint8Array | AccountId32 | string, royaltyAmount: Option<Permill> | null | Uint8Array | Permill | AnyNumber, metadata: Bytes | string | Uint8Array, transferable: bool | boolean | Uint8Array, resources: Option<Vec<RmrkTraitsResourceResourceTypes>> | null | Uint8Array | Vec<RmrkTraitsResourceResourceTypes> | (RmrkTraitsResourceResourceTypes | { Basic: any } | { Composable: any } | { Slot: any } | string | Uint8Array)[]) => SubmittableExtrinsic<ApiType>, [Option<AccountId32>, u32, Option<AccountId32>, Option<Permill>, Bytes, bool, Option<Vec<RmrkTraitsResourceResourceTypes>>]>;566      /**567       * Reject an NFT sent from another account to self or owned NFT.568       * The NFT in question will not be sent back and burnt instead.569       * 570       * The NFT in question must be pending, and, thus, be [sent](`Pallet::send`) first.571       * 572       * # Permissions:573       * - Token-owner-to-be-not574       * 575       * # Arguments:576       * - `origin`: sender of the transaction577       * - `rmrk_collection_id`: RMRK ID of the NFT to be rejected.578       * - `rmrk_nft_id`: ID of the NFT to be rejected.579       **/580      rejectNft: AugmentedSubmittable<(rmrkCollectionId: u32 | AnyNumber | Uint8Array, rmrkNftId: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, u32]>;581      /**582       * Remove and erase a resource from an NFT.583       * 584       * If the sender does not own the NFT, then it will be pending confirmation,585       * and will have to be [accepted](Pallet::accept_resource_removal) by the token owner.586       * 587       * # Permissions588       * - Collection issuer589       * 590       * # Arguments591       * - `origin`: sender of the transaction592       * - `rmrk_collection_id`: RMRK ID of a collection to which the NFT making use of the resource belongs to.593       * - `nft_id`: ID of the NFT with a resource to be removed.594       * - `resource_id`: ID of the resource to be removed.595       **/596      removeResource: AugmentedSubmittable<(rmrkCollectionId: u32 | AnyNumber | Uint8Array, nftId: u32 | AnyNumber | Uint8Array, resourceId: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, u32, u32]>;597      /**598       * Transfer an NFT from an account/NFT A to another account/NFT B.599       * The token must be transferable. Nesting cannot occur deeper than the [`NESTING_BUDGET`].600       * 601       * If the target owner is an NFT owned by another account, then the NFT will enter602       * the pending state and will have to be accepted by the other account.603       * 604       * # Permissions:605       * - Token owner606       * 607       * # Arguments:608       * - `origin`: sender of the transaction609       * - `rmrk_collection_id`: RMRK ID of the collection of the NFT to be transferred.610       * - `rmrk_nft_id`: ID of the NFT to be transferred.611       * - `new_owner`: New owner of the nft which can be either an account or a NFT.612       **/613      send: AugmentedSubmittable<(rmrkCollectionId: u32 | AnyNumber | Uint8Array, rmrkNftId: u32 | AnyNumber | Uint8Array, newOwner: RmrkTraitsNftAccountIdOrCollectionNftTuple | { AccountId: any } | { CollectionAndNftTuple: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, u32, RmrkTraitsNftAccountIdOrCollectionNftTuple]>;614      /**615       * Set a different order of resource priorities for an NFT. Priorities can be used,616       * for example, for order of rendering.617       * 618       * Note that the priorities are not updated automatically, and are an empty vector619       * by default. There is no pre-set definition for the order to be particular,620       * it can be interpreted arbitrarily use-case by use-case.621       * 622       * # Permissions:623       * - Token owner624       * 625       * # Arguments:626       * - `origin`: sender of the transaction627       * - `rmrk_collection_id`: RMRK collection ID of the NFT.628       * - `rmrk_nft_id`: ID of the NFT to rearrange resource priorities for.629       * - `priorities`: Ordered vector of resource IDs.630       **/631      setPriority: AugmentedSubmittable<(rmrkCollectionId: u32 | AnyNumber | Uint8Array, rmrkNftId: u32 | AnyNumber | Uint8Array, priorities: Vec<u32> | (u32 | AnyNumber | Uint8Array)[]) => SubmittableExtrinsic<ApiType>, [u32, u32, Vec<u32>]>;632      /**633       * Add or edit a custom user property, a key-value pair, describing the metadata634       * of a token or a collection, on either one of these.635       * 636       * Note that in this proxy implementation many details regarding RMRK are stored637       * as scoped properties prefixed with "rmrk:", normally inaccessible638       * to external transactions and RPCs.639       * 640       * # Permissions:641       * - Collection issuer - in case of collection property642       * - Token owner - in case of NFT property643       * 644       * # Arguments:645       * - `origin`: sender of the transaction646       * - `rmrk_collection_id`: RMRK collection ID.647       * - `maybe_nft_id`: Optional ID of the NFT. If left empty, then the property is set for the collection.648       * - `key`: Key of the custom property to be referenced by.649       * - `value`: Value of the custom property to be stored.650       **/651      setProperty: AugmentedSubmittable<(rmrkCollectionId: Compact<u32> | AnyNumber | Uint8Array, maybeNftId: Option<u32> | null | Uint8Array | u32 | AnyNumber, key: Bytes | string | Uint8Array, value: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Compact<u32>, Option<u32>, Bytes, Bytes]>;652      /**653       * Generic tx654       **/655      [key: string]: SubmittableExtrinsicFunction<ApiType>;656    };657    rmrkEquip: {658      /**659       * Create a new Base.660       * 661       * Modeled after the [Base interaction](https://github.com/rmrk-team/rmrk-spec/blob/master/standards/rmrk2.0.0/interactions/base.md)662       * 663       * # Permissions664       * - Anyone - will be assigned as the issuer of the Base.665       * 666       * # Arguments:667       * - `origin`: Caller, will be assigned as the issuer of the Base668       * - `base_type`: Arbitrary media type, e.g. "svg".669       * - `symbol`: Arbitrary client-chosen symbol.670       * - `parts`: Array of Fixed and Slot Parts composing the Base,671       * confined in length by [`RmrkPartsLimit`](up_data_structs::RmrkPartsLimit).672       **/673      createBase: AugmentedSubmittable<(baseType: Bytes | string | Uint8Array, symbol: Bytes | string | Uint8Array, parts: Vec<RmrkTraitsPartPartType> | (RmrkTraitsPartPartType | { FixedPart: any } | { SlotPart: any } | string | Uint8Array)[]) => SubmittableExtrinsic<ApiType>, [Bytes, Bytes, Vec<RmrkTraitsPartPartType>]>;674      /**675       * Update the array of Collections allowed to be equipped to a Base's specified Slot Part.676       * 677       * Modeled after [equippable interaction](https://github.com/rmrk-team/rmrk-spec/blob/master/standards/rmrk2.0.0/interactions/equippable.md).678       * 679       * # Permissions:680       * - Base issuer681       * 682       * # Arguments:683       * - `origin`: sender of the transaction684       * - `base_id`: Base containing the Slot Part to be updated.685       * - `slot_id`: Slot Part whose Equippable List is being updated .686       * - `equippables`: List of equippables that will override the current Equippables list.687       **/688      equippable: AugmentedSubmittable<(baseId: u32 | AnyNumber | Uint8Array, slotId: u32 | AnyNumber | Uint8Array, equippables: RmrkTraitsPartEquippableList | { All: any } | { Empty: any } | { Custom: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, u32, RmrkTraitsPartEquippableList]>;689      /**690       * Add a Theme to a Base.691       * A Theme named "default" is required prior to adding other Themes.692       * 693       * Modeled after [Themeadd interaction](https://github.com/rmrk-team/rmrk-spec/blob/master/standards/rmrk2.0.0/interactions/themeadd.md).694       * 695       * # Permissions:696       * - Base issuer697       * 698       * # Arguments:699       * - `origin`: sender of the transaction700       * - `base_id`: Base ID containing the Theme to be updated.701       * - `theme`: Theme to add to the Base.  A Theme has a name and properties, which are an702       * array of [key, value, inherit].703       * - `key`: Arbitrary BoundedString, defined by client.704       * - `value`: Arbitrary BoundedString, defined by client.705       * - `inherit`: Optional bool.706       **/707      themeAdd: AugmentedSubmittable<(baseId: u32 | AnyNumber | Uint8Array, theme: RmrkTraitsTheme | { name?: any; properties?: any; inherit?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, RmrkTraitsTheme]>;708      /**709       * Generic tx710       **/711      [key: string]: SubmittableExtrinsicFunction<ApiType>;712    };713    scheduler: {714      /**715       * Cancel a named scheduled task.716       **/717      cancelNamed: AugmentedSubmittable<(id: U8aFixed | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [U8aFixed]>;718      /**719       * Schedule a named task.720       **/721      scheduleNamed: AugmentedSubmittable<(id: U8aFixed | string | Uint8Array, when: u32 | AnyNumber | Uint8Array, maybePeriodic: Option<ITuple<[u32, u32]>> | null | Uint8Array | ITuple<[u32, u32]> | [u32 | AnyNumber | Uint8Array, u32 | AnyNumber | Uint8Array], priority: u8 | AnyNumber | Uint8Array, call: FrameSupportScheduleMaybeHashed | { Value: any } | { Hash: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [U8aFixed, u32, Option<ITuple<[u32, u32]>>, u8, FrameSupportScheduleMaybeHashed]>;722      /**723       * Schedule a named task after a delay.724       * 725       * # <weight>726       * Same as [`schedule_named`](Self::schedule_named).727       * # </weight>728       **/729      scheduleNamedAfter: AugmentedSubmittable<(id: U8aFixed | string | Uint8Array, after: u32 | AnyNumber | Uint8Array, maybePeriodic: Option<ITuple<[u32, u32]>> | null | Uint8Array | ITuple<[u32, u32]> | [u32 | AnyNumber | Uint8Array, u32 | AnyNumber | Uint8Array], priority: u8 | AnyNumber | Uint8Array, call: FrameSupportScheduleMaybeHashed | { Value: any } | { Hash: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [U8aFixed, u32, Option<ITuple<[u32, u32]>>, u8, FrameSupportScheduleMaybeHashed]>;730      /**731       * Generic tx732       **/733      [key: string]: SubmittableExtrinsicFunction<ApiType>;734    };735    structure: {736      /**737       * Generic tx738       **/739      [key: string]: SubmittableExtrinsicFunction<ApiType>;740    };741    sudo: {742      /**743       * Authenticates the current sudo key and sets the given AccountId (`new`) as the new sudo744       * key.745       * 746       * The dispatch origin for this call must be _Signed_.747       * 748       * # <weight>749       * - O(1).750       * - Limited storage reads.751       * - One DB change.752       * # </weight>753       **/754      setKey: AugmentedSubmittable<(updated: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [MultiAddress]>;755      /**756       * Authenticates the sudo key and dispatches a function call with `Root` origin.757       * 758       * The dispatch origin for this call must be _Signed_.759       * 760       * # <weight>761       * - O(1).762       * - Limited storage reads.763       * - One DB write (event).764       * - Weight of derivative `call` execution + 10,000.765       * # </weight>766       **/767      sudo: AugmentedSubmittable<(call: Call | IMethod | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Call]>;768      /**769       * Authenticates the sudo key and dispatches a function call with `Signed` origin from770       * a given account.771       * 772       * The dispatch origin for this call must be _Signed_.773       * 774       * # <weight>775       * - O(1).776       * - Limited storage reads.777       * - One DB write (event).778       * - Weight of derivative `call` execution + 10,000.779       * # </weight>780       **/781      sudoAs: AugmentedSubmittable<(who: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, call: Call | IMethod | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [MultiAddress, Call]>;782      /**783       * Authenticates the sudo key and dispatches a function call with `Root` origin.784       * This function does not check the weight of the call, and instead allows the785       * Sudo user to specify the weight of the call.786       * 787       * The dispatch origin for this call must be _Signed_.788       * 789       * # <weight>790       * - O(1).791       * - The weight of this call is defined by the caller.792       * # </weight>793       **/794      sudoUncheckedWeight: AugmentedSubmittable<(call: Call | IMethod | string | Uint8Array, weight: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [Call, u64]>;795      /**796       * Generic tx797       **/798      [key: string]: SubmittableExtrinsicFunction<ApiType>;799    };800    system: {801      /**802       * A dispatch that will fill the block weight up to the given ratio.803       **/804      fillBlock: AugmentedSubmittable<(ratio: Perbill | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [Perbill]>;805      /**806       * Kill all storage items with a key that starts with the given prefix.807       * 808       * **NOTE:** We rely on the Root origin to provide us the number of subkeys under809       * the prefix we are removing to accurately calculate the weight of this function.810       **/811      killPrefix: AugmentedSubmittable<(prefix: Bytes | string | Uint8Array, subkeys: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes, u32]>;812      /**813       * Kill some items from storage.814       **/815      killStorage: AugmentedSubmittable<(keys: Vec<Bytes> | (Bytes | string | Uint8Array)[]) => SubmittableExtrinsic<ApiType>, [Vec<Bytes>]>;816      /**817       * Make some on-chain remark.818       * 819       * # <weight>820       * - `O(1)`821       * # </weight>822       **/823      remark: AugmentedSubmittable<(remark: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes]>;824      /**825       * Make some on-chain remark and emit event.826       **/827      remarkWithEvent: AugmentedSubmittable<(remark: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes]>;828      /**829       * Set the new runtime code.830       * 831       * # <weight>832       * - `O(C + S)` where `C` length of `code` and `S` complexity of `can_set_code`833       * - 1 call to `can_set_code`: `O(S)` (calls `sp_io::misc::runtime_version` which is834       * expensive).835       * - 1 storage write (codec `O(C)`).836       * - 1 digest item.837       * - 1 event.838       * The weight of this function is dependent on the runtime, but generally this is very839       * expensive. We will treat this as a full block.840       * # </weight>841       **/842      setCode: AugmentedSubmittable<(code: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes]>;843      /**844       * Set the new runtime code without doing any checks of the given `code`.845       * 846       * # <weight>847       * - `O(C)` where `C` length of `code`848       * - 1 storage write (codec `O(C)`).849       * - 1 digest item.850       * - 1 event.851       * The weight of this function is dependent on the runtime. We will treat this as a full852       * block. # </weight>853       **/854      setCodeWithoutChecks: AugmentedSubmittable<(code: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes]>;855      /**856       * Set the number of pages in the WebAssembly environment's heap.857       **/858      setHeapPages: AugmentedSubmittable<(pages: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u64]>;859      /**860       * Set some items of storage.861       **/862      setStorage: AugmentedSubmittable<(items: Vec<ITuple<[Bytes, Bytes]>> | ([Bytes | string | Uint8Array, Bytes | string | Uint8Array])[]) => SubmittableExtrinsic<ApiType>, [Vec<ITuple<[Bytes, Bytes]>>]>;863      /**864       * Generic tx865       **/866      [key: string]: SubmittableExtrinsicFunction<ApiType>;867    };868    timestamp: {869      /**870       * Set the current time.871       * 872       * This call should be invoked exactly once per block. It will panic at the finalization873       * phase, if this call hasn't been invoked by that time.874       * 875       * The timestamp should be greater than the previous one by the amount specified by876       * `MinimumPeriod`.877       * 878       * The dispatch origin for this call must be `Inherent`.879       * 880       * # <weight>881       * - `O(1)` (Note that implementations of `OnTimestampSet` must also be `O(1)`)882       * - 1 storage read and 1 storage mutation (codec `O(1)`). (because of `DidUpdate::take` in883       * `on_finalize`)884       * - 1 event handler `on_timestamp_set`. Must be `O(1)`.885       * # </weight>886       **/887      set: AugmentedSubmittable<(now: Compact<u64> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [Compact<u64>]>;888      /**889       * Generic tx890       **/891      [key: string]: SubmittableExtrinsicFunction<ApiType>;892    };893    treasury: {894      /**895       * Approve a proposal. At a later time, the proposal will be allocated to the beneficiary896       * and the original deposit will be returned.897       * 898       * May only be called from `T::ApproveOrigin`.899       * 900       * # <weight>901       * - Complexity: O(1).902       * - DbReads: `Proposals`, `Approvals`903       * - DbWrite: `Approvals`904       * # </weight>905       **/906      approveProposal: AugmentedSubmittable<(proposalId: Compact<u32> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [Compact<u32>]>;907      /**908       * Put forward a suggestion for spending. A deposit proportional to the value909       * is reserved and slashed if the proposal is rejected. It is returned once the910       * proposal is awarded.911       * 912       * # <weight>913       * - Complexity: O(1)914       * - DbReads: `ProposalCount`, `origin account`915       * - DbWrites: `ProposalCount`, `Proposals`, `origin account`916       * # </weight>917       **/918      proposeSpend: AugmentedSubmittable<(value: Compact<u128> | AnyNumber | Uint8Array, beneficiary: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Compact<u128>, MultiAddress]>;919      /**920       * Reject a proposed spend. The original deposit will be slashed.921       * 922       * May only be called from `T::RejectOrigin`.923       * 924       * # <weight>925       * - Complexity: O(1)926       * - DbReads: `Proposals`, `rejected proposer account`927       * - DbWrites: `Proposals`, `rejected proposer account`928       * # </weight>929       **/930      rejectProposal: AugmentedSubmittable<(proposalId: Compact<u32> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [Compact<u32>]>;931      /**932       * Force a previously approved proposal to be removed from the approval queue.933       * The original deposit will no longer be returned.934       * 935       * May only be called from `T::RejectOrigin`.936       * - `proposal_id`: The index of a proposal937       * 938       * # <weight>939       * - Complexity: O(A) where `A` is the number of approvals940       * - Db reads and writes: `Approvals`941       * # </weight>942       * 943       * Errors:944       * - `ProposalNotApproved`: The `proposal_id` supplied was not found in the approval queue,945       * i.e., the proposal has not been approved. This could also mean the proposal does not946       * exist altogether, thus there is no way it would have been approved in the first place.947       **/948      removeApproval: AugmentedSubmittable<(proposalId: Compact<u32> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [Compact<u32>]>;949      /**950       * Propose and approve a spend of treasury funds.951       * 952       * - `origin`: Must be `SpendOrigin` with the `Success` value being at least `amount`.953       * - `amount`: The amount to be transferred from the treasury to the `beneficiary`.954       * - `beneficiary`: The destination account for the transfer.955       * 956       * NOTE: For record-keeping purposes, the proposer is deemed to be equivalent to the957       * beneficiary.958       **/959      spend: AugmentedSubmittable<(amount: Compact<u128> | AnyNumber | Uint8Array, beneficiary: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Compact<u128>, MultiAddress]>;960      /**961       * Generic tx962       **/963      [key: string]: SubmittableExtrinsicFunction<ApiType>;964    };965    unique: {966      /**967       * Add an admin to a collection.968       * 969       * NFT Collection can be controlled by multiple admin addresses970       * (some which can also be servers, for example). Admins can issue971       * and burn NFTs, as well as add and remove other admins,972       * but cannot change NFT or Collection ownership.973       * 974       * # Permissions975       * 976       * * Collection owner977       * * Collection admin978       * 979       * # Arguments980       * 981       * * `collection_id`: ID of the Collection to add an admin for.982       * * `new_admin`: Address of new admin to add.983       **/984      addCollectionAdmin: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, newAdminId: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, PalletEvmAccountBasicCrossAccountIdRepr]>;985      /**986       * Add an address to allow list.987       * 988       * # Permissions989       * 990       * * Collection owner991       * * Collection admin992       * 993       * # Arguments994       * 995       * * `collection_id`: ID of the modified collection.996       * * `address`: ID of the address to be added to the allowlist.997       **/998      addToAllowList: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, address: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, PalletEvmAccountBasicCrossAccountIdRepr]>;999      /**1000       * Allow a non-permissioned address to transfer or burn an item.1001       * 1002       * # Permissions1003       * 1004       * * Collection owner1005       * * Collection admin1006       * * Current item owner1007       * 1008       * # Arguments1009       * 1010       * * `spender`: Account to be approved to make specific transactions on non-owned tokens.1011       * * `collection_id`: ID of the collection the item belongs to.1012       * * `item_id`: ID of the item transactions on which are now approved.1013       * * `amount`: Number of pieces of the item approved for a transaction (maximum of 1 for NFTs).1014       * Set to 0 to revoke the approval.1015       **/1016      approve: AugmentedSubmittable<(spender: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, collectionId: u32 | AnyNumber | Uint8Array, itemId: u32 | AnyNumber | Uint8Array, amount: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [PalletEvmAccountBasicCrossAccountIdRepr, u32, u32, u128]>;1017      /**1018       * Destroy a token on behalf of the owner as a non-owner account.1019       * 1020       * See also: [`approve`][`Pallet::approve`].1021       * 1022       * After this method executes, one approval is removed from the total so that1023       * the approved address will not be able to transfer this item again from this owner.1024       * 1025       * # Permissions1026       * 1027       * * Collection owner1028       * * Collection admin1029       * * Current token owner1030       * * Address approved by current item owner1031       * 1032       * # Arguments1033       * 1034       * * `from`: The owner of the burning item.1035       * * `collection_id`: ID of the collection to which the item belongs.1036       * * `item_id`: ID of item to burn.1037       * * `value`: Number of pieces to burn.1038       * * Non-Fungible Mode: An NFT is indivisible, there is always 1 corresponding to an ID.1039       * * Fungible Mode: The desired number of pieces to burn.1040       * * Re-Fungible Mode: The desired number of pieces to burn.1041       **/1042      burnFrom: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, from: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, itemId: u32 | AnyNumber | Uint8Array, value: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, PalletEvmAccountBasicCrossAccountIdRepr, u32, u128]>;1043      /**1044       * Destroy an item.1045       * 1046       * # Permissions1047       * 1048       * * Collection owner1049       * * Collection admin1050       * * Current item owner1051       * 1052       * # Arguments1053       * 1054       * * `collection_id`: ID of the collection to which the item belongs.1055       * * `item_id`: ID of item to burn.1056       * * `value`: Number of pieces of the item to destroy.1057       * * Non-Fungible Mode: An NFT is indivisible, there is always 1 corresponding to an ID.1058       * * Fungible Mode: The desired number of pieces to burn.1059       * * Re-Fungible Mode: The desired number of pieces to burn.1060       **/1061      burnItem: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, itemId: u32 | AnyNumber | Uint8Array, value: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, u32, u128]>;1062      /**1063       * Change the owner of the collection.1064       * 1065       * # Permissions1066       * 1067       * * Collection owner1068       * 1069       * # Arguments1070       * 1071       * * `collection_id`: ID of the modified collection.1072       * * `new_owner`: ID of the account that will become the owner.1073       **/1074      changeCollectionOwner: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, newOwner: AccountId32 | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, AccountId32]>;1075      /**1076       * Confirm own sponsorship of a collection, becoming the sponsor.1077       * 1078       * An invitation must be pending, see [`set_collection_sponsor`][`Pallet::set_collection_sponsor`].1079       * Sponsor can pay the fees of a transaction instead of the sender,1080       * but only within specified limits.1081       * 1082       * # Permissions1083       * 1084       * * Sponsor-to-be1085       * 1086       * # Arguments1087       * 1088       * * `collection_id`: ID of the collection with the pending sponsor.1089       **/1090      confirmSponsorship: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32]>;1091      /**1092       * Create a collection of tokens.1093       * 1094       * Each Token may have multiple properties encoded as an array of bytes1095       * of certain length. The initial owner of the collection is set1096       * to the address that signed the transaction and can be changed later.1097       * 1098       * Prefer the more advanced [`create_collection_ex`][`Pallet::create_collection_ex`] instead.1099       * 1100       * # Permissions1101       * 1102       * * Anyone - becomes the owner of the new collection.1103       * 1104       * # Arguments1105       * 1106       * * `collection_name`: Wide-character string with collection name1107       * (limit [`MAX_COLLECTION_NAME_LENGTH`]).1108       * * `collection_description`: Wide-character string with collection description1109       * (limit [`MAX_COLLECTION_DESCRIPTION_LENGTH`]).1110       * * `token_prefix`: Byte string containing the token prefix to mark a collection1111       * to which a token belongs (limit [`MAX_TOKEN_PREFIX_LENGTH`]).1112       * * `mode`: Type of items stored in the collection and type dependent data.1113       **/1114      createCollection: AugmentedSubmittable<(collectionName: Vec<u16> | (u16 | AnyNumber | Uint8Array)[], collectionDescription: Vec<u16> | (u16 | AnyNumber | Uint8Array)[], tokenPrefix: Bytes | string | Uint8Array, mode: UpDataStructsCollectionMode | { NFT: any } | { Fungible: any } | { ReFungible: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Vec<u16>, Vec<u16>, Bytes, UpDataStructsCollectionMode]>;1115      /**1116       * Create a collection with explicit parameters.1117       * 1118       * Prefer it to the deprecated [`create_collection`][`Pallet::create_collection`] method.1119       * 1120       * # Permissions1121       * 1122       * * Anyone - becomes the owner of the new collection.1123       * 1124       * # Arguments1125       * 1126       * * `data`: Explicit data of a collection used for its creation.1127       **/1128      createCollectionEx: AugmentedSubmittable<(data: UpDataStructsCreateCollectionData | { mode?: any; access?: any; name?: any; description?: any; tokenPrefix?: any; pendingSponsor?: any; limits?: any; permissions?: any; tokenPropertyPermissions?: any; properties?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [UpDataStructsCreateCollectionData]>;1129      /**1130       * Mint an item within a collection.1131       * 1132       * A collection must exist first, see [`create_collection_ex`][`Pallet::create_collection_ex`].1133       * 1134       * # Permissions1135       * 1136       * * Collection owner1137       * * Collection admin1138       * * Anyone if1139       * * Allow List is enabled, and1140       * * Address is added to allow list, and1141       * * MintPermission is enabled (see [`set_collection_permissions`][`Pallet::set_collection_permissions`])1142       * 1143       * # Arguments1144       * 1145       * * `collection_id`: ID of the collection to which an item would belong.1146       * * `owner`: Address of the initial owner of the item.1147       * * `data`: Token data describing the item to store on chain.1148       **/1149      createItem: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, owner: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, data: UpDataStructsCreateItemData | { NFT: any } | { Fungible: any } | { ReFungible: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, PalletEvmAccountBasicCrossAccountIdRepr, UpDataStructsCreateItemData]>;1150      /**1151       * Create multiple items within a collection.1152       * 1153       * A collection must exist first, see [`create_collection_ex`][`Pallet::create_collection_ex`].1154       * 1155       * # Permissions1156       * 1157       * * Collection owner1158       * * Collection admin1159       * * Anyone if1160       * * Allow List is enabled, and1161       * * Address is added to the allow list, and1162       * * MintPermission is enabled (see [`set_collection_permissions`][`Pallet::set_collection_permissions`])1163       * 1164       * # Arguments1165       * 1166       * * `collection_id`: ID of the collection to which the tokens would belong.1167       * * `owner`: Address of the initial owner of the tokens.1168       * * `items_data`: Vector of data describing each item to be created.1169       **/1170      createMultipleItems: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, owner: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, itemsData: Vec<UpDataStructsCreateItemData> | (UpDataStructsCreateItemData | { NFT: any } | { Fungible: any } | { ReFungible: any } | string | Uint8Array)[]) => SubmittableExtrinsic<ApiType>, [u32, PalletEvmAccountBasicCrossAccountIdRepr, Vec<UpDataStructsCreateItemData>]>;1171      /**1172       * Create multiple items within a collection with explicitly specified initial parameters.1173       * 1174       * # Permissions1175       * 1176       * * Collection owner1177       * * Collection admin1178       * * Anyone if1179       * * Allow List is enabled, and1180       * * Address is added to allow list, and1181       * * MintPermission is enabled (see [`set_collection_permissions`][`Pallet::set_collection_permissions`])1182       * 1183       * # Arguments1184       * 1185       * * `collection_id`: ID of the collection to which the tokens would belong.1186       * * `data`: Explicit item creation data.1187       **/1188      createMultipleItemsEx: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, data: UpDataStructsCreateItemExData | { NFT: any } | { Fungible: any } | { RefungibleMultipleItems: any } | { RefungibleMultipleOwners: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, UpDataStructsCreateItemExData]>;1189      /**1190       * Delete specified collection properties.1191       * 1192       * # Permissions1193       * 1194       * * Collection Owner1195       * * Collection Admin1196       * 1197       * # Arguments1198       * 1199       * * `collection_id`: ID of the modified collection.1200       * * `property_keys`: Vector of keys of the properties to be deleted.1201       * Keys support Latin letters, `-`, `_`, and `.` as symbols.1202       **/1203      deleteCollectionProperties: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, propertyKeys: Vec<Bytes> | (Bytes | string | Uint8Array)[]) => SubmittableExtrinsic<ApiType>, [u32, Vec<Bytes>]>;1204      /**1205       * Delete specified token properties. Currently properties only work with NFTs.1206       * 1207       * # Permissions1208       * 1209       * * Depends on collection's token property permissions and specified property mutability:1210       * * Collection owner1211       * * Collection admin1212       * * Token owner1213       * 1214       * # Arguments1215       * 1216       * * `collection_id`: ID of the collection to which the token belongs.1217       * * `token_id`: ID of the modified token.1218       * * `property_keys`: Vector of keys of the properties to be deleted.1219       * Keys support Latin letters, `-`, `_`, and `.` as symbols.1220       **/1221      deleteTokenProperties: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, tokenId: u32 | AnyNumber | Uint8Array, propertyKeys: Vec<Bytes> | (Bytes | string | Uint8Array)[]) => SubmittableExtrinsic<ApiType>, [u32, u32, Vec<Bytes>]>;1222      /**1223       * Destroy a collection if no tokens exist within.1224       * 1225       * # Permissions1226       * 1227       * * Collection owner1228       * 1229       * # Arguments1230       * 1231       * * `collection_id`: Collection to destroy.1232       **/1233      destroyCollection: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32]>;1234      /**1235       * Remove admin of a collection.1236       * 1237       * An admin address can remove itself. List of admins may become empty,1238       * in which case only Collection Owner will be able to add an Admin.1239       * 1240       * # Permissions1241       * 1242       * * Collection owner1243       * * Collection admin1244       * 1245       * # Arguments1246       * 1247       * * `collection_id`: ID of the collection to remove the admin for.1248       * * `account_id`: Address of the admin to remove.1249       **/1250      removeCollectionAdmin: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, accountId: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, PalletEvmAccountBasicCrossAccountIdRepr]>;1251      /**1252       * Remove a collection's a sponsor, making everyone pay for their own transactions.1253       * 1254       * # Permissions1255       * 1256       * * Collection owner1257       * 1258       * # Arguments1259       * 1260       * * `collection_id`: ID of the collection with the sponsor to remove.1261       **/1262      removeCollectionSponsor: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32]>;1263      /**1264       * Remove an address from allow list.1265       * 1266       * # Permissions1267       * 1268       * * Collection owner1269       * * Collection admin1270       * 1271       * # Arguments1272       * 1273       * * `collection_id`: ID of the modified collection.1274       * * `address`: ID of the address to be removed from the allowlist.1275       **/1276      removeFromAllowList: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, address: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, PalletEvmAccountBasicCrossAccountIdRepr]>;1277      /**1278       * Re-partition a refungible token, while owning all of its parts/pieces.1279       * 1280       * # Permissions1281       * 1282       * * Token owner (must own every part)1283       * 1284       * # Arguments1285       * 1286       * * `collection_id`: ID of the collection the RFT belongs to.1287       * * `token_id`: ID of the RFT.1288       * * `amount`: New number of parts/pieces into which the token shall be partitioned.1289       **/1290      repartition: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, tokenId: u32 | AnyNumber | Uint8Array, amount: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, u32, u128]>;1291      /**1292       * Set specific limits of a collection. Empty, or None fields mean chain default.1293       * 1294       * # Permissions1295       * 1296       * * Collection owner1297       * * Collection admin1298       * 1299       * # Arguments1300       * 1301       * * `collection_id`: ID of the modified collection.1302       * * `new_limit`: New limits of the collection. Fields that are not set (None)1303       * will not overwrite the old ones.1304       **/1305      setCollectionLimits: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, newLimit: UpDataStructsCollectionLimits | { accountTokenOwnershipLimit?: any; sponsoredDataSize?: any; sponsoredDataRateLimit?: any; tokenLimit?: any; sponsorTransferTimeout?: any; sponsorApproveTimeout?: any; ownerCanTransfer?: any; ownerCanDestroy?: any; transfersEnabled?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, UpDataStructsCollectionLimits]>;1306      /**1307       * Set specific permissions of a collection. Empty, or None fields mean chain default.1308       * 1309       * # Permissions1310       * 1311       * * Collection owner1312       * * Collection admin1313       * 1314       * # Arguments1315       * 1316       * * `collection_id`: ID of the modified collection.1317       * * `new_permission`: New permissions of the collection. Fields that are not set (None)1318       * will not overwrite the old ones.1319       **/1320      setCollectionPermissions: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, newPermission: UpDataStructsCollectionPermissions | { access?: any; mintMode?: any; nesting?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, UpDataStructsCollectionPermissions]>;1321      /**1322       * Add or change collection properties.1323       * 1324       * # Permissions1325       * 1326       * * Collection owner1327       * * Collection admin1328       * 1329       * # Arguments1330       * 1331       * * `collection_id`: ID of the modified collection.1332       * * `properties`: Vector of key-value pairs stored as the collection's metadata.1333       * Keys support Latin letters, `-`, `_`, and `.` as symbols.1334       **/1335      setCollectionProperties: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, properties: Vec<UpDataStructsProperty> | (UpDataStructsProperty | { key?: any; value?: any } | string | Uint8Array)[]) => SubmittableExtrinsic<ApiType>, [u32, Vec<UpDataStructsProperty>]>;1336      /**1337       * Set (invite) a new collection sponsor.1338       * 1339       * If successful, confirmation from the sponsor-to-be will be pending.1340       * 1341       * # Permissions1342       * 1343       * * Collection owner1344       * * Collection admin1345       * 1346       * # Arguments1347       * 1348       * * `collection_id`: ID of the modified collection.1349       * * `new_sponsor`: ID of the account of the sponsor-to-be.1350       **/1351      setCollectionSponsor: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, newSponsor: AccountId32 | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, AccountId32]>;1352      /**1353       * Add or change token properties according to collection's permissions.1354       * Currently properties only work with NFTs.1355       * 1356       * # Permissions1357       * 1358       * * Depends on collection's token property permissions and specified property mutability:1359       * * Collection owner1360       * * Collection admin1361       * * Token owner1362       * 1363       * See [`set_token_property_permissions`][`Pallet::set_token_property_permissions`].1364       * 1365       * # Arguments1366       * 1367       * * `collection_id: ID of the collection to which the token belongs.1368       * * `token_id`: ID of the modified token.1369       * * `properties`: Vector of key-value pairs stored as the token's metadata.1370       * Keys support Latin letters, `-`, `_`, and `.` as symbols.1371       **/1372      setTokenProperties: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, tokenId: u32 | AnyNumber | Uint8Array, properties: Vec<UpDataStructsProperty> | (UpDataStructsProperty | { key?: any; value?: any } | string | Uint8Array)[]) => SubmittableExtrinsic<ApiType>, [u32, u32, Vec<UpDataStructsProperty>]>;1373      /**1374       * Add or change token property permissions of a collection.1375       * 1376       * Without a permission for a particular key, a property with that key1377       * cannot be created in a token.1378       * 1379       * # Permissions1380       * 1381       * * Collection owner1382       * * Collection admin1383       * 1384       * # Arguments1385       * 1386       * * `collection_id`: ID of the modified collection.1387       * * `property_permissions`: Vector of permissions for property keys.1388       * Keys support Latin letters, `-`, `_`, and `.` as symbols.1389       **/1390      setTokenPropertyPermissions: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, propertyPermissions: Vec<UpDataStructsPropertyKeyPermission> | (UpDataStructsPropertyKeyPermission | { key?: any; permission?: any } | string | Uint8Array)[]) => SubmittableExtrinsic<ApiType>, [u32, Vec<UpDataStructsPropertyKeyPermission>]>;1391      /**1392       * Completely allow or disallow transfers for a particular collection.1393       * 1394       * # Permissions1395       * 1396       * * Collection owner1397       * 1398       * # Arguments1399       * 1400       * * `collection_id`: ID of the collection.1401       * * `value`: New value of the flag, are transfers allowed?1402       **/1403      setTransfersEnabledFlag: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, value: bool | boolean | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, bool]>;1404      /**1405       * Change ownership of the token.1406       * 1407       * # Permissions1408       * 1409       * * Collection owner1410       * * Collection admin1411       * * Current token owner1412       * 1413       * # Arguments1414       * 1415       * * `recipient`: Address of token recipient.1416       * * `collection_id`: ID of the collection the item belongs to.1417       * * `item_id`: ID of the item.1418       * * Non-Fungible Mode: Required.1419       * * Fungible Mode: Ignored.1420       * * Re-Fungible Mode: Required.1421       * 1422       * * `value`: Amount to transfer.1423       * * Non-Fungible Mode: An NFT is indivisible, there is always 1 corresponding to an ID.1424       * * Fungible Mode: The desired number of pieces to transfer.1425       * * Re-Fungible Mode: The desired number of pieces to transfer.1426       **/1427      transfer: AugmentedSubmittable<(recipient: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, collectionId: u32 | AnyNumber | Uint8Array, itemId: u32 | AnyNumber | Uint8Array, value: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [PalletEvmAccountBasicCrossAccountIdRepr, u32, u32, u128]>;1428      /**1429       * Change ownership of an item on behalf of the owner as a non-owner account.1430       * 1431       * See the [`approve`][`Pallet::approve`] method for additional information.1432       * 1433       * After this method executes, one approval is removed from the total so that1434       * the approved address will not be able to transfer this item again from this owner.1435       * 1436       * # Permissions1437       * 1438       * * Collection owner1439       * * Collection admin1440       * * Current item owner1441       * * Address approved by current item owner1442       * 1443       * # Arguments1444       * 1445       * * `from`: Address that currently owns the token.1446       * * `recipient`: Address of the new token-owner-to-be.1447       * * `collection_id`: ID of the collection the item.1448       * * `item_id`: ID of the item to be transferred.1449       * * `value`: Amount to transfer.1450       * * Non-Fungible Mode: An NFT is indivisible, there is always 1 corresponding to an ID.1451       * * Fungible Mode: The desired number of pieces to transfer.1452       * * Re-Fungible Mode: The desired number of pieces to transfer.1453       **/1454      transferFrom: AugmentedSubmittable<(from: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, recipient: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, collectionId: u32 | AnyNumber | Uint8Array, itemId: u32 | AnyNumber | Uint8Array, value: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr, u32, u32, u128]>;1455      /**1456       * Generic tx1457       **/1458      [key: string]: SubmittableExtrinsicFunction<ApiType>;1459    };1460    vesting: {1461      claim: AugmentedSubmittable<() => SubmittableExtrinsic<ApiType>, []>;1462      claimFor: AugmentedSubmittable<(dest: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [MultiAddress]>;1463      updateVestingSchedules: AugmentedSubmittable<(who: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, vestingSchedules: Vec<OrmlVestingVestingSchedule> | (OrmlVestingVestingSchedule | { start?: any; period?: any; periodCount?: any; perPeriod?: any } | string | Uint8Array)[]) => SubmittableExtrinsic<ApiType>, [MultiAddress, Vec<OrmlVestingVestingSchedule>]>;1464      vestedTransfer: AugmentedSubmittable<(dest: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, schedule: OrmlVestingVestingSchedule | { start?: any; period?: any; periodCount?: any; perPeriod?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [MultiAddress, OrmlVestingVestingSchedule]>;1465      /**1466       * Generic tx1467       **/1468      [key: string]: SubmittableExtrinsicFunction<ApiType>;1469    };1470    xcmpQueue: {1471      /**1472       * Resumes all XCM executions for the XCMP queue.1473       * 1474       * Note that this function doesn't change the status of the in/out bound channels.1475       * 1476       * - `origin`: Must pass `ControllerOrigin`.1477       **/1478      resumeXcmExecution: AugmentedSubmittable<() => SubmittableExtrinsic<ApiType>, []>;1479      /**1480       * Services a single overweight XCM.1481       * 1482       * - `origin`: Must pass `ExecuteOverweightOrigin`.1483       * - `index`: The index of the overweight XCM to service1484       * - `weight_limit`: The amount of weight that XCM execution may take.1485       * 1486       * Errors:1487       * - `BadOverweightIndex`: XCM under `index` is not found in the `Overweight` storage map.1488       * - `BadXcm`: XCM under `index` cannot be properly decoded into a valid XCM format.1489       * - `WeightOverLimit`: XCM execution may use greater `weight_limit`.1490       * 1491       * Events:1492       * - `OverweightServiced`: On success.1493       **/1494      serviceOverweight: AugmentedSubmittable<(index: u64 | AnyNumber | Uint8Array, weightLimit: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u64, u64]>;1495      /**1496       * Suspends all XCM executions for the XCMP queue, regardless of the sender's origin.1497       * 1498       * - `origin`: Must pass `ControllerOrigin`.1499       **/1500      suspendXcmExecution: AugmentedSubmittable<() => SubmittableExtrinsic<ApiType>, []>;1501      /**1502       * Overwrites the number of pages of messages which must be in the queue after which we drop any further1503       * messages from the channel.1504       * 1505       * - `origin`: Must pass `Root`.1506       * - `new`: Desired value for `QueueConfigData.drop_threshold`1507       **/1508      updateDropThreshold: AugmentedSubmittable<(updated: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32]>;1509      /**1510       * Overwrites the number of pages of messages which the queue must be reduced to before it signals that1511       * message sending may recommence after it has been suspended.1512       * 1513       * - `origin`: Must pass `Root`.1514       * - `new`: Desired value for `QueueConfigData.resume_threshold`1515       **/1516      updateResumeThreshold: AugmentedSubmittable<(updated: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32]>;1517      /**1518       * Overwrites the number of pages of messages which must be in the queue for the other side to be told to1519       * suspend their sending.1520       * 1521       * - `origin`: Must pass `Root`.1522       * - `new`: Desired value for `QueueConfigData.suspend_value`1523       **/1524      updateSuspendThreshold: AugmentedSubmittable<(updated: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32]>;1525      /**1526       * Overwrites the amount of remaining weight under which we stop processing messages.1527       * 1528       * - `origin`: Must pass `Root`.1529       * - `new`: Desired value for `QueueConfigData.threshold_weight`1530       **/1531      updateThresholdWeight: AugmentedSubmittable<(updated: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u64]>;1532      /**1533       * Overwrites the speed to which the available weight approaches the maximum weight.1534       * A lower number results in a faster progression. A value of 1 makes the entire weight available initially.1535       * 1536       * - `origin`: Must pass `Root`.1537       * - `new`: Desired value for `QueueConfigData.weight_restrict_decay`.1538       **/1539      updateWeightRestrictDecay: AugmentedSubmittable<(updated: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u64]>;1540      /**1541       * Overwrite the maximum amount of weight any individual message may consume.1542       * Messages above this weight go into the overweight queue and may only be serviced explicitly.1543       * 1544       * - `origin`: Must pass `Root`.1545       * - `new`: Desired value for `QueueConfigData.xcmp_max_individual_weight`.1546       **/1547      updateXcmpMaxIndividualWeight: AugmentedSubmittable<(updated: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u64]>;1548      /**1549       * Generic tx1550       **/1551      [key: string]: SubmittableExtrinsicFunction<ApiType>;1552    };1553  } // AugmentedSubmittables1554} // declare module
after · tests/src/interfaces/augment-api-tx.ts
1// Auto-generated via `yarn polkadot-types-from-chain`, do not edit2/* eslint-disable */34// import type lookup before we augment - in some environments5// this is required to allow for ambient/previous definitions6import '@polkadot/api-base/types/submittable';78import type { ApiTypes, AugmentedSubmittable, SubmittableExtrinsic, SubmittableExtrinsicFunction } from '@polkadot/api-base/types';9import type { Bytes, Compact, Option, U256, U8aFixed, Vec, bool, u128, u16, u32, u64, u8 } from '@polkadot/types-codec';10import type { AnyNumber, IMethod, ITuple } from '@polkadot/types-codec/types';11import type { AccountId32, Call, H160, H256, MultiAddress, Perbill, Permill } from '@polkadot/types/interfaces/runtime';12import type { CumulusPrimitivesParachainInherentParachainInherentData, EthereumTransactionTransactionV2, FrameSupportScheduleMaybeHashed, OrmlVestingVestingSchedule, PalletEvmAccountBasicCrossAccountIdRepr, RmrkTraitsNftAccountIdOrCollectionNftTuple, RmrkTraitsPartEquippableList, RmrkTraitsPartPartType, RmrkTraitsResourceBasicResource, RmrkTraitsResourceComposableResource, RmrkTraitsResourceResourceTypes, RmrkTraitsResourceSlotResource, RmrkTraitsTheme, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionPermissions, UpDataStructsCreateCollectionData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, XcmV1MultiLocation, XcmV2WeightLimit, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from '@polkadot/types/lookup';1314export type __AugmentedSubmittable = AugmentedSubmittable<() => unknown>;15export type __SubmittableExtrinsic<ApiType extends ApiTypes> = SubmittableExtrinsic<ApiType>;16export type __SubmittableExtrinsicFunction<ApiType extends ApiTypes> = SubmittableExtrinsicFunction<ApiType>;1718declare module '@polkadot/api-base/types/submittable' {19  interface AugmentedSubmittables<ApiType extends ApiTypes> {20    balances: {21      /**22       * Exactly as `transfer`, except the origin must be root and the source account may be23       * specified.24       * # <weight>25       * - Same as transfer, but additional read and write because the source account is not26       * assumed to be in the overlay.27       * # </weight>28       **/29      forceTransfer: AugmentedSubmittable<(source: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, dest: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, value: Compact<u128> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [MultiAddress, MultiAddress, Compact<u128>]>;30      /**31       * Unreserve some balance from a user by force.32       * 33       * Can only be called by ROOT.34       **/35      forceUnreserve: AugmentedSubmittable<(who: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, amount: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [MultiAddress, u128]>;36      /**37       * Set the balances of a given account.38       * 39       * This will alter `FreeBalance` and `ReservedBalance` in storage. it will40       * also alter the total issuance of the system (`TotalIssuance`) appropriately.41       * If the new free or reserved balance is below the existential deposit,42       * it will reset the account nonce (`frame_system::AccountNonce`).43       * 44       * The dispatch origin for this call is `root`.45       **/46      setBalance: AugmentedSubmittable<(who: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, newFree: Compact<u128> | AnyNumber | Uint8Array, newReserved: Compact<u128> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [MultiAddress, Compact<u128>, Compact<u128>]>;47      /**48       * Transfer some liquid free balance to another account.49       * 50       * `transfer` will set the `FreeBalance` of the sender and receiver.51       * If the sender's account is below the existential deposit as a result52       * of the transfer, the account will be reaped.53       * 54       * The dispatch origin for this call must be `Signed` by the transactor.55       * 56       * # <weight>57       * - Dependent on arguments but not critical, given proper implementations for input config58       * types. See related functions below.59       * - It contains a limited number of reads and writes internally and no complex60       * computation.61       * 62       * Related functions:63       * 64       * - `ensure_can_withdraw` is always called internally but has a bounded complexity.65       * - Transferring balances to accounts that did not exist before will cause66       * `T::OnNewAccount::on_new_account` to be called.67       * - Removing enough funds from an account will trigger `T::DustRemoval::on_unbalanced`.68       * - `transfer_keep_alive` works the same way as `transfer`, but has an additional check69       * that the transfer will not kill the origin account.70       * ---------------------------------71       * - Origin account is already in memory, so no DB operations for them.72       * # </weight>73       **/74      transfer: AugmentedSubmittable<(dest: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, value: Compact<u128> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [MultiAddress, Compact<u128>]>;75      /**76       * Transfer the entire transferable balance from the caller account.77       * 78       * NOTE: This function only attempts to transfer _transferable_ balances. This means that79       * any locked, reserved, or existential deposits (when `keep_alive` is `true`), will not be80       * transferred by this function. To ensure that this function results in a killed account,81       * you might need to prepare the account by removing any reference counters, storage82       * deposits, etc...83       * 84       * The dispatch origin of this call must be Signed.85       * 86       * - `dest`: The recipient of the transfer.87       * - `keep_alive`: A boolean to determine if the `transfer_all` operation should send all88       * of the funds the account has, causing the sender account to be killed (false), or89       * transfer everything except at least the existential deposit, which will guarantee to90       * keep the sender account alive (true). # <weight>91       * - O(1). Just like transfer, but reading the user's transferable balance first.92       * #</weight>93       **/94      transferAll: AugmentedSubmittable<(dest: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, keepAlive: bool | boolean | Uint8Array) => SubmittableExtrinsic<ApiType>, [MultiAddress, bool]>;95      /**96       * Same as the [`transfer`] call, but with a check that the transfer will not kill the97       * origin account.98       * 99       * 99% of the time you want [`transfer`] instead.100       * 101       * [`transfer`]: struct.Pallet.html#method.transfer102       **/103      transferKeepAlive: AugmentedSubmittable<(dest: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, value: Compact<u128> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [MultiAddress, Compact<u128>]>;104      /**105       * Generic tx106       **/107      [key: string]: SubmittableExtrinsicFunction<ApiType>;108    };109    charging: {110      /**111       * Generic tx112       **/113      [key: string]: SubmittableExtrinsicFunction<ApiType>;114    };115    configuration: {116      setMinGasPriceOverride: AugmentedSubmittable<(coeff: Option<u64> | null | Uint8Array | u64 | AnyNumber) => SubmittableExtrinsic<ApiType>, [Option<u64>]>;117      setWeightToFeeCoefficientOverride: AugmentedSubmittable<(coeff: Option<u32> | null | Uint8Array | u32 | AnyNumber) => SubmittableExtrinsic<ApiType>, [Option<u32>]>;118      /**119       * Generic tx120       **/121      [key: string]: SubmittableExtrinsicFunction<ApiType>;122    };123    cumulusXcm: {124      /**125       * Generic tx126       **/127      [key: string]: SubmittableExtrinsicFunction<ApiType>;128    };129    dmpQueue: {130      /**131       * Service a single overweight message.132       * 133       * - `origin`: Must pass `ExecuteOverweightOrigin`.134       * - `index`: The index of the overweight message to service.135       * - `weight_limit`: The amount of weight that message execution may take.136       * 137       * Errors:138       * - `Unknown`: Message of `index` is unknown.139       * - `OverLimit`: Message execution may use greater than `weight_limit`.140       * 141       * Events:142       * - `OverweightServiced`: On success.143       **/144      serviceOverweight: AugmentedSubmittable<(index: u64 | AnyNumber | Uint8Array, weightLimit: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u64, u64]>;145      /**146       * Generic tx147       **/148      [key: string]: SubmittableExtrinsicFunction<ApiType>;149    };150    ethereum: {151      /**152       * Transact an Ethereum transaction.153       **/154      transact: AugmentedSubmittable<(transaction: EthereumTransactionTransactionV2 | { Legacy: any } | { EIP2930: any } | { EIP1559: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [EthereumTransactionTransactionV2]>;155      /**156       * Generic tx157       **/158      [key: string]: SubmittableExtrinsicFunction<ApiType>;159    };160    evm: {161      /**162       * Issue an EVM call operation. This is similar to a message call transaction in Ethereum.163       **/164      call: AugmentedSubmittable<(source: H160 | string | Uint8Array, target: H160 | string | Uint8Array, input: Bytes | string | Uint8Array, value: U256 | AnyNumber | Uint8Array, gasLimit: u64 | AnyNumber | Uint8Array, maxFeePerGas: U256 | AnyNumber | Uint8Array, maxPriorityFeePerGas: Option<U256> | null | Uint8Array | U256 | AnyNumber, nonce: Option<U256> | null | Uint8Array | U256 | AnyNumber, accessList: Vec<ITuple<[H160, Vec<H256>]>> | ([H160 | string | Uint8Array, Vec<H256> | (H256 | string | Uint8Array)[]])[]) => SubmittableExtrinsic<ApiType>, [H160, H160, Bytes, U256, u64, U256, Option<U256>, Option<U256>, Vec<ITuple<[H160, Vec<H256>]>>]>;165      /**166       * Issue an EVM create operation. This is similar to a contract creation transaction in167       * Ethereum.168       **/169      create: AugmentedSubmittable<(source: H160 | string | Uint8Array, init: Bytes | string | Uint8Array, value: U256 | AnyNumber | Uint8Array, gasLimit: u64 | AnyNumber | Uint8Array, maxFeePerGas: U256 | AnyNumber | Uint8Array, maxPriorityFeePerGas: Option<U256> | null | Uint8Array | U256 | AnyNumber, nonce: Option<U256> | null | Uint8Array | U256 | AnyNumber, accessList: Vec<ITuple<[H160, Vec<H256>]>> | ([H160 | string | Uint8Array, Vec<H256> | (H256 | string | Uint8Array)[]])[]) => SubmittableExtrinsic<ApiType>, [H160, Bytes, U256, u64, U256, Option<U256>, Option<U256>, Vec<ITuple<[H160, Vec<H256>]>>]>;170      /**171       * Issue an EVM create2 operation.172       **/173      create2: AugmentedSubmittable<(source: H160 | string | Uint8Array, init: Bytes | string | Uint8Array, salt: H256 | string | Uint8Array, value: U256 | AnyNumber | Uint8Array, gasLimit: u64 | AnyNumber | Uint8Array, maxFeePerGas: U256 | AnyNumber | Uint8Array, maxPriorityFeePerGas: Option<U256> | null | Uint8Array | U256 | AnyNumber, nonce: Option<U256> | null | Uint8Array | U256 | AnyNumber, accessList: Vec<ITuple<[H160, Vec<H256>]>> | ([H160 | string | Uint8Array, Vec<H256> | (H256 | string | Uint8Array)[]])[]) => SubmittableExtrinsic<ApiType>, [H160, Bytes, H256, U256, u64, U256, Option<U256>, Option<U256>, Vec<ITuple<[H160, Vec<H256>]>>]>;174      /**175       * Withdraw balance from EVM into currency/balances pallet.176       **/177      withdraw: AugmentedSubmittable<(address: H160 | string | Uint8Array, value: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [H160, u128]>;178      /**179       * Generic tx180       **/181      [key: string]: SubmittableExtrinsicFunction<ApiType>;182    };183    evmMigration: {184      begin: AugmentedSubmittable<(address: H160 | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [H160]>;185      finish: AugmentedSubmittable<(address: H160 | string | Uint8Array, code: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [H160, Bytes]>;186      setData: AugmentedSubmittable<(address: H160 | string | Uint8Array, data: Vec<ITuple<[H256, H256]>> | ([H256 | string | Uint8Array, H256 | string | Uint8Array])[]) => SubmittableExtrinsic<ApiType>, [H160, Vec<ITuple<[H256, H256]>>]>;187      /**188       * Generic tx189       **/190      [key: string]: SubmittableExtrinsicFunction<ApiType>;191    };192    inflation: {193      /**194       * This method sets the inflation start date. Can be only called once.195       * Inflation start block can be backdated and will catch up. The method will create Treasury196       * account if it does not exist and perform the first inflation deposit.197       * 198       * # Permissions199       * 200       * * Root201       * 202       * # Arguments203       * 204       * * inflation_start_relay_block: The relay chain block at which inflation should start205       **/206      startInflation: AugmentedSubmittable<(inflationStartRelayBlock: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32]>;207      /**208       * Generic tx209       **/210      [key: string]: SubmittableExtrinsicFunction<ApiType>;211    };212    parachainSystem: {213      authorizeUpgrade: AugmentedSubmittable<(codeHash: H256 | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [H256]>;214      enactAuthorizedUpgrade: AugmentedSubmittable<(code: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes]>;215      /**216       * Set the current validation data.217       * 218       * This should be invoked exactly once per block. It will panic at the finalization219       * phase if the call was not invoked.220       * 221       * The dispatch origin for this call must be `Inherent`222       * 223       * As a side effect, this function upgrades the current validation function224       * if the appropriate time has come.225       **/226      setValidationData: AugmentedSubmittable<(data: CumulusPrimitivesParachainInherentParachainInherentData | { validationData?: any; relayChainState?: any; downwardMessages?: any; horizontalMessages?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [CumulusPrimitivesParachainInherentParachainInherentData]>;227      sudoSendUpwardMessage: AugmentedSubmittable<(message: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes]>;228      /**229       * Generic tx230       **/231      [key: string]: SubmittableExtrinsicFunction<ApiType>;232    };233    polkadotXcm: {234      /**235       * Execute an XCM message from a local, signed, origin.236       * 237       * An event is deposited indicating whether `msg` could be executed completely or only238       * partially.239       * 240       * No more than `max_weight` will be used in its attempted execution. If this is less than the241       * maximum amount of weight that the message could take to be executed, then no execution242       * attempt will be made.243       * 244       * NOTE: A successful return to this does *not* imply that the `msg` was executed successfully245       * to completion; only that *some* of it was executed.246       **/247      execute: AugmentedSubmittable<(message: XcmVersionedXcm | { V0: any } | { V1: any } | { V2: any } | string | Uint8Array, maxWeight: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [XcmVersionedXcm, u64]>;248      /**249       * Set a safe XCM version (the version that XCM should be encoded with if the most recent250       * version a destination can accept is unknown).251       * 252       * - `origin`: Must be Root.253       * - `maybe_xcm_version`: The default XCM encoding version, or `None` to disable.254       **/255      forceDefaultXcmVersion: AugmentedSubmittable<(maybeXcmVersion: Option<u32> | null | Uint8Array | u32 | AnyNumber) => SubmittableExtrinsic<ApiType>, [Option<u32>]>;256      /**257       * Ask a location to notify us regarding their XCM version and any changes to it.258       * 259       * - `origin`: Must be Root.260       * - `location`: The location to which we should subscribe for XCM version notifications.261       **/262      forceSubscribeVersionNotify: AugmentedSubmittable<(location: XcmVersionedMultiLocation | { V0: any } | { V1: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [XcmVersionedMultiLocation]>;263      /**264       * Require that a particular destination should no longer notify us regarding any XCM265       * version changes.266       * 267       * - `origin`: Must be Root.268       * - `location`: The location to which we are currently subscribed for XCM version269       * notifications which we no longer desire.270       **/271      forceUnsubscribeVersionNotify: AugmentedSubmittable<(location: XcmVersionedMultiLocation | { V0: any } | { V1: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [XcmVersionedMultiLocation]>;272      /**273       * Extoll that a particular destination can be communicated with through a particular274       * version of XCM.275       * 276       * - `origin`: Must be Root.277       * - `location`: The destination that is being described.278       * - `xcm_version`: The latest version of XCM that `location` supports.279       **/280      forceXcmVersion: AugmentedSubmittable<(location: XcmV1MultiLocation | { parents?: any; interior?: any } | string | Uint8Array, xcmVersion: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [XcmV1MultiLocation, u32]>;281      /**282       * Transfer some assets from the local chain to the sovereign account of a destination283       * chain and forward a notification XCM.284       * 285       * Fee payment on the destination side is made from the asset in the `assets` vector of286       * index `fee_asset_item`, up to enough to pay for `weight_limit` of weight. If more weight287       * is needed than `weight_limit`, then the operation will fail and the assets send may be288       * at risk.289       * 290       * - `origin`: Must be capable of withdrawing the `assets` and executing XCM.291       * - `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send292       * from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.293       * - `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be294       * an `AccountId32` value.295       * - `assets`: The assets to be withdrawn. This should include the assets used to pay the fee on the296       * `dest` side.297       * - `fee_asset_item`: The index into `assets` of the item which should be used to pay298       * fees.299       * - `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase.300       **/301      limitedReserveTransferAssets: AugmentedSubmittable<(dest: XcmVersionedMultiLocation | { V0: any } | { V1: any } | string | Uint8Array, beneficiary: XcmVersionedMultiLocation | { V0: any } | { V1: any } | string | Uint8Array, assets: XcmVersionedMultiAssets | { V0: any } | { V1: any } | string | Uint8Array, feeAssetItem: u32 | AnyNumber | Uint8Array, weightLimit: XcmV2WeightLimit | { Unlimited: any } | { Limited: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [XcmVersionedMultiLocation, XcmVersionedMultiLocation, XcmVersionedMultiAssets, u32, XcmV2WeightLimit]>;302      /**303       * Teleport some assets from the local chain to some destination chain.304       * 305       * Fee payment on the destination side is made from the asset in the `assets` vector of306       * index `fee_asset_item`, up to enough to pay for `weight_limit` of weight. If more weight307       * is needed than `weight_limit`, then the operation will fail and the assets send may be308       * at risk.309       * 310       * - `origin`: Must be capable of withdrawing the `assets` and executing XCM.311       * - `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send312       * from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.313       * - `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be314       * an `AccountId32` value.315       * - `assets`: The assets to be withdrawn. The first item should be the currency used to to pay the fee on the316       * `dest` side. May not be empty.317       * - `fee_asset_item`: The index into `assets` of the item which should be used to pay318       * fees.319       * - `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase.320       **/321      limitedTeleportAssets: AugmentedSubmittable<(dest: XcmVersionedMultiLocation | { V0: any } | { V1: any } | string | Uint8Array, beneficiary: XcmVersionedMultiLocation | { V0: any } | { V1: any } | string | Uint8Array, assets: XcmVersionedMultiAssets | { V0: any } | { V1: any } | string | Uint8Array, feeAssetItem: u32 | AnyNumber | Uint8Array, weightLimit: XcmV2WeightLimit | { Unlimited: any } | { Limited: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [XcmVersionedMultiLocation, XcmVersionedMultiLocation, XcmVersionedMultiAssets, u32, XcmV2WeightLimit]>;322      /**323       * Transfer some assets from the local chain to the sovereign account of a destination324       * chain and forward a notification XCM.325       * 326       * Fee payment on the destination side is made from the asset in the `assets` vector of327       * index `fee_asset_item`. The weight limit for fees is not provided and thus is unlimited,328       * with all fees taken as needed from the asset.329       * 330       * - `origin`: Must be capable of withdrawing the `assets` and executing XCM.331       * - `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send332       * from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.333       * - `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be334       * an `AccountId32` value.335       * - `assets`: The assets to be withdrawn. This should include the assets used to pay the fee on the336       * `dest` side.337       * - `fee_asset_item`: The index into `assets` of the item which should be used to pay338       * fees.339       **/340      reserveTransferAssets: AugmentedSubmittable<(dest: XcmVersionedMultiLocation | { V0: any } | { V1: any } | string | Uint8Array, beneficiary: XcmVersionedMultiLocation | { V0: any } | { V1: any } | string | Uint8Array, assets: XcmVersionedMultiAssets | { V0: any } | { V1: any } | string | Uint8Array, feeAssetItem: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [XcmVersionedMultiLocation, XcmVersionedMultiLocation, XcmVersionedMultiAssets, u32]>;341      send: AugmentedSubmittable<(dest: XcmVersionedMultiLocation | { V0: any } | { V1: any } | string | Uint8Array, message: XcmVersionedXcm | { V0: any } | { V1: any } | { V2: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [XcmVersionedMultiLocation, XcmVersionedXcm]>;342      /**343       * Teleport some assets from the local chain to some destination chain.344       * 345       * Fee payment on the destination side is made from the asset in the `assets` vector of346       * index `fee_asset_item`. The weight limit for fees is not provided and thus is unlimited,347       * with all fees taken as needed from the asset.348       * 349       * - `origin`: Must be capable of withdrawing the `assets` and executing XCM.350       * - `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send351       * from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.352       * - `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be353       * an `AccountId32` value.354       * - `assets`: The assets to be withdrawn. The first item should be the currency used to to pay the fee on the355       * `dest` side. May not be empty.356       * - `fee_asset_item`: The index into `assets` of the item which should be used to pay357       * fees.358       **/359      teleportAssets: AugmentedSubmittable<(dest: XcmVersionedMultiLocation | { V0: any } | { V1: any } | string | Uint8Array, beneficiary: XcmVersionedMultiLocation | { V0: any } | { V1: any } | string | Uint8Array, assets: XcmVersionedMultiAssets | { V0: any } | { V1: any } | string | Uint8Array, feeAssetItem: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [XcmVersionedMultiLocation, XcmVersionedMultiLocation, XcmVersionedMultiAssets, u32]>;360      /**361       * Generic tx362       **/363      [key: string]: SubmittableExtrinsicFunction<ApiType>;364    };365    promotion: {366      setAdminAddress: AugmentedSubmittable<(admin: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [PalletEvmAccountBasicCrossAccountIdRepr]>;367      sponsorCollection: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32]>;368      sponsorConract: AugmentedSubmittable<(contractId: H160 | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [H160]>;369      stake: AugmentedSubmittable<(amount: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u128]>;370      startAppPromotion: AugmentedSubmittable<(promotionStartRelayBlock: Option<u32> | null | Uint8Array | u32 | AnyNumber) => SubmittableExtrinsic<ApiType>, [Option<u32>]>;371      stopAppPromotion: AugmentedSubmittable<() => SubmittableExtrinsic<ApiType>, []>;372      stopSponsorignCollection: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32]>;373      stopSponsorignContract: AugmentedSubmittable<(contractId: H160 | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [H160]>;374      unstake: AugmentedSubmittable<(amount: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u128]>;375      /**376       * Generic tx377       **/378      [key: string]: SubmittableExtrinsicFunction<ApiType>;379    };380    rmrkCore: {381      /**382       * Accept an NFT sent from another account to self or an owned NFT.383       * 384       * The NFT in question must be pending, and, thus, be [sent](`Pallet::send`) first.385       * 386       * # Permissions:387       * - Token-owner-to-be388       * 389       * # Arguments:390       * - `origin`: sender of the transaction391       * - `rmrk_collection_id`: RMRK collection ID of the NFT to be accepted.392       * - `rmrk_nft_id`: ID of the NFT to be accepted.393       * - `new_owner`: Either the sender's account ID or a sender-owned NFT,394       * whichever the accepted NFT was sent to.395       **/396      acceptNft: AugmentedSubmittable<(rmrkCollectionId: u32 | AnyNumber | Uint8Array, rmrkNftId: u32 | AnyNumber | Uint8Array, newOwner: RmrkTraitsNftAccountIdOrCollectionNftTuple | { AccountId: any } | { CollectionAndNftTuple: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, u32, RmrkTraitsNftAccountIdOrCollectionNftTuple]>;397      /**398       * Accept the addition of a newly created pending resource to an existing NFT.399       * 400       * This transaction is needed when a resource is created and assigned to an NFT401       * by a non-owner, i.e. the collection issuer, with one of the402       * [`add_...` transactions](Pallet::add_basic_resource).403       * 404       * # Permissions:405       * - Token owner406       * 407       * # Arguments:408       * - `origin`: sender of the transaction409       * - `rmrk_collection_id`: RMRK collection ID of the NFT.410       * - `rmrk_nft_id`: ID of the NFT with a pending resource to be accepted.411       * - `resource_id`: ID of the newly created pending resource.412       * accept the addition of a new resource to an existing NFT413       **/414      acceptResource: AugmentedSubmittable<(rmrkCollectionId: u32 | AnyNumber | Uint8Array, rmrkNftId: u32 | AnyNumber | Uint8Array, resourceId: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, u32, u32]>;415      /**416       * Accept the removal of a removal-pending resource from an NFT.417       * 418       * This transaction is needed when a non-owner, i.e. the collection issuer,419       * requests a [removal](`Pallet::remove_resource`) of a resource from an NFT.420       * 421       * # Permissions:422       * - Token owner423       * 424       * # Arguments:425       * - `origin`: sender of the transaction426       * - `rmrk_collection_id`: RMRK collection ID of the NFT.427       * - `rmrk_nft_id`: ID of the NFT with a resource to be removed.428       * - `resource_id`: ID of the removal-pending resource.429       **/430      acceptResourceRemoval: AugmentedSubmittable<(rmrkCollectionId: u32 | AnyNumber | Uint8Array, rmrkNftId: u32 | AnyNumber | Uint8Array, resourceId: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, u32, u32]>;431      /**432       * Create and set/propose a basic resource for an NFT.433       * 434       * A basic resource is the simplest, lacking a Base and anything that comes with it.435       * See RMRK docs for more information and examples.436       * 437       * # Permissions:438       * - Collection issuer - if not the token owner, adding the resource will warrant439       * the owner's [acceptance](Pallet::accept_resource).440       * 441       * # Arguments:442       * - `origin`: sender of the transaction443       * - `rmrk_collection_id`: RMRK collection ID of the NFT.444       * - `nft_id`: ID of the NFT to assign a resource to.445       * - `resource`: Data of the resource to be created.446       **/447      addBasicResource: AugmentedSubmittable<(rmrkCollectionId: u32 | AnyNumber | Uint8Array, nftId: u32 | AnyNumber | Uint8Array, resource: RmrkTraitsResourceBasicResource | { src?: any; metadata?: any; license?: any; thumb?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, u32, RmrkTraitsResourceBasicResource]>;448      /**449       * Create and set/propose a composable resource for an NFT.450       * 451       * A composable resource links to a Base and has a subset of its Parts it is composed of.452       * See RMRK docs for more information and examples.453       * 454       * # Permissions:455       * - Collection issuer - if not the token owner, adding the resource will warrant456       * the owner's [acceptance](Pallet::accept_resource).457       * 458       * # Arguments:459       * - `origin`: sender of the transaction460       * - `rmrk_collection_id`: RMRK collection ID of the NFT.461       * - `nft_id`: ID of the NFT to assign a resource to.462       * - `resource`: Data of the resource to be created.463       **/464      addComposableResource: AugmentedSubmittable<(rmrkCollectionId: u32 | AnyNumber | Uint8Array, nftId: u32 | AnyNumber | Uint8Array, resource: RmrkTraitsResourceComposableResource | { parts?: any; base?: any; src?: any; metadata?: any; license?: any; thumb?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, u32, RmrkTraitsResourceComposableResource]>;465      /**466       * Create and set/propose a slot resource for an NFT.467       * 468       * A slot resource links to a Base and a slot ID in it which it can fit into.469       * See RMRK docs for more information and examples.470       * 471       * # Permissions:472       * - Collection issuer - if not the token owner, adding the resource will warrant473       * the owner's [acceptance](Pallet::accept_resource).474       * 475       * # Arguments:476       * - `origin`: sender of the transaction477       * - `rmrk_collection_id`: RMRK collection ID of the NFT.478       * - `nft_id`: ID of the NFT to assign a resource to.479       * - `resource`: Data of the resource to be created.480       **/481      addSlotResource: AugmentedSubmittable<(rmrkCollectionId: u32 | AnyNumber | Uint8Array, nftId: u32 | AnyNumber | Uint8Array, resource: RmrkTraitsResourceSlotResource | { base?: any; src?: any; metadata?: any; slot?: any; license?: any; thumb?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, u32, RmrkTraitsResourceSlotResource]>;482      /**483       * Burn an NFT, destroying it and its nested tokens up to the specified limit.484       * If the burning budget is exceeded, the transaction is reverted.485       * 486       * This is the way to burn a nested token as well.487       * 488       * For more information, see [`burn_recursively`](pallet_nonfungible::pallet::Pallet::burn_recursively).489       * 490       * # Permissions:491       * * Token owner492       * 493       * # Arguments:494       * - `origin`: sender of the transaction495       * - `collection_id`: RMRK ID of the collection in which the NFT to burn belongs to.496       * - `nft_id`: ID of the NFT to be destroyed.497       * - `max_burns`: Maximum number of tokens to burn, assuming nesting. The transaction498       * is reverted if there are more tokens to burn in the nesting tree than this number.499       * This is primarily a mechanism of transaction weight control.500       **/501      burnNft: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, nftId: u32 | AnyNumber | Uint8Array, maxBurns: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, u32, u32]>;502      /**503       * Change the issuer of a collection. Analogous to Unique's collection's [`owner`](up_data_structs::Collection).504       * 505       * # Permissions:506       * * Collection issuer507       * 508       * # Arguments:509       * - `origin`: sender of the transaction510       * - `collection_id`: RMRK collection ID to change the issuer of.511       * - `new_issuer`: Collection's new issuer.512       **/513      changeCollectionIssuer: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, newIssuer: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, MultiAddress]>;514      /**515       * Create a new collection of NFTs.516       * 517       * # Permissions:518       * * Anyone - will be assigned as the issuer of the collection.519       * 520       * # Arguments:521       * - `origin`: sender of the transaction522       * - `metadata`: Metadata describing the collection, e.g. IPFS hash. Cannot be changed.523       * - `max`: Optional maximum number of tokens.524       * - `symbol`: UTF-8 string with token prefix, by which to represent the token in wallets and UIs.525       * Analogous to Unique's [`token_prefix`](up_data_structs::Collection). Cannot be changed.526       **/527      createCollection: AugmentedSubmittable<(metadata: Bytes | string | Uint8Array, max: Option<u32> | null | Uint8Array | u32 | AnyNumber, symbol: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes, Option<u32>, Bytes]>;528      /**529       * Destroy a collection.530       * 531       * Only empty collections can be destroyed. If it has any tokens, they must be burned first.532       * 533       * # Permissions:534       * * Collection issuer535       * 536       * # Arguments:537       * - `origin`: sender of the transaction538       * - `collection_id`: RMRK ID of the collection to destroy.539       **/540      destroyCollection: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32]>;541      /**542       * "Lock" the collection and prevent new token creation. Cannot be undone.543       * 544       * # Permissions:545       * * Collection issuer546       * 547       * # Arguments:548       * - `origin`: sender of the transaction549       * - `collection_id`: RMRK ID of the collection to lock.550       **/551      lockCollection: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32]>;552      /**553       * Mint an NFT in a specified collection.554       * 555       * # Permissions:556       * * Collection issuer557       * 558       * # Arguments:559       * - `origin`: sender of the transaction560       * - `owner`: Owner account of the NFT. If set to None, defaults to the sender (collection issuer).561       * - `collection_id`: RMRK collection ID for the NFT to be minted within. Cannot be changed.562       * - `recipient`: Receiver account of the royalty. Has no effect if the `royalty_amount` is not set. Cannot be changed.563       * - `royalty_amount`: Optional permillage reward from each trade for the `recipient`. Cannot be changed.564       * - `metadata`: Arbitrary data about an NFT, e.g. IPFS hash. Cannot be changed.565       * - `transferable`: Can this NFT be transferred? Cannot be changed.566       * - `resources`: Resource data to be added to the NFT immediately after minting.567       **/568      mintNft: AugmentedSubmittable<(owner: Option<AccountId32> | null | Uint8Array | AccountId32 | string, collectionId: u32 | AnyNumber | Uint8Array, recipient: Option<AccountId32> | null | Uint8Array | AccountId32 | string, royaltyAmount: Option<Permill> | null | Uint8Array | Permill | AnyNumber, metadata: Bytes | string | Uint8Array, transferable: bool | boolean | Uint8Array, resources: Option<Vec<RmrkTraitsResourceResourceTypes>> | null | Uint8Array | Vec<RmrkTraitsResourceResourceTypes> | (RmrkTraitsResourceResourceTypes | { Basic: any } | { Composable: any } | { Slot: any } | string | Uint8Array)[]) => SubmittableExtrinsic<ApiType>, [Option<AccountId32>, u32, Option<AccountId32>, Option<Permill>, Bytes, bool, Option<Vec<RmrkTraitsResourceResourceTypes>>]>;569      /**570       * Reject an NFT sent from another account to self or owned NFT.571       * The NFT in question will not be sent back and burnt instead.572       * 573       * The NFT in question must be pending, and, thus, be [sent](`Pallet::send`) first.574       * 575       * # Permissions:576       * - Token-owner-to-be-not577       * 578       * # Arguments:579       * - `origin`: sender of the transaction580       * - `rmrk_collection_id`: RMRK ID of the NFT to be rejected.581       * - `rmrk_nft_id`: ID of the NFT to be rejected.582       **/583      rejectNft: AugmentedSubmittable<(rmrkCollectionId: u32 | AnyNumber | Uint8Array, rmrkNftId: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, u32]>;584      /**585       * Remove and erase a resource from an NFT.586       * 587       * If the sender does not own the NFT, then it will be pending confirmation,588       * and will have to be [accepted](Pallet::accept_resource_removal) by the token owner.589       * 590       * # Permissions591       * - Collection issuer592       * 593       * # Arguments594       * - `origin`: sender of the transaction595       * - `rmrk_collection_id`: RMRK ID of a collection to which the NFT making use of the resource belongs to.596       * - `nft_id`: ID of the NFT with a resource to be removed.597       * - `resource_id`: ID of the resource to be removed.598       **/599      removeResource: AugmentedSubmittable<(rmrkCollectionId: u32 | AnyNumber | Uint8Array, nftId: u32 | AnyNumber | Uint8Array, resourceId: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, u32, u32]>;600      /**601       * Transfer an NFT from an account/NFT A to another account/NFT B.602       * The token must be transferable. Nesting cannot occur deeper than the [`NESTING_BUDGET`].603       * 604       * If the target owner is an NFT owned by another account, then the NFT will enter605       * the pending state and will have to be accepted by the other account.606       * 607       * # Permissions:608       * - Token owner609       * 610       * # Arguments:611       * - `origin`: sender of the transaction612       * - `rmrk_collection_id`: RMRK ID of the collection of the NFT to be transferred.613       * - `rmrk_nft_id`: ID of the NFT to be transferred.614       * - `new_owner`: New owner of the nft which can be either an account or a NFT.615       **/616      send: AugmentedSubmittable<(rmrkCollectionId: u32 | AnyNumber | Uint8Array, rmrkNftId: u32 | AnyNumber | Uint8Array, newOwner: RmrkTraitsNftAccountIdOrCollectionNftTuple | { AccountId: any } | { CollectionAndNftTuple: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, u32, RmrkTraitsNftAccountIdOrCollectionNftTuple]>;617      /**618       * Set a different order of resource priorities for an NFT. Priorities can be used,619       * for example, for order of rendering.620       * 621       * Note that the priorities are not updated automatically, and are an empty vector622       * by default. There is no pre-set definition for the order to be particular,623       * it can be interpreted arbitrarily use-case by use-case.624       * 625       * # Permissions:626       * - Token owner627       * 628       * # Arguments:629       * - `origin`: sender of the transaction630       * - `rmrk_collection_id`: RMRK collection ID of the NFT.631       * - `rmrk_nft_id`: ID of the NFT to rearrange resource priorities for.632       * - `priorities`: Ordered vector of resource IDs.633       **/634      setPriority: AugmentedSubmittable<(rmrkCollectionId: u32 | AnyNumber | Uint8Array, rmrkNftId: u32 | AnyNumber | Uint8Array, priorities: Vec<u32> | (u32 | AnyNumber | Uint8Array)[]) => SubmittableExtrinsic<ApiType>, [u32, u32, Vec<u32>]>;635      /**636       * Add or edit a custom user property, a key-value pair, describing the metadata637       * of a token or a collection, on either one of these.638       * 639       * Note that in this proxy implementation many details regarding RMRK are stored640       * as scoped properties prefixed with "rmrk:", normally inaccessible641       * to external transactions and RPCs.642       * 643       * # Permissions:644       * - Collection issuer - in case of collection property645       * - Token owner - in case of NFT property646       * 647       * # Arguments:648       * - `origin`: sender of the transaction649       * - `rmrk_collection_id`: RMRK collection ID.650       * - `maybe_nft_id`: Optional ID of the NFT. If left empty, then the property is set for the collection.651       * - `key`: Key of the custom property to be referenced by.652       * - `value`: Value of the custom property to be stored.653       **/654      setProperty: AugmentedSubmittable<(rmrkCollectionId: Compact<u32> | AnyNumber | Uint8Array, maybeNftId: Option<u32> | null | Uint8Array | u32 | AnyNumber, key: Bytes | string | Uint8Array, value: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Compact<u32>, Option<u32>, Bytes, Bytes]>;655      /**656       * Generic tx657       **/658      [key: string]: SubmittableExtrinsicFunction<ApiType>;659    };660    rmrkEquip: {661      /**662       * Create a new Base.663       * 664       * Modeled after the [Base interaction](https://github.com/rmrk-team/rmrk-spec/blob/master/standards/rmrk2.0.0/interactions/base.md)665       * 666       * # Permissions667       * - Anyone - will be assigned as the issuer of the Base.668       * 669       * # Arguments:670       * - `origin`: Caller, will be assigned as the issuer of the Base671       * - `base_type`: Arbitrary media type, e.g. "svg".672       * - `symbol`: Arbitrary client-chosen symbol.673       * - `parts`: Array of Fixed and Slot Parts composing the Base,674       * confined in length by [`RmrkPartsLimit`](up_data_structs::RmrkPartsLimit).675       **/676      createBase: AugmentedSubmittable<(baseType: Bytes | string | Uint8Array, symbol: Bytes | string | Uint8Array, parts: Vec<RmrkTraitsPartPartType> | (RmrkTraitsPartPartType | { FixedPart: any } | { SlotPart: any } | string | Uint8Array)[]) => SubmittableExtrinsic<ApiType>, [Bytes, Bytes, Vec<RmrkTraitsPartPartType>]>;677      /**678       * Update the array of Collections allowed to be equipped to a Base's specified Slot Part.679       * 680       * Modeled after [equippable interaction](https://github.com/rmrk-team/rmrk-spec/blob/master/standards/rmrk2.0.0/interactions/equippable.md).681       * 682       * # Permissions:683       * - Base issuer684       * 685       * # Arguments:686       * - `origin`: sender of the transaction687       * - `base_id`: Base containing the Slot Part to be updated.688       * - `slot_id`: Slot Part whose Equippable List is being updated .689       * - `equippables`: List of equippables that will override the current Equippables list.690       **/691      equippable: AugmentedSubmittable<(baseId: u32 | AnyNumber | Uint8Array, slotId: u32 | AnyNumber | Uint8Array, equippables: RmrkTraitsPartEquippableList | { All: any } | { Empty: any } | { Custom: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, u32, RmrkTraitsPartEquippableList]>;692      /**693       * Add a Theme to a Base.694       * A Theme named "default" is required prior to adding other Themes.695       * 696       * Modeled after [Themeadd interaction](https://github.com/rmrk-team/rmrk-spec/blob/master/standards/rmrk2.0.0/interactions/themeadd.md).697       * 698       * # Permissions:699       * - Base issuer700       * 701       * # Arguments:702       * - `origin`: sender of the transaction703       * - `base_id`: Base ID containing the Theme to be updated.704       * - `theme`: Theme to add to the Base.  A Theme has a name and properties, which are an705       * array of [key, value, inherit].706       * - `key`: Arbitrary BoundedString, defined by client.707       * - `value`: Arbitrary BoundedString, defined by client.708       * - `inherit`: Optional bool.709       **/710      themeAdd: AugmentedSubmittable<(baseId: u32 | AnyNumber | Uint8Array, theme: RmrkTraitsTheme | { name?: any; properties?: any; inherit?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, RmrkTraitsTheme]>;711      /**712       * Generic tx713       **/714      [key: string]: SubmittableExtrinsicFunction<ApiType>;715    };716    scheduler: {717      /**718       * Cancel a named scheduled task.719       **/720      cancelNamed: AugmentedSubmittable<(id: U8aFixed | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [U8aFixed]>;721      /**722       * Schedule a named task.723       **/724      scheduleNamed: AugmentedSubmittable<(id: U8aFixed | string | Uint8Array, when: u32 | AnyNumber | Uint8Array, maybePeriodic: Option<ITuple<[u32, u32]>> | null | Uint8Array | ITuple<[u32, u32]> | [u32 | AnyNumber | Uint8Array, u32 | AnyNumber | Uint8Array], priority: u8 | AnyNumber | Uint8Array, call: FrameSupportScheduleMaybeHashed | { Value: any } | { Hash: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [U8aFixed, u32, Option<ITuple<[u32, u32]>>, u8, FrameSupportScheduleMaybeHashed]>;725      /**726       * Schedule a named task after a delay.727       * 728       * # <weight>729       * Same as [`schedule_named`](Self::schedule_named).730       * # </weight>731       **/732      scheduleNamedAfter: AugmentedSubmittable<(id: U8aFixed | string | Uint8Array, after: u32 | AnyNumber | Uint8Array, maybePeriodic: Option<ITuple<[u32, u32]>> | null | Uint8Array | ITuple<[u32, u32]> | [u32 | AnyNumber | Uint8Array, u32 | AnyNumber | Uint8Array], priority: u8 | AnyNumber | Uint8Array, call: FrameSupportScheduleMaybeHashed | { Value: any } | { Hash: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [U8aFixed, u32, Option<ITuple<[u32, u32]>>, u8, FrameSupportScheduleMaybeHashed]>;733      /**734       * Generic tx735       **/736      [key: string]: SubmittableExtrinsicFunction<ApiType>;737    };738    structure: {739      /**740       * Generic tx741       **/742      [key: string]: SubmittableExtrinsicFunction<ApiType>;743    };744    sudo: {745      /**746       * Authenticates the current sudo key and sets the given AccountId (`new`) as the new sudo747       * key.748       * 749       * The dispatch origin for this call must be _Signed_.750       * 751       * # <weight>752       * - O(1).753       * - Limited storage reads.754       * - One DB change.755       * # </weight>756       **/757      setKey: AugmentedSubmittable<(updated: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [MultiAddress]>;758      /**759       * Authenticates the sudo key and dispatches a function call with `Root` origin.760       * 761       * The dispatch origin for this call must be _Signed_.762       * 763       * # <weight>764       * - O(1).765       * - Limited storage reads.766       * - One DB write (event).767       * - Weight of derivative `call` execution + 10,000.768       * # </weight>769       **/770      sudo: AugmentedSubmittable<(call: Call | IMethod | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Call]>;771      /**772       * Authenticates the sudo key and dispatches a function call with `Signed` origin from773       * a given account.774       * 775       * The dispatch origin for this call must be _Signed_.776       * 777       * # <weight>778       * - O(1).779       * - Limited storage reads.780       * - One DB write (event).781       * - Weight of derivative `call` execution + 10,000.782       * # </weight>783       **/784      sudoAs: AugmentedSubmittable<(who: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, call: Call | IMethod | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [MultiAddress, Call]>;785      /**786       * Authenticates the sudo key and dispatches a function call with `Root` origin.787       * This function does not check the weight of the call, and instead allows the788       * Sudo user to specify the weight of the call.789       * 790       * The dispatch origin for this call must be _Signed_.791       * 792       * # <weight>793       * - O(1).794       * - The weight of this call is defined by the caller.795       * # </weight>796       **/797      sudoUncheckedWeight: AugmentedSubmittable<(call: Call | IMethod | string | Uint8Array, weight: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [Call, u64]>;798      /**799       * Generic tx800       **/801      [key: string]: SubmittableExtrinsicFunction<ApiType>;802    };803    system: {804      /**805       * A dispatch that will fill the block weight up to the given ratio.806       **/807      fillBlock: AugmentedSubmittable<(ratio: Perbill | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [Perbill]>;808      /**809       * Kill all storage items with a key that starts with the given prefix.810       * 811       * **NOTE:** We rely on the Root origin to provide us the number of subkeys under812       * the prefix we are removing to accurately calculate the weight of this function.813       **/814      killPrefix: AugmentedSubmittable<(prefix: Bytes | string | Uint8Array, subkeys: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes, u32]>;815      /**816       * Kill some items from storage.817       **/818      killStorage: AugmentedSubmittable<(keys: Vec<Bytes> | (Bytes | string | Uint8Array)[]) => SubmittableExtrinsic<ApiType>, [Vec<Bytes>]>;819      /**820       * Make some on-chain remark.821       * 822       * # <weight>823       * - `O(1)`824       * # </weight>825       **/826      remark: AugmentedSubmittable<(remark: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes]>;827      /**828       * Make some on-chain remark and emit event.829       **/830      remarkWithEvent: AugmentedSubmittable<(remark: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes]>;831      /**832       * Set the new runtime code.833       * 834       * # <weight>835       * - `O(C + S)` where `C` length of `code` and `S` complexity of `can_set_code`836       * - 1 call to `can_set_code`: `O(S)` (calls `sp_io::misc::runtime_version` which is837       * expensive).838       * - 1 storage write (codec `O(C)`).839       * - 1 digest item.840       * - 1 event.841       * The weight of this function is dependent on the runtime, but generally this is very842       * expensive. We will treat this as a full block.843       * # </weight>844       **/845      setCode: AugmentedSubmittable<(code: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes]>;846      /**847       * Set the new runtime code without doing any checks of the given `code`.848       * 849       * # <weight>850       * - `O(C)` where `C` length of `code`851       * - 1 storage write (codec `O(C)`).852       * - 1 digest item.853       * - 1 event.854       * The weight of this function is dependent on the runtime. We will treat this as a full855       * block. # </weight>856       **/857      setCodeWithoutChecks: AugmentedSubmittable<(code: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes]>;858      /**859       * Set the number of pages in the WebAssembly environment's heap.860       **/861      setHeapPages: AugmentedSubmittable<(pages: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u64]>;862      /**863       * Set some items of storage.864       **/865      setStorage: AugmentedSubmittable<(items: Vec<ITuple<[Bytes, Bytes]>> | ([Bytes | string | Uint8Array, Bytes | string | Uint8Array])[]) => SubmittableExtrinsic<ApiType>, [Vec<ITuple<[Bytes, Bytes]>>]>;866      /**867       * Generic tx868       **/869      [key: string]: SubmittableExtrinsicFunction<ApiType>;870    };871    timestamp: {872      /**873       * Set the current time.874       * 875       * This call should be invoked exactly once per block. It will panic at the finalization876       * phase, if this call hasn't been invoked by that time.877       * 878       * The timestamp should be greater than the previous one by the amount specified by879       * `MinimumPeriod`.880       * 881       * The dispatch origin for this call must be `Inherent`.882       * 883       * # <weight>884       * - `O(1)` (Note that implementations of `OnTimestampSet` must also be `O(1)`)885       * - 1 storage read and 1 storage mutation (codec `O(1)`). (because of `DidUpdate::take` in886       * `on_finalize`)887       * - 1 event handler `on_timestamp_set`. Must be `O(1)`.888       * # </weight>889       **/890      set: AugmentedSubmittable<(now: Compact<u64> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [Compact<u64>]>;891      /**892       * Generic tx893       **/894      [key: string]: SubmittableExtrinsicFunction<ApiType>;895    };896    treasury: {897      /**898       * Approve a proposal. At a later time, the proposal will be allocated to the beneficiary899       * and the original deposit will be returned.900       * 901       * May only be called from `T::ApproveOrigin`.902       * 903       * # <weight>904       * - Complexity: O(1).905       * - DbReads: `Proposals`, `Approvals`906       * - DbWrite: `Approvals`907       * # </weight>908       **/909      approveProposal: AugmentedSubmittable<(proposalId: Compact<u32> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [Compact<u32>]>;910      /**911       * Put forward a suggestion for spending. A deposit proportional to the value912       * is reserved and slashed if the proposal is rejected. It is returned once the913       * proposal is awarded.914       * 915       * # <weight>916       * - Complexity: O(1)917       * - DbReads: `ProposalCount`, `origin account`918       * - DbWrites: `ProposalCount`, `Proposals`, `origin account`919       * # </weight>920       **/921      proposeSpend: AugmentedSubmittable<(value: Compact<u128> | AnyNumber | Uint8Array, beneficiary: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Compact<u128>, MultiAddress]>;922      /**923       * Reject a proposed spend. The original deposit will be slashed.924       * 925       * May only be called from `T::RejectOrigin`.926       * 927       * # <weight>928       * - Complexity: O(1)929       * - DbReads: `Proposals`, `rejected proposer account`930       * - DbWrites: `Proposals`, `rejected proposer account`931       * # </weight>932       **/933      rejectProposal: AugmentedSubmittable<(proposalId: Compact<u32> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [Compact<u32>]>;934      /**935       * Force a previously approved proposal to be removed from the approval queue.936       * The original deposit will no longer be returned.937       * 938       * May only be called from `T::RejectOrigin`.939       * - `proposal_id`: The index of a proposal940       * 941       * # <weight>942       * - Complexity: O(A) where `A` is the number of approvals943       * - Db reads and writes: `Approvals`944       * # </weight>945       * 946       * Errors:947       * - `ProposalNotApproved`: The `proposal_id` supplied was not found in the approval queue,948       * i.e., the proposal has not been approved. This could also mean the proposal does not949       * exist altogether, thus there is no way it would have been approved in the first place.950       **/951      removeApproval: AugmentedSubmittable<(proposalId: Compact<u32> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [Compact<u32>]>;952      /**953       * Propose and approve a spend of treasury funds.954       * 955       * - `origin`: Must be `SpendOrigin` with the `Success` value being at least `amount`.956       * - `amount`: The amount to be transferred from the treasury to the `beneficiary`.957       * - `beneficiary`: The destination account for the transfer.958       * 959       * NOTE: For record-keeping purposes, the proposer is deemed to be equivalent to the960       * beneficiary.961       **/962      spend: AugmentedSubmittable<(amount: Compact<u128> | AnyNumber | Uint8Array, beneficiary: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Compact<u128>, MultiAddress]>;963      /**964       * Generic tx965       **/966      [key: string]: SubmittableExtrinsicFunction<ApiType>;967    };968    unique: {969      /**970       * Add an admin to a collection.971       * 972       * NFT Collection can be controlled by multiple admin addresses973       * (some which can also be servers, for example). Admins can issue974       * and burn NFTs, as well as add and remove other admins,975       * but cannot change NFT or Collection ownership.976       * 977       * # Permissions978       * 979       * * Collection owner980       * * Collection admin981       * 982       * # Arguments983       * 984       * * `collection_id`: ID of the Collection to add an admin for.985       * * `new_admin`: Address of new admin to add.986       **/987      addCollectionAdmin: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, newAdminId: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, PalletEvmAccountBasicCrossAccountIdRepr]>;988      /**989       * Add an address to allow list.990       * 991       * # Permissions992       * 993       * * Collection owner994       * * Collection admin995       * 996       * # Arguments997       * 998       * * `collection_id`: ID of the modified collection.999       * * `address`: ID of the address to be added to the allowlist.1000       **/1001      addToAllowList: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, address: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, PalletEvmAccountBasicCrossAccountIdRepr]>;1002      /**1003       * Allow a non-permissioned address to transfer or burn an item.1004       * 1005       * # Permissions1006       * 1007       * * Collection owner1008       * * Collection admin1009       * * Current item owner1010       * 1011       * # Arguments1012       * 1013       * * `spender`: Account to be approved to make specific transactions on non-owned tokens.1014       * * `collection_id`: ID of the collection the item belongs to.1015       * * `item_id`: ID of the item transactions on which are now approved.1016       * * `amount`: Number of pieces of the item approved for a transaction (maximum of 1 for NFTs).1017       * Set to 0 to revoke the approval.1018       **/1019      approve: AugmentedSubmittable<(spender: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, collectionId: u32 | AnyNumber | Uint8Array, itemId: u32 | AnyNumber | Uint8Array, amount: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [PalletEvmAccountBasicCrossAccountIdRepr, u32, u32, u128]>;1020      /**1021       * Destroy a token on behalf of the owner as a non-owner account.1022       * 1023       * See also: [`approve`][`Pallet::approve`].1024       * 1025       * After this method executes, one approval is removed from the total so that1026       * the approved address will not be able to transfer this item again from this owner.1027       * 1028       * # Permissions1029       * 1030       * * Collection owner1031       * * Collection admin1032       * * Current token owner1033       * * Address approved by current item owner1034       * 1035       * # Arguments1036       * 1037       * * `from`: The owner of the burning item.1038       * * `collection_id`: ID of the collection to which the item belongs.1039       * * `item_id`: ID of item to burn.1040       * * `value`: Number of pieces to burn.1041       * * Non-Fungible Mode: An NFT is indivisible, there is always 1 corresponding to an ID.1042       * * Fungible Mode: The desired number of pieces to burn.1043       * * Re-Fungible Mode: The desired number of pieces to burn.1044       **/1045      burnFrom: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, from: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, itemId: u32 | AnyNumber | Uint8Array, value: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, PalletEvmAccountBasicCrossAccountIdRepr, u32, u128]>;1046      /**1047       * Destroy an item.1048       * 1049       * # Permissions1050       * 1051       * * Collection owner1052       * * Collection admin1053       * * Current item owner1054       * 1055       * # Arguments1056       * 1057       * * `collection_id`: ID of the collection to which the item belongs.1058       * * `item_id`: ID of item to burn.1059       * * `value`: Number of pieces of the item to destroy.1060       * * Non-Fungible Mode: An NFT is indivisible, there is always 1 corresponding to an ID.1061       * * Fungible Mode: The desired number of pieces to burn.1062       * * Re-Fungible Mode: The desired number of pieces to burn.1063       **/1064      burnItem: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, itemId: u32 | AnyNumber | Uint8Array, value: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, u32, u128]>;1065      /**1066       * Change the owner of the collection.1067       * 1068       * # Permissions1069       * 1070       * * Collection owner1071       * 1072       * # Arguments1073       * 1074       * * `collection_id`: ID of the modified collection.1075       * * `new_owner`: ID of the account that will become the owner.1076       **/1077      changeCollectionOwner: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, newOwner: AccountId32 | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, AccountId32]>;1078      /**1079       * Confirm own sponsorship of a collection, becoming the sponsor.1080       * 1081       * An invitation must be pending, see [`set_collection_sponsor`][`Pallet::set_collection_sponsor`].1082       * Sponsor can pay the fees of a transaction instead of the sender,1083       * but only within specified limits.1084       * 1085       * # Permissions1086       * 1087       * * Sponsor-to-be1088       * 1089       * # Arguments1090       * 1091       * * `collection_id`: ID of the collection with the pending sponsor.1092       **/1093      confirmSponsorship: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32]>;1094      /**1095       * Create a collection of tokens.1096       * 1097       * Each Token may have multiple properties encoded as an array of bytes1098       * of certain length. The initial owner of the collection is set1099       * to the address that signed the transaction and can be changed later.1100       * 1101       * Prefer the more advanced [`create_collection_ex`][`Pallet::create_collection_ex`] instead.1102       * 1103       * # Permissions1104       * 1105       * * Anyone - becomes the owner of the new collection.1106       * 1107       * # Arguments1108       * 1109       * * `collection_name`: Wide-character string with collection name1110       * (limit [`MAX_COLLECTION_NAME_LENGTH`]).1111       * * `collection_description`: Wide-character string with collection description1112       * (limit [`MAX_COLLECTION_DESCRIPTION_LENGTH`]).1113       * * `token_prefix`: Byte string containing the token prefix to mark a collection1114       * to which a token belongs (limit [`MAX_TOKEN_PREFIX_LENGTH`]).1115       * * `mode`: Type of items stored in the collection and type dependent data.1116       **/1117      createCollection: AugmentedSubmittable<(collectionName: Vec<u16> | (u16 | AnyNumber | Uint8Array)[], collectionDescription: Vec<u16> | (u16 | AnyNumber | Uint8Array)[], tokenPrefix: Bytes | string | Uint8Array, mode: UpDataStructsCollectionMode | { NFT: any } | { Fungible: any } | { ReFungible: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Vec<u16>, Vec<u16>, Bytes, UpDataStructsCollectionMode]>;1118      /**1119       * Create a collection with explicit parameters.1120       * 1121       * Prefer it to the deprecated [`create_collection`][`Pallet::create_collection`] method.1122       * 1123       * # Permissions1124       * 1125       * * Anyone - becomes the owner of the new collection.1126       * 1127       * # Arguments1128       * 1129       * * `data`: Explicit data of a collection used for its creation.1130       **/1131      createCollectionEx: AugmentedSubmittable<(data: UpDataStructsCreateCollectionData | { mode?: any; access?: any; name?: any; description?: any; tokenPrefix?: any; pendingSponsor?: any; limits?: any; permissions?: any; tokenPropertyPermissions?: any; properties?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [UpDataStructsCreateCollectionData]>;1132      /**1133       * Mint an item within a collection.1134       * 1135       * A collection must exist first, see [`create_collection_ex`][`Pallet::create_collection_ex`].1136       * 1137       * # Permissions1138       * 1139       * * Collection owner1140       * * Collection admin1141       * * Anyone if1142       * * Allow List is enabled, and1143       * * Address is added to allow list, and1144       * * MintPermission is enabled (see [`set_collection_permissions`][`Pallet::set_collection_permissions`])1145       * 1146       * # Arguments1147       * 1148       * * `collection_id`: ID of the collection to which an item would belong.1149       * * `owner`: Address of the initial owner of the item.1150       * * `data`: Token data describing the item to store on chain.1151       **/1152      createItem: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, owner: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, data: UpDataStructsCreateItemData | { NFT: any } | { Fungible: any } | { ReFungible: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, PalletEvmAccountBasicCrossAccountIdRepr, UpDataStructsCreateItemData]>;1153      /**1154       * Create multiple items within a collection.1155       * 1156       * A collection must exist first, see [`create_collection_ex`][`Pallet::create_collection_ex`].1157       * 1158       * # Permissions1159       * 1160       * * Collection owner1161       * * Collection admin1162       * * Anyone if1163       * * Allow List is enabled, and1164       * * Address is added to the allow list, and1165       * * MintPermission is enabled (see [`set_collection_permissions`][`Pallet::set_collection_permissions`])1166       * 1167       * # Arguments1168       * 1169       * * `collection_id`: ID of the collection to which the tokens would belong.1170       * * `owner`: Address of the initial owner of the tokens.1171       * * `items_data`: Vector of data describing each item to be created.1172       **/1173      createMultipleItems: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, owner: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, itemsData: Vec<UpDataStructsCreateItemData> | (UpDataStructsCreateItemData | { NFT: any } | { Fungible: any } | { ReFungible: any } | string | Uint8Array)[]) => SubmittableExtrinsic<ApiType>, [u32, PalletEvmAccountBasicCrossAccountIdRepr, Vec<UpDataStructsCreateItemData>]>;1174      /**1175       * Create multiple items within a collection with explicitly specified initial parameters.1176       * 1177       * # Permissions1178       * 1179       * * Collection owner1180       * * Collection admin1181       * * Anyone if1182       * * Allow List is enabled, and1183       * * Address is added to allow list, and1184       * * MintPermission is enabled (see [`set_collection_permissions`][`Pallet::set_collection_permissions`])1185       * 1186       * # Arguments1187       * 1188       * * `collection_id`: ID of the collection to which the tokens would belong.1189       * * `data`: Explicit item creation data.1190       **/1191      createMultipleItemsEx: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, data: UpDataStructsCreateItemExData | { NFT: any } | { Fungible: any } | { RefungibleMultipleItems: any } | { RefungibleMultipleOwners: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, UpDataStructsCreateItemExData]>;1192      /**1193       * Delete specified collection properties.1194       * 1195       * # Permissions1196       * 1197       * * Collection Owner1198       * * Collection Admin1199       * 1200       * # Arguments1201       * 1202       * * `collection_id`: ID of the modified collection.1203       * * `property_keys`: Vector of keys of the properties to be deleted.1204       * Keys support Latin letters, `-`, `_`, and `.` as symbols.1205       **/1206      deleteCollectionProperties: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, propertyKeys: Vec<Bytes> | (Bytes | string | Uint8Array)[]) => SubmittableExtrinsic<ApiType>, [u32, Vec<Bytes>]>;1207      /**1208       * Delete specified token properties. Currently properties only work with NFTs.1209       * 1210       * # Permissions1211       * 1212       * * Depends on collection's token property permissions and specified property mutability:1213       * * Collection owner1214       * * Collection admin1215       * * Token owner1216       * 1217       * # Arguments1218       * 1219       * * `collection_id`: ID of the collection to which the token belongs.1220       * * `token_id`: ID of the modified token.1221       * * `property_keys`: Vector of keys of the properties to be deleted.1222       * Keys support Latin letters, `-`, `_`, and `.` as symbols.1223       **/1224      deleteTokenProperties: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, tokenId: u32 | AnyNumber | Uint8Array, propertyKeys: Vec<Bytes> | (Bytes | string | Uint8Array)[]) => SubmittableExtrinsic<ApiType>, [u32, u32, Vec<Bytes>]>;1225      /**1226       * Destroy a collection if no tokens exist within.1227       * 1228       * # Permissions1229       * 1230       * * Collection owner1231       * 1232       * # Arguments1233       * 1234       * * `collection_id`: Collection to destroy.1235       **/1236      destroyCollection: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32]>;1237      /**1238       * Remove admin of a collection.1239       * 1240       * An admin address can remove itself. List of admins may become empty,1241       * in which case only Collection Owner will be able to add an Admin.1242       * 1243       * # Permissions1244       * 1245       * * Collection owner1246       * * Collection admin1247       * 1248       * # Arguments1249       * 1250       * * `collection_id`: ID of the collection to remove the admin for.1251       * * `account_id`: Address of the admin to remove.1252       **/1253      removeCollectionAdmin: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, accountId: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, PalletEvmAccountBasicCrossAccountIdRepr]>;1254      /**1255       * Remove a collection's a sponsor, making everyone pay for their own transactions.1256       * 1257       * # Permissions1258       * 1259       * * Collection owner1260       * 1261       * # Arguments1262       * 1263       * * `collection_id`: ID of the collection with the sponsor to remove.1264       **/1265      removeCollectionSponsor: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32]>;1266      /**1267       * Remove an address from allow list.1268       * 1269       * # Permissions1270       * 1271       * * Collection owner1272       * * Collection admin1273       * 1274       * # Arguments1275       * 1276       * * `collection_id`: ID of the modified collection.1277       * * `address`: ID of the address to be removed from the allowlist.1278       **/1279      removeFromAllowList: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, address: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, PalletEvmAccountBasicCrossAccountIdRepr]>;1280      /**1281       * Re-partition a refungible token, while owning all of its parts/pieces.1282       * 1283       * # Permissions1284       * 1285       * * Token owner (must own every part)1286       * 1287       * # Arguments1288       * 1289       * * `collection_id`: ID of the collection the RFT belongs to.1290       * * `token_id`: ID of the RFT.1291       * * `amount`: New number of parts/pieces into which the token shall be partitioned.1292       **/1293      repartition: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, tokenId: u32 | AnyNumber | Uint8Array, amount: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, u32, u128]>;1294      /**1295       * Set specific limits of a collection. Empty, or None fields mean chain default.1296       * 1297       * # Permissions1298       * 1299       * * Collection owner1300       * * Collection admin1301       * 1302       * # Arguments1303       * 1304       * * `collection_id`: ID of the modified collection.1305       * * `new_limit`: New limits of the collection. Fields that are not set (None)1306       * will not overwrite the old ones.1307       **/1308      setCollectionLimits: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, newLimit: UpDataStructsCollectionLimits | { accountTokenOwnershipLimit?: any; sponsoredDataSize?: any; sponsoredDataRateLimit?: any; tokenLimit?: any; sponsorTransferTimeout?: any; sponsorApproveTimeout?: any; ownerCanTransfer?: any; ownerCanDestroy?: any; transfersEnabled?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, UpDataStructsCollectionLimits]>;1309      /**1310       * Set specific permissions of a collection. Empty, or None fields mean chain default.1311       * 1312       * # Permissions1313       * 1314       * * Collection owner1315       * * Collection admin1316       * 1317       * # Arguments1318       * 1319       * * `collection_id`: ID of the modified collection.1320       * * `new_permission`: New permissions of the collection. Fields that are not set (None)1321       * will not overwrite the old ones.1322       **/1323      setCollectionPermissions: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, newPermission: UpDataStructsCollectionPermissions | { access?: any; mintMode?: any; nesting?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, UpDataStructsCollectionPermissions]>;1324      /**1325       * Add or change collection properties.1326       * 1327       * # Permissions1328       * 1329       * * Collection owner1330       * * Collection admin1331       * 1332       * # Arguments1333       * 1334       * * `collection_id`: ID of the modified collection.1335       * * `properties`: Vector of key-value pairs stored as the collection's metadata.1336       * Keys support Latin letters, `-`, `_`, and `.` as symbols.1337       **/1338      setCollectionProperties: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, properties: Vec<UpDataStructsProperty> | (UpDataStructsProperty | { key?: any; value?: any } | string | Uint8Array)[]) => SubmittableExtrinsic<ApiType>, [u32, Vec<UpDataStructsProperty>]>;1339      /**1340       * Set (invite) a new collection sponsor.1341       * 1342       * If successful, confirmation from the sponsor-to-be will be pending.1343       * 1344       * # Permissions1345       * 1346       * * Collection owner1347       * * Collection admin1348       * 1349       * # Arguments1350       * 1351       * * `collection_id`: ID of the modified collection.1352       * * `new_sponsor`: ID of the account of the sponsor-to-be.1353       **/1354      setCollectionSponsor: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, newSponsor: AccountId32 | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, AccountId32]>;1355      /**1356       * Add or change token properties according to collection's permissions.1357       * Currently properties only work with NFTs.1358       * 1359       * # Permissions1360       * 1361       * * Depends on collection's token property permissions and specified property mutability:1362       * * Collection owner1363       * * Collection admin1364       * * Token owner1365       * 1366       * See [`set_token_property_permissions`][`Pallet::set_token_property_permissions`].1367       * 1368       * # Arguments1369       * 1370       * * `collection_id: ID of the collection to which the token belongs.1371       * * `token_id`: ID of the modified token.1372       * * `properties`: Vector of key-value pairs stored as the token's metadata.1373       * Keys support Latin letters, `-`, `_`, and `.` as symbols.1374       **/1375      setTokenProperties: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, tokenId: u32 | AnyNumber | Uint8Array, properties: Vec<UpDataStructsProperty> | (UpDataStructsProperty | { key?: any; value?: any } | string | Uint8Array)[]) => SubmittableExtrinsic<ApiType>, [u32, u32, Vec<UpDataStructsProperty>]>;1376      /**1377       * Add or change token property permissions of a collection.1378       * 1379       * Without a permission for a particular key, a property with that key1380       * cannot be created in a token.1381       * 1382       * # Permissions1383       * 1384       * * Collection owner1385       * * Collection admin1386       * 1387       * # Arguments1388       * 1389       * * `collection_id`: ID of the modified collection.1390       * * `property_permissions`: Vector of permissions for property keys.1391       * Keys support Latin letters, `-`, `_`, and `.` as symbols.1392       **/1393      setTokenPropertyPermissions: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, propertyPermissions: Vec<UpDataStructsPropertyKeyPermission> | (UpDataStructsPropertyKeyPermission | { key?: any; permission?: any } | string | Uint8Array)[]) => SubmittableExtrinsic<ApiType>, [u32, Vec<UpDataStructsPropertyKeyPermission>]>;1394      /**1395       * Completely allow or disallow transfers for a particular collection.1396       * 1397       * # Permissions1398       * 1399       * * Collection owner1400       * 1401       * # Arguments1402       * 1403       * * `collection_id`: ID of the collection.1404       * * `value`: New value of the flag, are transfers allowed?1405       **/1406      setTransfersEnabledFlag: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, value: bool | boolean | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, bool]>;1407      /**1408       * Change ownership of the token.1409       * 1410       * # Permissions1411       * 1412       * * Collection owner1413       * * Collection admin1414       * * Current token owner1415       * 1416       * # Arguments1417       * 1418       * * `recipient`: Address of token recipient.1419       * * `collection_id`: ID of the collection the item belongs to.1420       * * `item_id`: ID of the item.1421       * * Non-Fungible Mode: Required.1422       * * Fungible Mode: Ignored.1423       * * Re-Fungible Mode: Required.1424       * 1425       * * `value`: Amount to transfer.1426       * * Non-Fungible Mode: An NFT is indivisible, there is always 1 corresponding to an ID.1427       * * Fungible Mode: The desired number of pieces to transfer.1428       * * Re-Fungible Mode: The desired number of pieces to transfer.1429       **/1430      transfer: AugmentedSubmittable<(recipient: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, collectionId: u32 | AnyNumber | Uint8Array, itemId: u32 | AnyNumber | Uint8Array, value: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [PalletEvmAccountBasicCrossAccountIdRepr, u32, u32, u128]>;1431      /**1432       * Change ownership of an item on behalf of the owner as a non-owner account.1433       * 1434       * See the [`approve`][`Pallet::approve`] method for additional information.1435       * 1436       * After this method executes, one approval is removed from the total so that1437       * the approved address will not be able to transfer this item again from this owner.1438       * 1439       * # Permissions1440       * 1441       * * Collection owner1442       * * Collection admin1443       * * Current item owner1444       * * Address approved by current item owner1445       * 1446       * # Arguments1447       * 1448       * * `from`: Address that currently owns the token.1449       * * `recipient`: Address of the new token-owner-to-be.1450       * * `collection_id`: ID of the collection the item.1451       * * `item_id`: ID of the item to be transferred.1452       * * `value`: Amount to transfer.1453       * * Non-Fungible Mode: An NFT is indivisible, there is always 1 corresponding to an ID.1454       * * Fungible Mode: The desired number of pieces to transfer.1455       * * Re-Fungible Mode: The desired number of pieces to transfer.1456       **/1457      transferFrom: AugmentedSubmittable<(from: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, recipient: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, collectionId: u32 | AnyNumber | Uint8Array, itemId: u32 | AnyNumber | Uint8Array, value: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr, u32, u32, u128]>;1458      /**1459       * Generic tx1460       **/1461      [key: string]: SubmittableExtrinsicFunction<ApiType>;1462    };1463    vesting: {1464      claim: AugmentedSubmittable<() => SubmittableExtrinsic<ApiType>, []>;1465      claimFor: AugmentedSubmittable<(dest: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [MultiAddress]>;1466      updateVestingSchedules: AugmentedSubmittable<(who: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, vestingSchedules: Vec<OrmlVestingVestingSchedule> | (OrmlVestingVestingSchedule | { start?: any; period?: any; periodCount?: any; perPeriod?: any } | string | Uint8Array)[]) => SubmittableExtrinsic<ApiType>, [MultiAddress, Vec<OrmlVestingVestingSchedule>]>;1467      vestedTransfer: AugmentedSubmittable<(dest: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, schedule: OrmlVestingVestingSchedule | { start?: any; period?: any; periodCount?: any; perPeriod?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [MultiAddress, OrmlVestingVestingSchedule]>;1468      /**1469       * Generic tx1470       **/1471      [key: string]: SubmittableExtrinsicFunction<ApiType>;1472    };1473    xcmpQueue: {1474      /**1475       * Resumes all XCM executions for the XCMP queue.1476       * 1477       * Note that this function doesn't change the status of the in/out bound channels.1478       * 1479       * - `origin`: Must pass `ControllerOrigin`.1480       **/1481      resumeXcmExecution: AugmentedSubmittable<() => SubmittableExtrinsic<ApiType>, []>;1482      /**1483       * Services a single overweight XCM.1484       * 1485       * - `origin`: Must pass `ExecuteOverweightOrigin`.1486       * - `index`: The index of the overweight XCM to service1487       * - `weight_limit`: The amount of weight that XCM execution may take.1488       * 1489       * Errors:1490       * - `BadOverweightIndex`: XCM under `index` is not found in the `Overweight` storage map.1491       * - `BadXcm`: XCM under `index` cannot be properly decoded into a valid XCM format.1492       * - `WeightOverLimit`: XCM execution may use greater `weight_limit`.1493       * 1494       * Events:1495       * - `OverweightServiced`: On success.1496       **/1497      serviceOverweight: AugmentedSubmittable<(index: u64 | AnyNumber | Uint8Array, weightLimit: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u64, u64]>;1498      /**1499       * Suspends all XCM executions for the XCMP queue, regardless of the sender's origin.1500       * 1501       * - `origin`: Must pass `ControllerOrigin`.1502       **/1503      suspendXcmExecution: AugmentedSubmittable<() => SubmittableExtrinsic<ApiType>, []>;1504      /**1505       * Overwrites the number of pages of messages which must be in the queue after which we drop any further1506       * messages from the channel.1507       * 1508       * - `origin`: Must pass `Root`.1509       * - `new`: Desired value for `QueueConfigData.drop_threshold`1510       **/1511      updateDropThreshold: AugmentedSubmittable<(updated: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32]>;1512      /**1513       * Overwrites the number of pages of messages which the queue must be reduced to before it signals that1514       * message sending may recommence after it has been suspended.1515       * 1516       * - `origin`: Must pass `Root`.1517       * - `new`: Desired value for `QueueConfigData.resume_threshold`1518       **/1519      updateResumeThreshold: AugmentedSubmittable<(updated: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32]>;1520      /**1521       * Overwrites the number of pages of messages which must be in the queue for the other side to be told to1522       * suspend their sending.1523       * 1524       * - `origin`: Must pass `Root`.1525       * - `new`: Desired value for `QueueConfigData.suspend_value`1526       **/1527      updateSuspendThreshold: AugmentedSubmittable<(updated: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32]>;1528      /**1529       * Overwrites the amount of remaining weight under which we stop processing messages.1530       * 1531       * - `origin`: Must pass `Root`.1532       * - `new`: Desired value for `QueueConfigData.threshold_weight`1533       **/1534      updateThresholdWeight: AugmentedSubmittable<(updated: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u64]>;1535      /**1536       * Overwrites the speed to which the available weight approaches the maximum weight.1537       * A lower number results in a faster progression. A value of 1 makes the entire weight available initially.1538       * 1539       * - `origin`: Must pass `Root`.1540       * - `new`: Desired value for `QueueConfigData.weight_restrict_decay`.1541       **/1542      updateWeightRestrictDecay: AugmentedSubmittable<(updated: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u64]>;1543      /**1544       * Overwrite the maximum amount of weight any individual message may consume.1545       * Messages above this weight go into the overweight queue and may only be serviced explicitly.1546       * 1547       * - `origin`: Must pass `Root`.1548       * - `new`: Desired value for `QueueConfigData.xcmp_max_individual_weight`.1549       **/1550      updateXcmpMaxIndividualWeight: AugmentedSubmittable<(updated: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u64]>;1551      /**1552       * Generic tx1553       **/1554      [key: string]: SubmittableExtrinsicFunction<ApiType>;1555    };1556  } // AugmentedSubmittables1557} // declare module
modifiedtests/src/interfaces/default/types.tsdiffbeforeafterboth
--- a/tests/src/interfaces/default/types.ts
+++ b/tests/src/interfaces/default/types.ts
@@ -816,6 +816,7 @@
   readonly asStartAppPromotion: {
     readonly promotionStartRelayBlock: Option<u32>;
   } & Struct;
+  readonly isStopAppPromotion: boolean;
   readonly isStake: boolean;
   readonly asStake: {
     readonly amount: u128;
@@ -832,7 +833,15 @@
   readonly asStopSponsorignCollection: {
     readonly collectionId: u32;
   } & Struct;
-  readonly type: 'SetAdminAddress' | 'StartAppPromotion' | 'Stake' | 'Unstake' | 'SponsorCollection' | 'StopSponsorignCollection';
+  readonly isSponsorConract: boolean;
+  readonly asSponsorConract: {
+    readonly contractId: H160;
+  } & Struct;
+  readonly isStopSponsorignContract: boolean;
+  readonly asStopSponsorignContract: {
+    readonly contractId: H160;
+  } & Struct;
+  readonly type: 'SetAdminAddress' | 'StartAppPromotion' | 'StopAppPromotion' | 'Stake' | 'Unstake' | 'SponsorCollection' | 'StopSponsorignCollection' | 'SponsorConract' | 'StopSponsorignContract';
 }
 
 /** @name PalletAppPromotionError */
@@ -841,8 +850,7 @@
   readonly isNoPermission: boolean;
   readonly isNotSufficientFounds: boolean;
   readonly isInvalidArgument: boolean;
-  readonly isAlreadySponsored: boolean;
-  readonly type: 'AdminNotSet' | 'NoPermission' | 'NotSufficientFounds' | 'InvalidArgument' | 'AlreadySponsored';
+  readonly type: 'AdminNotSet' | 'NoPermission' | 'NotSufficientFounds' | 'InvalidArgument';
 }
 
 /** @name PalletAppPromotionEvent */
modifiedtests/src/interfaces/lookup.tsdiffbeforeafterboth
--- a/tests/src/interfaces/lookup.ts
+++ b/tests/src/interfaces/lookup.ts
@@ -2463,6 +2463,7 @@
       start_app_promotion: {
         promotionStartRelayBlock: 'Option<u32>',
       },
+      stop_app_promotion: 'Null',
       stake: {
         amount: 'u128',
       },
@@ -2473,7 +2474,13 @@
         collectionId: 'u32',
       },
       stop_sponsorign_collection: {
-        collectionId: 'u32'
+        collectionId: 'u32',
+      },
+      sponsor_conract: {
+        contractId: 'H160',
+      },
+      stop_sponsorign_contract: {
+        contractId: 'H160'
       }
     }
   },
@@ -3098,7 +3105,7 @@
    * Lookup410: pallet_app_promotion::pallet::Error<T>
    **/
   PalletAppPromotionError: {
-    _enum: ['AdminNotSet', 'NoPermission', 'NotSufficientFounds', 'InvalidArgument', 'AlreadySponsored']
+    _enum: ['AdminNotSet', 'NoPermission', 'NotSufficientFounds', 'InvalidArgument']
   },
   /**
    * Lookup413: pallet_evm::pallet::Error<T>
modifiedtests/src/interfaces/types-lookup.tsdiffbeforeafterboth
--- a/tests/src/interfaces/types-lookup.ts
+++ b/tests/src/interfaces/types-lookup.ts
@@ -2669,6 +2669,7 @@
     readonly asStartAppPromotion: {
       readonly promotionStartRelayBlock: Option<u32>;
     } & Struct;
+    readonly isStopAppPromotion: boolean;
     readonly isStake: boolean;
     readonly asStake: {
       readonly amount: u128;
@@ -2685,7 +2686,15 @@
     readonly asStopSponsorignCollection: {
       readonly collectionId: u32;
     } & Struct;
-    readonly type: 'SetAdminAddress' | 'StartAppPromotion' | 'Stake' | 'Unstake' | 'SponsorCollection' | 'StopSponsorignCollection';
+    readonly isSponsorConract: boolean;
+    readonly asSponsorConract: {
+      readonly contractId: H160;
+    } & Struct;
+    readonly isStopSponsorignContract: boolean;
+    readonly asStopSponsorignContract: {
+      readonly contractId: H160;
+    } & Struct;
+    readonly type: 'SetAdminAddress' | 'StartAppPromotion' | 'StopAppPromotion' | 'Stake' | 'Unstake' | 'SponsorCollection' | 'StopSponsorignCollection' | 'SponsorConract' | 'StopSponsorignContract';
   }
 
   /** @name PalletEvmCall (305) */
@@ -3288,8 +3297,7 @@
     readonly isNoPermission: boolean;
     readonly isNotSufficientFounds: boolean;
     readonly isInvalidArgument: boolean;
-    readonly isAlreadySponsored: boolean;
-    readonly type: 'AdminNotSet' | 'NoPermission' | 'NotSufficientFounds' | 'InvalidArgument' | 'AlreadySponsored';
+    readonly type: 'AdminNotSet' | 'NoPermission' | 'NotSufficientFounds' | 'InvalidArgument';
   }
 
   /** @name PalletEvmError (413) */