git.delta.rocks / unique-network / refs/commits / 70abe578b643

difftreelog

tests(collator-selection): integration tests + types + minor refactor of thee pallet

Fahrrader2022-12-23parent: #d41364f.patch.diff
in: master

20 files changed

modifiednode/cli/src/chain_spec.rsdiffbeforeafterboth
--- a/node/cli/src/chain_spec.rs
+++ b/node/cli/src/chain_spec.rs
@@ -196,9 +196,9 @@
 					.cloned()
 					.map(|(acc, _)| acc)
 					.collect(),
+				desired_collators: 10,
 				license_bond: GENESIS_LICENSE_BOND,
 				kick_threshold: SESSION_LENGTH,
-				..Default::default()
 			},
 			session: SessionConfig {
 				keys: $initial_invulnerables
modifiedpallets/collator-selection/src/lib.rsdiffbeforeafterboth
--- a/pallets/collator-selection/src/lib.rs
+++ b/pallets/collator-selection/src/lib.rs
@@ -183,11 +183,8 @@
 	/// The (community, limited) collation candidates.
 	#[pallet::storage]
 	#[pallet::getter(fn candidates)]
-	pub type Candidates<T: Config> = StorageValue<
-		_,
-		BoundedVec<T::AccountId, T::MaxCollators>, //LicenseInfo<T::AccountId, BalanceOf<T>>, T::MaxCollators>, // license ID?
-		ValueQuery,
-	>;
+	pub type Candidates<T: Config> =
+		StorageValue<_, BoundedVec<T::AccountId, T::MaxCollators>, ValueQuery>;
 
 	/// Collator will be kicked if it does not produce a block within the threshold (does not apply to invulnerables).
 	///
@@ -348,7 +345,6 @@
 				T::ValidatorRegistration::is_registered(&validator_key),
 				Error::<T>::ValidatorNotRegistered
 			);
-			// ensure!(!Self::invulnerables().contains(&new), Error::<T>::AlreadyInvulnerable);
 			if Self::invulnerables().contains(&new) {
 				return Ok(().into());
 			}
@@ -371,7 +367,6 @@
 		) -> DispatchResultWithPostInfo {
 			T::UpdateOrigin::ensure_origin(origin)?;
 
-			// let index = Self::invulnerables().into_iter().position(|r| r == who).ok_or(Error::<T>::NotInvulnerable)?;
 			<Invulnerables<T>>::try_mutate(|invulnerables| -> DispatchResult {
 				if invulnerables.len() <= 1 {
 					return Err(Error::<T>::TooFewInvulnerables.into());
@@ -384,10 +379,6 @@
 				invulnerables.remove(index);
 				Ok(())
 			})?;
-			/*let bounded_invulnerables = BoundedVec::<_, T::MaxInvulnerables>::try_from(new)
-				.map_err(|_| Error::<T>::TooManyInvulnerables)?;
-
-			<Invulnerables<T>>::put(&bounded_invulnerables);*/
 			Self::deposit_event(Event::InvulnerableRemoved { invulnerable: who });
 			Ok(().into())
 		}
@@ -451,11 +442,6 @@
 				return Err(Error::<T>::AlreadyHoldingLicense.into());
 			}
 
-			/*ensure!(
-				!Self::invulnerables().contains(&who),
-				Error::<T>::AlreadyInvulnerable
-			);*/
-
 			let validator_key = T::ValidatorIdOf::convert(who.clone())
 				.ok_or(Error::<T>::NoAssociatedValidatorId)?;
 			ensure!(
@@ -464,34 +450,9 @@
 			);
 
 			let deposit = Self::license_bond();
-			// First authored block is current block plus kick threshold to handle session delay
-			/*let incoming = LicenseInfo {
-				who: who.clone(),
-				deposit,
-			};*/
 
 			T::Currency::reserve(&who, deposit)?;
 			Licenses::<T>::insert(who.clone(), deposit);
-
-			/*let current_count =
-			<Licenses<T>>::try_mutate(|licenses| -> Result<usize, DispatchError> {
-				if T::OriginPrivilegeCmp::cmp_privilege(&origin, &scheduled.origin) {
-					return Err(BadOrigin.into());
-				}
-				if candidates.iter().any(|candidate| *candidate == who) {
-					Err(Error::<T>::AlreadyHoldingLicense)?
-				} else {
-					T::Currency::reserve(&who, deposit)?;
-					candidates
-						.try_push(incoming)
-						.map_err(|_| Error::<T>::TooManyCandidates)?;
-					<LastAuthoredBlock<T>>::insert(
-						who.clone(),
-						frame_system::Pallet::<T>::block_number() + Self::kick_threshold(),
-					);
-					Ok(candidates.len())
-				}
-			})?;*/
 
 			Self::deposit_event(Event::LicenseObtained {
 				account_id: who,
@@ -518,17 +479,11 @@
 				(length as u32) < Self::desired_collators(),
 				Error::<T>::TooManyCandidates
 			);
-			// todo:collator really need it?
 			ensure!(
 				!Self::invulnerables().contains(&who),
 				Error::<T>::AlreadyInvulnerable
 			);
 
-			/*let incoming = LicenseInfo {
-				who: who.clone(),
-				deposit,
-			};*/
-
 			let current_count =
 				<Candidates<T>>::try_mutate(|candidates| -> Result<usize, DispatchError> {
 					if candidates.iter().any(|candidate| *candidate == who) {
@@ -552,17 +507,10 @@
 
 		/// Deregister `origin` as a collator candidate. Note that the collator can only leave on
 		/// session change. The license to `onboard` later at any other time will remain.
-		///
-		/// This call will fail if the total number of candidates would drop below `MinCandidates`. todo:collator maybe not
 		#[pallet::weight(T::WeightInfo::leave_intent(T::MaxCollators::get()))] // todo:collator weight
 		pub fn offboard(origin: OriginFor<T>) -> DispatchResultWithPostInfo {
 			// leave_intent
 			let who = ensure_signed(origin)?;
-			/* todo:collator invulnerables and candidates should count against min candidates together
-			ensure!(
-				Self::candidates().len() as u32 > T::MinCandidates::get(),
-				Error::<T>::TooFewCandidates
-			);*/
 			let current_count = Self::try_remove_candidate(&who)?;
 
 			Ok(Some(T::WeightInfo::leave_intent(current_count as u32)).into()) // todo:collator weight
@@ -585,7 +533,7 @@
 		/// Note that the collator can only leave on session change.
 		/// The `LicenseBond` will be unreserved and returned immediately.
 		///
-		/// This call is not available to `Invulnerable` collators.
+		/// This call is, of course, not applicable to `Invulnerable` collators.
 		#[pallet::weight(T::WeightInfo::leave_intent(T::MaxCollators::get()))] // todo:collator weight
 		pub fn force_revoke_license(
 			origin: OriginFor<T>,
@@ -606,6 +554,8 @@
 			T::PotId::get().into_account_truncating()
 		}
 
+		/// Removes a candidate and their license, optionally slashed and optionally ignoring,
+		/// whether or not they actually are a candidate.
 		fn try_remove_candidate_and_release_license(
 			who: &T::AccountId,
 			should_slash: bool,
@@ -687,7 +637,7 @@
 		/// Kicks out candidates that did not produce a block in the kick threshold
 		/// and **confiscates** their deposits to the treasury.
 		pub fn kick_stale_candidates(
-			candidates: BoundedVec<T::AccountId, T::MaxCollators>, //LicenseInfo<T::AccountId, BalanceOf<T>>
+			candidates: BoundedVec<T::AccountId, T::MaxCollators>,
 		) -> BoundedVec<T::AccountId, T::MaxCollators> {
 			let now = frame_system::Pallet::<T>::block_number();
 			let kick_threshold = Self::kick_threshold();
modifiedpallets/collator-selection/src/mock.rsdiffbeforeafterboth
--- a/pallets/collator-selection/src/mock.rs
+++ b/pallets/collator-selection/src/mock.rs
@@ -223,13 +223,11 @@
 }
 
 impl Config for Test {
-	// todo:collator mocks and stocks
 	type RuntimeEvent = RuntimeEvent;
 	type Currency = Balances;
 	type UpdateOrigin = EnsureSignedBy<RootAccount, u64>;
 	type PotId = PotId;
 	type MaxCollators = MaxCollators;
-	// type KickThreshold = Period;
 	type SlashRatio = SlashRatio;
 	type TreasuryAccountId = ();
 	type ValidatorId = <Self as frame_system::Config>::AccountId;
modifiedpallets/collator-selection/src/tests.rsdiffbeforeafterboth
--- a/pallets/collator-selection/src/tests.rs
+++ b/pallets/collator-selection/src/tests.rs
@@ -59,9 +59,6 @@
 	});
 }
 
-// todo:collator add more tests later
-// invulnerable after onboard + invulnerables can bypass desired_candidates
-
 #[test]
 fn it_should_add_invulnerables() {
 	new_test_ext().execute_with(|| {
modifiedruntime/common/mod.rsdiffbeforeafterboth
--- a/runtime/common/mod.rs
+++ b/runtime/common/mod.rs
@@ -191,7 +191,7 @@
 				RuntimeAppPublic,
 			};
 			use pallet_session::SessionManager;
-			use up_common::constants::GENESIS_LICENSE_BOND;
+			use up_common::constants::{GENESIS_LICENSE_BOND, SESSION_LENGTH};
 			use crate::config::pallets::collator_selection::MaxCollators;
 
 			let mut weight = <Runtime as frame_system::Config>::DbWeight::get().reads(1);
@@ -241,6 +241,7 @@
 				.expect("Existing collators/invulnerables are more than MaxCollators");
 
 				<pallet_collator_selection::Invulnerables<Runtime>>::put(bounded_invulnerables);
+				<pallet_collator_selection::KickThreshold<Runtime>>::put(SESSION_LENGTH);
 				<pallet_collator_selection::DesiredCollators<Runtime>>::put(MaxCollators::get());
 				<pallet_collator_selection::LicenseBond<Runtime>>::put(GENESIS_LICENSE_BOND);
 
modifiedtests/src/collatorSelection.seqtest.tsdiffbeforeafterboth
--- a/tests/src/collatorSelection.seqtest.ts
+++ b/tests/src/collatorSelection.seqtest.ts
@@ -17,6 +17,8 @@
 import {IKeyringPair} from '@polkadot/types/types';
 import {usingPlaygrounds, expect, itSub, Pallets, requirePalletsOrSkip} from './util';
 
+const MAX_INVULNERABLES = 10;
+
 async function resetInvulnerables() {
   await usingPlaygrounds(async (helper, privateKey) => {
     const superuser = await privateKey('//Alice');
@@ -28,6 +30,15 @@
         + 'Current invulnerables\' size: ' + invulnerables.length);
       
       let nonce = await helper.chain.getNonce(alice.address);
+      // In case there are too many invulnerables already, remove some of them, leaving space for Alice and Bob.
+      if (invulnerables.length + 2 >= MAX_INVULNERABLES) {
+        await Promise.all([
+          helper.getSudo().executeExtrinsic(superuser, 'api.tx.collatorSelection.removeInvulnerable', [invulnerables.pop()], true, {nonce: nonce++}),
+          helper.getSudo().executeExtrinsic(superuser, 'api.tx.collatorSelection.removeInvulnerable', [invulnerables.pop()], true, {nonce: nonce++}),
+        ]);
+      }
+
+      nonce = await helper.chain.getNonce(alice.address);
       await Promise.all([
         helper.getSudo().executeExtrinsic(superuser, 'api.tx.collatorSelection.addInvulnerable', [alice.address], true, {nonce: nonce++}),
         helper.getSudo().executeExtrinsic(superuser, 'api.tx.collatorSelection.addInvulnerable', [bob.address], true, {nonce: nonce++}),
@@ -43,14 +54,19 @@
 }
 
 // todo:collator Most preferable to launch this test in parallel somehow -- or change the session period (1 hr).
-// + 18 tests: 5 (1+4) on session change
 describe('Integration Test: Collator Selection', () => {
   let superuser: IKeyringPair;
+  let previousLicenseBond = 0n;
+  let licenseBond = 0n;
 
   before(async function() {  
     await usingPlaygrounds(async (helper, privateKey) => {
       requirePalletsOrSkip(this, helper, [Pallets.CollatorSelection]);
       superuser = await privateKey('//Alice');
+
+      previousLicenseBond = await helper.collatorSelection.getLicenseBond();
+      licenseBond = 10n * helper.balance.getOneTokenNominal();
+      await helper.getSudo().collatorSelection.setLicenseBond(superuser, licenseBond);
     });
   });
 
@@ -73,13 +89,11 @@
         charlie = await privateKey('//Charlie');
         dave = await privateKey('//Dave');
 
-        expect((await helper.collatorSelection.setOwnKeys(charlie))
+        expect((await helper.session.setOwnKeysFromAddress(charlie))
           .status.toLowerCase()).to.be.equal('success');
-        expect((await helper.collatorSelection.setOwnKeys(dave))
+        expect((await helper.session.setOwnKeysFromAddress(dave))
           .status.toLowerCase()).to.be.equal('success');
   
-        // todo:collator check necessity + add RPC for invulnerables / just improve in general
-        // validators = await helper.callRpc('api.query.session.validators');
         const invulnerables = await helper.collatorSelection.getInvulnerables();
         if (!invulnerables.includes(alice.address) || !invulnerables.includes(bob.address) || invulnerables.length != 2) {
           console.warn('Alice and Bob are not the invulnerables! Reinstating them back. ' 
@@ -116,19 +130,7 @@
       const newInvulnerables = await helper.collatorSelection.getInvulnerables();
       expect(newInvulnerables).to.contain(charlie.address).and.contain(dave.address).and.be.length(2);
   
-      const expectedSessionIndex = (await helper.callRpc('api.query.session.currentIndex')).toNumber() + 2;
-      let currentSessionIndex = -1;
-      console.log('Waiting for the session after the next.' 
-        + ' This might take a while -- check SessionPeriod in pallet_session::Config for session time.');
-  
-      while (currentSessionIndex < expectedSessionIndex) {
-        // eslint-disable-next-line no-async-promise-executor
-        currentSessionIndex = await expect(helper.wait.withTimeout(new Promise(async (resolve) => {
-          await helper.wait.newBlocks(1);
-          const res = (await helper.callRpc('api.query.session.currentIndex')).toNumber();
-          resolve(res);
-        }), 24000, 'The chain has stopped producing blocks!')).to.be.fulfilled;
-      }
+      await helper.wait.newSessions(2);
   
       const newValidators = await helper.callRpc('api.query.session.validators');
       expect(newValidators).to.contain(charlie.address).and.contain(dave.address).and.be.length(2);
@@ -140,9 +142,6 @@
       expect(lastCharlieBlock >= lastBlockNumber || lastDaveBlock >= lastBlockNumber).to.be.true;
     });
   
-    // todo:collator keyless invulnerables? will hang, so, a breaking test, eh
-    // register candidate without sudos and the like
-  
     after(async () => {
       await usingPlaygrounds(async (helper) => {
         if (await helper.arrange.isDevNode()) return;
@@ -162,9 +161,185 @@
     });
   });
 
-  // todo:collator make sure that there is enough session time for a set of tests
-  // 28 non-functioning collators, teehee.
+  describe('Getting and releasing licenses to collate', () => {
+    let charlie: IKeyringPair;
+    let dave: IKeyringPair;
+    let crowd: IKeyringPair[];
+    
+    before(async function() {  
+      await usingPlaygrounds(async (helper, privateKey) => {
+        charlie = await privateKey('//Charlie');
+        dave = await privateKey('//Dave');
+        crowd = await helper.arrange.createCrowd(20, 100n, superuser);
+
+        // set session keys for everyone
+        expect((await helper.session.setOwnKeysFromAddress(charlie))
+          .status.toLowerCase()).to.be.equal('success');
+        expect((await helper.session.setOwnKeysFromAddress(dave))
+          .status.toLowerCase()).to.be.equal('success');
+        await Promise.all(crowd.map(acc => helper.session.setOwnKeysFromAddress(acc)));
+      });
+    });
+
+    describe('Positive', () => {
+      itSub('Can lease and release a license', async ({helper}) => {
+        const account = crowd.pop()!;
+        
+        // make sure it does not have any reserved funds
+        expect((await helper.balance.getSubstrateFull(account.address)).reserved).to.be.equal(0n);
+
+        // getting a license reserves a license bond cost
+        await helper.collatorSelection.obtainLicense(account);
+        expect(await helper.collatorSelection.hasLicense(account.address)).to.be.equal(licenseBond);
+        expect((await helper.balance.getSubstrateFull(account.address)).reserved).to.be.equal(licenseBond);
+
+        // releasing a license un-reserves the license bond cost
+        await helper.collatorSelection.releaseLicense(account);
+        expect(await helper.collatorSelection.hasLicense(account.address)).to.be.equal(0n);
+        
+        const balance = await helper.balance.getSubstrateFull(account.address);
+        expect(balance.reserved).to.be.equal(0n);
+        expect(balance.free > 100n - licenseBond);
+      });
+
+      itSub('Can force revoke a license', async ({helper}) => {
+        const account = crowd.pop()!;
+
+        // getting a license reserves a license bond cost
+        const previousBalance = await helper.balance.getSubstrateFull(account.address);
+        await helper.collatorSelection.obtainLicense(account);
+        expect(await helper.collatorSelection.hasLicense(account.address)).to.be.equal(licenseBond);
+
+        // force-releasing a license un-reserves the license bond cost as well
+        await helper.getSudo().collatorSelection.forceRevokeLicense(superuser, account.address);
+        expect(await helper.collatorSelection.hasLicense(account.address)).to.be.equal(previousBalance.reserved);
+
+        const balance = await helper.balance.getSubstrateFull(account.address);
+        expect(balance.reserved).to.be.equal(previousBalance.reserved);
+        expect(balance.free > previousBalance.free - licenseBond);
+      });
+    });
 
+    describe('Negative', () => {
+      itSub('Cannot get a license without session keys set', async ({helper}) => {
+        const [account] = await helper.arrange.createAccounts([100n], superuser);
+        await expect(helper.collatorSelection.obtainLicense(account))
+          .to.be.rejectedWith(/collatorSelection.ValidatorNotRegistered/);
+      });
+
+      itSub('Cannot register a license twice', async ({helper}) => {
+        const account = crowd.pop()!;
+        await helper.collatorSelection.obtainLicense(account);
+        await expect(helper.collatorSelection.obtainLicense(account))
+          .to.be.rejectedWith(/collatorSelection.AlreadyHoldingLicense/);
+      });
+
+      itSub('Cannot release a license twice', async ({helper}) => {
+        const account = crowd.pop()!;
+        await helper.collatorSelection.obtainLicense(account);
+        await helper.collatorSelection.releaseLicense(account);
+        await expect(helper.collatorSelection.releaseLicense(account))
+          .to.be.rejectedWith(/collatorSelection.NoLicense/);
+      });
+
+      itSub('Cannot force revoke a license as non-sudo', async ({helper}) => {
+        const account = crowd.pop()!;
+        await helper.collatorSelection.obtainLicense(account);
+        await expect(helper.collatorSelection.forceRevokeLicense(superuser, account.address))
+          .to.be.rejectedWith(/BadOrigin/);
+      });
+    });
+  });
+
+  describe('Onboarding, collating, and offboarding as collator candidates', () => {
+    // These two are the default invulnerables, and should return to be invulnerables after this suite.
+    let charlie: IKeyringPair;
+    let dave: IKeyringPair;
+    let crowd: IKeyringPair[];
+    
+    before(async function() {  
+      await usingPlaygrounds(async (helper, privateKey) => {
+        charlie = await privateKey('//Charlie');
+        dave = await privateKey('//Dave');
+        crowd = await helper.arrange.createCrowd(20, 100n, superuser);
+
+        // set session keys for everyone
+        expect((await helper.session.setOwnKeysFromAddress(charlie))
+          .status.toLowerCase()).to.be.equal('success');
+        expect((await helper.session.setOwnKeysFromAddress(dave))
+          .status.toLowerCase()).to.be.equal('success');
+        await Promise.all(crowd.map(acc => helper.session.setOwnKeysFromAddress(acc)));
+      });
+    });
+
+    describe('Positive', () => {
+      itSub('Can onboard and offboard repeatedly', async ({helper}) => {
+        const account = crowd.pop()!;
+        await helper.collatorSelection.obtainLicense(account);
+        await helper.collatorSelection.onboard(account);
+        expect(await helper.collatorSelection.getCandidates()).to.be.deep.equal([account.address]);
+
+        await helper.collatorSelection.offboard(account);
+        expect(await helper.collatorSelection.getCandidates()).to.be.deep.equal([]);
+
+        await helper.collatorSelection.onboard(account);
+        expect(await helper.collatorSelection.getCandidates()).to.be.deep.equal([account.address]);
+
+        await helper.collatorSelection.offboard(account);
+        expect(await helper.collatorSelection.getCandidates()).to.be.deep.equal([]);
+      });
+
+      itSub('Dithmarschen', async ({helper}) => {
+        // This one shouldn't even be able to produce blocks.
+        const account = crowd.pop()!;
+        await helper.collatorSelection.obtainLicense(account);
+        await helper.collatorSelection.onboard(account);
+        expect(await helper.collatorSelection.getCandidates()).to.contain(account.address);
+
+        // Wait for 3 new sessions before checking that the collator will be kicked:
+        // one to get collator onboarded, and another two for the collator to fail
+        await helper.wait.newSessions(3);
+
+        expect(await helper.collatorSelection.getCandidates()).to.not.contain(account.address);
+        expect(await helper.collatorSelection.hasLicense(account.address)).to.be.equal(0n);
+
+        // The account's reserved funds get slashed as a penalty
+        const balance = await helper.balance.getSubstrateFull(account.address);
+        expect(balance.reserved).to.be.equal(0n);
+        expect(balance.free < 100n - licenseBond);
+      });
+    });
+
+    describe('Negative', () => {
+      itSub('Cannot onboard without a license', async ({helper}) => {
+        const account = crowd.pop()!;
+        await expect(helper.collatorSelection.onboard(account))
+          .to.be.rejectedWith(/collatorSelection.NoLicense/);
+      });
+
+      itSub('Cannot offboard without a license', async ({helper}) => {
+        const account = crowd.pop()!;
+        await expect(helper.collatorSelection.offboard(account))
+          .to.be.rejectedWith(/collatorSelection.NotCandidate/);
+      });
+
+      itSub('Cannot offboard while not onboarded', async ({helper}) => {
+        const account = crowd.pop()!;
+        await helper.collatorSelection.obtainLicense(account);
+        await expect(helper.collatorSelection.offboard(account))
+          .to.be.rejectedWith(/collatorSelection.NotCandidate/);
+      });
+
+      itSub('Cannot onboard while already onboarded', async ({helper}) => {
+        const account = crowd.pop()!;
+        await helper.collatorSelection.obtainLicense(account);
+        await helper.collatorSelection.onboard(account);
+        await expect(helper.collatorSelection.onboard(account))
+          .to.be.rejectedWith(/collatorSelection.AlreadyCandidate/);
+      });
+    });
+  });
+
   describe('Addition and removal of invulnerables', () => {
     before(async function() {
       await resetInvulnerables();
@@ -175,7 +350,7 @@
         const [account] = await helper.arrange.createAccounts([10n], superuser);
         const invulnerables = await helper.collatorSelection.getInvulnerables();
 
-        await helper.collatorSelection.setOwnKeys(account);
+        await helper.session.setOwnKeysFromAddress(account);
         await helper.getSudo().collatorSelection.addInvulnerable(superuser, account.address);
         
         const newInvulnerables = await helper.collatorSelection.getInvulnerables();
@@ -184,7 +359,7 @@
 
       itSub('Removes an invulnerable', async ({helper}) => {
         const invulnerables = await helper.collatorSelection.getInvulnerables();
-        const lastInvulnerable = invulnerables.pop();
+        const lastInvulnerable = invulnerables.pop()!;
 
         await helper.getSudo().collatorSelection.removeInvulnerable(superuser, lastInvulnerable);
         const newInvulnerables = await helper.collatorSelection.getInvulnerables();
@@ -203,16 +378,22 @@
         expect(newInvulnerables).to.have.all.members(invulnerables);
       });
 
+      itSub('Cannot remove a non-existent invulnerable', async ({helper}) => {
+        const [account] = await helper.arrange.createAccounts([0n], superuser);
+        await expect(helper.getSudo().collatorSelection.removeInvulnerable(superuser, account.address))
+          .to.be.rejectedWith(/collatorSelection.NotInvulnerable/);
+      });
+
       itSub('Cannot allow invulnerables to be empty', async ({helper}) => {
         const invulnerables = await helper.collatorSelection.getInvulnerables();
-        const lastInvulnerable = invulnerables.pop();
+        const lastInvulnerable = invulnerables.pop()!;
 
         let nonce = await helper.chain.getNonce(superuser.address);
         await Promise.all(invulnerables.map((i: any) => 
           helper.getSudo().executeExtrinsic(superuser, 'api.tx.collatorSelection.removeInvulnerable', [i], true, {nonce: nonce++})));
 
         await expect(helper.getSudo().collatorSelection.removeInvulnerable(superuser, lastInvulnerable))
-          .to.be.rejected;//todo:collator With(/collatorSelection.TooFewInvulnerables/);
+          .to.be.rejectedWith(/collatorSelection.TooFewInvulnerables/);
 
         const newInvulnerables = await helper.collatorSelection.getInvulnerables();
         expect(newInvulnerables).to.be.deep.equal([lastInvulnerable]);
@@ -224,21 +405,24 @@
       });
 
       itSub('Cannot have too many invulnerables', async ({helper}) => {
+        // todo:collator make sure that there is enough session time for a set of tests
+        // 28 non-functioning collators, teehee.
+        
         const invulnerablesLength = (await helper.collatorSelection.getInvulnerables()).length;
-        const invulnerablesUntilLimit = 30 - invulnerablesLength;
+        const invulnerablesUntilLimit = MAX_INVULNERABLES - invulnerablesLength;
         const newInvulnerables = await helper.arrange.createAccounts(Array(invulnerablesUntilLimit).fill(10n), superuser);
         const [lastInvulnerable] = await helper.arrange.createAccounts([10n], superuser);
 
         await Promise.all(newInvulnerables.map((i: IKeyringPair) => 
-          helper.collatorSelection.setOwnKeys(i)));
-        await helper.collatorSelection.setOwnKeys(lastInvulnerable);
+          helper.session.setOwnKeysFromAddress(i)));
+        await helper.session.setOwnKeysFromAddress(lastInvulnerable);
 
         let nonce = await helper.chain.getNonce(superuser.address);
         await Promise.all(newInvulnerables.map((i: IKeyringPair) => 
           helper.getSudo().executeExtrinsic(superuser, 'api.tx.collatorSelection.addInvulnerable', [i.address], true, {nonce: nonce++})));
 
         await expect(helper.getSudo().collatorSelection.addInvulnerable(superuser, lastInvulnerable.address))
-          .to.be.rejected; // todo:collator With(/collatorSelection.TooManyInvulnerables/);
+          .to.be.rejectedWith(/collatorSelection.TooManyInvulnerables/);
         
         // restore the invulnerables to the previous state
         nonce = await helper.chain.getNonce(superuser.address);
@@ -250,7 +434,7 @@
         const [account] = await helper.arrange.createAccounts([10n], superuser);
         const invulnerables = await helper.collatorSelection.getInvulnerables();
 
-        await helper.collatorSelection.setOwnKeys(account);
+        await helper.session.setOwnKeysFromAddress(account);
         await expect(helper.collatorSelection.addInvulnerable(superuser, account.address))
           .to.be.rejectedWith(/BadOrigin/);
 
@@ -265,14 +449,19 @@
         expect(await helper.collatorSelection.getInvulnerables()).to.have.all.members(invulnerables);
       });
     });
+  });
   
-    after(async () => {
-      // eslint-disable-next-line require-await
-      await usingPlaygrounds(async (helper) => {
-        if (helper.fetchMissingPalletNames([Pallets.CollatorSelection]).length != 0) return;
-    
-        // todo:collator after
-      });
+  after(async () => {
+    // eslint-disable-next-line require-await
+    await usingPlaygrounds(async (helper) => {
+      if (helper.fetchMissingPalletNames([Pallets.CollatorSelection]).length != 0) return;
+  
+      await helper.getSudo().collatorSelection.setLicenseBond(superuser, previousLicenseBond);
+      
+      const candidates = await helper.collatorSelection.getCandidates();
+      let nonce = await helper.chain.getNonce(superuser.address);
+      await Promise.all(candidates.map(candidate => 
+        helper.getSudo().executeExtrinsic(superuser, 'api.tx.collatorSelection.removeInvulnerable', [candidate], true, {nonce: nonce++})));
     });
   });
 });
\ No newline at end of file
modifiedtests/src/interfaces/augment-api-consts.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-api-consts.ts
+++ b/tests/src/interfaces/augment-api-consts.ts
@@ -41,6 +41,18 @@
        **/
       [key: string]: Codec;
     };
+    authorship: {
+      /**
+       * The number of blocks back we should accept uncles.
+       * This means that we will deal with uncle-parents that are
+       * `UncleGenerations + 1` before `now`.
+       **/
+      uncleGenerations: u32 & AugmentedConst<ApiType>;
+      /**
+       * Generic const
+       **/
+      [key: string]: Codec;
+    };
     balances: {
       /**
        * The minimum amount required to keep an account open.
modifiedtests/src/interfaces/augment-api-errors.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-api-errors.ts
+++ b/tests/src/interfaces/augment-api-errors.ts
@@ -41,6 +41,40 @@
        **/
       [key: string]: AugmentedError<ApiType>;
     };
+    authorship: {
+      /**
+       * The uncle is genesis.
+       **/
+      GenesisUncle: AugmentedError<ApiType>;
+      /**
+       * The uncle parent not in the chain.
+       **/
+      InvalidUncleParent: AugmentedError<ApiType>;
+      /**
+       * The uncle isn't recent enough to be included.
+       **/
+      OldUncle: AugmentedError<ApiType>;
+      /**
+       * The uncle is too high in chain.
+       **/
+      TooHighUncle: AugmentedError<ApiType>;
+      /**
+       * Too many uncles.
+       **/
+      TooManyUncles: AugmentedError<ApiType>;
+      /**
+       * The uncle is already included.
+       **/
+      UncleAlreadyIncluded: AugmentedError<ApiType>;
+      /**
+       * Uncles already set in the block.
+       **/
+      UnclesAlreadySet: AugmentedError<ApiType>;
+      /**
+       * Generic error
+       **/
+      [key: string]: AugmentedError<ApiType>;
+    };
     balances: {
       /**
        * Beneficiary account must pre-exist
@@ -79,6 +113,64 @@
        **/
       [key: string]: AugmentedError<ApiType>;
     };
+    collatorSelection: {
+      /**
+       * User is already a candidate
+       **/
+      AlreadyCandidate: AugmentedError<ApiType>;
+      /**
+       * User already holds license to collate
+       **/
+      AlreadyHoldingLicense: AugmentedError<ApiType>;
+      /**
+       * User is already an Invulnerable
+       **/
+      AlreadyInvulnerable: AugmentedError<ApiType>;
+      /**
+       * Account has no associated validator ID
+       **/
+      NoAssociatedValidatorId: AugmentedError<ApiType>;
+      /**
+       * User does not hold a license to collate
+       **/
+      NoLicense: AugmentedError<ApiType>;
+      /**
+       * User is not a candidate
+       **/
+      NotCandidate: AugmentedError<ApiType>;
+      /**
+       * User is not an Invulnerable
+       **/
+      NotInvulnerable: AugmentedError<ApiType>;
+      /**
+       * Permission issue
+       **/
+      Permission: AugmentedError<ApiType>;
+      /**
+       * Too few invulnerables
+       **/
+      TooFewInvulnerables: AugmentedError<ApiType>;
+      /**
+       * Too many candidates
+       **/
+      TooManyCandidates: AugmentedError<ApiType>;
+      /**
+       * Too many invulnerables
+       **/
+      TooManyInvulnerables: AugmentedError<ApiType>;
+      /**
+       * Unknown error
+       **/
+      Unknown: AugmentedError<ApiType>;
+      /**
+       * Validator ID is not yet registered
+       **/
+      ValidatorNotRegistered: AugmentedError<ApiType>;
+      /**
+       * Generic error
+       **/
+      [key: string]: AugmentedError<ApiType>;
+    };
     common: {
       /**
        * Account token limit exceeded per collection
@@ -685,6 +777,32 @@
        **/
       [key: string]: AugmentedError<ApiType>;
     };
+    session: {
+      /**
+       * Registered duplicate key.
+       **/
+      DuplicatedKey: AugmentedError<ApiType>;
+      /**
+       * Invalid ownership proof.
+       **/
+      InvalidProof: AugmentedError<ApiType>;
+      /**
+       * Key setting account is not live, so it's impossible to associate keys.
+       **/
+      NoAccount: AugmentedError<ApiType>;
+      /**
+       * No associated validator ID for account.
+       **/
+      NoAssociatedValidatorId: AugmentedError<ApiType>;
+      /**
+       * No keys are associated with this account.
+       **/
+      NoKeys: AugmentedError<ApiType>;
+      /**
+       * Generic error
+       **/
+      [key: string]: AugmentedError<ApiType>;
+    };
     structure: {
       /**
        * While nesting, reached the breadth limit of nesting, exceeding the provided budget.
modifiedtests/src/interfaces/augment-api-events.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-api-events.ts
+++ b/tests/src/interfaces/augment-api-events.ts
@@ -100,6 +100,21 @@
        **/
       [key: string]: AugmentedEvent<ApiType>;
     };
+    collatorSelection: {
+      CandidateAdded: AugmentedEvent<ApiType, [accountId: AccountId32], { accountId: AccountId32 }>;
+      CandidateRemoved: AugmentedEvent<ApiType, [accountId: AccountId32], { accountId: AccountId32 }>;
+      InvulnerableAdded: AugmentedEvent<ApiType, [invulnerable: AccountId32], { invulnerable: AccountId32 }>;
+      InvulnerableRemoved: AugmentedEvent<ApiType, [invulnerable: AccountId32], { invulnerable: AccountId32 }>;
+      LicenseForfeited: AugmentedEvent<ApiType, [accountId: AccountId32, depositReturned: u128], { accountId: AccountId32, depositReturned: u128 }>;
+      LicenseObtained: AugmentedEvent<ApiType, [accountId: AccountId32, deposit: u128], { accountId: AccountId32, deposit: u128 }>;
+      NewDesiredCollators: AugmentedEvent<ApiType, [desiredCollators: u32], { desiredCollators: u32 }>;
+      NewKickThreshold: AugmentedEvent<ApiType, [lengthInBlocks: u32], { lengthInBlocks: u32 }>;
+      NewLicenseBond: AugmentedEvent<ApiType, [bondAmount: u128], { bondAmount: u128 }>;
+      /**
+       * Generic event
+       **/
+      [key: string]: AugmentedEvent<ApiType>;
+    };
     common: {
       /**
        * Address was added to the allow list.
@@ -526,6 +541,17 @@
        **/
       [key: string]: AugmentedEvent<ApiType>;
     };
+    session: {
+      /**
+       * New session has happened. Note that the argument is the session index, not the
+       * block number as the type might suggest.
+       **/
+      NewSession: AugmentedEvent<ApiType, [sessionIndex: u32], { sessionIndex: u32 }>;
+      /**
+       * Generic event
+       **/
+      [key: string]: AugmentedEvent<ApiType>;
+    };
     structure: {
       /**
        * Executed call on behalf of the token.
modifiedtests/src/interfaces/augment-api-query.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-api-query.ts
+++ b/tests/src/interfaces/augment-api-query.ts
@@ -9,7 +9,7 @@
 import type { BTreeMap, Bytes, Option, U256, Vec, bool, u128, u16, u32, u64, u8 } from '@polkadot/types-codec';
 import type { AnyNumber, ITuple } from '@polkadot/types-codec/types';
 import type { AccountId32, H160, H256 } from '@polkadot/types/interfaces/runtime';
-import type { CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueQueueConfigData, EthereumBlock, EthereumLog, EthereumReceiptReceiptV3, EthereumTransactionTransactionV2, FpRpcTransactionStatus, FrameSupportDispatchPerDispatchClassWeight, FrameSystemAccountInfo, FrameSystemEventRecord, FrameSystemLastRuntimeUpgradeInfo, FrameSystemPhase, OrmlTokensAccountData, OrmlTokensBalanceLock, OrmlTokensReserveData, OrmlVestingVestingSchedule, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesReleases, PalletBalancesReserveData, PalletConfigurationAppPromotionConfiguration, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmContractHelpersSponsoringModeT, PalletForeignAssetsAssetIds, PalletForeignAssetsModuleAssetMetadata, PalletNonfungibleItemData, PalletRefungibleItemData, PalletTransactionPaymentReleases, PalletTreasuryProposal, PhantomTypeUpDataStructs, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, SpRuntimeDigest, SpTrieStorageProof, SpWeightsWeightV2Weight, UpDataStructsCollection, UpDataStructsCollectionStats, UpDataStructsProperties, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsPropertyPermission, UpDataStructsPropertyScope, UpDataStructsSponsorshipStateBasicCrossAccountIdRepr, UpDataStructsTokenChild, XcmV1MultiLocation } from '@polkadot/types/lookup';
+import type { CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueQueueConfigData, EthereumBlock, EthereumLog, EthereumReceiptReceiptV3, EthereumTransactionTransactionV2, FpRpcTransactionStatus, FrameSupportDispatchPerDispatchClassWeight, FrameSystemAccountInfo, FrameSystemEventRecord, FrameSystemLastRuntimeUpgradeInfo, FrameSystemPhase, OpalRuntimeRuntimeCommonSessionKeys, OrmlTokensAccountData, OrmlTokensBalanceLock, OrmlTokensReserveData, OrmlVestingVestingSchedule, PalletAuthorshipUncleEntryItem, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesReleases, PalletBalancesReserveData, PalletConfigurationAppPromotionConfiguration, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmContractHelpersSponsoringModeT, PalletForeignAssetsAssetIds, PalletForeignAssetsModuleAssetMetadata, PalletNonfungibleItemData, PalletRefungibleItemData, PalletTransactionPaymentReleases, PalletTreasuryProposal, PhantomTypeUpDataStructs, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, SpCoreCryptoKeyTypeId, SpRuntimeDigest, SpTrieStorageProof, SpWeightsWeightV2Weight, UpDataStructsCollection, UpDataStructsCollectionStats, UpDataStructsProperties, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsPropertyPermission, UpDataStructsPropertyScope, UpDataStructsSponsorshipStateBasicCrossAccountIdRepr, UpDataStructsTokenChild, XcmV1MultiLocation } from '@polkadot/types/lookup';
 import type { Observable } from '@polkadot/types/types';
 
 export type __AugmentedQuery<ApiType extends ApiTypes> = AugmentedQuery<ApiType, () => unknown>;
@@ -59,6 +59,24 @@
        **/
       [key: string]: QueryableStorageEntry<ApiType>;
     };
+    authorship: {
+      /**
+       * Author of current block.
+       **/
+      author: AugmentedQuery<ApiType, () => Observable<Option<AccountId32>>, []> & QueryableStorageEntry<ApiType, []>;
+      /**
+       * Whether uncles were already set in this block.
+       **/
+      didSetUncles: AugmentedQuery<ApiType, () => Observable<bool>, []> & QueryableStorageEntry<ApiType, []>;
+      /**
+       * Uncles
+       **/
+      uncles: AugmentedQuery<ApiType, () => Observable<Vec<PalletAuthorshipUncleEntryItem>>, []> & QueryableStorageEntry<ApiType, []>;
+      /**
+       * Generic query
+       **/
+      [key: string]: QueryableStorageEntry<ApiType>;
+    };
     balances: {
       /**
        * The Balances pallet example of storing the balance of an account.
@@ -117,6 +135,46 @@
        **/
       [key: string]: QueryableStorageEntry<ApiType>;
     };
+    collatorSelection: {
+      /**
+       * The (community, limited) collation candidates.
+       **/
+      candidates: AugmentedQuery<ApiType, () => Observable<Vec<AccountId32>>, []> & QueryableStorageEntry<ApiType, []>;
+      /**
+       * Desired number of candidates.
+       * 
+       * This should ideally always be less than [`Config::MaxCollators`] for weights to be correct.
+       **/
+      desiredCollators: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;
+      /**
+       * The invulnerable, fixed collators.
+       **/
+      invulnerables: AugmentedQuery<ApiType, () => Observable<Vec<AccountId32>>, []> & QueryableStorageEntry<ApiType, []>;
+      /**
+       * Collator will be kicked if it does not produce a block within the threshold (does not apply to invulnerables).
+       * 
+       * Should be a multiple of session or things will get inconsistent. todo:collator reword?
+       **/
+      kickThreshold: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;
+      /**
+       * Last block authored by collator.
+       **/
+      lastAuthoredBlock: AugmentedQuery<ApiType, (arg: AccountId32 | string | Uint8Array) => Observable<u32>, [AccountId32]> & QueryableStorageEntry<ApiType, [AccountId32]>;
+      /**
+       * Fixed amount to deposit to become a collator.
+       * 
+       * When a collator calls `leave_intent` they immediately receive the deposit back.
+       **/
+      licenseBond: AugmentedQuery<ApiType, () => Observable<u128>, []> & QueryableStorageEntry<ApiType, []>;
+      /**
+       * The (community) collation license holders.
+       **/
+      licenses: AugmentedQuery<ApiType, (arg: AccountId32 | string | Uint8Array) => Observable<u128>, [AccountId32]> & QueryableStorageEntry<ApiType, [AccountId32]>;
+      /**
+       * Generic query
+       **/
+      [key: string]: QueryableStorageEntry<ApiType>;
+    };
     common: {
       /**
        * Storage of the amount of collection admins.
@@ -687,6 +745,46 @@
        **/
       [key: string]: QueryableStorageEntry<ApiType>;
     };
+    session: {
+      /**
+       * Current index of the session.
+       **/
+      currentIndex: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;
+      /**
+       * Indices of disabled validators.
+       * 
+       * The vec is always kept sorted so that we can find whether a given validator is
+       * disabled using binary search. It gets cleared when `on_session_ending` returns
+       * a new set of identities.
+       **/
+      disabledValidators: AugmentedQuery<ApiType, () => Observable<Vec<u32>>, []> & QueryableStorageEntry<ApiType, []>;
+      /**
+       * The owner of a key. The key is the `KeyTypeId` + the encoded key.
+       **/
+      keyOwner: AugmentedQuery<ApiType, (arg: ITuple<[SpCoreCryptoKeyTypeId, Bytes]> | [SpCoreCryptoKeyTypeId | string | Uint8Array, Bytes | string | Uint8Array]) => Observable<Option<AccountId32>>, [ITuple<[SpCoreCryptoKeyTypeId, Bytes]>]> & QueryableStorageEntry<ApiType, [ITuple<[SpCoreCryptoKeyTypeId, Bytes]>]>;
+      /**
+       * The next session keys for a validator.
+       **/
+      nextKeys: AugmentedQuery<ApiType, (arg: AccountId32 | string | Uint8Array) => Observable<Option<OpalRuntimeRuntimeCommonSessionKeys>>, [AccountId32]> & QueryableStorageEntry<ApiType, [AccountId32]>;
+      /**
+       * True if the underlying economic identities or weighting behind the validators
+       * has changed in the queued validator set.
+       **/
+      queuedChanged: AugmentedQuery<ApiType, () => Observable<bool>, []> & QueryableStorageEntry<ApiType, []>;
+      /**
+       * The queued keys for the next session. When the next session begins, these keys
+       * will be used to determine the validator's session keys.
+       **/
+      queuedKeys: AugmentedQuery<ApiType, () => Observable<Vec<ITuple<[AccountId32, OpalRuntimeRuntimeCommonSessionKeys]>>>, []> & QueryableStorageEntry<ApiType, []>;
+      /**
+       * The current set of validators.
+       **/
+      validators: AugmentedQuery<ApiType, () => Observable<Vec<AccountId32>>, []> & QueryableStorageEntry<ApiType, []>;
+      /**
+       * Generic query
+       **/
+      [key: string]: QueryableStorageEntry<ApiType>;
+    };
     structure: {
       /**
        * Generic query
modifiedtests/src/interfaces/augment-api-rpc.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-api-rpc.ts
+++ b/tests/src/interfaces/augment-api-rpc.ts
@@ -16,7 +16,7 @@
 import type { BlockHash } from '@polkadot/types/interfaces/chain';
 import type { PrefixedStorageKey } from '@polkadot/types/interfaces/childstate';
 import type { AuthorityId } from '@polkadot/types/interfaces/consensus';
-import type { CodeUploadRequest, CodeUploadResult, ContractCallRequest, ContractExecResult, ContractInstantiateResult, InstantiateRequest } from '@polkadot/types/interfaces/contracts';
+import type { CodeUploadRequest, CodeUploadResult, ContractCallRequest, ContractExecResult, ContractInstantiateResult, InstantiateRequestV1 } from '@polkadot/types/interfaces/contracts';
 import type { BlockStats } from '@polkadot/types/interfaces/dev';
 import type { CreatedBlock } from '@polkadot/types/interfaces/engine';
 import type { EthAccount, EthCallRequest, EthFeeHistory, EthFilter, EthFilterChanges, EthLog, EthReceipt, EthRichBlock, EthSubKind, EthSubParams, EthSyncStatus, EthTransaction, EthTransactionRequest, EthWork } from '@polkadot/types/interfaces/eth';
@@ -24,7 +24,7 @@
 import type { EncodedFinalityProofs, JustificationNotification, ReportedRoundStates } from '@polkadot/types/interfaces/grandpa';
 import type { MmrLeafBatchProof, MmrLeafProof } from '@polkadot/types/interfaces/mmr';
 import type { StorageKind } from '@polkadot/types/interfaces/offchain';
-import type { FeeDetails, RuntimeDispatchInfo } from '@polkadot/types/interfaces/payment';
+import type { FeeDetails, RuntimeDispatchInfoV1 } from '@polkadot/types/interfaces/payment';
 import type { RpcMethods } from '@polkadot/types/interfaces/rpc';
 import type { AccountId, AccountId32, BlockNumber, H160, H256, H64, Hash, Header, Index, Justification, KeyValue, SignedBlock, StorageData } from '@polkadot/types/interfaces/runtime';
 import type { MigrationStatusResult, ReadProof, RuntimeVersion, TraceBlockResponse } from '@polkadot/types/interfaces/state';
@@ -174,7 +174,7 @@
        * @deprecated Use the runtime interface `api.call.contractsApi.instantiate` instead
        * Instantiate a new contract
        **/
-      instantiate: AugmentedRpc<(request: InstantiateRequest | { origin?: any; value?: any; gasLimit?: any; storageDepositLimit?: any; code?: any; data?: any; salt?: any } | string | Uint8Array, at?: BlockHash | string | Uint8Array) => Observable<ContractInstantiateResult>>;
+      instantiate: AugmentedRpc<(request: InstantiateRequestV1 | { origin?: any; value?: any; gasLimit?: any; code?: any; data?: any; salt?: any } | string | Uint8Array, at?: BlockHash | string | Uint8Array) => Observable<ContractInstantiateResult>>;
       /**
        * @deprecated Not available in newer versions of the contracts interfaces
        * Returns the projected time a given contract will be able to sustain paying its rent
@@ -426,13 +426,15 @@
     };
     payment: {
       /**
+       * @deprecated Use `api.call.transactionPaymentApi.queryFeeDetails` instead
        * Query the detailed fee of a given encoded extrinsic
        **/
       queryFeeDetails: AugmentedRpc<(extrinsic: Bytes | string | Uint8Array, at?: BlockHash | string | Uint8Array) => Observable<FeeDetails>>;
       /**
+       * @deprecated Use `api.call.transactionPaymentApi.queryInfo` instead
        * Retrieves the fee information for an encoded extrinsic
        **/
-      queryInfo: AugmentedRpc<(extrinsic: Bytes | string | Uint8Array, at?: BlockHash | string | Uint8Array) => Observable<RuntimeDispatchInfo>>;
+      queryInfo: AugmentedRpc<(extrinsic: Bytes | string | Uint8Array, at?: BlockHash | string | Uint8Array) => Observable<RuntimeDispatchInfoV1>>;
     };
     rmrk: {
       /**
modifiedtests/src/interfaces/augment-api-runtime.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-api-runtime.ts
+++ b/tests/src/interfaces/augment-api-runtime.ts
@@ -6,7 +6,7 @@
 import '@polkadot/api-base/types/calls';
 
 import type { ApiTypes, AugmentedCall, DecoratedCallBase } from '@polkadot/api-base/types';
-import type { Bytes, Null, Option, Result, U256, Vec, bool, u256, u64 } from '@polkadot/types-codec';
+import type { Bytes, Null, Option, Result, U256, Vec, bool, u256, u32, u64 } from '@polkadot/types-codec';
 import type { AnyNumber, ITuple } from '@polkadot/types-codec/types';
 import type { CheckInherentsResult, InherentData } from '@polkadot/types/interfaces/blockbuilder';
 import type { BlockHash } from '@polkadot/types/interfaces/chain';
@@ -16,6 +16,7 @@
 import type { EvmAccount, EvmCallInfo, EvmCreateInfo } from '@polkadot/types/interfaces/evm';
 import type { Extrinsic } from '@polkadot/types/interfaces/extrinsics';
 import type { OpaqueMetadata } from '@polkadot/types/interfaces/metadata';
+import type { FeeDetails, RuntimeDispatchInfo } from '@polkadot/types/interfaces/payment';
 import type { AccountId, Block, H160, H256, Header, Index, KeyTypeId, Permill, SlotDuration } from '@polkadot/types/interfaces/runtime';
 import type { RuntimeVersion } from '@polkadot/types/interfaces/state';
 import type { ApplyExtrinsicResult, DispatchError } from '@polkadot/types/interfaces/system';
@@ -228,5 +229,20 @@
        **/
       [key: string]: DecoratedCallBase<ApiType>;
     };
+    /** 0x37c8bb1350a9a2a8/2 */
+    transactionPaymentApi: {
+      /**
+       * The transaction fee details
+       **/
+      queryFeeDetails: AugmentedCall<ApiType, (uxt: Extrinsic | IExtrinsic | string | Uint8Array, len: u32 | AnyNumber | Uint8Array) => Observable<FeeDetails>>;
+      /**
+       * The transaction info
+       **/
+      queryInfo: AugmentedCall<ApiType, (uxt: Extrinsic | IExtrinsic | string | Uint8Array, len: u32 | AnyNumber | Uint8Array) => Observable<RuntimeDispatchInfo>>;
+      /**
+       * Generic call
+       **/
+      [key: string]: DecoratedCallBase<ApiType>;
+    };
   } // AugmentedCalls
 } // declare module
modifiedtests/src/interfaces/augment-api-tx.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-api-tx.ts
+++ b/tests/src/interfaces/augment-api-tx.ts
@@ -9,7 +9,7 @@
 import type { Bytes, Compact, Option, U256, Vec, bool, u128, u16, u32, u64, u8 } from '@polkadot/types-codec';
 import type { AnyNumber, IMethod, ITuple } from '@polkadot/types-codec/types';
 import type { AccountId32, Call, H160, H256, MultiAddress, Perbill, Permill } from '@polkadot/types/interfaces/runtime';
-import type { CumulusPrimitivesParachainInherentParachainInherentData, EthereumLog, EthereumTransactionTransactionV2, OrmlVestingVestingSchedule, PalletConfigurationAppPromotionConfiguration, PalletEvmAccountBasicCrossAccountIdRepr, PalletForeignAssetsAssetIds, PalletForeignAssetsModuleAssetMetadata, RmrkTraitsNftAccountIdOrCollectionNftTuple, RmrkTraitsPartEquippableList, RmrkTraitsPartPartType, RmrkTraitsResourceBasicResource, RmrkTraitsResourceComposableResource, RmrkTraitsResourceResourceTypes, RmrkTraitsResourceSlotResource, RmrkTraitsTheme, SpWeightsWeightV2Weight, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionPermissions, UpDataStructsCreateCollectionData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, XcmV1MultiLocation, XcmV2WeightLimit, XcmVersionedMultiAsset, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from '@polkadot/types/lookup';
+import type { CumulusPrimitivesParachainInherentParachainInherentData, EthereumLog, EthereumTransactionTransactionV2, OpalRuntimeRuntimeCommonSessionKeys, OrmlVestingVestingSchedule, PalletConfigurationAppPromotionConfiguration, PalletEvmAccountBasicCrossAccountIdRepr, PalletForeignAssetsAssetIds, PalletForeignAssetsModuleAssetMetadata, RmrkTraitsNftAccountIdOrCollectionNftTuple, RmrkTraitsPartEquippableList, RmrkTraitsPartPartType, RmrkTraitsResourceBasicResource, RmrkTraitsResourceComposableResource, RmrkTraitsResourceResourceTypes, RmrkTraitsResourceSlotResource, RmrkTraitsTheme, SpRuntimeHeader, SpWeightsWeightV2Weight, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionPermissions, UpDataStructsCreateCollectionData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, XcmV1MultiLocation, XcmV2WeightLimit, XcmVersionedMultiAsset, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from '@polkadot/types/lookup';
 
 export type __AugmentedSubmittable = AugmentedSubmittable<() => unknown>;
 export type __SubmittableExtrinsic<ApiType extends ApiTypes> = SubmittableExtrinsic<ApiType>;
@@ -119,6 +119,16 @@
        **/
       [key: string]: SubmittableExtrinsicFunction<ApiType>;
     };
+    authorship: {
+      /**
+       * Provide a set of uncles.
+       **/
+      setUncles: AugmentedSubmittable<(newUncles: Vec<SpRuntimeHeader> | (SpRuntimeHeader | { parentHash?: any; number?: any; stateRoot?: any; extrinsicsRoot?: any; digest?: any } | string | Uint8Array)[]) => SubmittableExtrinsic<ApiType>, [Vec<SpRuntimeHeader>]>;
+      /**
+       * Generic tx
+       **/
+      [key: string]: SubmittableExtrinsicFunction<ApiType>;
+    };
     balances: {
       /**
        * Exactly as `transfer`, except the origin must be root and the source account may be
@@ -214,6 +224,71 @@
        **/
       [key: string]: SubmittableExtrinsicFunction<ApiType>;
     };
+    collatorSelection: {
+      /**
+       * Add a collator to the list of invulnerable (fixed) collators.
+       **/
+      addInvulnerable: AugmentedSubmittable<(updated: AccountId32 | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [AccountId32]>;
+      /**
+       * Force deregister `origin` as a collator candidate as a governing authority, and revoke its license.
+       * Note that the collator can only leave on session change.
+       * The `LicenseBond` will be unreserved and returned immediately.
+       * 
+       * This call is not available to `Invulnerable` collators.
+       **/
+      forceRevokeLicense: AugmentedSubmittable<(who: AccountId32 | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [AccountId32]>;
+      /**
+       * Purchase a license on block collation for this account.
+       * It does not make it a collator candidate, use `onboard` afterward. The account must
+       * (a) already have registered session keys and (b) be able to reserve the `LicenseBond`.
+       * 
+       * This call is not available to `Invulnerable` collators.
+       **/
+      getLicense: AugmentedSubmittable<() => SubmittableExtrinsic<ApiType>, []>;
+      /**
+       * Deregister `origin` as a collator candidate. Note that the collator can only leave on
+       * session change. The license to `onboard` later at any other time will remain.
+       * 
+       * This call will fail if the total number of candidates would drop below `MinCandidates`. todo:collator maybe not
+       **/
+      offboard: AugmentedSubmittable<() => SubmittableExtrinsic<ApiType>, []>;
+      /**
+       * Register this account as a candidate for collators for next sessions.
+       * The account must already hold a license, and cannot offboard immediately during a session.
+       * 
+       * This call is not available to `Invulnerable` collators.
+       **/
+      onboard: AugmentedSubmittable<() => SubmittableExtrinsic<ApiType>, []>;
+      /**
+       * Forfeit `origin`'s own license. The `LicenseBond` will be unreserved immediately.
+       * 
+       * This call is not available to `Invulnerable` collators.
+       **/
+      releaseLicense: AugmentedSubmittable<() => SubmittableExtrinsic<ApiType>, []>;
+      /**
+       * Remove a collator from the list of invulnerable (fixed) collators.
+       **/
+      removeInvulnerable: AugmentedSubmittable<(who: AccountId32 | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [AccountId32]>;
+      /**
+       * Set the ideal number of collators. If lowering this number,
+       * then the number of running collators could be higher than this figure.
+       * Aside from that edge case, there should be no other way to have more collators than the desired number.
+       **/
+      setDesiredCollators: AugmentedSubmittable<(max: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32]>;
+      /**
+       * Set the length of the kick threshold.
+       * Note that if the length is not a multiple of the session period, it might get inconsistent.
+       **/
+      setKickThreshold: AugmentedSubmittable<(kickThreshold: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32]>;
+      /**
+       * Set the candidacy bond amount.
+       **/
+      setLicenseBond: AugmentedSubmittable<(bond: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u128]>;
+      /**
+       * Generic tx
+       **/
+      [key: string]: SubmittableExtrinsicFunction<ApiType>;
+    };
     configuration: {
       setAppPromotionConfigurationOverride: AugmentedSubmittable<(configuration: PalletConfigurationAppPromotionConfiguration | { recalculationInterval?: any; pendingInterval?: any; intervalIncome?: any; maxStakersPerCalculation?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [PalletConfigurationAppPromotionConfiguration]>;
       setMinGasPriceOverride: AugmentedSubmittable<(coeff: Option<u64> | null | Uint8Array | u64 | AnyNumber) => SubmittableExtrinsic<ApiType>, [Option<u64>]>;
@@ -839,6 +914,48 @@
        **/
       [key: string]: SubmittableExtrinsicFunction<ApiType>;
     };
+    session: {
+      /**
+       * Removes any session key(s) of the function caller.
+       * 
+       * This doesn't take effect until the next session.
+       * 
+       * The dispatch origin of this function must be Signed and the account must be either be
+       * convertible to a validator ID using the chain's typical addressing system (this usually
+       * means being a controller account) or directly convertible into a validator ID (which
+       * usually means being a stash account).
+       * 
+       * # <weight>
+       * - Complexity: `O(1)` in number of key types. Actual cost depends on the number of length
+       * of `T::Keys::key_ids()` which is fixed.
+       * - DbReads: `T::ValidatorIdOf`, `NextKeys`, `origin account`
+       * - DbWrites: `NextKeys`, `origin account`
+       * - DbWrites per key id: `KeyOwner`
+       * # </weight>
+       **/
+      purgeKeys: AugmentedSubmittable<() => SubmittableExtrinsic<ApiType>, []>;
+      /**
+       * Sets the session key(s) of the function caller to `keys`.
+       * Allows an account to set its session key prior to becoming a validator.
+       * This doesn't take effect until the next session.
+       * 
+       * The dispatch origin of this function must be signed.
+       * 
+       * # <weight>
+       * - Complexity: `O(1)`. Actual cost depends on the number of length of
+       * `T::Keys::key_ids()` which is fixed.
+       * - DbReads: `origin account`, `T::ValidatorIdOf`, `NextKeys`
+       * - DbWrites: `origin account`, `NextKeys`
+       * - DbReads per key id: `KeyOwner`
+       * - DbWrites per key id: `KeyOwner`
+       * # </weight>
+       **/
+      setKeys: AugmentedSubmittable<(keys: OpalRuntimeRuntimeCommonSessionKeys | { aura?: any } | string | Uint8Array, proof: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [OpalRuntimeRuntimeCommonSessionKeys, Bytes]>;
+      /**
+       * Generic tx
+       **/
+      [key: string]: SubmittableExtrinsicFunction<ApiType>;
+    };
     structure: {
       /**
        * Generic tx
@@ -1432,6 +1549,23 @@
        **/
       destroyCollection: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32]>;
       /**
+       * Repairs a collection if the data was somehow corrupted.
+       * 
+       * # Arguments
+       * 
+       * * `collection_id`: ID of the collection to repair.
+       **/
+      forceRepairCollection: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32]>;
+      /**
+       * Repairs a token if the data was somehow corrupted.
+       * 
+       * # Arguments
+       * 
+       * * `collection_id`: ID of the collection the item belongs to.
+       * * `item_id`: ID of the item.
+       **/
+      forceRepairItem: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, itemId: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, u32]>;
+      /**
        * Remove admin of a collection.
        * 
        * An admin address can remove itself. List of admins may become empty,
@@ -1474,15 +1608,6 @@
        * * `address`: ID of the address to be removed from the allowlist.
        **/
       removeFromAllowList: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, address: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, PalletEvmAccountBasicCrossAccountIdRepr]>;
-      /**
-       * Repairs a broken item
-       * 
-       * # Arguments
-       * 
-       * * `collection_id`: ID of the collection the item belongs to.
-       * * `item_id`: ID of the item.
-       **/
-      repairItem: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, itemId: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, u32]>;
       /**
        * Re-partition a refungible token, while owning all of its parts/pieces.
        * 
modifiedtests/src/interfaces/augment-types.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-types.ts
+++ b/tests/src/interfaces/augment-types.ts
@@ -5,7 +5,7 @@
 // this is required to allow for ambient/previous definitions
 import '@polkadot/types/types/registry';
 
-import type { CumulusPalletDmpQueueCall, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueueError, CumulusPalletDmpQueueEvent, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCall, CumulusPalletParachainSystemError, CumulusPalletParachainSystemEvent, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmCall, CumulusPalletXcmError, CumulusPalletXcmEvent, CumulusPalletXcmpQueueCall, CumulusPalletXcmpQueueError, CumulusPalletXcmpQueueEvent, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueInboundState, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueOutboundState, CumulusPalletXcmpQueueQueueConfigData, CumulusPrimitivesParachainInherentParachainInherentData, EthbloomBloom, EthereumBlock, EthereumHeader, EthereumLog, EthereumReceiptEip658ReceiptData, EthereumReceiptReceiptV3, EthereumTransactionAccessListItem, EthereumTransactionEip1559Transaction, EthereumTransactionEip2930Transaction, EthereumTransactionLegacyTransaction, EthereumTransactionTransactionAction, EthereumTransactionTransactionSignature, EthereumTransactionTransactionV2, EthereumTypesHashH64, EvmCoreErrorExitError, EvmCoreErrorExitFatal, EvmCoreErrorExitReason, EvmCoreErrorExitRevert, EvmCoreErrorExitSucceed, FpRpcTransactionStatus, FrameSupportDispatchDispatchClass, FrameSupportDispatchDispatchInfo, FrameSupportDispatchPays, FrameSupportDispatchPerDispatchClassU32, FrameSupportDispatchPerDispatchClassWeight, FrameSupportDispatchPerDispatchClassWeightsPerClass, FrameSupportPalletId, FrameSupportTokensMiscBalanceStatus, FrameSystemAccountInfo, FrameSystemCall, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckNonce, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckTxVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, OpalRuntimeRuntime, OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance, OrmlTokensAccountData, OrmlTokensBalanceLock, OrmlTokensModuleCall, OrmlTokensModuleError, OrmlTokensModuleEvent, OrmlTokensReserveData, OrmlVestingModuleCall, OrmlVestingModuleError, OrmlVestingModuleEvent, OrmlVestingVestingSchedule, OrmlXtokensModuleCall, OrmlXtokensModuleError, OrmlXtokensModuleEvent, PalletAppPromotionCall, PalletAppPromotionError, PalletAppPromotionEvent, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesReasons, PalletBalancesReleases, PalletBalancesReserveData, PalletCommonError, PalletCommonEvent, PalletConfigurationAppPromotionConfiguration, PalletConfigurationCall, PalletConfigurationError, PalletEthereumCall, PalletEthereumError, PalletEthereumEvent, PalletEthereumFakeTransactionFinalizer, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmCall, PalletEvmCoderSubstrateError, PalletEvmContractHelpersError, PalletEvmContractHelpersEvent, PalletEvmContractHelpersSponsoringModeT, PalletEvmError, PalletEvmEvent, PalletEvmMigrationCall, PalletEvmMigrationError, PalletEvmMigrationEvent, PalletForeignAssetsAssetIds, PalletForeignAssetsModuleAssetMetadata, PalletForeignAssetsModuleCall, PalletForeignAssetsModuleError, PalletForeignAssetsModuleEvent, PalletForeignAssetsNativeCurrency, PalletFungibleError, PalletInflationCall, PalletMaintenanceCall, PalletMaintenanceError, PalletMaintenanceEvent, PalletNonfungibleError, PalletNonfungibleItemData, PalletRefungibleError, PalletRefungibleItemData, PalletRmrkCoreCall, PalletRmrkCoreError, PalletRmrkCoreEvent, PalletRmrkEquipCall, PalletRmrkEquipError, PalletRmrkEquipEvent, PalletStructureCall, PalletStructureError, PalletStructureEvent, PalletSudoCall, PalletSudoError, PalletSudoEvent, PalletTemplateTransactionPaymentCall, PalletTemplateTransactionPaymentChargeTransactionPayment, PalletTestUtilsCall, PalletTestUtilsError, PalletTestUtilsEvent, PalletTimestampCall, PalletTransactionPaymentEvent, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUniqueCall, PalletUniqueError, PalletXcmCall, PalletXcmError, PalletXcmEvent, PhantomTypeUpDataStructs, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2AbridgedHrmpChannel, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, RmrkTraitsBaseBaseInfo, RmrkTraitsCollectionCollectionInfo, RmrkTraitsNftAccountIdOrCollectionNftTuple, RmrkTraitsNftNftChild, RmrkTraitsNftNftInfo, RmrkTraitsNftRoyaltyInfo, RmrkTraitsPartEquippableList, RmrkTraitsPartFixedPart, RmrkTraitsPartPartType, RmrkTraitsPartSlotPart, RmrkTraitsPropertyPropertyInfo, RmrkTraitsResourceBasicResource, RmrkTraitsResourceComposableResource, RmrkTraitsResourceResourceInfo, RmrkTraitsResourceResourceTypes, RmrkTraitsResourceSlotResource, RmrkTraitsTheme, RmrkTraitsThemeThemeProperty, SpCoreEcdsaSignature, SpCoreEd25519Signature, SpCoreSr25519Signature, SpRuntimeArithmeticError, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpRuntimeTransactionalError, SpTrieStorageProof, SpVersionRuntimeVersion, SpWeightsRuntimeDbWeight, SpWeightsWeightV2Weight, UpDataStructsAccessMode, UpDataStructsCollection, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionPermissions, UpDataStructsCollectionStats, UpDataStructsCreateCollectionData, UpDataStructsCreateFungibleData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsCreateNftData, UpDataStructsCreateNftExData, UpDataStructsCreateReFungibleData, UpDataStructsCreateRefungibleExMultipleOwners, UpDataStructsCreateRefungibleExSingleOwner, UpDataStructsNestingPermissions, UpDataStructsOwnerRestrictedSet, UpDataStructsProperties, UpDataStructsPropertiesMapBoundedVec, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, UpDataStructsPropertyPermission, UpDataStructsPropertyScope, UpDataStructsRpcCollection, UpDataStructsRpcCollectionFlags, UpDataStructsSponsoringRateLimit, UpDataStructsSponsorshipStateAccountId32, UpDataStructsSponsorshipStateBasicCrossAccountIdRepr, UpDataStructsTokenChild, UpDataStructsTokenData, XcmDoubleEncoded, XcmV0Junction, XcmV0JunctionBodyId, XcmV0JunctionBodyPart, XcmV0JunctionNetworkId, XcmV0MultiAsset, XcmV0MultiLocation, XcmV0Order, XcmV0OriginKind, XcmV0Response, XcmV0Xcm, XcmV1Junction, XcmV1MultiAsset, XcmV1MultiLocation, XcmV1MultiassetAssetId, XcmV1MultiassetAssetInstance, XcmV1MultiassetFungibility, XcmV1MultiassetMultiAssetFilter, XcmV1MultiassetMultiAssets, XcmV1MultiassetWildFungibility, XcmV1MultiassetWildMultiAsset, XcmV1MultilocationJunctions, XcmV1Order, XcmV1Response, XcmV1Xcm, XcmV2Instruction, XcmV2Response, XcmV2TraitsError, XcmV2TraitsOutcome, XcmV2WeightLimit, XcmV2Xcm, XcmVersionedMultiAsset, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from './default';
+import type { CumulusPalletDmpQueueCall, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueueError, CumulusPalletDmpQueueEvent, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCall, CumulusPalletParachainSystemError, CumulusPalletParachainSystemEvent, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmCall, CumulusPalletXcmError, CumulusPalletXcmEvent, CumulusPalletXcmpQueueCall, CumulusPalletXcmpQueueError, CumulusPalletXcmpQueueEvent, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueInboundState, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueOutboundState, CumulusPalletXcmpQueueQueueConfigData, CumulusPrimitivesParachainInherentParachainInherentData, EthbloomBloom, EthereumBlock, EthereumHeader, EthereumLog, EthereumReceiptEip658ReceiptData, EthereumReceiptReceiptV3, EthereumTransactionAccessListItem, EthereumTransactionEip1559Transaction, EthereumTransactionEip2930Transaction, EthereumTransactionLegacyTransaction, EthereumTransactionTransactionAction, EthereumTransactionTransactionSignature, EthereumTransactionTransactionV2, EthereumTypesHashH64, EvmCoreErrorExitError, EvmCoreErrorExitFatal, EvmCoreErrorExitReason, EvmCoreErrorExitRevert, EvmCoreErrorExitSucceed, FpRpcTransactionStatus, FrameSupportDispatchDispatchClass, FrameSupportDispatchDispatchInfo, FrameSupportDispatchPays, FrameSupportDispatchPerDispatchClassU32, FrameSupportDispatchPerDispatchClassWeight, FrameSupportDispatchPerDispatchClassWeightsPerClass, FrameSupportPalletId, FrameSupportTokensMiscBalanceStatus, FrameSystemAccountInfo, FrameSystemCall, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckNonce, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckTxVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, OpalRuntimeRuntime, OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance, OpalRuntimeRuntimeCommonSessionKeys, OrmlTokensAccountData, OrmlTokensBalanceLock, OrmlTokensModuleCall, OrmlTokensModuleError, OrmlTokensModuleEvent, OrmlTokensReserveData, OrmlVestingModuleCall, OrmlVestingModuleError, OrmlVestingModuleEvent, OrmlVestingVestingSchedule, OrmlXtokensModuleCall, OrmlXtokensModuleError, OrmlXtokensModuleEvent, PalletAppPromotionCall, PalletAppPromotionError, PalletAppPromotionEvent, PalletAuthorshipCall, PalletAuthorshipError, PalletAuthorshipUncleEntryItem, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesReasons, PalletBalancesReleases, PalletBalancesReserveData, PalletCollatorSelectionCall, PalletCollatorSelectionError, PalletCollatorSelectionEvent, PalletCommonError, PalletCommonEvent, PalletConfigurationAppPromotionConfiguration, PalletConfigurationCall, PalletConfigurationError, PalletEthereumCall, PalletEthereumError, PalletEthereumEvent, PalletEthereumFakeTransactionFinalizer, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmCall, PalletEvmCoderSubstrateError, PalletEvmContractHelpersError, PalletEvmContractHelpersEvent, PalletEvmContractHelpersSponsoringModeT, PalletEvmError, PalletEvmEvent, PalletEvmMigrationCall, PalletEvmMigrationError, PalletEvmMigrationEvent, PalletForeignAssetsAssetIds, PalletForeignAssetsModuleAssetMetadata, PalletForeignAssetsModuleCall, PalletForeignAssetsModuleError, PalletForeignAssetsModuleEvent, PalletForeignAssetsNativeCurrency, PalletFungibleError, PalletInflationCall, PalletMaintenanceCall, PalletMaintenanceError, PalletMaintenanceEvent, PalletNonfungibleError, PalletNonfungibleItemData, PalletRefungibleError, PalletRefungibleItemData, PalletRmrkCoreCall, PalletRmrkCoreError, PalletRmrkCoreEvent, PalletRmrkEquipCall, PalletRmrkEquipError, PalletRmrkEquipEvent, PalletSessionCall, PalletSessionError, PalletSessionEvent, PalletStructureCall, PalletStructureError, PalletStructureEvent, PalletSudoCall, PalletSudoError, PalletSudoEvent, PalletTemplateTransactionPaymentCall, PalletTemplateTransactionPaymentChargeTransactionPayment, PalletTestUtilsCall, PalletTestUtilsError, PalletTestUtilsEvent, PalletTimestampCall, PalletTransactionPaymentEvent, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUniqueCall, PalletUniqueError, PalletXcmCall, PalletXcmError, PalletXcmEvent, PhantomTypeUpDataStructs, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2AbridgedHrmpChannel, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, RmrkTraitsBaseBaseInfo, RmrkTraitsCollectionCollectionInfo, RmrkTraitsNftAccountIdOrCollectionNftTuple, RmrkTraitsNftNftChild, RmrkTraitsNftNftInfo, RmrkTraitsNftRoyaltyInfo, RmrkTraitsPartEquippableList, RmrkTraitsPartFixedPart, RmrkTraitsPartPartType, RmrkTraitsPartSlotPart, RmrkTraitsPropertyPropertyInfo, RmrkTraitsResourceBasicResource, RmrkTraitsResourceComposableResource, RmrkTraitsResourceResourceInfo, RmrkTraitsResourceResourceTypes, RmrkTraitsResourceSlotResource, RmrkTraitsTheme, RmrkTraitsThemeThemeProperty, SpConsensusAuraSr25519AppSr25519Public, SpCoreCryptoKeyTypeId, SpCoreEcdsaSignature, SpCoreEd25519Signature, SpCoreSr25519Public, SpCoreSr25519Signature, SpRuntimeArithmeticError, SpRuntimeBlakeTwo256, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeHeader, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpRuntimeTransactionalError, SpTrieStorageProof, SpVersionRuntimeVersion, SpWeightsRuntimeDbWeight, SpWeightsWeightV2Weight, UpDataStructsAccessMode, UpDataStructsCollection, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionPermissions, UpDataStructsCollectionStats, UpDataStructsCreateCollectionData, UpDataStructsCreateFungibleData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsCreateNftData, UpDataStructsCreateNftExData, UpDataStructsCreateReFungibleData, UpDataStructsCreateRefungibleExMultipleOwners, UpDataStructsCreateRefungibleExSingleOwner, UpDataStructsNestingPermissions, UpDataStructsOwnerRestrictedSet, UpDataStructsProperties, UpDataStructsPropertiesMapBoundedVec, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, UpDataStructsPropertyPermission, UpDataStructsPropertyScope, UpDataStructsRpcCollection, UpDataStructsRpcCollectionFlags, UpDataStructsSponsoringRateLimit, UpDataStructsSponsorshipStateAccountId32, UpDataStructsSponsorshipStateBasicCrossAccountIdRepr, UpDataStructsTokenChild, UpDataStructsTokenData, XcmDoubleEncoded, XcmV0Junction, XcmV0JunctionBodyId, XcmV0JunctionBodyPart, XcmV0JunctionNetworkId, XcmV0MultiAsset, XcmV0MultiLocation, XcmV0Order, XcmV0OriginKind, XcmV0Response, XcmV0Xcm, XcmV1Junction, XcmV1MultiAsset, XcmV1MultiLocation, XcmV1MultiassetAssetId, XcmV1MultiassetAssetInstance, XcmV1MultiassetFungibility, XcmV1MultiassetMultiAssetFilter, XcmV1MultiassetMultiAssets, XcmV1MultiassetWildFungibility, XcmV1MultiassetWildMultiAsset, XcmV1MultilocationJunctions, XcmV1Order, XcmV1Response, XcmV1Xcm, XcmV2Instruction, XcmV2Response, XcmV2TraitsError, XcmV2TraitsOutcome, XcmV2WeightLimit, XcmV2Xcm, XcmVersionedMultiAsset, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from './default';
 import type { Data, StorageKey } from '@polkadot/types';
 import type { BitVec, Bool, Bytes, F32, F64, I128, I16, I256, I32, I64, I8, Json, Null, OptionBool, Raw, Text, Type, U128, U16, U256, U32, U64, U8, USize, bool, f32, f64, i128, i16, i256, i32, i64, i8, u128, u16, u256, u32, u64, u8, usize } from '@polkadot/types-codec';
 import type { AssetApproval, AssetApprovalKey, AssetBalance, AssetDestroyWitness, AssetDetails, AssetMetadata, TAssetBalance, TAssetDepositBalance } from '@polkadot/types/interfaces/assets';
@@ -24,7 +24,7 @@
 import type { StatementKind } from '@polkadot/types/interfaces/claims';
 import type { CollectiveOrigin, MemberCount, ProposalIndex, Votes, VotesTo230 } from '@polkadot/types/interfaces/collective';
 import type { AuthorityId, RawVRFOutput } from '@polkadot/types/interfaces/consensus';
-import type { AliveContractInfo, CodeHash, CodeSource, CodeUploadRequest, CodeUploadResult, CodeUploadResultValue, ContractCallFlags, ContractCallRequest, ContractExecResult, ContractExecResultOk, ContractExecResultResult, ContractExecResultSuccessTo255, ContractExecResultSuccessTo260, ContractExecResultTo255, ContractExecResultTo260, ContractExecResultTo267, ContractInfo, ContractInstantiateResult, ContractInstantiateResultTo267, ContractInstantiateResultTo299, ContractReturnFlags, ContractStorageKey, DeletedContract, ExecReturnValue, Gas, HostFnWeights, HostFnWeightsTo264, InstantiateRequest, InstantiateRequestV1, InstantiateRequestV2, InstantiateReturnValue, InstantiateReturnValueOk, InstantiateReturnValueTo267, InstructionWeights, Limits, LimitsTo264, PrefabWasmModule, RentProjection, Schedule, ScheduleTo212, ScheduleTo258, ScheduleTo264, SeedOf, StorageDeposit, TombstoneContractInfo, TrieId } from '@polkadot/types/interfaces/contracts';
+import type { AliveContractInfo, CodeHash, CodeSource, CodeUploadRequest, CodeUploadResult, CodeUploadResultValue, ContractCallFlags, ContractCallRequest, ContractExecResult, ContractExecResultOk, ContractExecResultResult, ContractExecResultSuccessTo255, ContractExecResultSuccessTo260, ContractExecResultTo255, ContractExecResultTo260, ContractExecResultTo267, ContractExecResultU64, ContractInfo, ContractInstantiateResult, ContractInstantiateResultTo267, ContractInstantiateResultTo299, ContractInstantiateResultU64, ContractReturnFlags, ContractStorageKey, DeletedContract, ExecReturnValue, Gas, HostFnWeights, HostFnWeightsTo264, InstantiateRequest, InstantiateRequestV1, InstantiateRequestV2, InstantiateReturnValue, InstantiateReturnValueOk, InstantiateReturnValueTo267, InstructionWeights, Limits, LimitsTo264, PrefabWasmModule, RentProjection, Schedule, ScheduleTo212, ScheduleTo258, ScheduleTo264, SeedOf, StorageDeposit, TombstoneContractInfo, TrieId } from '@polkadot/types/interfaces/contracts';
 import type { ContractConstructorSpecLatest, ContractConstructorSpecV0, ContractConstructorSpecV1, ContractConstructorSpecV2, ContractConstructorSpecV3, ContractContractSpecV0, ContractContractSpecV1, ContractContractSpecV2, ContractContractSpecV3, ContractContractSpecV4, ContractCryptoHasher, ContractDiscriminant, ContractDisplayName, ContractEventParamSpecLatest, ContractEventParamSpecV0, ContractEventParamSpecV2, ContractEventSpecLatest, ContractEventSpecV0, ContractEventSpecV1, ContractEventSpecV2, ContractLayoutArray, ContractLayoutCell, ContractLayoutEnum, ContractLayoutHash, ContractLayoutHashingStrategy, ContractLayoutKey, ContractLayoutStruct, ContractLayoutStructField, ContractMessageParamSpecLatest, ContractMessageParamSpecV0, ContractMessageParamSpecV2, ContractMessageSpecLatest, ContractMessageSpecV0, ContractMessageSpecV1, ContractMessageSpecV2, ContractMetadata, ContractMetadataLatest, ContractMetadataV0, ContractMetadataV1, ContractMetadataV2, ContractMetadataV3, ContractMetadataV4, ContractProject, ContractProjectContract, ContractProjectInfo, ContractProjectSource, ContractProjectV0, ContractSelector, ContractStorageLayout, ContractTypeSpec } from '@polkadot/types/interfaces/contractsAbi';
 import type { FundIndex, FundInfo, LastContribution, TrieIndex } from '@polkadot/types/interfaces/crowdloan';
 import type { CollationInfo, CollationInfoV1, ConfigData, MessageId, OverweightIndex, PageCounter, PageIndexData } from '@polkadot/types/interfaces/cumulus';
@@ -47,7 +47,7 @@
 import type { StorageKind } from '@polkadot/types/interfaces/offchain';
 import type { DeferredOffenceOf, Kind, OffenceDetails, Offender, OpaqueTimeSlot, ReportIdOf, Reporter } from '@polkadot/types/interfaces/offences';
 import type { AbridgedCandidateReceipt, AbridgedHostConfiguration, AbridgedHrmpChannel, AssignmentId, AssignmentKind, AttestedCandidate, AuctionIndex, AuthorityDiscoveryId, AvailabilityBitfield, AvailabilityBitfieldRecord, BackedCandidate, Bidder, BufferedSessionChange, CandidateCommitments, CandidateDescriptor, CandidateEvent, CandidateHash, CandidateInfo, CandidatePendingAvailability, CandidateReceipt, CollatorId, CollatorSignature, CommittedCandidateReceipt, CoreAssignment, CoreIndex, CoreOccupied, CoreState, DisputeLocation, DisputeResult, DisputeState, DisputeStatement, DisputeStatementSet, DoubleVoteReport, DownwardMessage, ExplicitDisputeStatement, GlobalValidationData, GlobalValidationSchedule, GroupIndex, GroupRotationInfo, HeadData, HostConfiguration, HrmpChannel, HrmpChannelId, HrmpOpenChannelRequest, InboundDownwardMessage, InboundHrmpMessage, InboundHrmpMessages, IncomingParachain, IncomingParachainDeploy, IncomingParachainFixed, InvalidDisputeStatementKind, LeasePeriod, LeasePeriodOf, LocalValidationData, MessageIngestionType, MessageQueueChain, MessagingStateSnapshot, MessagingStateSnapshotEgressEntry, MultiDisputeStatementSet, NewBidder, OccupiedCore, OccupiedCoreAssumption, OldV1SessionInfo, OutboundHrmpMessage, ParaGenesisArgs, ParaId, ParaInfo, ParaLifecycle, ParaPastCodeMeta, ParaScheduling, ParaValidatorIndex, ParachainDispatchOrigin, ParachainInherentData, ParachainProposal, ParachainsInherentData, ParathreadClaim, ParathreadClaimQueue, ParathreadEntry, PersistedValidationData, PvfCheckStatement, QueuedParathread, RegisteredParachainInfo, RelayBlockNumber, RelayChainBlockNumber, RelayChainHash, RelayHash, Remark, ReplacementTimes, Retriable, ScheduledCore, Scheduling, ScrapedOnChainVotes, ServiceQuality, SessionInfo, SessionInfoValidatorGroup, SignedAvailabilityBitfield, SignedAvailabilityBitfields, SigningContext, SlotRange, SlotRange10, Statement, SubId, SystemInherentData, TransientValidationData, UpgradeGoAhead, UpgradeRestriction, UpwardMessage, ValidDisputeStatementKind, ValidationCode, ValidationCodeHash, ValidationData, ValidationDataType, ValidationFunctionParams, ValidatorSignature, ValidityAttestation, VecInboundHrmpMessage, WinnersData, WinnersData10, WinnersDataTuple, WinnersDataTuple10, WinningData, WinningData10, WinningDataEntry } from '@polkadot/types/interfaces/parachains';
-import type { FeeDetails, InclusionFee, RuntimeDispatchInfo } from '@polkadot/types/interfaces/payment';
+import type { FeeDetails, InclusionFee, RuntimeDispatchInfo, RuntimeDispatchInfoV1, RuntimeDispatchInfoV2 } from '@polkadot/types/interfaces/payment';
 import type { Approvals } from '@polkadot/types/interfaces/poll';
 import type { ProxyAnnouncement, ProxyDefinition, ProxyType } from '@polkadot/types/interfaces/proxy';
 import type { AccountStatus, AccountValidity } from '@polkadot/types/interfaces/purchase';
@@ -273,10 +273,12 @@
     ContractExecResultTo255: ContractExecResultTo255;
     ContractExecResultTo260: ContractExecResultTo260;
     ContractExecResultTo267: ContractExecResultTo267;
+    ContractExecResultU64: ContractExecResultU64;
     ContractInfo: ContractInfo;
     ContractInstantiateResult: ContractInstantiateResult;
     ContractInstantiateResultTo267: ContractInstantiateResultTo267;
     ContractInstantiateResultTo299: ContractInstantiateResultTo299;
+    ContractInstantiateResultU64: ContractInstantiateResultU64;
     ContractLayoutArray: ContractLayoutArray;
     ContractLayoutCell: ContractLayoutCell;
     ContractLayoutEnum: ContractLayoutEnum;
@@ -771,6 +773,7 @@
     OldV1SessionInfo: OldV1SessionInfo;
     OpalRuntimeRuntime: OpalRuntimeRuntime;
     OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance: OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance;
+    OpalRuntimeRuntimeCommonSessionKeys: OpalRuntimeRuntimeCommonSessionKeys;
     OpaqueCall: OpaqueCall;
     OpaqueKeyOwnershipProof: OpaqueKeyOwnershipProof;
     OpaqueMetadata: OpaqueMetadata;
@@ -815,6 +818,9 @@
     PalletAppPromotionCall: PalletAppPromotionCall;
     PalletAppPromotionError: PalletAppPromotionError;
     PalletAppPromotionEvent: PalletAppPromotionEvent;
+    PalletAuthorshipCall: PalletAuthorshipCall;
+    PalletAuthorshipError: PalletAuthorshipError;
+    PalletAuthorshipUncleEntryItem: PalletAuthorshipUncleEntryItem;
     PalletBalancesAccountData: PalletBalancesAccountData;
     PalletBalancesBalanceLock: PalletBalancesBalanceLock;
     PalletBalancesCall: PalletBalancesCall;
@@ -825,6 +831,9 @@
     PalletBalancesReserveData: PalletBalancesReserveData;
     PalletCallMetadataLatest: PalletCallMetadataLatest;
     PalletCallMetadataV14: PalletCallMetadataV14;
+    PalletCollatorSelectionCall: PalletCollatorSelectionCall;
+    PalletCollatorSelectionError: PalletCollatorSelectionError;
+    PalletCollatorSelectionEvent: PalletCollatorSelectionEvent;
     PalletCommonError: PalletCommonError;
     PalletCommonEvent: PalletCommonEvent;
     PalletConfigurationAppPromotionConfiguration: PalletConfigurationAppPromotionConfiguration;
@@ -875,6 +884,9 @@
     PalletRmrkEquipCall: PalletRmrkEquipCall;
     PalletRmrkEquipError: PalletRmrkEquipError;
     PalletRmrkEquipEvent: PalletRmrkEquipEvent;
+    PalletSessionCall: PalletSessionCall;
+    PalletSessionError: PalletSessionError;
+    PalletSessionEvent: PalletSessionEvent;
     PalletsOrigin: PalletsOrigin;
     PalletStorageMetadataLatest: PalletStorageMetadataLatest;
     PalletStorageMetadataV14: PalletStorageMetadataV14;
@@ -1057,6 +1069,8 @@
     RpcMethods: RpcMethods;
     RuntimeDbWeight: RuntimeDbWeight;
     RuntimeDispatchInfo: RuntimeDispatchInfo;
+    RuntimeDispatchInfoV1: RuntimeDispatchInfoV1;
+    RuntimeDispatchInfoV2: RuntimeDispatchInfoV2;
     RuntimeVersion: RuntimeVersion;
     RuntimeVersionApi: RuntimeVersionApi;
     RuntimeVersionPartial: RuntimeVersionPartial;
@@ -1172,14 +1186,19 @@
     SolutionSupports: SolutionSupports;
     SpanIndex: SpanIndex;
     SpanRecord: SpanRecord;
+    SpConsensusAuraSr25519AppSr25519Public: SpConsensusAuraSr25519AppSr25519Public;
+    SpCoreCryptoKeyTypeId: SpCoreCryptoKeyTypeId;
     SpCoreEcdsaSignature: SpCoreEcdsaSignature;
     SpCoreEd25519Signature: SpCoreEd25519Signature;
+    SpCoreSr25519Public: SpCoreSr25519Public;
     SpCoreSr25519Signature: SpCoreSr25519Signature;
     SpecVersion: SpecVersion;
     SpRuntimeArithmeticError: SpRuntimeArithmeticError;
+    SpRuntimeBlakeTwo256: SpRuntimeBlakeTwo256;
     SpRuntimeDigest: SpRuntimeDigest;
     SpRuntimeDigestDigestItem: SpRuntimeDigestDigestItem;
     SpRuntimeDispatchError: SpRuntimeDispatchError;
+    SpRuntimeHeader: SpRuntimeHeader;
     SpRuntimeModuleError: SpRuntimeModuleError;
     SpRuntimeMultiSignature: SpRuntimeMultiSignature;
     SpRuntimeTokenError: SpRuntimeTokenError;
modifiedtests/src/interfaces/default/types.tsdiffbeforeafterboth
before · tests/src/interfaces/default/types.ts
1// Auto-generated via `yarn polkadot-types-from-defs`, do not edit2/* eslint-disable */34import type { BTreeMap, BTreeSet, Bytes, Compact, Enum, Null, Option, Result, Struct, Text, U256, U8aFixed, Vec, bool, u128, u16, u32, u64, u8 } from '@polkadot/types-codec';5import type { ITuple } from '@polkadot/types-codec/types';6import type { AccountId32, Call, H160, H256, MultiAddress, Perbill, Permill } from '@polkadot/types/interfaces/runtime';7import type { Event } from '@polkadot/types/interfaces/system';89/** @name CumulusPalletDmpQueueCall */10export interface CumulusPalletDmpQueueCall extends Enum {11  readonly isServiceOverweight: boolean;12  readonly asServiceOverweight: {13    readonly index: u64;14    readonly weightLimit: u64;15  } & Struct;16  readonly type: 'ServiceOverweight';17}1819/** @name CumulusPalletDmpQueueConfigData */20export interface CumulusPalletDmpQueueConfigData extends Struct {21  readonly maxIndividual: SpWeightsWeightV2Weight;22}2324/** @name CumulusPalletDmpQueueError */25export interface CumulusPalletDmpQueueError extends Enum {26  readonly isUnknown: boolean;27  readonly isOverLimit: boolean;28  readonly type: 'Unknown' | 'OverLimit';29}3031/** @name CumulusPalletDmpQueueEvent */32export interface CumulusPalletDmpQueueEvent extends Enum {33  readonly isInvalidFormat: boolean;34  readonly asInvalidFormat: {35    readonly messageId: U8aFixed;36  } & Struct;37  readonly isUnsupportedVersion: boolean;38  readonly asUnsupportedVersion: {39    readonly messageId: U8aFixed;40  } & Struct;41  readonly isExecutedDownward: boolean;42  readonly asExecutedDownward: {43    readonly messageId: U8aFixed;44    readonly outcome: XcmV2TraitsOutcome;45  } & Struct;46  readonly isWeightExhausted: boolean;47  readonly asWeightExhausted: {48    readonly messageId: U8aFixed;49    readonly remainingWeight: SpWeightsWeightV2Weight;50    readonly requiredWeight: SpWeightsWeightV2Weight;51  } & Struct;52  readonly isOverweightEnqueued: boolean;53  readonly asOverweightEnqueued: {54    readonly messageId: U8aFixed;55    readonly overweightIndex: u64;56    readonly requiredWeight: SpWeightsWeightV2Weight;57  } & Struct;58  readonly isOverweightServiced: boolean;59  readonly asOverweightServiced: {60    readonly overweightIndex: u64;61    readonly weightUsed: SpWeightsWeightV2Weight;62  } & Struct;63  readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward' | 'WeightExhausted' | 'OverweightEnqueued' | 'OverweightServiced';64}6566/** @name CumulusPalletDmpQueuePageIndexData */67export interface CumulusPalletDmpQueuePageIndexData extends Struct {68  readonly beginUsed: u32;69  readonly endUsed: u32;70  readonly overweightCount: u64;71}7273/** @name CumulusPalletParachainSystemCall */74export interface CumulusPalletParachainSystemCall extends Enum {75  readonly isSetValidationData: boolean;76  readonly asSetValidationData: {77    readonly data: CumulusPrimitivesParachainInherentParachainInherentData;78  } & Struct;79  readonly isSudoSendUpwardMessage: boolean;80  readonly asSudoSendUpwardMessage: {81    readonly message: Bytes;82  } & Struct;83  readonly isAuthorizeUpgrade: boolean;84  readonly asAuthorizeUpgrade: {85    readonly codeHash: H256;86  } & Struct;87  readonly isEnactAuthorizedUpgrade: boolean;88  readonly asEnactAuthorizedUpgrade: {89    readonly code: Bytes;90  } & Struct;91  readonly type: 'SetValidationData' | 'SudoSendUpwardMessage' | 'AuthorizeUpgrade' | 'EnactAuthorizedUpgrade';92}9394/** @name CumulusPalletParachainSystemError */95export interface CumulusPalletParachainSystemError extends Enum {96  readonly isOverlappingUpgrades: boolean;97  readonly isProhibitedByPolkadot: boolean;98  readonly isTooBig: boolean;99  readonly isValidationDataNotAvailable: boolean;100  readonly isHostConfigurationNotAvailable: boolean;101  readonly isNotScheduled: boolean;102  readonly isNothingAuthorized: boolean;103  readonly isUnauthorized: boolean;104  readonly type: 'OverlappingUpgrades' | 'ProhibitedByPolkadot' | 'TooBig' | 'ValidationDataNotAvailable' | 'HostConfigurationNotAvailable' | 'NotScheduled' | 'NothingAuthorized' | 'Unauthorized';105}106107/** @name CumulusPalletParachainSystemEvent */108export interface CumulusPalletParachainSystemEvent extends Enum {109  readonly isValidationFunctionStored: boolean;110  readonly isValidationFunctionApplied: boolean;111  readonly asValidationFunctionApplied: {112    readonly relayChainBlockNum: u32;113  } & Struct;114  readonly isValidationFunctionDiscarded: boolean;115  readonly isUpgradeAuthorized: boolean;116  readonly asUpgradeAuthorized: {117    readonly codeHash: H256;118  } & Struct;119  readonly isDownwardMessagesReceived: boolean;120  readonly asDownwardMessagesReceived: {121    readonly count: u32;122  } & Struct;123  readonly isDownwardMessagesProcessed: boolean;124  readonly asDownwardMessagesProcessed: {125    readonly weightUsed: SpWeightsWeightV2Weight;126    readonly dmqHead: H256;127  } & Struct;128  readonly type: 'ValidationFunctionStored' | 'ValidationFunctionApplied' | 'ValidationFunctionDiscarded' | 'UpgradeAuthorized' | 'DownwardMessagesReceived' | 'DownwardMessagesProcessed';129}130131/** @name CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot */132export interface CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot extends Struct {133  readonly dmqMqcHead: H256;134  readonly relayDispatchQueueSize: ITuple<[u32, u32]>;135  readonly ingressChannels: Vec<ITuple<[u32, PolkadotPrimitivesV2AbridgedHrmpChannel]>>;136  readonly egressChannels: Vec<ITuple<[u32, PolkadotPrimitivesV2AbridgedHrmpChannel]>>;137}138139/** @name CumulusPalletXcmCall */140export interface CumulusPalletXcmCall extends Null {}141142/** @name CumulusPalletXcmError */143export interface CumulusPalletXcmError extends Null {}144145/** @name CumulusPalletXcmEvent */146export interface CumulusPalletXcmEvent extends Enum {147  readonly isInvalidFormat: boolean;148  readonly asInvalidFormat: U8aFixed;149  readonly isUnsupportedVersion: boolean;150  readonly asUnsupportedVersion: U8aFixed;151  readonly isExecutedDownward: boolean;152  readonly asExecutedDownward: ITuple<[U8aFixed, XcmV2TraitsOutcome]>;153  readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward';154}155156/** @name CumulusPalletXcmpQueueCall */157export interface CumulusPalletXcmpQueueCall extends Enum {158  readonly isServiceOverweight: boolean;159  readonly asServiceOverweight: {160    readonly index: u64;161    readonly weightLimit: u64;162  } & Struct;163  readonly isSuspendXcmExecution: boolean;164  readonly isResumeXcmExecution: boolean;165  readonly isUpdateSuspendThreshold: boolean;166  readonly asUpdateSuspendThreshold: {167    readonly new_: u32;168  } & Struct;169  readonly isUpdateDropThreshold: boolean;170  readonly asUpdateDropThreshold: {171    readonly new_: u32;172  } & Struct;173  readonly isUpdateResumeThreshold: boolean;174  readonly asUpdateResumeThreshold: {175    readonly new_: u32;176  } & Struct;177  readonly isUpdateThresholdWeight: boolean;178  readonly asUpdateThresholdWeight: {179    readonly new_: u64;180  } & Struct;181  readonly isUpdateWeightRestrictDecay: boolean;182  readonly asUpdateWeightRestrictDecay: {183    readonly new_: u64;184  } & Struct;185  readonly isUpdateXcmpMaxIndividualWeight: boolean;186  readonly asUpdateXcmpMaxIndividualWeight: {187    readonly new_: u64;188  } & Struct;189  readonly type: 'ServiceOverweight' | 'SuspendXcmExecution' | 'ResumeXcmExecution' | 'UpdateSuspendThreshold' | 'UpdateDropThreshold' | 'UpdateResumeThreshold' | 'UpdateThresholdWeight' | 'UpdateWeightRestrictDecay' | 'UpdateXcmpMaxIndividualWeight';190}191192/** @name CumulusPalletXcmpQueueError */193export interface CumulusPalletXcmpQueueError extends Enum {194  readonly isFailedToSend: boolean;195  readonly isBadXcmOrigin: boolean;196  readonly isBadXcm: boolean;197  readonly isBadOverweightIndex: boolean;198  readonly isWeightOverLimit: boolean;199  readonly type: 'FailedToSend' | 'BadXcmOrigin' | 'BadXcm' | 'BadOverweightIndex' | 'WeightOverLimit';200}201202/** @name CumulusPalletXcmpQueueEvent */203export interface CumulusPalletXcmpQueueEvent extends Enum {204  readonly isSuccess: boolean;205  readonly asSuccess: {206    readonly messageHash: Option<H256>;207    readonly weight: SpWeightsWeightV2Weight;208  } & Struct;209  readonly isFail: boolean;210  readonly asFail: {211    readonly messageHash: Option<H256>;212    readonly error: XcmV2TraitsError;213    readonly weight: SpWeightsWeightV2Weight;214  } & Struct;215  readonly isBadVersion: boolean;216  readonly asBadVersion: {217    readonly messageHash: Option<H256>;218  } & Struct;219  readonly isBadFormat: boolean;220  readonly asBadFormat: {221    readonly messageHash: Option<H256>;222  } & Struct;223  readonly isUpwardMessageSent: boolean;224  readonly asUpwardMessageSent: {225    readonly messageHash: Option<H256>;226  } & Struct;227  readonly isXcmpMessageSent: boolean;228  readonly asXcmpMessageSent: {229    readonly messageHash: Option<H256>;230  } & Struct;231  readonly isOverweightEnqueued: boolean;232  readonly asOverweightEnqueued: {233    readonly sender: u32;234    readonly sentAt: u32;235    readonly index: u64;236    readonly required: SpWeightsWeightV2Weight;237  } & Struct;238  readonly isOverweightServiced: boolean;239  readonly asOverweightServiced: {240    readonly index: u64;241    readonly used: SpWeightsWeightV2Weight;242  } & Struct;243  readonly type: 'Success' | 'Fail' | 'BadVersion' | 'BadFormat' | 'UpwardMessageSent' | 'XcmpMessageSent' | 'OverweightEnqueued' | 'OverweightServiced';244}245246/** @name CumulusPalletXcmpQueueInboundChannelDetails */247export interface CumulusPalletXcmpQueueInboundChannelDetails extends Struct {248  readonly sender: u32;249  readonly state: CumulusPalletXcmpQueueInboundState;250  readonly messageMetadata: Vec<ITuple<[u32, PolkadotParachainPrimitivesXcmpMessageFormat]>>;251}252253/** @name CumulusPalletXcmpQueueInboundState */254export interface CumulusPalletXcmpQueueInboundState extends Enum {255  readonly isOk: boolean;256  readonly isSuspended: boolean;257  readonly type: 'Ok' | 'Suspended';258}259260/** @name CumulusPalletXcmpQueueOutboundChannelDetails */261export interface CumulusPalletXcmpQueueOutboundChannelDetails extends Struct {262  readonly recipient: u32;263  readonly state: CumulusPalletXcmpQueueOutboundState;264  readonly signalsExist: bool;265  readonly firstIndex: u16;266  readonly lastIndex: u16;267}268269/** @name CumulusPalletXcmpQueueOutboundState */270export interface CumulusPalletXcmpQueueOutboundState extends Enum {271  readonly isOk: boolean;272  readonly isSuspended: boolean;273  readonly type: 'Ok' | 'Suspended';274}275276/** @name CumulusPalletXcmpQueueQueueConfigData */277export interface CumulusPalletXcmpQueueQueueConfigData extends Struct {278  readonly suspendThreshold: u32;279  readonly dropThreshold: u32;280  readonly resumeThreshold: u32;281  readonly thresholdWeight: SpWeightsWeightV2Weight;282  readonly weightRestrictDecay: SpWeightsWeightV2Weight;283  readonly xcmpMaxIndividualWeight: SpWeightsWeightV2Weight;284}285286/** @name CumulusPrimitivesParachainInherentParachainInherentData */287export interface CumulusPrimitivesParachainInherentParachainInherentData extends Struct {288  readonly validationData: PolkadotPrimitivesV2PersistedValidationData;289  readonly relayChainState: SpTrieStorageProof;290  readonly downwardMessages: Vec<PolkadotCorePrimitivesInboundDownwardMessage>;291  readonly horizontalMessages: BTreeMap<u32, Vec<PolkadotCorePrimitivesInboundHrmpMessage>>;292}293294/** @name EthbloomBloom */295export interface EthbloomBloom extends U8aFixed {}296297/** @name EthereumBlock */298export interface EthereumBlock extends Struct {299  readonly header: EthereumHeader;300  readonly transactions: Vec<EthereumTransactionTransactionV2>;301  readonly ommers: Vec<EthereumHeader>;302}303304/** @name EthereumHeader */305export interface EthereumHeader extends Struct {306  readonly parentHash: H256;307  readonly ommersHash: H256;308  readonly beneficiary: H160;309  readonly stateRoot: H256;310  readonly transactionsRoot: H256;311  readonly receiptsRoot: H256;312  readonly logsBloom: EthbloomBloom;313  readonly difficulty: U256;314  readonly number: U256;315  readonly gasLimit: U256;316  readonly gasUsed: U256;317  readonly timestamp: u64;318  readonly extraData: Bytes;319  readonly mixHash: H256;320  readonly nonce: EthereumTypesHashH64;321}322323/** @name EthereumLog */324export interface EthereumLog extends Struct {325  readonly address: H160;326  readonly topics: Vec<H256>;327  readonly data: Bytes;328}329330/** @name EthereumReceiptEip658ReceiptData */331export interface EthereumReceiptEip658ReceiptData extends Struct {332  readonly statusCode: u8;333  readonly usedGas: U256;334  readonly logsBloom: EthbloomBloom;335  readonly logs: Vec<EthereumLog>;336}337338/** @name EthereumReceiptReceiptV3 */339export interface EthereumReceiptReceiptV3 extends Enum {340  readonly isLegacy: boolean;341  readonly asLegacy: EthereumReceiptEip658ReceiptData;342  readonly isEip2930: boolean;343  readonly asEip2930: EthereumReceiptEip658ReceiptData;344  readonly isEip1559: boolean;345  readonly asEip1559: EthereumReceiptEip658ReceiptData;346  readonly type: 'Legacy' | 'Eip2930' | 'Eip1559';347}348349/** @name EthereumTransactionAccessListItem */350export interface EthereumTransactionAccessListItem extends Struct {351  readonly address: H160;352  readonly storageKeys: Vec<H256>;353}354355/** @name EthereumTransactionEip1559Transaction */356export interface EthereumTransactionEip1559Transaction extends Struct {357  readonly chainId: u64;358  readonly nonce: U256;359  readonly maxPriorityFeePerGas: U256;360  readonly maxFeePerGas: U256;361  readonly gasLimit: U256;362  readonly action: EthereumTransactionTransactionAction;363  readonly value: U256;364  readonly input: Bytes;365  readonly accessList: Vec<EthereumTransactionAccessListItem>;366  readonly oddYParity: bool;367  readonly r: H256;368  readonly s: H256;369}370371/** @name EthereumTransactionEip2930Transaction */372export interface EthereumTransactionEip2930Transaction extends Struct {373  readonly chainId: u64;374  readonly nonce: U256;375  readonly gasPrice: U256;376  readonly gasLimit: U256;377  readonly action: EthereumTransactionTransactionAction;378  readonly value: U256;379  readonly input: Bytes;380  readonly accessList: Vec<EthereumTransactionAccessListItem>;381  readonly oddYParity: bool;382  readonly r: H256;383  readonly s: H256;384}385386/** @name EthereumTransactionLegacyTransaction */387export interface EthereumTransactionLegacyTransaction extends Struct {388  readonly nonce: U256;389  readonly gasPrice: U256;390  readonly gasLimit: U256;391  readonly action: EthereumTransactionTransactionAction;392  readonly value: U256;393  readonly input: Bytes;394  readonly signature: EthereumTransactionTransactionSignature;395}396397/** @name EthereumTransactionTransactionAction */398export interface EthereumTransactionTransactionAction extends Enum {399  readonly isCall: boolean;400  readonly asCall: H160;401  readonly isCreate: boolean;402  readonly type: 'Call' | 'Create';403}404405/** @name EthereumTransactionTransactionSignature */406export interface EthereumTransactionTransactionSignature extends Struct {407  readonly v: u64;408  readonly r: H256;409  readonly s: H256;410}411412/** @name EthereumTransactionTransactionV2 */413export interface EthereumTransactionTransactionV2 extends Enum {414  readonly isLegacy: boolean;415  readonly asLegacy: EthereumTransactionLegacyTransaction;416  readonly isEip2930: boolean;417  readonly asEip2930: EthereumTransactionEip2930Transaction;418  readonly isEip1559: boolean;419  readonly asEip1559: EthereumTransactionEip1559Transaction;420  readonly type: 'Legacy' | 'Eip2930' | 'Eip1559';421}422423/** @name EthereumTypesHashH64 */424export interface EthereumTypesHashH64 extends U8aFixed {}425426/** @name EvmCoreErrorExitError */427export interface EvmCoreErrorExitError extends Enum {428  readonly isStackUnderflow: boolean;429  readonly isStackOverflow: boolean;430  readonly isInvalidJump: boolean;431  readonly isInvalidRange: boolean;432  readonly isDesignatedInvalid: boolean;433  readonly isCallTooDeep: boolean;434  readonly isCreateCollision: boolean;435  readonly isCreateContractLimit: boolean;436  readonly isOutOfOffset: boolean;437  readonly isOutOfGas: boolean;438  readonly isOutOfFund: boolean;439  readonly isPcUnderflow: boolean;440  readonly isCreateEmpty: boolean;441  readonly isOther: boolean;442  readonly asOther: Text;443  readonly isInvalidCode: boolean;444  readonly type: 'StackUnderflow' | 'StackOverflow' | 'InvalidJump' | 'InvalidRange' | 'DesignatedInvalid' | 'CallTooDeep' | 'CreateCollision' | 'CreateContractLimit' | 'OutOfOffset' | 'OutOfGas' | 'OutOfFund' | 'PcUnderflow' | 'CreateEmpty' | 'Other' | 'InvalidCode';445}446447/** @name EvmCoreErrorExitFatal */448export interface EvmCoreErrorExitFatal extends Enum {449  readonly isNotSupported: boolean;450  readonly isUnhandledInterrupt: boolean;451  readonly isCallErrorAsFatal: boolean;452  readonly asCallErrorAsFatal: EvmCoreErrorExitError;453  readonly isOther: boolean;454  readonly asOther: Text;455  readonly type: 'NotSupported' | 'UnhandledInterrupt' | 'CallErrorAsFatal' | 'Other';456}457458/** @name EvmCoreErrorExitReason */459export interface EvmCoreErrorExitReason extends Enum {460  readonly isSucceed: boolean;461  readonly asSucceed: EvmCoreErrorExitSucceed;462  readonly isError: boolean;463  readonly asError: EvmCoreErrorExitError;464  readonly isRevert: boolean;465  readonly asRevert: EvmCoreErrorExitRevert;466  readonly isFatal: boolean;467  readonly asFatal: EvmCoreErrorExitFatal;468  readonly type: 'Succeed' | 'Error' | 'Revert' | 'Fatal';469}470471/** @name EvmCoreErrorExitRevert */472export interface EvmCoreErrorExitRevert extends Enum {473  readonly isReverted: boolean;474  readonly type: 'Reverted';475}476477/** @name EvmCoreErrorExitSucceed */478export interface EvmCoreErrorExitSucceed extends Enum {479  readonly isStopped: boolean;480  readonly isReturned: boolean;481  readonly isSuicided: boolean;482  readonly type: 'Stopped' | 'Returned' | 'Suicided';483}484485/** @name FpRpcTransactionStatus */486export interface FpRpcTransactionStatus extends Struct {487  readonly transactionHash: H256;488  readonly transactionIndex: u32;489  readonly from: H160;490  readonly to: Option<H160>;491  readonly contractAddress: Option<H160>;492  readonly logs: Vec<EthereumLog>;493  readonly logsBloom: EthbloomBloom;494}495496/** @name FrameSupportDispatchDispatchClass */497export interface FrameSupportDispatchDispatchClass extends Enum {498  readonly isNormal: boolean;499  readonly isOperational: boolean;500  readonly isMandatory: boolean;501  readonly type: 'Normal' | 'Operational' | 'Mandatory';502}503504/** @name FrameSupportDispatchDispatchInfo */505export interface FrameSupportDispatchDispatchInfo extends Struct {506  readonly weight: SpWeightsWeightV2Weight;507  readonly class: FrameSupportDispatchDispatchClass;508  readonly paysFee: FrameSupportDispatchPays;509}510511/** @name FrameSupportDispatchPays */512export interface FrameSupportDispatchPays extends Enum {513  readonly isYes: boolean;514  readonly isNo: boolean;515  readonly type: 'Yes' | 'No';516}517518/** @name FrameSupportDispatchPerDispatchClassU32 */519export interface FrameSupportDispatchPerDispatchClassU32 extends Struct {520  readonly normal: u32;521  readonly operational: u32;522  readonly mandatory: u32;523}524525/** @name FrameSupportDispatchPerDispatchClassWeight */526export interface FrameSupportDispatchPerDispatchClassWeight extends Struct {527  readonly normal: SpWeightsWeightV2Weight;528  readonly operational: SpWeightsWeightV2Weight;529  readonly mandatory: SpWeightsWeightV2Weight;530}531532/** @name FrameSupportDispatchPerDispatchClassWeightsPerClass */533export interface FrameSupportDispatchPerDispatchClassWeightsPerClass extends Struct {534  readonly normal: FrameSystemLimitsWeightsPerClass;535  readonly operational: FrameSystemLimitsWeightsPerClass;536  readonly mandatory: FrameSystemLimitsWeightsPerClass;537}538539/** @name FrameSupportPalletId */540export interface FrameSupportPalletId extends U8aFixed {}541542/** @name FrameSupportTokensMiscBalanceStatus */543export interface FrameSupportTokensMiscBalanceStatus extends Enum {544  readonly isFree: boolean;545  readonly isReserved: boolean;546  readonly type: 'Free' | 'Reserved';547}548549/** @name FrameSystemAccountInfo */550export interface FrameSystemAccountInfo extends Struct {551  readonly nonce: u32;552  readonly consumers: u32;553  readonly providers: u32;554  readonly sufficients: u32;555  readonly data: PalletBalancesAccountData;556}557558/** @name FrameSystemCall */559export interface FrameSystemCall extends Enum {560  readonly isFillBlock: boolean;561  readonly asFillBlock: {562    readonly ratio: Perbill;563  } & Struct;564  readonly isRemark: boolean;565  readonly asRemark: {566    readonly remark: Bytes;567  } & Struct;568  readonly isSetHeapPages: boolean;569  readonly asSetHeapPages: {570    readonly pages: u64;571  } & Struct;572  readonly isSetCode: boolean;573  readonly asSetCode: {574    readonly code: Bytes;575  } & Struct;576  readonly isSetCodeWithoutChecks: boolean;577  readonly asSetCodeWithoutChecks: {578    readonly code: Bytes;579  } & Struct;580  readonly isSetStorage: boolean;581  readonly asSetStorage: {582    readonly items: Vec<ITuple<[Bytes, Bytes]>>;583  } & Struct;584  readonly isKillStorage: boolean;585  readonly asKillStorage: {586    readonly keys_: Vec<Bytes>;587  } & Struct;588  readonly isKillPrefix: boolean;589  readonly asKillPrefix: {590    readonly prefix: Bytes;591    readonly subkeys: u32;592  } & Struct;593  readonly isRemarkWithEvent: boolean;594  readonly asRemarkWithEvent: {595    readonly remark: Bytes;596  } & Struct;597  readonly type: 'FillBlock' | 'Remark' | 'SetHeapPages' | 'SetCode' | 'SetCodeWithoutChecks' | 'SetStorage' | 'KillStorage' | 'KillPrefix' | 'RemarkWithEvent';598}599600/** @name FrameSystemError */601export interface FrameSystemError extends Enum {602  readonly isInvalidSpecName: boolean;603  readonly isSpecVersionNeedsToIncrease: boolean;604  readonly isFailedToExtractRuntimeVersion: boolean;605  readonly isNonDefaultComposite: boolean;606  readonly isNonZeroRefCount: boolean;607  readonly isCallFiltered: boolean;608  readonly type: 'InvalidSpecName' | 'SpecVersionNeedsToIncrease' | 'FailedToExtractRuntimeVersion' | 'NonDefaultComposite' | 'NonZeroRefCount' | 'CallFiltered';609}610611/** @name FrameSystemEvent */612export interface FrameSystemEvent extends Enum {613  readonly isExtrinsicSuccess: boolean;614  readonly asExtrinsicSuccess: {615    readonly dispatchInfo: FrameSupportDispatchDispatchInfo;616  } & Struct;617  readonly isExtrinsicFailed: boolean;618  readonly asExtrinsicFailed: {619    readonly dispatchError: SpRuntimeDispatchError;620    readonly dispatchInfo: FrameSupportDispatchDispatchInfo;621  } & Struct;622  readonly isCodeUpdated: boolean;623  readonly isNewAccount: boolean;624  readonly asNewAccount: {625    readonly account: AccountId32;626  } & Struct;627  readonly isKilledAccount: boolean;628  readonly asKilledAccount: {629    readonly account: AccountId32;630  } & Struct;631  readonly isRemarked: boolean;632  readonly asRemarked: {633    readonly sender: AccountId32;634    readonly hash_: H256;635  } & Struct;636  readonly type: 'ExtrinsicSuccess' | 'ExtrinsicFailed' | 'CodeUpdated' | 'NewAccount' | 'KilledAccount' | 'Remarked';637}638639/** @name FrameSystemEventRecord */640export interface FrameSystemEventRecord extends Struct {641  readonly phase: FrameSystemPhase;642  readonly event: Event;643  readonly topics: Vec<H256>;644}645646/** @name FrameSystemExtensionsCheckGenesis */647export interface FrameSystemExtensionsCheckGenesis extends Null {}648649/** @name FrameSystemExtensionsCheckNonce */650export interface FrameSystemExtensionsCheckNonce extends Compact<u32> {}651652/** @name FrameSystemExtensionsCheckSpecVersion */653export interface FrameSystemExtensionsCheckSpecVersion extends Null {}654655/** @name FrameSystemExtensionsCheckTxVersion */656export interface FrameSystemExtensionsCheckTxVersion extends Null {}657658/** @name FrameSystemExtensionsCheckWeight */659export interface FrameSystemExtensionsCheckWeight extends Null {}660661/** @name FrameSystemLastRuntimeUpgradeInfo */662export interface FrameSystemLastRuntimeUpgradeInfo extends Struct {663  readonly specVersion: Compact<u32>;664  readonly specName: Text;665}666667/** @name FrameSystemLimitsBlockLength */668export interface FrameSystemLimitsBlockLength extends Struct {669  readonly max: FrameSupportDispatchPerDispatchClassU32;670}671672/** @name FrameSystemLimitsBlockWeights */673export interface FrameSystemLimitsBlockWeights extends Struct {674  readonly baseBlock: SpWeightsWeightV2Weight;675  readonly maxBlock: SpWeightsWeightV2Weight;676  readonly perClass: FrameSupportDispatchPerDispatchClassWeightsPerClass;677}678679/** @name FrameSystemLimitsWeightsPerClass */680export interface FrameSystemLimitsWeightsPerClass extends Struct {681  readonly baseExtrinsic: SpWeightsWeightV2Weight;682  readonly maxExtrinsic: Option<SpWeightsWeightV2Weight>;683  readonly maxTotal: Option<SpWeightsWeightV2Weight>;684  readonly reserved: Option<SpWeightsWeightV2Weight>;685}686687/** @name FrameSystemPhase */688export interface FrameSystemPhase extends Enum {689  readonly isApplyExtrinsic: boolean;690  readonly asApplyExtrinsic: u32;691  readonly isFinalization: boolean;692  readonly isInitialization: boolean;693  readonly type: 'ApplyExtrinsic' | 'Finalization' | 'Initialization';694}695696/** @name OpalRuntimeRuntime */697export interface OpalRuntimeRuntime extends Null {}698699/** @name OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance */700export interface OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance extends Null {}701702/** @name OrmlTokensAccountData */703export interface OrmlTokensAccountData extends Struct {704  readonly free: u128;705  readonly reserved: u128;706  readonly frozen: u128;707}708709/** @name OrmlTokensBalanceLock */710export interface OrmlTokensBalanceLock extends Struct {711  readonly id: U8aFixed;712  readonly amount: u128;713}714715/** @name OrmlTokensModuleCall */716export interface OrmlTokensModuleCall extends Enum {717  readonly isTransfer: boolean;718  readonly asTransfer: {719    readonly dest: MultiAddress;720    readonly currencyId: PalletForeignAssetsAssetIds;721    readonly amount: Compact<u128>;722  } & Struct;723  readonly isTransferAll: boolean;724  readonly asTransferAll: {725    readonly dest: MultiAddress;726    readonly currencyId: PalletForeignAssetsAssetIds;727    readonly keepAlive: bool;728  } & Struct;729  readonly isTransferKeepAlive: boolean;730  readonly asTransferKeepAlive: {731    readonly dest: MultiAddress;732    readonly currencyId: PalletForeignAssetsAssetIds;733    readonly amount: Compact<u128>;734  } & Struct;735  readonly isForceTransfer: boolean;736  readonly asForceTransfer: {737    readonly source: MultiAddress;738    readonly dest: MultiAddress;739    readonly currencyId: PalletForeignAssetsAssetIds;740    readonly amount: Compact<u128>;741  } & Struct;742  readonly isSetBalance: boolean;743  readonly asSetBalance: {744    readonly who: MultiAddress;745    readonly currencyId: PalletForeignAssetsAssetIds;746    readonly newFree: Compact<u128>;747    readonly newReserved: Compact<u128>;748  } & Struct;749  readonly type: 'Transfer' | 'TransferAll' | 'TransferKeepAlive' | 'ForceTransfer' | 'SetBalance';750}751752/** @name OrmlTokensModuleError */753export interface OrmlTokensModuleError extends Enum {754  readonly isBalanceTooLow: boolean;755  readonly isAmountIntoBalanceFailed: boolean;756  readonly isLiquidityRestrictions: boolean;757  readonly isMaxLocksExceeded: boolean;758  readonly isKeepAlive: boolean;759  readonly isExistentialDeposit: boolean;760  readonly isDeadAccount: boolean;761  readonly isTooManyReserves: boolean;762  readonly type: 'BalanceTooLow' | 'AmountIntoBalanceFailed' | 'LiquidityRestrictions' | 'MaxLocksExceeded' | 'KeepAlive' | 'ExistentialDeposit' | 'DeadAccount' | 'TooManyReserves';763}764765/** @name OrmlTokensModuleEvent */766export interface OrmlTokensModuleEvent extends Enum {767  readonly isEndowed: boolean;768  readonly asEndowed: {769    readonly currencyId: PalletForeignAssetsAssetIds;770    readonly who: AccountId32;771    readonly amount: u128;772  } & Struct;773  readonly isDustLost: boolean;774  readonly asDustLost: {775    readonly currencyId: PalletForeignAssetsAssetIds;776    readonly who: AccountId32;777    readonly amount: u128;778  } & Struct;779  readonly isTransfer: boolean;780  readonly asTransfer: {781    readonly currencyId: PalletForeignAssetsAssetIds;782    readonly from: AccountId32;783    readonly to: AccountId32;784    readonly amount: u128;785  } & Struct;786  readonly isReserved: boolean;787  readonly asReserved: {788    readonly currencyId: PalletForeignAssetsAssetIds;789    readonly who: AccountId32;790    readonly amount: u128;791  } & Struct;792  readonly isUnreserved: boolean;793  readonly asUnreserved: {794    readonly currencyId: PalletForeignAssetsAssetIds;795    readonly who: AccountId32;796    readonly amount: u128;797  } & Struct;798  readonly isReserveRepatriated: boolean;799  readonly asReserveRepatriated: {800    readonly currencyId: PalletForeignAssetsAssetIds;801    readonly from: AccountId32;802    readonly to: AccountId32;803    readonly amount: u128;804    readonly status: FrameSupportTokensMiscBalanceStatus;805  } & Struct;806  readonly isBalanceSet: boolean;807  readonly asBalanceSet: {808    readonly currencyId: PalletForeignAssetsAssetIds;809    readonly who: AccountId32;810    readonly free: u128;811    readonly reserved: u128;812  } & Struct;813  readonly isTotalIssuanceSet: boolean;814  readonly asTotalIssuanceSet: {815    readonly currencyId: PalletForeignAssetsAssetIds;816    readonly amount: u128;817  } & Struct;818  readonly isWithdrawn: boolean;819  readonly asWithdrawn: {820    readonly currencyId: PalletForeignAssetsAssetIds;821    readonly who: AccountId32;822    readonly amount: u128;823  } & Struct;824  readonly isSlashed: boolean;825  readonly asSlashed: {826    readonly currencyId: PalletForeignAssetsAssetIds;827    readonly who: AccountId32;828    readonly freeAmount: u128;829    readonly reservedAmount: u128;830  } & Struct;831  readonly isDeposited: boolean;832  readonly asDeposited: {833    readonly currencyId: PalletForeignAssetsAssetIds;834    readonly who: AccountId32;835    readonly amount: u128;836  } & Struct;837  readonly isLockSet: boolean;838  readonly asLockSet: {839    readonly lockId: U8aFixed;840    readonly currencyId: PalletForeignAssetsAssetIds;841    readonly who: AccountId32;842    readonly amount: u128;843  } & Struct;844  readonly isLockRemoved: boolean;845  readonly asLockRemoved: {846    readonly lockId: U8aFixed;847    readonly currencyId: PalletForeignAssetsAssetIds;848    readonly who: AccountId32;849  } & Struct;850  readonly type: 'Endowed' | 'DustLost' | 'Transfer' | 'Reserved' | 'Unreserved' | 'ReserveRepatriated' | 'BalanceSet' | 'TotalIssuanceSet' | 'Withdrawn' | 'Slashed' | 'Deposited' | 'LockSet' | 'LockRemoved';851}852853/** @name OrmlTokensReserveData */854export interface OrmlTokensReserveData extends Struct {855  readonly id: Null;856  readonly amount: u128;857}858859/** @name OrmlVestingModuleCall */860export interface OrmlVestingModuleCall extends Enum {861  readonly isClaim: boolean;862  readonly isVestedTransfer: boolean;863  readonly asVestedTransfer: {864    readonly dest: MultiAddress;865    readonly schedule: OrmlVestingVestingSchedule;866  } & Struct;867  readonly isUpdateVestingSchedules: boolean;868  readonly asUpdateVestingSchedules: {869    readonly who: MultiAddress;870    readonly vestingSchedules: Vec<OrmlVestingVestingSchedule>;871  } & Struct;872  readonly isClaimFor: boolean;873  readonly asClaimFor: {874    readonly dest: MultiAddress;875  } & Struct;876  readonly type: 'Claim' | 'VestedTransfer' | 'UpdateVestingSchedules' | 'ClaimFor';877}878879/** @name OrmlVestingModuleError */880export interface OrmlVestingModuleError extends Enum {881  readonly isZeroVestingPeriod: boolean;882  readonly isZeroVestingPeriodCount: boolean;883  readonly isInsufficientBalanceToLock: boolean;884  readonly isTooManyVestingSchedules: boolean;885  readonly isAmountLow: boolean;886  readonly isMaxVestingSchedulesExceeded: boolean;887  readonly type: 'ZeroVestingPeriod' | 'ZeroVestingPeriodCount' | 'InsufficientBalanceToLock' | 'TooManyVestingSchedules' | 'AmountLow' | 'MaxVestingSchedulesExceeded';888}889890/** @name OrmlVestingModuleEvent */891export interface OrmlVestingModuleEvent extends Enum {892  readonly isVestingScheduleAdded: boolean;893  readonly asVestingScheduleAdded: {894    readonly from: AccountId32;895    readonly to: AccountId32;896    readonly vestingSchedule: OrmlVestingVestingSchedule;897  } & Struct;898  readonly isClaimed: boolean;899  readonly asClaimed: {900    readonly who: AccountId32;901    readonly amount: u128;902  } & Struct;903  readonly isVestingSchedulesUpdated: boolean;904  readonly asVestingSchedulesUpdated: {905    readonly who: AccountId32;906  } & Struct;907  readonly type: 'VestingScheduleAdded' | 'Claimed' | 'VestingSchedulesUpdated';908}909910/** @name OrmlVestingVestingSchedule */911export interface OrmlVestingVestingSchedule extends Struct {912  readonly start: u32;913  readonly period: u32;914  readonly periodCount: u32;915  readonly perPeriod: Compact<u128>;916}917918/** @name OrmlXtokensModuleCall */919export interface OrmlXtokensModuleCall extends Enum {920  readonly isTransfer: boolean;921  readonly asTransfer: {922    readonly currencyId: PalletForeignAssetsAssetIds;923    readonly amount: u128;924    readonly dest: XcmVersionedMultiLocation;925    readonly destWeightLimit: XcmV2WeightLimit;926  } & Struct;927  readonly isTransferMultiasset: boolean;928  readonly asTransferMultiasset: {929    readonly asset: XcmVersionedMultiAsset;930    readonly dest: XcmVersionedMultiLocation;931    readonly destWeightLimit: XcmV2WeightLimit;932  } & Struct;933  readonly isTransferWithFee: boolean;934  readonly asTransferWithFee: {935    readonly currencyId: PalletForeignAssetsAssetIds;936    readonly amount: u128;937    readonly fee: u128;938    readonly dest: XcmVersionedMultiLocation;939    readonly destWeightLimit: XcmV2WeightLimit;940  } & Struct;941  readonly isTransferMultiassetWithFee: boolean;942  readonly asTransferMultiassetWithFee: {943    readonly asset: XcmVersionedMultiAsset;944    readonly fee: XcmVersionedMultiAsset;945    readonly dest: XcmVersionedMultiLocation;946    readonly destWeightLimit: XcmV2WeightLimit;947  } & Struct;948  readonly isTransferMulticurrencies: boolean;949  readonly asTransferMulticurrencies: {950    readonly currencies: Vec<ITuple<[PalletForeignAssetsAssetIds, u128]>>;951    readonly feeItem: u32;952    readonly dest: XcmVersionedMultiLocation;953    readonly destWeightLimit: XcmV2WeightLimit;954  } & Struct;955  readonly isTransferMultiassets: boolean;956  readonly asTransferMultiassets: {957    readonly assets: XcmVersionedMultiAssets;958    readonly feeItem: u32;959    readonly dest: XcmVersionedMultiLocation;960    readonly destWeightLimit: XcmV2WeightLimit;961  } & Struct;962  readonly type: 'Transfer' | 'TransferMultiasset' | 'TransferWithFee' | 'TransferMultiassetWithFee' | 'TransferMulticurrencies' | 'TransferMultiassets';963}964965/** @name OrmlXtokensModuleError */966export interface OrmlXtokensModuleError extends Enum {967  readonly isAssetHasNoReserve: boolean;968  readonly isNotCrossChainTransfer: boolean;969  readonly isInvalidDest: boolean;970  readonly isNotCrossChainTransferableCurrency: boolean;971  readonly isUnweighableMessage: boolean;972  readonly isXcmExecutionFailed: boolean;973  readonly isCannotReanchor: boolean;974  readonly isInvalidAncestry: boolean;975  readonly isInvalidAsset: boolean;976  readonly isDestinationNotInvertible: boolean;977  readonly isBadVersion: boolean;978  readonly isDistinctReserveForAssetAndFee: boolean;979  readonly isZeroFee: boolean;980  readonly isZeroAmount: boolean;981  readonly isTooManyAssetsBeingSent: boolean;982  readonly isAssetIndexNonExistent: boolean;983  readonly isFeeNotEnough: boolean;984  readonly isNotSupportedMultiLocation: boolean;985  readonly isMinXcmFeeNotDefined: boolean;986  readonly type: 'AssetHasNoReserve' | 'NotCrossChainTransfer' | 'InvalidDest' | 'NotCrossChainTransferableCurrency' | 'UnweighableMessage' | 'XcmExecutionFailed' | 'CannotReanchor' | 'InvalidAncestry' | 'InvalidAsset' | 'DestinationNotInvertible' | 'BadVersion' | 'DistinctReserveForAssetAndFee' | 'ZeroFee' | 'ZeroAmount' | 'TooManyAssetsBeingSent' | 'AssetIndexNonExistent' | 'FeeNotEnough' | 'NotSupportedMultiLocation' | 'MinXcmFeeNotDefined';987}988989/** @name OrmlXtokensModuleEvent */990export interface OrmlXtokensModuleEvent extends Enum {991  readonly isTransferredMultiAssets: boolean;992  readonly asTransferredMultiAssets: {993    readonly sender: AccountId32;994    readonly assets: XcmV1MultiassetMultiAssets;995    readonly fee: XcmV1MultiAsset;996    readonly dest: XcmV1MultiLocation;997  } & Struct;998  readonly type: 'TransferredMultiAssets';999}10001001/** @name PalletAppPromotionCall */1002export interface PalletAppPromotionCall extends Enum {1003  readonly isSetAdminAddress: boolean;1004  readonly asSetAdminAddress: {1005    readonly admin: PalletEvmAccountBasicCrossAccountIdRepr;1006  } & Struct;1007  readonly isStake: boolean;1008  readonly asStake: {1009    readonly amount: u128;1010  } & Struct;1011  readonly isUnstake: boolean;1012  readonly isSponsorCollection: boolean;1013  readonly asSponsorCollection: {1014    readonly collectionId: u32;1015  } & Struct;1016  readonly isStopSponsoringCollection: boolean;1017  readonly asStopSponsoringCollection: {1018    readonly collectionId: u32;1019  } & Struct;1020  readonly isSponsorContract: boolean;1021  readonly asSponsorContract: {1022    readonly contractId: H160;1023  } & Struct;1024  readonly isStopSponsoringContract: boolean;1025  readonly asStopSponsoringContract: {1026    readonly contractId: H160;1027  } & Struct;1028  readonly isPayoutStakers: boolean;1029  readonly asPayoutStakers: {1030    readonly stakersNumber: Option<u8>;1031  } & Struct;1032  readonly type: 'SetAdminAddress' | 'Stake' | 'Unstake' | 'SponsorCollection' | 'StopSponsoringCollection' | 'SponsorContract' | 'StopSponsoringContract' | 'PayoutStakers';1033}10341035/** @name PalletAppPromotionError */1036export interface PalletAppPromotionError extends Enum {1037  readonly isAdminNotSet: boolean;1038  readonly isNoPermission: boolean;1039  readonly isNotSufficientFunds: boolean;1040  readonly isPendingForBlockOverflow: boolean;1041  readonly isSponsorNotSet: boolean;1042  readonly isIncorrectLockedBalanceOperation: boolean;1043  readonly type: 'AdminNotSet' | 'NoPermission' | 'NotSufficientFunds' | 'PendingForBlockOverflow' | 'SponsorNotSet' | 'IncorrectLockedBalanceOperation';1044}10451046/** @name PalletAppPromotionEvent */1047export interface PalletAppPromotionEvent extends Enum {1048  readonly isStakingRecalculation: boolean;1049  readonly asStakingRecalculation: ITuple<[AccountId32, u128, u128]>;1050  readonly isStake: boolean;1051  readonly asStake: ITuple<[AccountId32, u128]>;1052  readonly isUnstake: boolean;1053  readonly asUnstake: ITuple<[AccountId32, u128]>;1054  readonly isSetAdmin: boolean;1055  readonly asSetAdmin: AccountId32;1056  readonly type: 'StakingRecalculation' | 'Stake' | 'Unstake' | 'SetAdmin';1057}10581059/** @name PalletBalancesAccountData */1060export interface PalletBalancesAccountData extends Struct {1061  readonly free: u128;1062  readonly reserved: u128;1063  readonly miscFrozen: u128;1064  readonly feeFrozen: u128;1065}10661067/** @name PalletBalancesBalanceLock */1068export interface PalletBalancesBalanceLock extends Struct {1069  readonly id: U8aFixed;1070  readonly amount: u128;1071  readonly reasons: PalletBalancesReasons;1072}10731074/** @name PalletBalancesCall */1075export interface PalletBalancesCall extends Enum {1076  readonly isTransfer: boolean;1077  readonly asTransfer: {1078    readonly dest: MultiAddress;1079    readonly value: Compact<u128>;1080  } & Struct;1081  readonly isSetBalance: boolean;1082  readonly asSetBalance: {1083    readonly who: MultiAddress;1084    readonly newFree: Compact<u128>;1085    readonly newReserved: Compact<u128>;1086  } & Struct;1087  readonly isForceTransfer: boolean;1088  readonly asForceTransfer: {1089    readonly source: MultiAddress;1090    readonly dest: MultiAddress;1091    readonly value: Compact<u128>;1092  } & Struct;1093  readonly isTransferKeepAlive: boolean;1094  readonly asTransferKeepAlive: {1095    readonly dest: MultiAddress;1096    readonly value: Compact<u128>;1097  } & Struct;1098  readonly isTransferAll: boolean;1099  readonly asTransferAll: {1100    readonly dest: MultiAddress;1101    readonly keepAlive: bool;1102  } & Struct;1103  readonly isForceUnreserve: boolean;1104  readonly asForceUnreserve: {1105    readonly who: MultiAddress;1106    readonly amount: u128;1107  } & Struct;1108  readonly type: 'Transfer' | 'SetBalance' | 'ForceTransfer' | 'TransferKeepAlive' | 'TransferAll' | 'ForceUnreserve';1109}11101111/** @name PalletBalancesError */1112export interface PalletBalancesError extends Enum {1113  readonly isVestingBalance: boolean;1114  readonly isLiquidityRestrictions: boolean;1115  readonly isInsufficientBalance: boolean;1116  readonly isExistentialDeposit: boolean;1117  readonly isKeepAlive: boolean;1118  readonly isExistingVestingSchedule: boolean;1119  readonly isDeadAccount: boolean;1120  readonly isTooManyReserves: boolean;1121  readonly type: 'VestingBalance' | 'LiquidityRestrictions' | 'InsufficientBalance' | 'ExistentialDeposit' | 'KeepAlive' | 'ExistingVestingSchedule' | 'DeadAccount' | 'TooManyReserves';1122}11231124/** @name PalletBalancesEvent */1125export interface PalletBalancesEvent extends Enum {1126  readonly isEndowed: boolean;1127  readonly asEndowed: {1128    readonly account: AccountId32;1129    readonly freeBalance: u128;1130  } & Struct;1131  readonly isDustLost: boolean;1132  readonly asDustLost: {1133    readonly account: AccountId32;1134    readonly amount: u128;1135  } & Struct;1136  readonly isTransfer: boolean;1137  readonly asTransfer: {1138    readonly from: AccountId32;1139    readonly to: AccountId32;1140    readonly amount: u128;1141  } & Struct;1142  readonly isBalanceSet: boolean;1143  readonly asBalanceSet: {1144    readonly who: AccountId32;1145    readonly free: u128;1146    readonly reserved: u128;1147  } & Struct;1148  readonly isReserved: boolean;1149  readonly asReserved: {1150    readonly who: AccountId32;1151    readonly amount: u128;1152  } & Struct;1153  readonly isUnreserved: boolean;1154  readonly asUnreserved: {1155    readonly who: AccountId32;1156    readonly amount: u128;1157  } & Struct;1158  readonly isReserveRepatriated: boolean;1159  readonly asReserveRepatriated: {1160    readonly from: AccountId32;1161    readonly to: AccountId32;1162    readonly amount: u128;1163    readonly destinationStatus: FrameSupportTokensMiscBalanceStatus;1164  } & Struct;1165  readonly isDeposit: boolean;1166  readonly asDeposit: {1167    readonly who: AccountId32;1168    readonly amount: u128;1169  } & Struct;1170  readonly isWithdraw: boolean;1171  readonly asWithdraw: {1172    readonly who: AccountId32;1173    readonly amount: u128;1174  } & Struct;1175  readonly isSlashed: boolean;1176  readonly asSlashed: {1177    readonly who: AccountId32;1178    readonly amount: u128;1179  } & Struct;1180  readonly type: 'Endowed' | 'DustLost' | 'Transfer' | 'BalanceSet' | 'Reserved' | 'Unreserved' | 'ReserveRepatriated' | 'Deposit' | 'Withdraw' | 'Slashed';1181}11821183/** @name PalletBalancesReasons */1184export interface PalletBalancesReasons extends Enum {1185  readonly isFee: boolean;1186  readonly isMisc: boolean;1187  readonly isAll: boolean;1188  readonly type: 'Fee' | 'Misc' | 'All';1189}11901191/** @name PalletBalancesReleases */1192export interface PalletBalancesReleases extends Enum {1193  readonly isV100: boolean;1194  readonly isV200: boolean;1195  readonly type: 'V100' | 'V200';1196}11971198/** @name PalletBalancesReserveData */1199export interface PalletBalancesReserveData extends Struct {1200  readonly id: U8aFixed;1201  readonly amount: u128;1202}12031204/** @name PalletCommonError */1205export interface PalletCommonError extends Enum {1206  readonly isCollectionNotFound: boolean;1207  readonly isMustBeTokenOwner: boolean;1208  readonly isNoPermission: boolean;1209  readonly isCantDestroyNotEmptyCollection: boolean;1210  readonly isPublicMintingNotAllowed: boolean;1211  readonly isAddressNotInAllowlist: boolean;1212  readonly isCollectionNameLimitExceeded: boolean;1213  readonly isCollectionDescriptionLimitExceeded: boolean;1214  readonly isCollectionTokenPrefixLimitExceeded: boolean;1215  readonly isTotalCollectionsLimitExceeded: boolean;1216  readonly isCollectionAdminCountExceeded: boolean;1217  readonly isCollectionLimitBoundsExceeded: boolean;1218  readonly isOwnerPermissionsCantBeReverted: boolean;1219  readonly isTransferNotAllowed: boolean;1220  readonly isAccountTokenLimitExceeded: boolean;1221  readonly isCollectionTokenLimitExceeded: boolean;1222  readonly isMetadataFlagFrozen: boolean;1223  readonly isTokenNotFound: boolean;1224  readonly isTokenValueTooLow: boolean;1225  readonly isApprovedValueTooLow: boolean;1226  readonly isCantApproveMoreThanOwned: boolean;1227  readonly isAddressIsZero: boolean;1228  readonly isUnsupportedOperation: boolean;1229  readonly isNotSufficientFounds: boolean;1230  readonly isUserIsNotAllowedToNest: boolean;1231  readonly isSourceCollectionIsNotAllowedToNest: boolean;1232  readonly isCollectionFieldSizeExceeded: boolean;1233  readonly isNoSpaceForProperty: boolean;1234  readonly isPropertyLimitReached: boolean;1235  readonly isPropertyKeyIsTooLong: boolean;1236  readonly isInvalidCharacterInPropertyKey: boolean;1237  readonly isEmptyPropertyKey: boolean;1238  readonly isCollectionIsExternal: boolean;1239  readonly isCollectionIsInternal: boolean;1240  readonly isConfirmSponsorshipFail: boolean;1241  readonly isUserIsNotCollectionAdmin: boolean;1242  readonly type: 'CollectionNotFound' | 'MustBeTokenOwner' | 'NoPermission' | 'CantDestroyNotEmptyCollection' | 'PublicMintingNotAllowed' | 'AddressNotInAllowlist' | 'CollectionNameLimitExceeded' | 'CollectionDescriptionLimitExceeded' | 'CollectionTokenPrefixLimitExceeded' | 'TotalCollectionsLimitExceeded' | 'CollectionAdminCountExceeded' | 'CollectionLimitBoundsExceeded' | 'OwnerPermissionsCantBeReverted' | 'TransferNotAllowed' | 'AccountTokenLimitExceeded' | 'CollectionTokenLimitExceeded' | 'MetadataFlagFrozen' | 'TokenNotFound' | 'TokenValueTooLow' | 'ApprovedValueTooLow' | 'CantApproveMoreThanOwned' | 'AddressIsZero' | 'UnsupportedOperation' | 'NotSufficientFounds' | 'UserIsNotAllowedToNest' | 'SourceCollectionIsNotAllowedToNest' | 'CollectionFieldSizeExceeded' | 'NoSpaceForProperty' | 'PropertyLimitReached' | 'PropertyKeyIsTooLong' | 'InvalidCharacterInPropertyKey' | 'EmptyPropertyKey' | 'CollectionIsExternal' | 'CollectionIsInternal' | 'ConfirmSponsorshipFail' | 'UserIsNotCollectionAdmin';1243}12441245/** @name PalletCommonEvent */1246export interface PalletCommonEvent extends Enum {1247  readonly isCollectionCreated: boolean;1248  readonly asCollectionCreated: ITuple<[u32, u8, AccountId32]>;1249  readonly isCollectionDestroyed: boolean;1250  readonly asCollectionDestroyed: u32;1251  readonly isItemCreated: boolean;1252  readonly asItemCreated: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;1253  readonly isItemDestroyed: boolean;1254  readonly asItemDestroyed: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;1255  readonly isTransfer: boolean;1256  readonly asTransfer: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;1257  readonly isApproved: boolean;1258  readonly asApproved: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;1259  readonly isApprovedForAll: boolean;1260  readonly asApprovedForAll: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr, bool]>;1261  readonly isCollectionPropertySet: boolean;1262  readonly asCollectionPropertySet: ITuple<[u32, Bytes]>;1263  readonly isCollectionPropertyDeleted: boolean;1264  readonly asCollectionPropertyDeleted: ITuple<[u32, Bytes]>;1265  readonly isTokenPropertySet: boolean;1266  readonly asTokenPropertySet: ITuple<[u32, u32, Bytes]>;1267  readonly isTokenPropertyDeleted: boolean;1268  readonly asTokenPropertyDeleted: ITuple<[u32, u32, Bytes]>;1269  readonly isPropertyPermissionSet: boolean;1270  readonly asPropertyPermissionSet: ITuple<[u32, Bytes]>;1271  readonly isAllowListAddressAdded: boolean;1272  readonly asAllowListAddressAdded: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;1273  readonly isAllowListAddressRemoved: boolean;1274  readonly asAllowListAddressRemoved: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;1275  readonly isCollectionAdminAdded: boolean;1276  readonly asCollectionAdminAdded: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;1277  readonly isCollectionAdminRemoved: boolean;1278  readonly asCollectionAdminRemoved: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;1279  readonly isCollectionLimitSet: boolean;1280  readonly asCollectionLimitSet: u32;1281  readonly isCollectionOwnerChanged: boolean;1282  readonly asCollectionOwnerChanged: ITuple<[u32, AccountId32]>;1283  readonly isCollectionPermissionSet: boolean;1284  readonly asCollectionPermissionSet: u32;1285  readonly isCollectionSponsorSet: boolean;1286  readonly asCollectionSponsorSet: ITuple<[u32, AccountId32]>;1287  readonly isSponsorshipConfirmed: boolean;1288  readonly asSponsorshipConfirmed: ITuple<[u32, AccountId32]>;1289  readonly isCollectionSponsorRemoved: boolean;1290  readonly asCollectionSponsorRemoved: u32;1291  readonly type: 'CollectionCreated' | 'CollectionDestroyed' | 'ItemCreated' | 'ItemDestroyed' | 'Transfer' | 'Approved' | 'ApprovedForAll' | 'CollectionPropertySet' | 'CollectionPropertyDeleted' | 'TokenPropertySet' | 'TokenPropertyDeleted' | 'PropertyPermissionSet' | 'AllowListAddressAdded' | 'AllowListAddressRemoved' | 'CollectionAdminAdded' | 'CollectionAdminRemoved' | 'CollectionLimitSet' | 'CollectionOwnerChanged' | 'CollectionPermissionSet' | 'CollectionSponsorSet' | 'SponsorshipConfirmed' | 'CollectionSponsorRemoved';1292}12931294/** @name PalletConfigurationAppPromotionConfiguration */1295export interface PalletConfigurationAppPromotionConfiguration extends Struct {1296  readonly recalculationInterval: Option<u32>;1297  readonly pendingInterval: Option<u32>;1298  readonly intervalIncome: Option<Perbill>;1299  readonly maxStakersPerCalculation: Option<u8>;1300}13011302/** @name PalletConfigurationCall */1303export interface PalletConfigurationCall extends Enum {1304  readonly isSetWeightToFeeCoefficientOverride: boolean;1305  readonly asSetWeightToFeeCoefficientOverride: {1306    readonly coeff: Option<u32>;1307  } & Struct;1308  readonly isSetMinGasPriceOverride: boolean;1309  readonly asSetMinGasPriceOverride: {1310    readonly coeff: Option<u64>;1311  } & Struct;1312  readonly isSetXcmAllowedLocations: boolean;1313  readonly asSetXcmAllowedLocations: {1314    readonly locations: Option<Vec<XcmV1MultiLocation>>;1315  } & Struct;1316  readonly isSetAppPromotionConfigurationOverride: boolean;1317  readonly asSetAppPromotionConfigurationOverride: {1318    readonly configuration: PalletConfigurationAppPromotionConfiguration;1319  } & Struct;1320  readonly type: 'SetWeightToFeeCoefficientOverride' | 'SetMinGasPriceOverride' | 'SetXcmAllowedLocations' | 'SetAppPromotionConfigurationOverride';1321}13221323/** @name PalletConfigurationError */1324export interface PalletConfigurationError extends Enum {1325  readonly isInconsistentConfiguration: boolean;1326  readonly type: 'InconsistentConfiguration';1327}13281329/** @name PalletEthereumCall */1330export interface PalletEthereumCall extends Enum {1331  readonly isTransact: boolean;1332  readonly asTransact: {1333    readonly transaction: EthereumTransactionTransactionV2;1334  } & Struct;1335  readonly type: 'Transact';1336}13371338/** @name PalletEthereumError */1339export interface PalletEthereumError extends Enum {1340  readonly isInvalidSignature: boolean;1341  readonly isPreLogExists: boolean;1342  readonly type: 'InvalidSignature' | 'PreLogExists';1343}13441345/** @name PalletEthereumEvent */1346export interface PalletEthereumEvent extends Enum {1347  readonly isExecuted: boolean;1348  readonly asExecuted: {1349    readonly from: H160;1350    readonly to: H160;1351    readonly transactionHash: H256;1352    readonly exitReason: EvmCoreErrorExitReason;1353  } & Struct;1354  readonly type: 'Executed';1355}13561357/** @name PalletEthereumFakeTransactionFinalizer */1358export interface PalletEthereumFakeTransactionFinalizer extends Null {}13591360/** @name PalletEvmAccountBasicCrossAccountIdRepr */1361export interface PalletEvmAccountBasicCrossAccountIdRepr extends Enum {1362  readonly isSubstrate: boolean;1363  readonly asSubstrate: AccountId32;1364  readonly isEthereum: boolean;1365  readonly asEthereum: H160;1366  readonly type: 'Substrate' | 'Ethereum';1367}13681369/** @name PalletEvmCall */1370export interface PalletEvmCall extends Enum {1371  readonly isWithdraw: boolean;1372  readonly asWithdraw: {1373    readonly address: H160;1374    readonly value: u128;1375  } & Struct;1376  readonly isCall: boolean;1377  readonly asCall: {1378    readonly source: H160;1379    readonly target: H160;1380    readonly input: Bytes;1381    readonly value: U256;1382    readonly gasLimit: u64;1383    readonly maxFeePerGas: U256;1384    readonly maxPriorityFeePerGas: Option<U256>;1385    readonly nonce: Option<U256>;1386    readonly accessList: Vec<ITuple<[H160, Vec<H256>]>>;1387  } & Struct;1388  readonly isCreate: boolean;1389  readonly asCreate: {1390    readonly source: H160;1391    readonly init: Bytes;1392    readonly value: U256;1393    readonly gasLimit: u64;1394    readonly maxFeePerGas: U256;1395    readonly maxPriorityFeePerGas: Option<U256>;1396    readonly nonce: Option<U256>;1397    readonly accessList: Vec<ITuple<[H160, Vec<H256>]>>;1398  } & Struct;1399  readonly isCreate2: boolean;1400  readonly asCreate2: {1401    readonly source: H160;1402    readonly init: Bytes;1403    readonly salt: H256;1404    readonly value: U256;1405    readonly gasLimit: u64;1406    readonly maxFeePerGas: U256;1407    readonly maxPriorityFeePerGas: Option<U256>;1408    readonly nonce: Option<U256>;1409    readonly accessList: Vec<ITuple<[H160, Vec<H256>]>>;1410  } & Struct;1411  readonly type: 'Withdraw' | 'Call' | 'Create' | 'Create2';1412}14131414/** @name PalletEvmCoderSubstrateError */1415export interface PalletEvmCoderSubstrateError extends Enum {1416  readonly isOutOfGas: boolean;1417  readonly isOutOfFund: boolean;1418  readonly type: 'OutOfGas' | 'OutOfFund';1419}14201421/** @name PalletEvmContractHelpersError */1422export interface PalletEvmContractHelpersError extends Enum {1423  readonly isNoPermission: boolean;1424  readonly isNoPendingSponsor: boolean;1425  readonly isTooManyMethodsHaveSponsoredLimit: boolean;1426  readonly type: 'NoPermission' | 'NoPendingSponsor' | 'TooManyMethodsHaveSponsoredLimit';1427}14281429/** @name PalletEvmContractHelpersEvent */1430export interface PalletEvmContractHelpersEvent extends Enum {1431  readonly isContractSponsorSet: boolean;1432  readonly asContractSponsorSet: ITuple<[H160, AccountId32]>;1433  readonly isContractSponsorshipConfirmed: boolean;1434  readonly asContractSponsorshipConfirmed: ITuple<[H160, AccountId32]>;1435  readonly isContractSponsorRemoved: boolean;1436  readonly asContractSponsorRemoved: H160;1437  readonly type: 'ContractSponsorSet' | 'ContractSponsorshipConfirmed' | 'ContractSponsorRemoved';1438}14391440/** @name PalletEvmContractHelpersSponsoringModeT */1441export interface PalletEvmContractHelpersSponsoringModeT extends Enum {1442  readonly isDisabled: boolean;1443  readonly isAllowlisted: boolean;1444  readonly isGenerous: boolean;1445  readonly type: 'Disabled' | 'Allowlisted' | 'Generous';1446}14471448/** @name PalletEvmError */1449export interface PalletEvmError extends Enum {1450  readonly isBalanceLow: boolean;1451  readonly isFeeOverflow: boolean;1452  readonly isPaymentOverflow: boolean;1453  readonly isWithdrawFailed: boolean;1454  readonly isGasPriceTooLow: boolean;1455  readonly isInvalidNonce: boolean;1456  readonly isGasLimitTooLow: boolean;1457  readonly isGasLimitTooHigh: boolean;1458  readonly isUndefined: boolean;1459  readonly isReentrancy: boolean;1460  readonly type: 'BalanceLow' | 'FeeOverflow' | 'PaymentOverflow' | 'WithdrawFailed' | 'GasPriceTooLow' | 'InvalidNonce' | 'GasLimitTooLow' | 'GasLimitTooHigh' | 'Undefined' | 'Reentrancy';1461}14621463/** @name PalletEvmEvent */1464export interface PalletEvmEvent extends Enum {1465  readonly isLog: boolean;1466  readonly asLog: {1467    readonly log: EthereumLog;1468  } & Struct;1469  readonly isCreated: boolean;1470  readonly asCreated: {1471    readonly address: H160;1472  } & Struct;1473  readonly isCreatedFailed: boolean;1474  readonly asCreatedFailed: {1475    readonly address: H160;1476  } & Struct;1477  readonly isExecuted: boolean;1478  readonly asExecuted: {1479    readonly address: H160;1480  } & Struct;1481  readonly isExecutedFailed: boolean;1482  readonly asExecutedFailed: {1483    readonly address: H160;1484  } & Struct;1485  readonly type: 'Log' | 'Created' | 'CreatedFailed' | 'Executed' | 'ExecutedFailed';1486}14871488/** @name PalletEvmMigrationCall */1489export interface PalletEvmMigrationCall extends Enum {1490  readonly isBegin: boolean;1491  readonly asBegin: {1492    readonly address: H160;1493  } & Struct;1494  readonly isSetData: boolean;1495  readonly asSetData: {1496    readonly address: H160;1497    readonly data: Vec<ITuple<[H256, H256]>>;1498  } & Struct;1499  readonly isFinish: boolean;1500  readonly asFinish: {1501    readonly address: H160;1502    readonly code: Bytes;1503  } & Struct;1504  readonly isInsertEthLogs: boolean;1505  readonly asInsertEthLogs: {1506    readonly logs: Vec<EthereumLog>;1507  } & Struct;1508  readonly isInsertEvents: boolean;1509  readonly asInsertEvents: {1510    readonly events: Vec<Bytes>;1511  } & Struct;1512  readonly type: 'Begin' | 'SetData' | 'Finish' | 'InsertEthLogs' | 'InsertEvents';1513}15141515/** @name PalletEvmMigrationError */1516export interface PalletEvmMigrationError extends Enum {1517  readonly isAccountNotEmpty: boolean;1518  readonly isAccountIsNotMigrating: boolean;1519  readonly isBadEvent: boolean;1520  readonly type: 'AccountNotEmpty' | 'AccountIsNotMigrating' | 'BadEvent';1521}15221523/** @name PalletEvmMigrationEvent */1524export interface PalletEvmMigrationEvent extends Enum {1525  readonly isTestEvent: boolean;1526  readonly type: 'TestEvent';1527}15281529/** @name PalletForeignAssetsAssetIds */1530export interface PalletForeignAssetsAssetIds extends Enum {1531  readonly isForeignAssetId: boolean;1532  readonly asForeignAssetId: u32;1533  readonly isNativeAssetId: boolean;1534  readonly asNativeAssetId: PalletForeignAssetsNativeCurrency;1535  readonly type: 'ForeignAssetId' | 'NativeAssetId';1536}15371538/** @name PalletForeignAssetsModuleAssetMetadata */1539export interface PalletForeignAssetsModuleAssetMetadata extends Struct {1540  readonly name: Bytes;1541  readonly symbol: Bytes;1542  readonly decimals: u8;1543  readonly minimalBalance: u128;1544}15451546/** @name PalletForeignAssetsModuleCall */1547export interface PalletForeignAssetsModuleCall extends Enum {1548  readonly isRegisterForeignAsset: boolean;1549  readonly asRegisterForeignAsset: {1550    readonly owner: AccountId32;1551    readonly location: XcmVersionedMultiLocation;1552    readonly metadata: PalletForeignAssetsModuleAssetMetadata;1553  } & Struct;1554  readonly isUpdateForeignAsset: boolean;1555  readonly asUpdateForeignAsset: {1556    readonly foreignAssetId: u32;1557    readonly location: XcmVersionedMultiLocation;1558    readonly metadata: PalletForeignAssetsModuleAssetMetadata;1559  } & Struct;1560  readonly type: 'RegisterForeignAsset' | 'UpdateForeignAsset';1561}15621563/** @name PalletForeignAssetsModuleError */1564export interface PalletForeignAssetsModuleError extends Enum {1565  readonly isBadLocation: boolean;1566  readonly isMultiLocationExisted: boolean;1567  readonly isAssetIdNotExists: boolean;1568  readonly isAssetIdExisted: boolean;1569  readonly type: 'BadLocation' | 'MultiLocationExisted' | 'AssetIdNotExists' | 'AssetIdExisted';1570}15711572/** @name PalletForeignAssetsModuleEvent */1573export interface PalletForeignAssetsModuleEvent extends Enum {1574  readonly isForeignAssetRegistered: boolean;1575  readonly asForeignAssetRegistered: {1576    readonly assetId: u32;1577    readonly assetAddress: XcmV1MultiLocation;1578    readonly metadata: PalletForeignAssetsModuleAssetMetadata;1579  } & Struct;1580  readonly isForeignAssetUpdated: boolean;1581  readonly asForeignAssetUpdated: {1582    readonly assetId: u32;1583    readonly assetAddress: XcmV1MultiLocation;1584    readonly metadata: PalletForeignAssetsModuleAssetMetadata;1585  } & Struct;1586  readonly isAssetRegistered: boolean;1587  readonly asAssetRegistered: {1588    readonly assetId: PalletForeignAssetsAssetIds;1589    readonly metadata: PalletForeignAssetsModuleAssetMetadata;1590  } & Struct;1591  readonly isAssetUpdated: boolean;1592  readonly asAssetUpdated: {1593    readonly assetId: PalletForeignAssetsAssetIds;1594    readonly metadata: PalletForeignAssetsModuleAssetMetadata;1595  } & Struct;1596  readonly type: 'ForeignAssetRegistered' | 'ForeignAssetUpdated' | 'AssetRegistered' | 'AssetUpdated';1597}15981599/** @name PalletForeignAssetsNativeCurrency */1600export interface PalletForeignAssetsNativeCurrency extends Enum {1601  readonly isHere: boolean;1602  readonly isParent: boolean;1603  readonly type: 'Here' | 'Parent';1604}16051606/** @name PalletFungibleError */1607export interface PalletFungibleError extends Enum {1608  readonly isNotFungibleDataUsedToMintFungibleCollectionToken: boolean;1609  readonly isFungibleItemsHaveNoId: boolean;1610  readonly isFungibleItemsDontHaveData: boolean;1611  readonly isFungibleDisallowsNesting: boolean;1612  readonly isSettingPropertiesNotAllowed: boolean;1613  readonly isSettingAllowanceForAllNotAllowed: boolean;1614  readonly isFungibleTokensAreAlwaysValid: boolean;1615  readonly type: 'NotFungibleDataUsedToMintFungibleCollectionToken' | 'FungibleItemsHaveNoId' | 'FungibleItemsDontHaveData' | 'FungibleDisallowsNesting' | 'SettingPropertiesNotAllowed' | 'SettingAllowanceForAllNotAllowed' | 'FungibleTokensAreAlwaysValid';1616}16171618/** @name PalletInflationCall */1619export interface PalletInflationCall extends Enum {1620  readonly isStartInflation: boolean;1621  readonly asStartInflation: {1622    readonly inflationStartRelayBlock: u32;1623  } & Struct;1624  readonly type: 'StartInflation';1625}16261627/** @name PalletMaintenanceCall */1628export interface PalletMaintenanceCall extends Enum {1629  readonly isEnable: boolean;1630  readonly isDisable: boolean;1631  readonly type: 'Enable' | 'Disable';1632}16331634/** @name PalletMaintenanceError */1635export interface PalletMaintenanceError extends Null {}16361637/** @name PalletMaintenanceEvent */1638export interface PalletMaintenanceEvent extends Enum {1639  readonly isMaintenanceEnabled: boolean;1640  readonly isMaintenanceDisabled: boolean;1641  readonly type: 'MaintenanceEnabled' | 'MaintenanceDisabled';1642}16431644/** @name PalletNonfungibleError */1645export interface PalletNonfungibleError extends Enum {1646  readonly isNotNonfungibleDataUsedToMintFungibleCollectionToken: boolean;1647  readonly isNonfungibleItemsHaveNoAmount: boolean;1648  readonly isCantBurnNftWithChildren: boolean;1649  readonly type: 'NotNonfungibleDataUsedToMintFungibleCollectionToken' | 'NonfungibleItemsHaveNoAmount' | 'CantBurnNftWithChildren';1650}16511652/** @name PalletNonfungibleItemData */1653export interface PalletNonfungibleItemData extends Struct {1654  readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;1655}16561657/** @name PalletRefungibleError */1658export interface PalletRefungibleError extends Enum {1659  readonly isNotRefungibleDataUsedToMintFungibleCollectionToken: boolean;1660  readonly isWrongRefungiblePieces: boolean;1661  readonly isRepartitionWhileNotOwningAllPieces: boolean;1662  readonly isRefungibleDisallowsNesting: boolean;1663  readonly isSettingPropertiesNotAllowed: boolean;1664  readonly type: 'NotRefungibleDataUsedToMintFungibleCollectionToken' | 'WrongRefungiblePieces' | 'RepartitionWhileNotOwningAllPieces' | 'RefungibleDisallowsNesting' | 'SettingPropertiesNotAllowed';1665}16661667/** @name PalletRefungibleItemData */1668export interface PalletRefungibleItemData extends Struct {1669  readonly constData: Bytes;1670}16711672/** @name PalletRmrkCoreCall */1673export interface PalletRmrkCoreCall extends Enum {1674  readonly isCreateCollection: boolean;1675  readonly asCreateCollection: {1676    readonly metadata: Bytes;1677    readonly max: Option<u32>;1678    readonly symbol: Bytes;1679  } & Struct;1680  readonly isDestroyCollection: boolean;1681  readonly asDestroyCollection: {1682    readonly collectionId: u32;1683  } & Struct;1684  readonly isChangeCollectionIssuer: boolean;1685  readonly asChangeCollectionIssuer: {1686    readonly collectionId: u32;1687    readonly newIssuer: MultiAddress;1688  } & Struct;1689  readonly isLockCollection: boolean;1690  readonly asLockCollection: {1691    readonly collectionId: u32;1692  } & Struct;1693  readonly isMintNft: boolean;1694  readonly asMintNft: {1695    readonly owner: Option<AccountId32>;1696    readonly collectionId: u32;1697    readonly recipient: Option<AccountId32>;1698    readonly royaltyAmount: Option<Permill>;1699    readonly metadata: Bytes;1700    readonly transferable: bool;1701    readonly resources: Option<Vec<RmrkTraitsResourceResourceTypes>>;1702  } & Struct;1703  readonly isBurnNft: boolean;1704  readonly asBurnNft: {1705    readonly collectionId: u32;1706    readonly nftId: u32;1707    readonly maxBurns: u32;1708  } & Struct;1709  readonly isSend: boolean;1710  readonly asSend: {1711    readonly rmrkCollectionId: u32;1712    readonly rmrkNftId: u32;1713    readonly newOwner: RmrkTraitsNftAccountIdOrCollectionNftTuple;1714  } & Struct;1715  readonly isAcceptNft: boolean;1716  readonly asAcceptNft: {1717    readonly rmrkCollectionId: u32;1718    readonly rmrkNftId: u32;1719    readonly newOwner: RmrkTraitsNftAccountIdOrCollectionNftTuple;1720  } & Struct;1721  readonly isRejectNft: boolean;1722  readonly asRejectNft: {1723    readonly rmrkCollectionId: u32;1724    readonly rmrkNftId: u32;1725  } & Struct;1726  readonly isAcceptResource: boolean;1727  readonly asAcceptResource: {1728    readonly rmrkCollectionId: u32;1729    readonly rmrkNftId: u32;1730    readonly resourceId: u32;1731  } & Struct;1732  readonly isAcceptResourceRemoval: boolean;1733  readonly asAcceptResourceRemoval: {1734    readonly rmrkCollectionId: u32;1735    readonly rmrkNftId: u32;1736    readonly resourceId: u32;1737  } & Struct;1738  readonly isSetProperty: boolean;1739  readonly asSetProperty: {1740    readonly rmrkCollectionId: Compact<u32>;1741    readonly maybeNftId: Option<u32>;1742    readonly key: Bytes;1743    readonly value: Bytes;1744  } & Struct;1745  readonly isSetPriority: boolean;1746  readonly asSetPriority: {1747    readonly rmrkCollectionId: u32;1748    readonly rmrkNftId: u32;1749    readonly priorities: Vec<u32>;1750  } & Struct;1751  readonly isAddBasicResource: boolean;1752  readonly asAddBasicResource: {1753    readonly rmrkCollectionId: u32;1754    readonly nftId: u32;1755    readonly resource: RmrkTraitsResourceBasicResource;1756  } & Struct;1757  readonly isAddComposableResource: boolean;1758  readonly asAddComposableResource: {1759    readonly rmrkCollectionId: u32;1760    readonly nftId: u32;1761    readonly resource: RmrkTraitsResourceComposableResource;1762  } & Struct;1763  readonly isAddSlotResource: boolean;1764  readonly asAddSlotResource: {1765    readonly rmrkCollectionId: u32;1766    readonly nftId: u32;1767    readonly resource: RmrkTraitsResourceSlotResource;1768  } & Struct;1769  readonly isRemoveResource: boolean;1770  readonly asRemoveResource: {1771    readonly rmrkCollectionId: u32;1772    readonly nftId: u32;1773    readonly resourceId: u32;1774  } & Struct;1775  readonly type: 'CreateCollection' | 'DestroyCollection' | 'ChangeCollectionIssuer' | 'LockCollection' | 'MintNft' | 'BurnNft' | 'Send' | 'AcceptNft' | 'RejectNft' | 'AcceptResource' | 'AcceptResourceRemoval' | 'SetProperty' | 'SetPriority' | 'AddBasicResource' | 'AddComposableResource' | 'AddSlotResource' | 'RemoveResource';1776}17771778/** @name PalletRmrkCoreError */1779export interface PalletRmrkCoreError extends Enum {1780  readonly isCorruptedCollectionType: boolean;1781  readonly isRmrkPropertyKeyIsTooLong: boolean;1782  readonly isRmrkPropertyValueIsTooLong: boolean;1783  readonly isRmrkPropertyIsNotFound: boolean;1784  readonly isUnableToDecodeRmrkData: boolean;1785  readonly isCollectionNotEmpty: boolean;1786  readonly isNoAvailableCollectionId: boolean;1787  readonly isNoAvailableNftId: boolean;1788  readonly isCollectionUnknown: boolean;1789  readonly isNoPermission: boolean;1790  readonly isNonTransferable: boolean;1791  readonly isCollectionFullOrLocked: boolean;1792  readonly isResourceDoesntExist: boolean;1793  readonly isCannotSendToDescendentOrSelf: boolean;1794  readonly isCannotAcceptNonOwnedNft: boolean;1795  readonly isCannotRejectNonOwnedNft: boolean;1796  readonly isCannotRejectNonPendingNft: boolean;1797  readonly isResourceNotPending: boolean;1798  readonly isNoAvailableResourceId: boolean;1799  readonly type: 'CorruptedCollectionType' | 'RmrkPropertyKeyIsTooLong' | 'RmrkPropertyValueIsTooLong' | 'RmrkPropertyIsNotFound' | 'UnableToDecodeRmrkData' | 'CollectionNotEmpty' | 'NoAvailableCollectionId' | 'NoAvailableNftId' | 'CollectionUnknown' | 'NoPermission' | 'NonTransferable' | 'CollectionFullOrLocked' | 'ResourceDoesntExist' | 'CannotSendToDescendentOrSelf' | 'CannotAcceptNonOwnedNft' | 'CannotRejectNonOwnedNft' | 'CannotRejectNonPendingNft' | 'ResourceNotPending' | 'NoAvailableResourceId';1800}18011802/** @name PalletRmrkCoreEvent */1803export interface PalletRmrkCoreEvent extends Enum {1804  readonly isCollectionCreated: boolean;1805  readonly asCollectionCreated: {1806    readonly issuer: AccountId32;1807    readonly collectionId: u32;1808  } & Struct;1809  readonly isCollectionDestroyed: boolean;1810  readonly asCollectionDestroyed: {1811    readonly issuer: AccountId32;1812    readonly collectionId: u32;1813  } & Struct;1814  readonly isIssuerChanged: boolean;1815  readonly asIssuerChanged: {1816    readonly oldIssuer: AccountId32;1817    readonly newIssuer: AccountId32;1818    readonly collectionId: u32;1819  } & Struct;1820  readonly isCollectionLocked: boolean;1821  readonly asCollectionLocked: {1822    readonly issuer: AccountId32;1823    readonly collectionId: u32;1824  } & Struct;1825  readonly isNftMinted: boolean;1826  readonly asNftMinted: {1827    readonly owner: AccountId32;1828    readonly collectionId: u32;1829    readonly nftId: u32;1830  } & Struct;1831  readonly isNftBurned: boolean;1832  readonly asNftBurned: {1833    readonly owner: AccountId32;1834    readonly nftId: u32;1835  } & Struct;1836  readonly isNftSent: boolean;1837  readonly asNftSent: {1838    readonly sender: AccountId32;1839    readonly recipient: RmrkTraitsNftAccountIdOrCollectionNftTuple;1840    readonly collectionId: u32;1841    readonly nftId: u32;1842    readonly approvalRequired: bool;1843  } & Struct;1844  readonly isNftAccepted: boolean;1845  readonly asNftAccepted: {1846    readonly sender: AccountId32;1847    readonly recipient: RmrkTraitsNftAccountIdOrCollectionNftTuple;1848    readonly collectionId: u32;1849    readonly nftId: u32;1850  } & Struct;1851  readonly isNftRejected: boolean;1852  readonly asNftRejected: {1853    readonly sender: AccountId32;1854    readonly collectionId: u32;1855    readonly nftId: u32;1856  } & Struct;1857  readonly isPropertySet: boolean;1858  readonly asPropertySet: {1859    readonly collectionId: u32;1860    readonly maybeNftId: Option<u32>;1861    readonly key: Bytes;1862    readonly value: Bytes;1863  } & Struct;1864  readonly isResourceAdded: boolean;1865  readonly asResourceAdded: {1866    readonly nftId: u32;1867    readonly resourceId: u32;1868  } & Struct;1869  readonly isResourceRemoval: boolean;1870  readonly asResourceRemoval: {1871    readonly nftId: u32;1872    readonly resourceId: u32;1873  } & Struct;1874  readonly isResourceAccepted: boolean;1875  readonly asResourceAccepted: {1876    readonly nftId: u32;1877    readonly resourceId: u32;1878  } & Struct;1879  readonly isResourceRemovalAccepted: boolean;1880  readonly asResourceRemovalAccepted: {1881    readonly nftId: u32;1882    readonly resourceId: u32;1883  } & Struct;1884  readonly isPrioritySet: boolean;1885  readonly asPrioritySet: {1886    readonly collectionId: u32;1887    readonly nftId: u32;1888  } & Struct;1889  readonly type: 'CollectionCreated' | 'CollectionDestroyed' | 'IssuerChanged' | 'CollectionLocked' | 'NftMinted' | 'NftBurned' | 'NftSent' | 'NftAccepted' | 'NftRejected' | 'PropertySet' | 'ResourceAdded' | 'ResourceRemoval' | 'ResourceAccepted' | 'ResourceRemovalAccepted' | 'PrioritySet';1890}18911892/** @name PalletRmrkEquipCall */1893export interface PalletRmrkEquipCall extends Enum {1894  readonly isCreateBase: boolean;1895  readonly asCreateBase: {1896    readonly baseType: Bytes;1897    readonly symbol: Bytes;1898    readonly parts: Vec<RmrkTraitsPartPartType>;1899  } & Struct;1900  readonly isThemeAdd: boolean;1901  readonly asThemeAdd: {1902    readonly baseId: u32;1903    readonly theme: RmrkTraitsTheme;1904  } & Struct;1905  readonly isEquippable: boolean;1906  readonly asEquippable: {1907    readonly baseId: u32;1908    readonly slotId: u32;1909    readonly equippables: RmrkTraitsPartEquippableList;1910  } & Struct;1911  readonly type: 'CreateBase' | 'ThemeAdd' | 'Equippable';1912}19131914/** @name PalletRmrkEquipError */1915export interface PalletRmrkEquipError extends Enum {1916  readonly isPermissionError: boolean;1917  readonly isNoAvailableBaseId: boolean;1918  readonly isNoAvailablePartId: boolean;1919  readonly isBaseDoesntExist: boolean;1920  readonly isNeedsDefaultThemeFirst: boolean;1921  readonly isPartDoesntExist: boolean;1922  readonly isNoEquippableOnFixedPart: boolean;1923  readonly type: 'PermissionError' | 'NoAvailableBaseId' | 'NoAvailablePartId' | 'BaseDoesntExist' | 'NeedsDefaultThemeFirst' | 'PartDoesntExist' | 'NoEquippableOnFixedPart';1924}19251926/** @name PalletRmrkEquipEvent */1927export interface PalletRmrkEquipEvent extends Enum {1928  readonly isBaseCreated: boolean;1929  readonly asBaseCreated: {1930    readonly issuer: AccountId32;1931    readonly baseId: u32;1932  } & Struct;1933  readonly isEquippablesUpdated: boolean;1934  readonly asEquippablesUpdated: {1935    readonly baseId: u32;1936    readonly slotId: u32;1937  } & Struct;1938  readonly type: 'BaseCreated' | 'EquippablesUpdated';1939}19401941/** @name PalletStructureCall */1942export interface PalletStructureCall extends Null {}19431944/** @name PalletStructureError */1945export interface PalletStructureError extends Enum {1946  readonly isOuroborosDetected: boolean;1947  readonly isDepthLimit: boolean;1948  readonly isBreadthLimit: boolean;1949  readonly isTokenNotFound: boolean;1950  readonly type: 'OuroborosDetected' | 'DepthLimit' | 'BreadthLimit' | 'TokenNotFound';1951}19521953/** @name PalletStructureEvent */1954export interface PalletStructureEvent extends Enum {1955  readonly isExecuted: boolean;1956  readonly asExecuted: Result<Null, SpRuntimeDispatchError>;1957  readonly type: 'Executed';1958}19591960/** @name PalletSudoCall */1961export interface PalletSudoCall extends Enum {1962  readonly isSudo: boolean;1963  readonly asSudo: {1964    readonly call: Call;1965  } & Struct;1966  readonly isSudoUncheckedWeight: boolean;1967  readonly asSudoUncheckedWeight: {1968    readonly call: Call;1969    readonly weight: SpWeightsWeightV2Weight;1970  } & Struct;1971  readonly isSetKey: boolean;1972  readonly asSetKey: {1973    readonly new_: MultiAddress;1974  } & Struct;1975  readonly isSudoAs: boolean;1976  readonly asSudoAs: {1977    readonly who: MultiAddress;1978    readonly call: Call;1979  } & Struct;1980  readonly type: 'Sudo' | 'SudoUncheckedWeight' | 'SetKey' | 'SudoAs';1981}19821983/** @name PalletSudoError */1984export interface PalletSudoError extends Enum {1985  readonly isRequireSudo: boolean;1986  readonly type: 'RequireSudo';1987}19881989/** @name PalletSudoEvent */1990export interface PalletSudoEvent extends Enum {1991  readonly isSudid: boolean;1992  readonly asSudid: {1993    readonly sudoResult: Result<Null, SpRuntimeDispatchError>;1994  } & Struct;1995  readonly isKeyChanged: boolean;1996  readonly asKeyChanged: {1997    readonly oldSudoer: Option<AccountId32>;1998  } & Struct;1999  readonly isSudoAsDone: boolean;2000  readonly asSudoAsDone: {2001    readonly sudoResult: Result<Null, SpRuntimeDispatchError>;2002  } & Struct;2003  readonly type: 'Sudid' | 'KeyChanged' | 'SudoAsDone';2004}20052006/** @name PalletTemplateTransactionPaymentCall */2007export interface PalletTemplateTransactionPaymentCall extends Null {}20082009/** @name PalletTemplateTransactionPaymentChargeTransactionPayment */2010export interface PalletTemplateTransactionPaymentChargeTransactionPayment extends Compact<u128> {}20112012/** @name PalletTestUtilsCall */2013export interface PalletTestUtilsCall extends Enum {2014  readonly isEnable: boolean;2015  readonly isSetTestValue: boolean;2016  readonly asSetTestValue: {2017    readonly value: u32;2018  } & Struct;2019  readonly isSetTestValueAndRollback: boolean;2020  readonly asSetTestValueAndRollback: {2021    readonly value: u32;2022  } & Struct;2023  readonly isIncTestValue: boolean;2024  readonly isJustTakeFee: boolean;2025  readonly isBatchAll: boolean;2026  readonly asBatchAll: {2027    readonly calls: Vec<Call>;2028  } & Struct;2029  readonly type: 'Enable' | 'SetTestValue' | 'SetTestValueAndRollback' | 'IncTestValue' | 'JustTakeFee' | 'BatchAll';2030}20312032/** @name PalletTestUtilsError */2033export interface PalletTestUtilsError extends Enum {2034  readonly isTestPalletDisabled: boolean;2035  readonly isTriggerRollback: boolean;2036  readonly type: 'TestPalletDisabled' | 'TriggerRollback';2037}20382039/** @name PalletTestUtilsEvent */2040export interface PalletTestUtilsEvent extends Enum {2041  readonly isValueIsSet: boolean;2042  readonly isShouldRollback: boolean;2043  readonly isBatchCompleted: boolean;2044  readonly type: 'ValueIsSet' | 'ShouldRollback' | 'BatchCompleted';2045}20462047/** @name PalletTimestampCall */2048export interface PalletTimestampCall extends Enum {2049  readonly isSet: boolean;2050  readonly asSet: {2051    readonly now: Compact<u64>;2052  } & Struct;2053  readonly type: 'Set';2054}20552056/** @name PalletTransactionPaymentEvent */2057export interface PalletTransactionPaymentEvent extends Enum {2058  readonly isTransactionFeePaid: boolean;2059  readonly asTransactionFeePaid: {2060    readonly who: AccountId32;2061    readonly actualFee: u128;2062    readonly tip: u128;2063  } & Struct;2064  readonly type: 'TransactionFeePaid';2065}20662067/** @name PalletTransactionPaymentReleases */2068export interface PalletTransactionPaymentReleases extends Enum {2069  readonly isV1Ancient: boolean;2070  readonly isV2: boolean;2071  readonly type: 'V1Ancient' | 'V2';2072}20732074/** @name PalletTreasuryCall */2075export interface PalletTreasuryCall extends Enum {2076  readonly isProposeSpend: boolean;2077  readonly asProposeSpend: {2078    readonly value: Compact<u128>;2079    readonly beneficiary: MultiAddress;2080  } & Struct;2081  readonly isRejectProposal: boolean;2082  readonly asRejectProposal: {2083    readonly proposalId: Compact<u32>;2084  } & Struct;2085  readonly isApproveProposal: boolean;2086  readonly asApproveProposal: {2087    readonly proposalId: Compact<u32>;2088  } & Struct;2089  readonly isSpend: boolean;2090  readonly asSpend: {2091    readonly amount: Compact<u128>;2092    readonly beneficiary: MultiAddress;2093  } & Struct;2094  readonly isRemoveApproval: boolean;2095  readonly asRemoveApproval: {2096    readonly proposalId: Compact<u32>;2097  } & Struct;2098  readonly type: 'ProposeSpend' | 'RejectProposal' | 'ApproveProposal' | 'Spend' | 'RemoveApproval';2099}21002101/** @name PalletTreasuryError */2102export interface PalletTreasuryError extends Enum {2103  readonly isInsufficientProposersBalance: boolean;2104  readonly isInvalidIndex: boolean;2105  readonly isTooManyApprovals: boolean;2106  readonly isInsufficientPermission: boolean;2107  readonly isProposalNotApproved: boolean;2108  readonly type: 'InsufficientProposersBalance' | 'InvalidIndex' | 'TooManyApprovals' | 'InsufficientPermission' | 'ProposalNotApproved';2109}21102111/** @name PalletTreasuryEvent */2112export interface PalletTreasuryEvent extends Enum {2113  readonly isProposed: boolean;2114  readonly asProposed: {2115    readonly proposalIndex: u32;2116  } & Struct;2117  readonly isSpending: boolean;2118  readonly asSpending: {2119    readonly budgetRemaining: u128;2120  } & Struct;2121  readonly isAwarded: boolean;2122  readonly asAwarded: {2123    readonly proposalIndex: u32;2124    readonly award: u128;2125    readonly account: AccountId32;2126  } & Struct;2127  readonly isRejected: boolean;2128  readonly asRejected: {2129    readonly proposalIndex: u32;2130    readonly slashed: u128;2131  } & Struct;2132  readonly isBurnt: boolean;2133  readonly asBurnt: {2134    readonly burntFunds: u128;2135  } & Struct;2136  readonly isRollover: boolean;2137  readonly asRollover: {2138    readonly rolloverBalance: u128;2139  } & Struct;2140  readonly isDeposit: boolean;2141  readonly asDeposit: {2142    readonly value: u128;2143  } & Struct;2144  readonly isSpendApproved: boolean;2145  readonly asSpendApproved: {2146    readonly proposalIndex: u32;2147    readonly amount: u128;2148    readonly beneficiary: AccountId32;2149  } & Struct;2150  readonly type: 'Proposed' | 'Spending' | 'Awarded' | 'Rejected' | 'Burnt' | 'Rollover' | 'Deposit' | 'SpendApproved';2151}21522153/** @name PalletTreasuryProposal */2154export interface PalletTreasuryProposal extends Struct {2155  readonly proposer: AccountId32;2156  readonly value: u128;2157  readonly beneficiary: AccountId32;2158  readonly bond: u128;2159}21602161/** @name PalletUniqueCall */2162export interface PalletUniqueCall extends Enum {2163  readonly isCreateCollection: boolean;2164  readonly asCreateCollection: {2165    readonly collectionName: Vec<u16>;2166    readonly collectionDescription: Vec<u16>;2167    readonly tokenPrefix: Bytes;2168    readonly mode: UpDataStructsCollectionMode;2169  } & Struct;2170  readonly isCreateCollectionEx: boolean;2171  readonly asCreateCollectionEx: {2172    readonly data: UpDataStructsCreateCollectionData;2173  } & Struct;2174  readonly isDestroyCollection: boolean;2175  readonly asDestroyCollection: {2176    readonly collectionId: u32;2177  } & Struct;2178  readonly isAddToAllowList: boolean;2179  readonly asAddToAllowList: {2180    readonly collectionId: u32;2181    readonly address: PalletEvmAccountBasicCrossAccountIdRepr;2182  } & Struct;2183  readonly isRemoveFromAllowList: boolean;2184  readonly asRemoveFromAllowList: {2185    readonly collectionId: u32;2186    readonly address: PalletEvmAccountBasicCrossAccountIdRepr;2187  } & Struct;2188  readonly isChangeCollectionOwner: boolean;2189  readonly asChangeCollectionOwner: {2190    readonly collectionId: u32;2191    readonly newOwner: AccountId32;2192  } & Struct;2193  readonly isAddCollectionAdmin: boolean;2194  readonly asAddCollectionAdmin: {2195    readonly collectionId: u32;2196    readonly newAdminId: PalletEvmAccountBasicCrossAccountIdRepr;2197  } & Struct;2198  readonly isRemoveCollectionAdmin: boolean;2199  readonly asRemoveCollectionAdmin: {2200    readonly collectionId: u32;2201    readonly accountId: PalletEvmAccountBasicCrossAccountIdRepr;2202  } & Struct;2203  readonly isSetCollectionSponsor: boolean;2204  readonly asSetCollectionSponsor: {2205    readonly collectionId: u32;2206    readonly newSponsor: AccountId32;2207  } & Struct;2208  readonly isConfirmSponsorship: boolean;2209  readonly asConfirmSponsorship: {2210    readonly collectionId: u32;2211  } & Struct;2212  readonly isRemoveCollectionSponsor: boolean;2213  readonly asRemoveCollectionSponsor: {2214    readonly collectionId: u32;2215  } & Struct;2216  readonly isCreateItem: boolean;2217  readonly asCreateItem: {2218    readonly collectionId: u32;2219    readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;2220    readonly data: UpDataStructsCreateItemData;2221  } & Struct;2222  readonly isCreateMultipleItems: boolean;2223  readonly asCreateMultipleItems: {2224    readonly collectionId: u32;2225    readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;2226    readonly itemsData: Vec<UpDataStructsCreateItemData>;2227  } & Struct;2228  readonly isSetCollectionProperties: boolean;2229  readonly asSetCollectionProperties: {2230    readonly collectionId: u32;2231    readonly properties: Vec<UpDataStructsProperty>;2232  } & Struct;2233  readonly isDeleteCollectionProperties: boolean;2234  readonly asDeleteCollectionProperties: {2235    readonly collectionId: u32;2236    readonly propertyKeys: Vec<Bytes>;2237  } & Struct;2238  readonly isSetTokenProperties: boolean;2239  readonly asSetTokenProperties: {2240    readonly collectionId: u32;2241    readonly tokenId: u32;2242    readonly properties: Vec<UpDataStructsProperty>;2243  } & Struct;2244  readonly isDeleteTokenProperties: boolean;2245  readonly asDeleteTokenProperties: {2246    readonly collectionId: u32;2247    readonly tokenId: u32;2248    readonly propertyKeys: Vec<Bytes>;2249  } & Struct;2250  readonly isSetTokenPropertyPermissions: boolean;2251  readonly asSetTokenPropertyPermissions: {2252    readonly collectionId: u32;2253    readonly propertyPermissions: Vec<UpDataStructsPropertyKeyPermission>;2254  } & Struct;2255  readonly isCreateMultipleItemsEx: boolean;2256  readonly asCreateMultipleItemsEx: {2257    readonly collectionId: u32;2258    readonly data: UpDataStructsCreateItemExData;2259  } & Struct;2260  readonly isSetTransfersEnabledFlag: boolean;2261  readonly asSetTransfersEnabledFlag: {2262    readonly collectionId: u32;2263    readonly value: bool;2264  } & Struct;2265  readonly isBurnItem: boolean;2266  readonly asBurnItem: {2267    readonly collectionId: u32;2268    readonly itemId: u32;2269    readonly value: u128;2270  } & Struct;2271  readonly isBurnFrom: boolean;2272  readonly asBurnFrom: {2273    readonly collectionId: u32;2274    readonly from: PalletEvmAccountBasicCrossAccountIdRepr;2275    readonly itemId: u32;2276    readonly value: u128;2277  } & Struct;2278  readonly isTransfer: boolean;2279  readonly asTransfer: {2280    readonly recipient: PalletEvmAccountBasicCrossAccountIdRepr;2281    readonly collectionId: u32;2282    readonly itemId: u32;2283    readonly value: u128;2284  } & Struct;2285  readonly isApprove: boolean;2286  readonly asApprove: {2287    readonly spender: PalletEvmAccountBasicCrossAccountIdRepr;2288    readonly collectionId: u32;2289    readonly itemId: u32;2290    readonly amount: u128;2291  } & Struct;2292  readonly isTransferFrom: boolean;2293  readonly asTransferFrom: {2294    readonly from: PalletEvmAccountBasicCrossAccountIdRepr;2295    readonly recipient: PalletEvmAccountBasicCrossAccountIdRepr;2296    readonly collectionId: u32;2297    readonly itemId: u32;2298    readonly value: u128;2299  } & Struct;2300  readonly isSetCollectionLimits: boolean;2301  readonly asSetCollectionLimits: {2302    readonly collectionId: u32;2303    readonly newLimit: UpDataStructsCollectionLimits;2304  } & Struct;2305  readonly isSetCollectionPermissions: boolean;2306  readonly asSetCollectionPermissions: {2307    readonly collectionId: u32;2308    readonly newPermission: UpDataStructsCollectionPermissions;2309  } & Struct;2310  readonly isRepartition: boolean;2311  readonly asRepartition: {2312    readonly collectionId: u32;2313    readonly tokenId: u32;2314    readonly amount: u128;2315  } & Struct;2316  readonly isSetAllowanceForAll: boolean;2317  readonly asSetAllowanceForAll: {2318    readonly collectionId: u32;2319    readonly operator: PalletEvmAccountBasicCrossAccountIdRepr;2320    readonly approve: bool;2321  } & Struct;2322  readonly isRepairItem: boolean;2323  readonly asRepairItem: {2324    readonly collectionId: u32;2325    readonly itemId: u32;2326  } & Struct;2327  readonly type: 'CreateCollection' | 'CreateCollectionEx' | 'DestroyCollection' | 'AddToAllowList' | 'RemoveFromAllowList' | 'ChangeCollectionOwner' | 'AddCollectionAdmin' | 'RemoveCollectionAdmin' | 'SetCollectionSponsor' | 'ConfirmSponsorship' | 'RemoveCollectionSponsor' | 'CreateItem' | 'CreateMultipleItems' | 'SetCollectionProperties' | 'DeleteCollectionProperties' | 'SetTokenProperties' | 'DeleteTokenProperties' | 'SetTokenPropertyPermissions' | 'CreateMultipleItemsEx' | 'SetTransfersEnabledFlag' | 'BurnItem' | 'BurnFrom' | 'Transfer' | 'Approve' | 'TransferFrom' | 'SetCollectionLimits' | 'SetCollectionPermissions' | 'Repartition' | 'SetAllowanceForAll' | 'RepairItem';2328}23292330/** @name PalletUniqueError */2331export interface PalletUniqueError extends Enum {2332  readonly isCollectionDecimalPointLimitExceeded: boolean;2333  readonly isEmptyArgument: boolean;2334  readonly isRepartitionCalledOnNonRefungibleCollection: boolean;2335  readonly type: 'CollectionDecimalPointLimitExceeded' | 'EmptyArgument' | 'RepartitionCalledOnNonRefungibleCollection';2336}23372338/** @name PalletXcmCall */2339export interface PalletXcmCall extends Enum {2340  readonly isSend: boolean;2341  readonly asSend: {2342    readonly dest: XcmVersionedMultiLocation;2343    readonly message: XcmVersionedXcm;2344  } & Struct;2345  readonly isTeleportAssets: boolean;2346  readonly asTeleportAssets: {2347    readonly dest: XcmVersionedMultiLocation;2348    readonly beneficiary: XcmVersionedMultiLocation;2349    readonly assets: XcmVersionedMultiAssets;2350    readonly feeAssetItem: u32;2351  } & Struct;2352  readonly isReserveTransferAssets: boolean;2353  readonly asReserveTransferAssets: {2354    readonly dest: XcmVersionedMultiLocation;2355    readonly beneficiary: XcmVersionedMultiLocation;2356    readonly assets: XcmVersionedMultiAssets;2357    readonly feeAssetItem: u32;2358  } & Struct;2359  readonly isExecute: boolean;2360  readonly asExecute: {2361    readonly message: XcmVersionedXcm;2362    readonly maxWeight: u64;2363  } & Struct;2364  readonly isForceXcmVersion: boolean;2365  readonly asForceXcmVersion: {2366    readonly location: XcmV1MultiLocation;2367    readonly xcmVersion: u32;2368  } & Struct;2369  readonly isForceDefaultXcmVersion: boolean;2370  readonly asForceDefaultXcmVersion: {2371    readonly maybeXcmVersion: Option<u32>;2372  } & Struct;2373  readonly isForceSubscribeVersionNotify: boolean;2374  readonly asForceSubscribeVersionNotify: {2375    readonly location: XcmVersionedMultiLocation;2376  } & Struct;2377  readonly isForceUnsubscribeVersionNotify: boolean;2378  readonly asForceUnsubscribeVersionNotify: {2379    readonly location: XcmVersionedMultiLocation;2380  } & Struct;2381  readonly isLimitedReserveTransferAssets: boolean;2382  readonly asLimitedReserveTransferAssets: {2383    readonly dest: XcmVersionedMultiLocation;2384    readonly beneficiary: XcmVersionedMultiLocation;2385    readonly assets: XcmVersionedMultiAssets;2386    readonly feeAssetItem: u32;2387    readonly weightLimit: XcmV2WeightLimit;2388  } & Struct;2389  readonly isLimitedTeleportAssets: boolean;2390  readonly asLimitedTeleportAssets: {2391    readonly dest: XcmVersionedMultiLocation;2392    readonly beneficiary: XcmVersionedMultiLocation;2393    readonly assets: XcmVersionedMultiAssets;2394    readonly feeAssetItem: u32;2395    readonly weightLimit: XcmV2WeightLimit;2396  } & Struct;2397  readonly type: 'Send' | 'TeleportAssets' | 'ReserveTransferAssets' | 'Execute' | 'ForceXcmVersion' | 'ForceDefaultXcmVersion' | 'ForceSubscribeVersionNotify' | 'ForceUnsubscribeVersionNotify' | 'LimitedReserveTransferAssets' | 'LimitedTeleportAssets';2398}23992400/** @name PalletXcmError */2401export interface PalletXcmError extends Enum {2402  readonly isUnreachable: boolean;2403  readonly isSendFailure: boolean;2404  readonly isFiltered: boolean;2405  readonly isUnweighableMessage: boolean;2406  readonly isDestinationNotInvertible: boolean;2407  readonly isEmpty: boolean;2408  readonly isCannotReanchor: boolean;2409  readonly isTooManyAssets: boolean;2410  readonly isInvalidOrigin: boolean;2411  readonly isBadVersion: boolean;2412  readonly isBadLocation: boolean;2413  readonly isNoSubscription: boolean;2414  readonly isAlreadySubscribed: boolean;2415  readonly type: 'Unreachable' | 'SendFailure' | 'Filtered' | 'UnweighableMessage' | 'DestinationNotInvertible' | 'Empty' | 'CannotReanchor' | 'TooManyAssets' | 'InvalidOrigin' | 'BadVersion' | 'BadLocation' | 'NoSubscription' | 'AlreadySubscribed';2416}24172418/** @name PalletXcmEvent */2419export interface PalletXcmEvent extends Enum {2420  readonly isAttempted: boolean;2421  readonly asAttempted: XcmV2TraitsOutcome;2422  readonly isSent: boolean;2423  readonly asSent: ITuple<[XcmV1MultiLocation, XcmV1MultiLocation, XcmV2Xcm]>;2424  readonly isUnexpectedResponse: boolean;2425  readonly asUnexpectedResponse: ITuple<[XcmV1MultiLocation, u64]>;2426  readonly isResponseReady: boolean;2427  readonly asResponseReady: ITuple<[u64, XcmV2Response]>;2428  readonly isNotified: boolean;2429  readonly asNotified: ITuple<[u64, u8, u8]>;2430  readonly isNotifyOverweight: boolean;2431  readonly asNotifyOverweight: ITuple<[u64, u8, u8, SpWeightsWeightV2Weight, SpWeightsWeightV2Weight]>;2432  readonly isNotifyDispatchError: boolean;2433  readonly asNotifyDispatchError: ITuple<[u64, u8, u8]>;2434  readonly isNotifyDecodeFailed: boolean;2435  readonly asNotifyDecodeFailed: ITuple<[u64, u8, u8]>;2436  readonly isInvalidResponder: boolean;2437  readonly asInvalidResponder: ITuple<[XcmV1MultiLocation, u64, Option<XcmV1MultiLocation>]>;2438  readonly isInvalidResponderVersion: boolean;2439  readonly asInvalidResponderVersion: ITuple<[XcmV1MultiLocation, u64]>;2440  readonly isResponseTaken: boolean;2441  readonly asResponseTaken: u64;2442  readonly isAssetsTrapped: boolean;2443  readonly asAssetsTrapped: ITuple<[H256, XcmV1MultiLocation, XcmVersionedMultiAssets]>;2444  readonly isVersionChangeNotified: boolean;2445  readonly asVersionChangeNotified: ITuple<[XcmV1MultiLocation, u32]>;2446  readonly isSupportedVersionChanged: boolean;2447  readonly asSupportedVersionChanged: ITuple<[XcmV1MultiLocation, u32]>;2448  readonly isNotifyTargetSendFail: boolean;2449  readonly asNotifyTargetSendFail: ITuple<[XcmV1MultiLocation, u64, XcmV2TraitsError]>;2450  readonly isNotifyTargetMigrationFail: boolean;2451  readonly asNotifyTargetMigrationFail: ITuple<[XcmVersionedMultiLocation, u64]>;2452  readonly isAssetsClaimed: boolean;2453  readonly asAssetsClaimed: ITuple<[H256, XcmV1MultiLocation, XcmVersionedMultiAssets]>;2454  readonly type: 'Attempted' | 'Sent' | 'UnexpectedResponse' | 'ResponseReady' | 'Notified' | 'NotifyOverweight' | 'NotifyDispatchError' | 'NotifyDecodeFailed' | 'InvalidResponder' | 'InvalidResponderVersion' | 'ResponseTaken' | 'AssetsTrapped' | 'VersionChangeNotified' | 'SupportedVersionChanged' | 'NotifyTargetSendFail' | 'NotifyTargetMigrationFail' | 'AssetsClaimed';2455}24562457/** @name PhantomTypeUpDataStructs */2458export interface PhantomTypeUpDataStructs extends Vec<ITuple<[UpDataStructsTokenData, UpDataStructsRpcCollection, RmrkTraitsCollectionCollectionInfo, RmrkTraitsNftNftInfo, RmrkTraitsResourceResourceInfo, RmrkTraitsPropertyPropertyInfo, RmrkTraitsBaseBaseInfo, RmrkTraitsPartPartType, RmrkTraitsTheme, RmrkTraitsNftNftChild]>> {}24592460/** @name PolkadotCorePrimitivesInboundDownwardMessage */2461export interface PolkadotCorePrimitivesInboundDownwardMessage extends Struct {2462  readonly sentAt: u32;2463  readonly msg: Bytes;2464}24652466/** @name PolkadotCorePrimitivesInboundHrmpMessage */2467export interface PolkadotCorePrimitivesInboundHrmpMessage extends Struct {2468  readonly sentAt: u32;2469  readonly data: Bytes;2470}24712472/** @name PolkadotCorePrimitivesOutboundHrmpMessage */2473export interface PolkadotCorePrimitivesOutboundHrmpMessage extends Struct {2474  readonly recipient: u32;2475  readonly data: Bytes;2476}24772478/** @name PolkadotParachainPrimitivesXcmpMessageFormat */2479export interface PolkadotParachainPrimitivesXcmpMessageFormat extends Enum {2480  readonly isConcatenatedVersionedXcm: boolean;2481  readonly isConcatenatedEncodedBlob: boolean;2482  readonly isSignals: boolean;2483  readonly type: 'ConcatenatedVersionedXcm' | 'ConcatenatedEncodedBlob' | 'Signals';2484}24852486/** @name PolkadotPrimitivesV2AbridgedHostConfiguration */2487export interface PolkadotPrimitivesV2AbridgedHostConfiguration extends Struct {2488  readonly maxCodeSize: u32;2489  readonly maxHeadDataSize: u32;2490  readonly maxUpwardQueueCount: u32;2491  readonly maxUpwardQueueSize: u32;2492  readonly maxUpwardMessageSize: u32;2493  readonly maxUpwardMessageNumPerCandidate: u32;2494  readonly hrmpMaxMessageNumPerCandidate: u32;2495  readonly validationUpgradeCooldown: u32;2496  readonly validationUpgradeDelay: u32;2497}24982499/** @name PolkadotPrimitivesV2AbridgedHrmpChannel */2500export interface PolkadotPrimitivesV2AbridgedHrmpChannel extends Struct {2501  readonly maxCapacity: u32;2502  readonly maxTotalSize: u32;2503  readonly maxMessageSize: u32;2504  readonly msgCount: u32;2505  readonly totalSize: u32;2506  readonly mqcHead: Option<H256>;2507}25082509/** @name PolkadotPrimitivesV2PersistedValidationData */2510export interface PolkadotPrimitivesV2PersistedValidationData extends Struct {2511  readonly parentHead: Bytes;2512  readonly relayParentNumber: u32;2513  readonly relayParentStorageRoot: H256;2514  readonly maxPovSize: u32;2515}25162517/** @name PolkadotPrimitivesV2UpgradeRestriction */2518export interface PolkadotPrimitivesV2UpgradeRestriction extends Enum {2519  readonly isPresent: boolean;2520  readonly type: 'Present';2521}25222523/** @name RmrkTraitsBaseBaseInfo */2524export interface RmrkTraitsBaseBaseInfo extends Struct {2525  readonly issuer: AccountId32;2526  readonly baseType: Bytes;2527  readonly symbol: Bytes;2528}25292530/** @name RmrkTraitsCollectionCollectionInfo */2531export interface RmrkTraitsCollectionCollectionInfo extends Struct {2532  readonly issuer: AccountId32;2533  readonly metadata: Bytes;2534  readonly max: Option<u32>;2535  readonly symbol: Bytes;2536  readonly nftsCount: u32;2537}25382539/** @name RmrkTraitsNftAccountIdOrCollectionNftTuple */2540export interface RmrkTraitsNftAccountIdOrCollectionNftTuple extends Enum {2541  readonly isAccountId: boolean;2542  readonly asAccountId: AccountId32;2543  readonly isCollectionAndNftTuple: boolean;2544  readonly asCollectionAndNftTuple: ITuple<[u32, u32]>;2545  readonly type: 'AccountId' | 'CollectionAndNftTuple';2546}25472548/** @name RmrkTraitsNftNftChild */2549export interface RmrkTraitsNftNftChild extends Struct {2550  readonly collectionId: u32;2551  readonly nftId: u32;2552}25532554/** @name RmrkTraitsNftNftInfo */2555export interface RmrkTraitsNftNftInfo extends Struct {2556  readonly owner: RmrkTraitsNftAccountIdOrCollectionNftTuple;2557  readonly royalty: Option<RmrkTraitsNftRoyaltyInfo>;2558  readonly metadata: Bytes;2559  readonly equipped: bool;2560  readonly pending: bool;2561}25622563/** @name RmrkTraitsNftRoyaltyInfo */2564export interface RmrkTraitsNftRoyaltyInfo extends Struct {2565  readonly recipient: AccountId32;2566  readonly amount: Permill;2567}25682569/** @name RmrkTraitsPartEquippableList */2570export interface RmrkTraitsPartEquippableList extends Enum {2571  readonly isAll: boolean;2572  readonly isEmpty: boolean;2573  readonly isCustom: boolean;2574  readonly asCustom: Vec<u32>;2575  readonly type: 'All' | 'Empty' | 'Custom';2576}25772578/** @name RmrkTraitsPartFixedPart */2579export interface RmrkTraitsPartFixedPart extends Struct {2580  readonly id: u32;2581  readonly z: u32;2582  readonly src: Bytes;2583}25842585/** @name RmrkTraitsPartPartType */2586export interface RmrkTraitsPartPartType extends Enum {2587  readonly isFixedPart: boolean;2588  readonly asFixedPart: RmrkTraitsPartFixedPart;2589  readonly isSlotPart: boolean;2590  readonly asSlotPart: RmrkTraitsPartSlotPart;2591  readonly type: 'FixedPart' | 'SlotPart';2592}25932594/** @name RmrkTraitsPartSlotPart */2595export interface RmrkTraitsPartSlotPart extends Struct {2596  readonly id: u32;2597  readonly equippable: RmrkTraitsPartEquippableList;2598  readonly src: Bytes;2599  readonly z: u32;2600}26012602/** @name RmrkTraitsPropertyPropertyInfo */2603export interface RmrkTraitsPropertyPropertyInfo extends Struct {2604  readonly key: Bytes;2605  readonly value: Bytes;2606}26072608/** @name RmrkTraitsResourceBasicResource */2609export interface RmrkTraitsResourceBasicResource extends Struct {2610  readonly src: Option<Bytes>;2611  readonly metadata: Option<Bytes>;2612  readonly license: Option<Bytes>;2613  readonly thumb: Option<Bytes>;2614}26152616/** @name RmrkTraitsResourceComposableResource */2617export interface RmrkTraitsResourceComposableResource extends Struct {2618  readonly parts: Vec<u32>;2619  readonly base: u32;2620  readonly src: Option<Bytes>;2621  readonly metadata: Option<Bytes>;2622  readonly license: Option<Bytes>;2623  readonly thumb: Option<Bytes>;2624}26252626/** @name RmrkTraitsResourceResourceInfo */2627export interface RmrkTraitsResourceResourceInfo extends Struct {2628  readonly id: u32;2629  readonly resource: RmrkTraitsResourceResourceTypes;2630  readonly pending: bool;2631  readonly pendingRemoval: bool;2632}26332634/** @name RmrkTraitsResourceResourceTypes */2635export interface RmrkTraitsResourceResourceTypes extends Enum {2636  readonly isBasic: boolean;2637  readonly asBasic: RmrkTraitsResourceBasicResource;2638  readonly isComposable: boolean;2639  readonly asComposable: RmrkTraitsResourceComposableResource;2640  readonly isSlot: boolean;2641  readonly asSlot: RmrkTraitsResourceSlotResource;2642  readonly type: 'Basic' | 'Composable' | 'Slot';2643}26442645/** @name RmrkTraitsResourceSlotResource */2646export interface RmrkTraitsResourceSlotResource extends Struct {2647  readonly base: u32;2648  readonly src: Option<Bytes>;2649  readonly metadata: Option<Bytes>;2650  readonly slot: u32;2651  readonly license: Option<Bytes>;2652  readonly thumb: Option<Bytes>;2653}26542655/** @name RmrkTraitsTheme */2656export interface RmrkTraitsTheme extends Struct {2657  readonly name: Bytes;2658  readonly properties: Vec<RmrkTraitsThemeThemeProperty>;2659  readonly inherit: bool;2660}26612662/** @name RmrkTraitsThemeThemeProperty */2663export interface RmrkTraitsThemeThemeProperty extends Struct {2664  readonly key: Bytes;2665  readonly value: Bytes;2666}26672668/** @name SpCoreEcdsaSignature */2669export interface SpCoreEcdsaSignature extends U8aFixed {}26702671/** @name SpCoreEd25519Signature */2672export interface SpCoreEd25519Signature extends U8aFixed {}26732674/** @name SpCoreSr25519Signature */2675export interface SpCoreSr25519Signature extends U8aFixed {}26762677/** @name SpRuntimeArithmeticError */2678export interface SpRuntimeArithmeticError extends Enum {2679  readonly isUnderflow: boolean;2680  readonly isOverflow: boolean;2681  readonly isDivisionByZero: boolean;2682  readonly type: 'Underflow' | 'Overflow' | 'DivisionByZero';2683}26842685/** @name SpRuntimeDigest */2686export interface SpRuntimeDigest extends Struct {2687  readonly logs: Vec<SpRuntimeDigestDigestItem>;2688}26892690/** @name SpRuntimeDigestDigestItem */2691export interface SpRuntimeDigestDigestItem extends Enum {2692  readonly isOther: boolean;2693  readonly asOther: Bytes;2694  readonly isConsensus: boolean;2695  readonly asConsensus: ITuple<[U8aFixed, Bytes]>;2696  readonly isSeal: boolean;2697  readonly asSeal: ITuple<[U8aFixed, Bytes]>;2698  readonly isPreRuntime: boolean;2699  readonly asPreRuntime: ITuple<[U8aFixed, Bytes]>;2700  readonly isRuntimeEnvironmentUpdated: boolean;2701  readonly type: 'Other' | 'Consensus' | 'Seal' | 'PreRuntime' | 'RuntimeEnvironmentUpdated';2702}27032704/** @name SpRuntimeDispatchError */2705export interface SpRuntimeDispatchError extends Enum {2706  readonly isOther: boolean;2707  readonly isCannotLookup: boolean;2708  readonly isBadOrigin: boolean;2709  readonly isModule: boolean;2710  readonly asModule: SpRuntimeModuleError;2711  readonly isConsumerRemaining: boolean;2712  readonly isNoProviders: boolean;2713  readonly isTooManyConsumers: boolean;2714  readonly isToken: boolean;2715  readonly asToken: SpRuntimeTokenError;2716  readonly isArithmetic: boolean;2717  readonly asArithmetic: SpRuntimeArithmeticError;2718  readonly isTransactional: boolean;2719  readonly asTransactional: SpRuntimeTransactionalError;2720  readonly isExhausted: boolean;2721  readonly isCorruption: boolean;2722  readonly isUnavailable: boolean;2723  readonly type: 'Other' | 'CannotLookup' | 'BadOrigin' | 'Module' | 'ConsumerRemaining' | 'NoProviders' | 'TooManyConsumers' | 'Token' | 'Arithmetic' | 'Transactional' | 'Exhausted' | 'Corruption' | 'Unavailable';2724}27252726/** @name SpRuntimeModuleError */2727export interface SpRuntimeModuleError extends Struct {2728  readonly index: u8;2729  readonly error: U8aFixed;2730}27312732/** @name SpRuntimeMultiSignature */2733export interface SpRuntimeMultiSignature extends Enum {2734  readonly isEd25519: boolean;2735  readonly asEd25519: SpCoreEd25519Signature;2736  readonly isSr25519: boolean;2737  readonly asSr25519: SpCoreSr25519Signature;2738  readonly isEcdsa: boolean;2739  readonly asEcdsa: SpCoreEcdsaSignature;2740  readonly type: 'Ed25519' | 'Sr25519' | 'Ecdsa';2741}27422743/** @name SpRuntimeTokenError */2744export interface SpRuntimeTokenError extends Enum {2745  readonly isNoFunds: boolean;2746  readonly isWouldDie: boolean;2747  readonly isBelowMinimum: boolean;2748  readonly isCannotCreate: boolean;2749  readonly isUnknownAsset: boolean;2750  readonly isFrozen: boolean;2751  readonly isUnsupported: boolean;2752  readonly type: 'NoFunds' | 'WouldDie' | 'BelowMinimum' | 'CannotCreate' | 'UnknownAsset' | 'Frozen' | 'Unsupported';2753}27542755/** @name SpRuntimeTransactionalError */2756export interface SpRuntimeTransactionalError extends Enum {2757  readonly isLimitReached: boolean;2758  readonly isNoLayer: boolean;2759  readonly type: 'LimitReached' | 'NoLayer';2760}27612762/** @name SpTrieStorageProof */2763export interface SpTrieStorageProof extends Struct {2764  readonly trieNodes: BTreeSet<Bytes>;2765}27662767/** @name SpVersionRuntimeVersion */2768export interface SpVersionRuntimeVersion extends Struct {2769  readonly specName: Text;2770  readonly implName: Text;2771  readonly authoringVersion: u32;2772  readonly specVersion: u32;2773  readonly implVersion: u32;2774  readonly apis: Vec<ITuple<[U8aFixed, u32]>>;2775  readonly transactionVersion: u32;2776  readonly stateVersion: u8;2777}27782779/** @name SpWeightsRuntimeDbWeight */2780export interface SpWeightsRuntimeDbWeight extends Struct {2781  readonly read: u64;2782  readonly write: u64;2783}27842785/** @name SpWeightsWeightV2Weight */2786export interface SpWeightsWeightV2Weight extends Struct {2787  readonly refTime: Compact<u64>;2788  readonly proofSize: Compact<u64>;2789}27902791/** @name UpDataStructsAccessMode */2792export interface UpDataStructsAccessMode extends Enum {2793  readonly isNormal: boolean;2794  readonly isAllowList: boolean;2795  readonly type: 'Normal' | 'AllowList';2796}27972798/** @name UpDataStructsCollection */2799export interface UpDataStructsCollection extends Struct {2800  readonly owner: AccountId32;2801  readonly mode: UpDataStructsCollectionMode;2802  readonly name: Vec<u16>;2803  readonly description: Vec<u16>;2804  readonly tokenPrefix: Bytes;2805  readonly sponsorship: UpDataStructsSponsorshipStateAccountId32;2806  readonly limits: UpDataStructsCollectionLimits;2807  readonly permissions: UpDataStructsCollectionPermissions;2808  readonly flags: U8aFixed;2809}28102811/** @name UpDataStructsCollectionLimits */2812export interface UpDataStructsCollectionLimits extends Struct {2813  readonly accountTokenOwnershipLimit: Option<u32>;2814  readonly sponsoredDataSize: Option<u32>;2815  readonly sponsoredDataRateLimit: Option<UpDataStructsSponsoringRateLimit>;2816  readonly tokenLimit: Option<u32>;2817  readonly sponsorTransferTimeout: Option<u32>;2818  readonly sponsorApproveTimeout: Option<u32>;2819  readonly ownerCanTransfer: Option<bool>;2820  readonly ownerCanDestroy: Option<bool>;2821  readonly transfersEnabled: Option<bool>;2822}28232824/** @name UpDataStructsCollectionMode */2825export interface UpDataStructsCollectionMode extends Enum {2826  readonly isNft: boolean;2827  readonly isFungible: boolean;2828  readonly asFungible: u8;2829  readonly isReFungible: boolean;2830  readonly type: 'Nft' | 'Fungible' | 'ReFungible';2831}28322833/** @name UpDataStructsCollectionPermissions */2834export interface UpDataStructsCollectionPermissions extends Struct {2835  readonly access: Option<UpDataStructsAccessMode>;2836  readonly mintMode: Option<bool>;2837  readonly nesting: Option<UpDataStructsNestingPermissions>;2838}28392840/** @name UpDataStructsCollectionStats */2841export interface UpDataStructsCollectionStats extends Struct {2842  readonly created: u32;2843  readonly destroyed: u32;2844  readonly alive: u32;2845}28462847/** @name UpDataStructsCreateCollectionData */2848export interface UpDataStructsCreateCollectionData extends Struct {2849  readonly mode: UpDataStructsCollectionMode;2850  readonly access: Option<UpDataStructsAccessMode>;2851  readonly name: Vec<u16>;2852  readonly description: Vec<u16>;2853  readonly tokenPrefix: Bytes;2854  readonly pendingSponsor: Option<AccountId32>;2855  readonly limits: Option<UpDataStructsCollectionLimits>;2856  readonly permissions: Option<UpDataStructsCollectionPermissions>;2857  readonly tokenPropertyPermissions: Vec<UpDataStructsPropertyKeyPermission>;2858  readonly properties: Vec<UpDataStructsProperty>;2859}28602861/** @name UpDataStructsCreateFungibleData */2862export interface UpDataStructsCreateFungibleData extends Struct {2863  readonly value: u128;2864}28652866/** @name UpDataStructsCreateItemData */2867export interface UpDataStructsCreateItemData extends Enum {2868  readonly isNft: boolean;2869  readonly asNft: UpDataStructsCreateNftData;2870  readonly isFungible: boolean;2871  readonly asFungible: UpDataStructsCreateFungibleData;2872  readonly isReFungible: boolean;2873  readonly asReFungible: UpDataStructsCreateReFungibleData;2874  readonly type: 'Nft' | 'Fungible' | 'ReFungible';2875}28762877/** @name UpDataStructsCreateItemExData */2878export interface UpDataStructsCreateItemExData extends Enum {2879  readonly isNft: boolean;2880  readonly asNft: Vec<UpDataStructsCreateNftExData>;2881  readonly isFungible: boolean;2882  readonly asFungible: BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr,u128>;2883  readonly isRefungibleMultipleItems: boolean;2884  readonly asRefungibleMultipleItems: Vec<UpDataStructsCreateRefungibleExSingleOwner>;2885  readonly isRefungibleMultipleOwners: boolean;2886  readonly asRefungibleMultipleOwners: UpDataStructsCreateRefungibleExMultipleOwners;2887  readonly type: 'Nft' | 'Fungible' | 'RefungibleMultipleItems' | 'RefungibleMultipleOwners';2888}28892890/** @name UpDataStructsCreateNftData */2891export interface UpDataStructsCreateNftData extends Struct {2892  readonly properties: Vec<UpDataStructsProperty>;2893}28942895/** @name UpDataStructsCreateNftExData */2896export interface UpDataStructsCreateNftExData extends Struct {2897  readonly properties: Vec<UpDataStructsProperty>;2898  readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;2899}29002901/** @name UpDataStructsCreateReFungibleData */2902export interface UpDataStructsCreateReFungibleData extends Struct {2903  readonly pieces: u128;2904  readonly properties: Vec<UpDataStructsProperty>;2905}29062907/** @name UpDataStructsCreateRefungibleExMultipleOwners */2908export interface UpDataStructsCreateRefungibleExMultipleOwners extends Struct {2909  readonly users: BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>;2910  readonly properties: Vec<UpDataStructsProperty>;2911}29122913/** @name UpDataStructsCreateRefungibleExSingleOwner */2914export interface UpDataStructsCreateRefungibleExSingleOwner extends Struct {2915  readonly user: PalletEvmAccountBasicCrossAccountIdRepr;2916  readonly pieces: u128;2917  readonly properties: Vec<UpDataStructsProperty>;2918}29192920/** @name UpDataStructsNestingPermissions */2921export interface UpDataStructsNestingPermissions extends Struct {2922  readonly tokenOwner: bool;2923  readonly collectionAdmin: bool;2924  readonly restricted: Option<UpDataStructsOwnerRestrictedSet>;2925}29262927/** @name UpDataStructsOwnerRestrictedSet */2928export interface UpDataStructsOwnerRestrictedSet extends BTreeSet<u32> {}29292930/** @name UpDataStructsProperties */2931export interface UpDataStructsProperties extends Struct {2932  readonly map: UpDataStructsPropertiesMapBoundedVec;2933  readonly consumedSpace: u32;2934  readonly spaceLimit: u32;2935}29362937/** @name UpDataStructsPropertiesMapBoundedVec */2938export interface UpDataStructsPropertiesMapBoundedVec extends BTreeMap<Bytes, Bytes> {}29392940/** @name UpDataStructsPropertiesMapPropertyPermission */2941export interface UpDataStructsPropertiesMapPropertyPermission extends BTreeMap<Bytes, UpDataStructsPropertyPermission> {}29422943/** @name UpDataStructsProperty */2944export interface UpDataStructsProperty extends Struct {2945  readonly key: Bytes;2946  readonly value: Bytes;2947}29482949/** @name UpDataStructsPropertyKeyPermission */2950export interface UpDataStructsPropertyKeyPermission extends Struct {2951  readonly key: Bytes;2952  readonly permission: UpDataStructsPropertyPermission;2953}29542955/** @name UpDataStructsPropertyPermission */2956export interface UpDataStructsPropertyPermission extends Struct {2957  readonly mutable: bool;2958  readonly collectionAdmin: bool;2959  readonly tokenOwner: bool;2960}29612962/** @name UpDataStructsPropertyScope */2963export interface UpDataStructsPropertyScope extends Enum {2964  readonly isNone: boolean;2965  readonly isRmrk: boolean;2966  readonly type: 'None' | 'Rmrk';2967}29682969/** @name UpDataStructsRpcCollection */2970export interface UpDataStructsRpcCollection extends Struct {2971  readonly owner: AccountId32;2972  readonly mode: UpDataStructsCollectionMode;2973  readonly name: Vec<u16>;2974  readonly description: Vec<u16>;2975  readonly tokenPrefix: Bytes;2976  readonly sponsorship: UpDataStructsSponsorshipStateAccountId32;2977  readonly limits: UpDataStructsCollectionLimits;2978  readonly permissions: UpDataStructsCollectionPermissions;2979  readonly tokenPropertyPermissions: Vec<UpDataStructsPropertyKeyPermission>;2980  readonly properties: Vec<UpDataStructsProperty>;2981  readonly readOnly: bool;2982  readonly flags: UpDataStructsRpcCollectionFlags;2983}29842985/** @name UpDataStructsRpcCollectionFlags */2986export interface UpDataStructsRpcCollectionFlags extends Struct {2987  readonly foreign: bool;2988  readonly erc721metadata: bool;2989}29902991/** @name UpDataStructsSponsoringRateLimit */2992export interface UpDataStructsSponsoringRateLimit extends Enum {2993  readonly isSponsoringDisabled: boolean;2994  readonly isBlocks: boolean;2995  readonly asBlocks: u32;2996  readonly type: 'SponsoringDisabled' | 'Blocks';2997}29982999/** @name UpDataStructsSponsorshipStateAccountId32 */3000export interface UpDataStructsSponsorshipStateAccountId32 extends Enum {3001  readonly isDisabled: boolean;3002  readonly isUnconfirmed: boolean;3003  readonly asUnconfirmed: AccountId32;3004  readonly isConfirmed: boolean;3005  readonly asConfirmed: AccountId32;3006  readonly type: 'Disabled' | 'Unconfirmed' | 'Confirmed';3007}30083009/** @name UpDataStructsSponsorshipStateBasicCrossAccountIdRepr */3010export interface UpDataStructsSponsorshipStateBasicCrossAccountIdRepr extends Enum {3011  readonly isDisabled: boolean;3012  readonly isUnconfirmed: boolean;3013  readonly asUnconfirmed: PalletEvmAccountBasicCrossAccountIdRepr;3014  readonly isConfirmed: boolean;3015  readonly asConfirmed: PalletEvmAccountBasicCrossAccountIdRepr;3016  readonly type: 'Disabled' | 'Unconfirmed' | 'Confirmed';3017}30183019/** @name UpDataStructsTokenChild */3020export interface UpDataStructsTokenChild extends Struct {3021  readonly token: u32;3022  readonly collection: u32;3023}30243025/** @name UpDataStructsTokenData */3026export interface UpDataStructsTokenData extends Struct {3027  readonly properties: Vec<UpDataStructsProperty>;3028  readonly owner: Option<PalletEvmAccountBasicCrossAccountIdRepr>;3029  readonly pieces: u128;3030}30313032/** @name XcmDoubleEncoded */3033export interface XcmDoubleEncoded extends Struct {3034  readonly encoded: Bytes;3035}30363037/** @name XcmV0Junction */3038export interface XcmV0Junction extends Enum {3039  readonly isParent: boolean;3040  readonly isParachain: boolean;3041  readonly asParachain: Compact<u32>;3042  readonly isAccountId32: boolean;3043  readonly asAccountId32: {3044    readonly network: XcmV0JunctionNetworkId;3045    readonly id: U8aFixed;3046  } & Struct;3047  readonly isAccountIndex64: boolean;3048  readonly asAccountIndex64: {3049    readonly network: XcmV0JunctionNetworkId;3050    readonly index: Compact<u64>;3051  } & Struct;3052  readonly isAccountKey20: boolean;3053  readonly asAccountKey20: {3054    readonly network: XcmV0JunctionNetworkId;3055    readonly key: U8aFixed;3056  } & Struct;3057  readonly isPalletInstance: boolean;3058  readonly asPalletInstance: u8;3059  readonly isGeneralIndex: boolean;3060  readonly asGeneralIndex: Compact<u128>;3061  readonly isGeneralKey: boolean;3062  readonly asGeneralKey: Bytes;3063  readonly isOnlyChild: boolean;3064  readonly isPlurality: boolean;3065  readonly asPlurality: {3066    readonly id: XcmV0JunctionBodyId;3067    readonly part: XcmV0JunctionBodyPart;3068  } & Struct;3069  readonly type: 'Parent' | 'Parachain' | 'AccountId32' | 'AccountIndex64' | 'AccountKey20' | 'PalletInstance' | 'GeneralIndex' | 'GeneralKey' | 'OnlyChild' | 'Plurality';3070}30713072/** @name XcmV0JunctionBodyId */3073export interface XcmV0JunctionBodyId extends Enum {3074  readonly isUnit: boolean;3075  readonly isNamed: boolean;3076  readonly asNamed: Bytes;3077  readonly isIndex: boolean;3078  readonly asIndex: Compact<u32>;3079  readonly isExecutive: boolean;3080  readonly isTechnical: boolean;3081  readonly isLegislative: boolean;3082  readonly isJudicial: boolean;3083  readonly type: 'Unit' | 'Named' | 'Index' | 'Executive' | 'Technical' | 'Legislative' | 'Judicial';3084}30853086/** @name XcmV0JunctionBodyPart */3087export interface XcmV0JunctionBodyPart extends Enum {3088  readonly isVoice: boolean;3089  readonly isMembers: boolean;3090  readonly asMembers: {3091    readonly count: Compact<u32>;3092  } & Struct;3093  readonly isFraction: boolean;3094  readonly asFraction: {3095    readonly nom: Compact<u32>;3096    readonly denom: Compact<u32>;3097  } & Struct;3098  readonly isAtLeastProportion: boolean;3099  readonly asAtLeastProportion: {3100    readonly nom: Compact<u32>;3101    readonly denom: Compact<u32>;3102  } & Struct;3103  readonly isMoreThanProportion: boolean;3104  readonly asMoreThanProportion: {3105    readonly nom: Compact<u32>;3106    readonly denom: Compact<u32>;3107  } & Struct;3108  readonly type: 'Voice' | 'Members' | 'Fraction' | 'AtLeastProportion' | 'MoreThanProportion';3109}31103111/** @name XcmV0JunctionNetworkId */3112export interface XcmV0JunctionNetworkId extends Enum {3113  readonly isAny: boolean;3114  readonly isNamed: boolean;3115  readonly asNamed: Bytes;3116  readonly isPolkadot: boolean;3117  readonly isKusama: boolean;3118  readonly type: 'Any' | 'Named' | 'Polkadot' | 'Kusama';3119}31203121/** @name XcmV0MultiAsset */3122export interface XcmV0MultiAsset extends Enum {3123  readonly isNone: boolean;3124  readonly isAll: boolean;3125  readonly isAllFungible: boolean;3126  readonly isAllNonFungible: boolean;3127  readonly isAllAbstractFungible: boolean;3128  readonly asAllAbstractFungible: {3129    readonly id: Bytes;3130  } & Struct;3131  readonly isAllAbstractNonFungible: boolean;3132  readonly asAllAbstractNonFungible: {3133    readonly class: Bytes;3134  } & Struct;3135  readonly isAllConcreteFungible: boolean;3136  readonly asAllConcreteFungible: {3137    readonly id: XcmV0MultiLocation;3138  } & Struct;3139  readonly isAllConcreteNonFungible: boolean;3140  readonly asAllConcreteNonFungible: {3141    readonly class: XcmV0MultiLocation;3142  } & Struct;3143  readonly isAbstractFungible: boolean;3144  readonly asAbstractFungible: {3145    readonly id: Bytes;3146    readonly amount: Compact<u128>;3147  } & Struct;3148  readonly isAbstractNonFungible: boolean;3149  readonly asAbstractNonFungible: {3150    readonly class: Bytes;3151    readonly instance: XcmV1MultiassetAssetInstance;3152  } & Struct;3153  readonly isConcreteFungible: boolean;3154  readonly asConcreteFungible: {3155    readonly id: XcmV0MultiLocation;3156    readonly amount: Compact<u128>;3157  } & Struct;3158  readonly isConcreteNonFungible: boolean;3159  readonly asConcreteNonFungible: {3160    readonly class: XcmV0MultiLocation;3161    readonly instance: XcmV1MultiassetAssetInstance;3162  } & Struct;3163  readonly type: 'None' | 'All' | 'AllFungible' | 'AllNonFungible' | 'AllAbstractFungible' | 'AllAbstractNonFungible' | 'AllConcreteFungible' | 'AllConcreteNonFungible' | 'AbstractFungible' | 'AbstractNonFungible' | 'ConcreteFungible' | 'ConcreteNonFungible';3164}31653166/** @name XcmV0MultiLocation */3167export interface XcmV0MultiLocation extends Enum {3168  readonly isNull: boolean;3169  readonly isX1: boolean;3170  readonly asX1: XcmV0Junction;3171  readonly isX2: boolean;3172  readonly asX2: ITuple<[XcmV0Junction, XcmV0Junction]>;3173  readonly isX3: boolean;3174  readonly asX3: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction]>;3175  readonly isX4: boolean;3176  readonly asX4: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>;3177  readonly isX5: boolean;3178  readonly asX5: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>;3179  readonly isX6: boolean;3180  readonly asX6: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>;3181  readonly isX7: boolean;3182  readonly asX7: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>;3183  readonly isX8: boolean;3184  readonly asX8: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>;3185  readonly type: 'Null' | 'X1' | 'X2' | 'X3' | 'X4' | 'X5' | 'X6' | 'X7' | 'X8';3186}31873188/** @name XcmV0Order */3189export interface XcmV0Order extends Enum {3190  readonly isNull: boolean;3191  readonly isDepositAsset: boolean;3192  readonly asDepositAsset: {3193    readonly assets: Vec<XcmV0MultiAsset>;3194    readonly dest: XcmV0MultiLocation;3195  } & Struct;3196  readonly isDepositReserveAsset: boolean;3197  readonly asDepositReserveAsset: {3198    readonly assets: Vec<XcmV0MultiAsset>;3199    readonly dest: XcmV0MultiLocation;3200    readonly effects: Vec<XcmV0Order>;3201  } & Struct;3202  readonly isExchangeAsset: boolean;3203  readonly asExchangeAsset: {3204    readonly give: Vec<XcmV0MultiAsset>;3205    readonly receive: Vec<XcmV0MultiAsset>;3206  } & Struct;3207  readonly isInitiateReserveWithdraw: boolean;3208  readonly asInitiateReserveWithdraw: {3209    readonly assets: Vec<XcmV0MultiAsset>;3210    readonly reserve: XcmV0MultiLocation;3211    readonly effects: Vec<XcmV0Order>;3212  } & Struct;3213  readonly isInitiateTeleport: boolean;3214  readonly asInitiateTeleport: {3215    readonly assets: Vec<XcmV0MultiAsset>;3216    readonly dest: XcmV0MultiLocation;3217    readonly effects: Vec<XcmV0Order>;3218  } & Struct;3219  readonly isQueryHolding: boolean;3220  readonly asQueryHolding: {3221    readonly queryId: Compact<u64>;3222    readonly dest: XcmV0MultiLocation;3223    readonly assets: Vec<XcmV0MultiAsset>;3224  } & Struct;3225  readonly isBuyExecution: boolean;3226  readonly asBuyExecution: {3227    readonly fees: XcmV0MultiAsset;3228    readonly weight: u64;3229    readonly debt: u64;3230    readonly haltOnError: bool;3231    readonly xcm: Vec<XcmV0Xcm>;3232  } & Struct;3233  readonly type: 'Null' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution';3234}32353236/** @name XcmV0OriginKind */3237export interface XcmV0OriginKind extends Enum {3238  readonly isNative: boolean;3239  readonly isSovereignAccount: boolean;3240  readonly isSuperuser: boolean;3241  readonly isXcm: boolean;3242  readonly type: 'Native' | 'SovereignAccount' | 'Superuser' | 'Xcm';3243}32443245/** @name XcmV0Response */3246export interface XcmV0Response extends Enum {3247  readonly isAssets: boolean;3248  readonly asAssets: Vec<XcmV0MultiAsset>;3249  readonly type: 'Assets';3250}32513252/** @name XcmV0Xcm */3253export interface XcmV0Xcm extends Enum {3254  readonly isWithdrawAsset: boolean;3255  readonly asWithdrawAsset: {3256    readonly assets: Vec<XcmV0MultiAsset>;3257    readonly effects: Vec<XcmV0Order>;3258  } & Struct;3259  readonly isReserveAssetDeposit: boolean;3260  readonly asReserveAssetDeposit: {3261    readonly assets: Vec<XcmV0MultiAsset>;3262    readonly effects: Vec<XcmV0Order>;3263  } & Struct;3264  readonly isTeleportAsset: boolean;3265  readonly asTeleportAsset: {3266    readonly assets: Vec<XcmV0MultiAsset>;3267    readonly effects: Vec<XcmV0Order>;3268  } & Struct;3269  readonly isQueryResponse: boolean;3270  readonly asQueryResponse: {3271    readonly queryId: Compact<u64>;3272    readonly response: XcmV0Response;3273  } & Struct;3274  readonly isTransferAsset: boolean;3275  readonly asTransferAsset: {3276    readonly assets: Vec<XcmV0MultiAsset>;3277    readonly dest: XcmV0MultiLocation;3278  } & Struct;3279  readonly isTransferReserveAsset: boolean;3280  readonly asTransferReserveAsset: {3281    readonly assets: Vec<XcmV0MultiAsset>;3282    readonly dest: XcmV0MultiLocation;3283    readonly effects: Vec<XcmV0Order>;3284  } & Struct;3285  readonly isTransact: boolean;3286  readonly asTransact: {3287    readonly originType: XcmV0OriginKind;3288    readonly requireWeightAtMost: u64;3289    readonly call: XcmDoubleEncoded;3290  } & Struct;3291  readonly isHrmpNewChannelOpenRequest: boolean;3292  readonly asHrmpNewChannelOpenRequest: {3293    readonly sender: Compact<u32>;3294    readonly maxMessageSize: Compact<u32>;3295    readonly maxCapacity: Compact<u32>;3296  } & Struct;3297  readonly isHrmpChannelAccepted: boolean;3298  readonly asHrmpChannelAccepted: {3299    readonly recipient: Compact<u32>;3300  } & Struct;3301  readonly isHrmpChannelClosing: boolean;3302  readonly asHrmpChannelClosing: {3303    readonly initiator: Compact<u32>;3304    readonly sender: Compact<u32>;3305    readonly recipient: Compact<u32>;3306  } & Struct;3307  readonly isRelayedFrom: boolean;3308  readonly asRelayedFrom: {3309    readonly who: XcmV0MultiLocation;3310    readonly message: XcmV0Xcm;3311  } & Struct;3312  readonly type: 'WithdrawAsset' | 'ReserveAssetDeposit' | 'TeleportAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'RelayedFrom';3313}33143315/** @name XcmV1Junction */3316export interface XcmV1Junction extends Enum {3317  readonly isParachain: boolean;3318  readonly asParachain: Compact<u32>;3319  readonly isAccountId32: boolean;3320  readonly asAccountId32: {3321    readonly network: XcmV0JunctionNetworkId;3322    readonly id: U8aFixed;3323  } & Struct;3324  readonly isAccountIndex64: boolean;3325  readonly asAccountIndex64: {3326    readonly network: XcmV0JunctionNetworkId;3327    readonly index: Compact<u64>;3328  } & Struct;3329  readonly isAccountKey20: boolean;3330  readonly asAccountKey20: {3331    readonly network: XcmV0JunctionNetworkId;3332    readonly key: U8aFixed;3333  } & Struct;3334  readonly isPalletInstance: boolean;3335  readonly asPalletInstance: u8;3336  readonly isGeneralIndex: boolean;3337  readonly asGeneralIndex: Compact<u128>;3338  readonly isGeneralKey: boolean;3339  readonly asGeneralKey: Bytes;3340  readonly isOnlyChild: boolean;3341  readonly isPlurality: boolean;3342  readonly asPlurality: {3343    readonly id: XcmV0JunctionBodyId;3344    readonly part: XcmV0JunctionBodyPart;3345  } & Struct;3346  readonly type: 'Parachain' | 'AccountId32' | 'AccountIndex64' | 'AccountKey20' | 'PalletInstance' | 'GeneralIndex' | 'GeneralKey' | 'OnlyChild' | 'Plurality';3347}33483349/** @name XcmV1MultiAsset */3350export interface XcmV1MultiAsset extends Struct {3351  readonly id: XcmV1MultiassetAssetId;3352  readonly fun: XcmV1MultiassetFungibility;3353}33543355/** @name XcmV1MultiassetAssetId */3356export interface XcmV1MultiassetAssetId extends Enum {3357  readonly isConcrete: boolean;3358  readonly asConcrete: XcmV1MultiLocation;3359  readonly isAbstract: boolean;3360  readonly asAbstract: Bytes;3361  readonly type: 'Concrete' | 'Abstract';3362}33633364/** @name XcmV1MultiassetAssetInstance */3365export interface XcmV1MultiassetAssetInstance extends Enum {3366  readonly isUndefined: boolean;3367  readonly isIndex: boolean;3368  readonly asIndex: Compact<u128>;3369  readonly isArray4: boolean;3370  readonly asArray4: U8aFixed;3371  readonly isArray8: boolean;3372  readonly asArray8: U8aFixed;3373  readonly isArray16: boolean;3374  readonly asArray16: U8aFixed;3375  readonly isArray32: boolean;3376  readonly asArray32: U8aFixed;3377  readonly isBlob: boolean;3378  readonly asBlob: Bytes;3379  readonly type: 'Undefined' | 'Index' | 'Array4' | 'Array8' | 'Array16' | 'Array32' | 'Blob';3380}33813382/** @name XcmV1MultiassetFungibility */3383export interface XcmV1MultiassetFungibility extends Enum {3384  readonly isFungible: boolean;3385  readonly asFungible: Compact<u128>;3386  readonly isNonFungible: boolean;3387  readonly asNonFungible: XcmV1MultiassetAssetInstance;3388  readonly type: 'Fungible' | 'NonFungible';3389}33903391/** @name XcmV1MultiassetMultiAssetFilter */3392export interface XcmV1MultiassetMultiAssetFilter extends Enum {3393  readonly isDefinite: boolean;3394  readonly asDefinite: XcmV1MultiassetMultiAssets;3395  readonly isWild: boolean;3396  readonly asWild: XcmV1MultiassetWildMultiAsset;3397  readonly type: 'Definite' | 'Wild';3398}33993400/** @name XcmV1MultiassetMultiAssets */3401export interface XcmV1MultiassetMultiAssets extends Vec<XcmV1MultiAsset> {}34023403/** @name XcmV1MultiassetWildFungibility */3404export interface XcmV1MultiassetWildFungibility extends Enum {3405  readonly isFungible: boolean;3406  readonly isNonFungible: boolean;3407  readonly type: 'Fungible' | 'NonFungible';3408}34093410/** @name XcmV1MultiassetWildMultiAsset */3411export interface XcmV1MultiassetWildMultiAsset extends Enum {3412  readonly isAll: boolean;3413  readonly isAllOf: boolean;3414  readonly asAllOf: {3415    readonly id: XcmV1MultiassetAssetId;3416    readonly fun: XcmV1MultiassetWildFungibility;3417  } & Struct;3418  readonly type: 'All' | 'AllOf';3419}34203421/** @name XcmV1MultiLocation */3422export interface XcmV1MultiLocation extends Struct {3423  readonly parents: u8;3424  readonly interior: XcmV1MultilocationJunctions;3425}34263427/** @name XcmV1MultilocationJunctions */3428export interface XcmV1MultilocationJunctions extends Enum {3429  readonly isHere: boolean;3430  readonly isX1: boolean;3431  readonly asX1: XcmV1Junction;3432  readonly isX2: boolean;3433  readonly asX2: ITuple<[XcmV1Junction, XcmV1Junction]>;3434  readonly isX3: boolean;3435  readonly asX3: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction]>;3436  readonly isX4: boolean;3437  readonly asX4: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>;3438  readonly isX5: boolean;3439  readonly asX5: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>;3440  readonly isX6: boolean;3441  readonly asX6: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>;3442  readonly isX7: boolean;3443  readonly asX7: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>;3444  readonly isX8: boolean;3445  readonly asX8: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>;3446  readonly type: 'Here' | 'X1' | 'X2' | 'X3' | 'X4' | 'X5' | 'X6' | 'X7' | 'X8';3447}34483449/** @name XcmV1Order */3450export interface XcmV1Order extends Enum {3451  readonly isNoop: boolean;3452  readonly isDepositAsset: boolean;3453  readonly asDepositAsset: {3454    readonly assets: XcmV1MultiassetMultiAssetFilter;3455    readonly maxAssets: u32;3456    readonly beneficiary: XcmV1MultiLocation;3457  } & Struct;3458  readonly isDepositReserveAsset: boolean;3459  readonly asDepositReserveAsset: {3460    readonly assets: XcmV1MultiassetMultiAssetFilter;3461    readonly maxAssets: u32;3462    readonly dest: XcmV1MultiLocation;3463    readonly effects: Vec<XcmV1Order>;3464  } & Struct;3465  readonly isExchangeAsset: boolean;3466  readonly asExchangeAsset: {3467    readonly give: XcmV1MultiassetMultiAssetFilter;3468    readonly receive: XcmV1MultiassetMultiAssets;3469  } & Struct;3470  readonly isInitiateReserveWithdraw: boolean;3471  readonly asInitiateReserveWithdraw: {3472    readonly assets: XcmV1MultiassetMultiAssetFilter;3473    readonly reserve: XcmV1MultiLocation;3474    readonly effects: Vec<XcmV1Order>;3475  } & Struct;3476  readonly isInitiateTeleport: boolean;3477  readonly asInitiateTeleport: {3478    readonly assets: XcmV1MultiassetMultiAssetFilter;3479    readonly dest: XcmV1MultiLocation;3480    readonly effects: Vec<XcmV1Order>;3481  } & Struct;3482  readonly isQueryHolding: boolean;3483  readonly asQueryHolding: {3484    readonly queryId: Compact<u64>;3485    readonly dest: XcmV1MultiLocation;3486    readonly assets: XcmV1MultiassetMultiAssetFilter;3487  } & Struct;3488  readonly isBuyExecution: boolean;3489  readonly asBuyExecution: {3490    readonly fees: XcmV1MultiAsset;3491    readonly weight: u64;3492    readonly debt: u64;3493    readonly haltOnError: bool;3494    readonly instructions: Vec<XcmV1Xcm>;3495  } & Struct;3496  readonly type: 'Noop' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution';3497}34983499/** @name XcmV1Response */3500export interface XcmV1Response extends Enum {3501  readonly isAssets: boolean;3502  readonly asAssets: XcmV1MultiassetMultiAssets;3503  readonly isVersion: boolean;3504  readonly asVersion: u32;3505  readonly type: 'Assets' | 'Version';3506}35073508/** @name XcmV1Xcm */3509export interface XcmV1Xcm extends Enum {3510  readonly isWithdrawAsset: boolean;3511  readonly asWithdrawAsset: {3512    readonly assets: XcmV1MultiassetMultiAssets;3513    readonly effects: Vec<XcmV1Order>;3514  } & Struct;3515  readonly isReserveAssetDeposited: boolean;3516  readonly asReserveAssetDeposited: {3517    readonly assets: XcmV1MultiassetMultiAssets;3518    readonly effects: Vec<XcmV1Order>;3519  } & Struct;3520  readonly isReceiveTeleportedAsset: boolean;3521  readonly asReceiveTeleportedAsset: {3522    readonly assets: XcmV1MultiassetMultiAssets;3523    readonly effects: Vec<XcmV1Order>;3524  } & Struct;3525  readonly isQueryResponse: boolean;3526  readonly asQueryResponse: {3527    readonly queryId: Compact<u64>;3528    readonly response: XcmV1Response;3529  } & Struct;3530  readonly isTransferAsset: boolean;3531  readonly asTransferAsset: {3532    readonly assets: XcmV1MultiassetMultiAssets;3533    readonly beneficiary: XcmV1MultiLocation;3534  } & Struct;3535  readonly isTransferReserveAsset: boolean;3536  readonly asTransferReserveAsset: {3537    readonly assets: XcmV1MultiassetMultiAssets;3538    readonly dest: XcmV1MultiLocation;3539    readonly effects: Vec<XcmV1Order>;3540  } & Struct;3541  readonly isTransact: boolean;3542  readonly asTransact: {3543    readonly originType: XcmV0OriginKind;3544    readonly requireWeightAtMost: u64;3545    readonly call: XcmDoubleEncoded;3546  } & Struct;3547  readonly isHrmpNewChannelOpenRequest: boolean;3548  readonly asHrmpNewChannelOpenRequest: {3549    readonly sender: Compact<u32>;3550    readonly maxMessageSize: Compact<u32>;3551    readonly maxCapacity: Compact<u32>;3552  } & Struct;3553  readonly isHrmpChannelAccepted: boolean;3554  readonly asHrmpChannelAccepted: {3555    readonly recipient: Compact<u32>;3556  } & Struct;3557  readonly isHrmpChannelClosing: boolean;3558  readonly asHrmpChannelClosing: {3559    readonly initiator: Compact<u32>;3560    readonly sender: Compact<u32>;3561    readonly recipient: Compact<u32>;3562  } & Struct;3563  readonly isRelayedFrom: boolean;3564  readonly asRelayedFrom: {3565    readonly who: XcmV1MultilocationJunctions;3566    readonly message: XcmV1Xcm;3567  } & Struct;3568  readonly isSubscribeVersion: boolean;3569  readonly asSubscribeVersion: {3570    readonly queryId: Compact<u64>;3571    readonly maxResponseWeight: Compact<u64>;3572  } & Struct;3573  readonly isUnsubscribeVersion: boolean;3574  readonly type: 'WithdrawAsset' | 'ReserveAssetDeposited' | 'ReceiveTeleportedAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'RelayedFrom' | 'SubscribeVersion' | 'UnsubscribeVersion';3575}35763577/** @name XcmV2Instruction */3578export interface XcmV2Instruction extends Enum {3579  readonly isWithdrawAsset: boolean;3580  readonly asWithdrawAsset: XcmV1MultiassetMultiAssets;3581  readonly isReserveAssetDeposited: boolean;3582  readonly asReserveAssetDeposited: XcmV1MultiassetMultiAssets;3583  readonly isReceiveTeleportedAsset: boolean;3584  readonly asReceiveTeleportedAsset: XcmV1MultiassetMultiAssets;3585  readonly isQueryResponse: boolean;3586  readonly asQueryResponse: {3587    readonly queryId: Compact<u64>;3588    readonly response: XcmV2Response;3589    readonly maxWeight: Compact<u64>;3590  } & Struct;3591  readonly isTransferAsset: boolean;3592  readonly asTransferAsset: {3593    readonly assets: XcmV1MultiassetMultiAssets;3594    readonly beneficiary: XcmV1MultiLocation;3595  } & Struct;3596  readonly isTransferReserveAsset: boolean;3597  readonly asTransferReserveAsset: {3598    readonly assets: XcmV1MultiassetMultiAssets;3599    readonly dest: XcmV1MultiLocation;3600    readonly xcm: XcmV2Xcm;3601  } & Struct;3602  readonly isTransact: boolean;3603  readonly asTransact: {3604    readonly originType: XcmV0OriginKind;3605    readonly requireWeightAtMost: Compact<u64>;3606    readonly call: XcmDoubleEncoded;3607  } & Struct;3608  readonly isHrmpNewChannelOpenRequest: boolean;3609  readonly asHrmpNewChannelOpenRequest: {3610    readonly sender: Compact<u32>;3611    readonly maxMessageSize: Compact<u32>;3612    readonly maxCapacity: Compact<u32>;3613  } & Struct;3614  readonly isHrmpChannelAccepted: boolean;3615  readonly asHrmpChannelAccepted: {3616    readonly recipient: Compact<u32>;3617  } & Struct;3618  readonly isHrmpChannelClosing: boolean;3619  readonly asHrmpChannelClosing: {3620    readonly initiator: Compact<u32>;3621    readonly sender: Compact<u32>;3622    readonly recipient: Compact<u32>;3623  } & Struct;3624  readonly isClearOrigin: boolean;3625  readonly isDescendOrigin: boolean;3626  readonly asDescendOrigin: XcmV1MultilocationJunctions;3627  readonly isReportError: boolean;3628  readonly asReportError: {3629    readonly queryId: Compact<u64>;3630    readonly dest: XcmV1MultiLocation;3631    readonly maxResponseWeight: Compact<u64>;3632  } & Struct;3633  readonly isDepositAsset: boolean;3634  readonly asDepositAsset: {3635    readonly assets: XcmV1MultiassetMultiAssetFilter;3636    readonly maxAssets: Compact<u32>;3637    readonly beneficiary: XcmV1MultiLocation;3638  } & Struct;3639  readonly isDepositReserveAsset: boolean;3640  readonly asDepositReserveAsset: {3641    readonly assets: XcmV1MultiassetMultiAssetFilter;3642    readonly maxAssets: Compact<u32>;3643    readonly dest: XcmV1MultiLocation;3644    readonly xcm: XcmV2Xcm;3645  } & Struct;3646  readonly isExchangeAsset: boolean;3647  readonly asExchangeAsset: {3648    readonly give: XcmV1MultiassetMultiAssetFilter;3649    readonly receive: XcmV1MultiassetMultiAssets;3650  } & Struct;3651  readonly isInitiateReserveWithdraw: boolean;3652  readonly asInitiateReserveWithdraw: {3653    readonly assets: XcmV1MultiassetMultiAssetFilter;3654    readonly reserve: XcmV1MultiLocation;3655    readonly xcm: XcmV2Xcm;3656  } & Struct;3657  readonly isInitiateTeleport: boolean;3658  readonly asInitiateTeleport: {3659    readonly assets: XcmV1MultiassetMultiAssetFilter;3660    readonly dest: XcmV1MultiLocation;3661    readonly xcm: XcmV2Xcm;3662  } & Struct;3663  readonly isQueryHolding: boolean;3664  readonly asQueryHolding: {3665    readonly queryId: Compact<u64>;3666    readonly dest: XcmV1MultiLocation;3667    readonly assets: XcmV1MultiassetMultiAssetFilter;3668    readonly maxResponseWeight: Compact<u64>;3669  } & Struct;3670  readonly isBuyExecution: boolean;3671  readonly asBuyExecution: {3672    readonly fees: XcmV1MultiAsset;3673    readonly weightLimit: XcmV2WeightLimit;3674  } & Struct;3675  readonly isRefundSurplus: boolean;3676  readonly isSetErrorHandler: boolean;3677  readonly asSetErrorHandler: XcmV2Xcm;3678  readonly isSetAppendix: boolean;3679  readonly asSetAppendix: XcmV2Xcm;3680  readonly isClearError: boolean;3681  readonly isClaimAsset: boolean;3682  readonly asClaimAsset: {3683    readonly assets: XcmV1MultiassetMultiAssets;3684    readonly ticket: XcmV1MultiLocation;3685  } & Struct;3686  readonly isTrap: boolean;3687  readonly asTrap: Compact<u64>;3688  readonly isSubscribeVersion: boolean;3689  readonly asSubscribeVersion: {3690    readonly queryId: Compact<u64>;3691    readonly maxResponseWeight: Compact<u64>;3692  } & Struct;3693  readonly isUnsubscribeVersion: boolean;3694  readonly type: 'WithdrawAsset' | 'ReserveAssetDeposited' | 'ReceiveTeleportedAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'ClearOrigin' | 'DescendOrigin' | 'ReportError' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution' | 'RefundSurplus' | 'SetErrorHandler' | 'SetAppendix' | 'ClearError' | 'ClaimAsset' | 'Trap' | 'SubscribeVersion' | 'UnsubscribeVersion';3695}36963697/** @name XcmV2Response */3698export interface XcmV2Response extends Enum {3699  readonly isNull: boolean;3700  readonly isAssets: boolean;3701  readonly asAssets: XcmV1MultiassetMultiAssets;3702  readonly isExecutionResult: boolean;3703  readonly asExecutionResult: Option<ITuple<[u32, XcmV2TraitsError]>>;3704  readonly isVersion: boolean;3705  readonly asVersion: u32;3706  readonly type: 'Null' | 'Assets' | 'ExecutionResult' | 'Version';3707}37083709/** @name XcmV2TraitsError */3710export interface XcmV2TraitsError extends Enum {3711  readonly isOverflow: boolean;3712  readonly isUnimplemented: boolean;3713  readonly isUntrustedReserveLocation: boolean;3714  readonly isUntrustedTeleportLocation: boolean;3715  readonly isMultiLocationFull: boolean;3716  readonly isMultiLocationNotInvertible: boolean;3717  readonly isBadOrigin: boolean;3718  readonly isInvalidLocation: boolean;3719  readonly isAssetNotFound: boolean;3720  readonly isFailedToTransactAsset: boolean;3721  readonly isNotWithdrawable: boolean;3722  readonly isLocationCannotHold: boolean;3723  readonly isExceedsMaxMessageSize: boolean;3724  readonly isDestinationUnsupported: boolean;3725  readonly isTransport: boolean;3726  readonly isUnroutable: boolean;3727  readonly isUnknownClaim: boolean;3728  readonly isFailedToDecode: boolean;3729  readonly isMaxWeightInvalid: boolean;3730  readonly isNotHoldingFees: boolean;3731  readonly isTooExpensive: boolean;3732  readonly isTrap: boolean;3733  readonly asTrap: u64;3734  readonly isUnhandledXcmVersion: boolean;3735  readonly isWeightLimitReached: boolean;3736  readonly asWeightLimitReached: u64;3737  readonly isBarrier: boolean;3738  readonly isWeightNotComputable: boolean;3739  readonly type: 'Overflow' | 'Unimplemented' | 'UntrustedReserveLocation' | 'UntrustedTeleportLocation' | 'MultiLocationFull' | 'MultiLocationNotInvertible' | 'BadOrigin' | 'InvalidLocation' | 'AssetNotFound' | 'FailedToTransactAsset' | 'NotWithdrawable' | 'LocationCannotHold' | 'ExceedsMaxMessageSize' | 'DestinationUnsupported' | 'Transport' | 'Unroutable' | 'UnknownClaim' | 'FailedToDecode' | 'MaxWeightInvalid' | 'NotHoldingFees' | 'TooExpensive' | 'Trap' | 'UnhandledXcmVersion' | 'WeightLimitReached' | 'Barrier' | 'WeightNotComputable';3740}37413742/** @name XcmV2TraitsOutcome */3743export interface XcmV2TraitsOutcome extends Enum {3744  readonly isComplete: boolean;3745  readonly asComplete: u64;3746  readonly isIncomplete: boolean;3747  readonly asIncomplete: ITuple<[u64, XcmV2TraitsError]>;3748  readonly isError: boolean;3749  readonly asError: XcmV2TraitsError;3750  readonly type: 'Complete' | 'Incomplete' | 'Error';3751}37523753/** @name XcmV2WeightLimit */3754export interface XcmV2WeightLimit extends Enum {3755  readonly isUnlimited: boolean;3756  readonly isLimited: boolean;3757  readonly asLimited: Compact<u64>;3758  readonly type: 'Unlimited' | 'Limited';3759}37603761/** @name XcmV2Xcm */3762export interface XcmV2Xcm extends Vec<XcmV2Instruction> {}37633764/** @name XcmVersionedMultiAsset */3765export interface XcmVersionedMultiAsset extends Enum {3766  readonly isV0: boolean;3767  readonly asV0: XcmV0MultiAsset;3768  readonly isV1: boolean;3769  readonly asV1: XcmV1MultiAsset;3770  readonly type: 'V0' | 'V1';3771}37723773/** @name XcmVersionedMultiAssets */3774export interface XcmVersionedMultiAssets extends Enum {3775  readonly isV0: boolean;3776  readonly asV0: Vec<XcmV0MultiAsset>;3777  readonly isV1: boolean;3778  readonly asV1: XcmV1MultiassetMultiAssets;3779  readonly type: 'V0' | 'V1';3780}37813782/** @name XcmVersionedMultiLocation */3783export interface XcmVersionedMultiLocation extends Enum {3784  readonly isV0: boolean;3785  readonly asV0: XcmV0MultiLocation;3786  readonly isV1: boolean;3787  readonly asV1: XcmV1MultiLocation;3788  readonly type: 'V0' | 'V1';3789}37903791/** @name XcmVersionedXcm */3792export interface XcmVersionedXcm extends Enum {3793  readonly isV0: boolean;3794  readonly asV0: XcmV0Xcm;3795  readonly isV1: boolean;3796  readonly asV1: XcmV1Xcm;3797  readonly isV2: boolean;3798  readonly asV2: XcmV2Xcm;3799  readonly type: 'V0' | 'V1' | 'V2';3800}38013802export type PHANTOM_DEFAULT = 'default';
modifiedtests/src/interfaces/lookup.tsdiffbeforeafterboth
--- a/tests/src/interfaces/lookup.ts
+++ b/tests/src/interfaces/lookup.ts
@@ -184,8 +184,54 @@
     }
   },
   /**
-   * Lookup30: pallet_balances::pallet::Event<T, I>
+   * Lookup30: pallet_collator_selection::pallet::Event<T>
+   **/
+  PalletCollatorSelectionEvent: {
+    _enum: {
+      NewDesiredCollators: {
+        desiredCollators: 'u32',
+      },
+      NewLicenseBond: {
+        bondAmount: 'u128',
+      },
+      NewKickThreshold: {
+        lengthInBlocks: 'u32',
+      },
+      InvulnerableAdded: {
+        invulnerable: 'AccountId32',
+      },
+      InvulnerableRemoved: {
+        invulnerable: 'AccountId32',
+      },
+      LicenseObtained: {
+        accountId: 'AccountId32',
+        deposit: 'u128',
+      },
+      LicenseForfeited: {
+        accountId: 'AccountId32',
+        depositReturned: 'u128',
+      },
+      CandidateAdded: {
+        accountId: 'AccountId32',
+      },
+      CandidateRemoved: {
+        accountId: 'AccountId32'
+      }
+    }
+  },
+  /**
+   * Lookup31: pallet_session::pallet::Event
    **/
+  PalletSessionEvent: {
+    _enum: {
+      NewSession: {
+        sessionIndex: 'u32'
+      }
+    }
+  },
+  /**
+   * Lookup32: pallet_balances::pallet::Event<T, I>
+   **/
   PalletBalancesEvent: {
     _enum: {
       Endowed: {
@@ -235,13 +281,13 @@
     }
   },
   /**
-   * Lookup31: frame_support::traits::tokens::misc::BalanceStatus
+   * Lookup33: frame_support::traits::tokens::misc::BalanceStatus
    **/
   FrameSupportTokensMiscBalanceStatus: {
     _enum: ['Free', 'Reserved']
   },
   /**
-   * Lookup32: pallet_transaction_payment::pallet::Event<T>
+   * Lookup34: pallet_transaction_payment::pallet::Event<T>
    **/
   PalletTransactionPaymentEvent: {
     _enum: {
@@ -253,7 +299,7 @@
     }
   },
   /**
-   * Lookup33: pallet_treasury::pallet::Event<T, I>
+   * Lookup35: pallet_treasury::pallet::Event<T, I>
    **/
   PalletTreasuryEvent: {
     _enum: {
@@ -289,7 +335,7 @@
     }
   },
   /**
-   * Lookup34: pallet_sudo::pallet::Event<T>
+   * Lookup36: pallet_sudo::pallet::Event<T>
    **/
   PalletSudoEvent: {
     _enum: {
@@ -305,7 +351,7 @@
     }
   },
   /**
-   * Lookup38: orml_vesting::module::Event<T>
+   * Lookup40: orml_vesting::module::Event<T>
    **/
   OrmlVestingModuleEvent: {
     _enum: {
@@ -324,7 +370,7 @@
     }
   },
   /**
-   * Lookup39: orml_vesting::VestingSchedule<BlockNumber, Balance>
+   * Lookup41: orml_vesting::VestingSchedule<BlockNumber, Balance>
    **/
   OrmlVestingVestingSchedule: {
     start: 'u32',
@@ -333,7 +379,7 @@
     perPeriod: 'Compact<u128>'
   },
   /**
-   * Lookup41: orml_xtokens::module::Event<T>
+   * Lookup43: orml_xtokens::module::Event<T>
    **/
   OrmlXtokensModuleEvent: {
     _enum: {
@@ -346,18 +392,18 @@
     }
   },
   /**
-   * Lookup42: xcm::v1::multiasset::MultiAssets
+   * Lookup44: xcm::v1::multiasset::MultiAssets
    **/
   XcmV1MultiassetMultiAssets: 'Vec<XcmV1MultiAsset>',
   /**
-   * Lookup44: xcm::v1::multiasset::MultiAsset
+   * Lookup46: xcm::v1::multiasset::MultiAsset
    **/
   XcmV1MultiAsset: {
     id: 'XcmV1MultiassetAssetId',
     fun: 'XcmV1MultiassetFungibility'
   },
   /**
-   * Lookup45: xcm::v1::multiasset::AssetId
+   * Lookup47: xcm::v1::multiasset::AssetId
    **/
   XcmV1MultiassetAssetId: {
     _enum: {
@@ -366,14 +412,14 @@
     }
   },
   /**
-   * Lookup46: xcm::v1::multilocation::MultiLocation
+   * Lookup48: xcm::v1::multilocation::MultiLocation
    **/
   XcmV1MultiLocation: {
     parents: 'u8',
     interior: 'XcmV1MultilocationJunctions'
   },
   /**
-   * Lookup47: xcm::v1::multilocation::Junctions
+   * Lookup49: xcm::v1::multilocation::Junctions
    **/
   XcmV1MultilocationJunctions: {
     _enum: {
@@ -389,7 +435,7 @@
     }
   },
   /**
-   * Lookup48: xcm::v1::junction::Junction
+   * Lookup50: xcm::v1::junction::Junction
    **/
   XcmV1Junction: {
     _enum: {
@@ -417,7 +463,7 @@
     }
   },
   /**
-   * Lookup50: xcm::v0::junction::NetworkId
+   * Lookup52: xcm::v0::junction::NetworkId
    **/
   XcmV0JunctionNetworkId: {
     _enum: {
@@ -428,7 +474,7 @@
     }
   },
   /**
-   * Lookup53: xcm::v0::junction::BodyId
+   * Lookup55: xcm::v0::junction::BodyId
    **/
   XcmV0JunctionBodyId: {
     _enum: {
@@ -442,7 +488,7 @@
     }
   },
   /**
-   * Lookup54: xcm::v0::junction::BodyPart
+   * Lookup56: xcm::v0::junction::BodyPart
    **/
   XcmV0JunctionBodyPart: {
     _enum: {
@@ -465,7 +511,7 @@
     }
   },
   /**
-   * Lookup55: xcm::v1::multiasset::Fungibility
+   * Lookup57: xcm::v1::multiasset::Fungibility
    **/
   XcmV1MultiassetFungibility: {
     _enum: {
@@ -474,7 +520,7 @@
     }
   },
   /**
-   * Lookup56: xcm::v1::multiasset::AssetInstance
+   * Lookup58: xcm::v1::multiasset::AssetInstance
    **/
   XcmV1MultiassetAssetInstance: {
     _enum: {
@@ -488,7 +534,7 @@
     }
   },
   /**
-   * Lookup59: orml_tokens::module::Event<T>
+   * Lookup61: orml_tokens::module::Event<T>
    **/
   OrmlTokensModuleEvent: {
     _enum: {
@@ -565,7 +611,7 @@
     }
   },
   /**
-   * Lookup60: pallet_foreign_assets::AssetIds
+   * Lookup62: pallet_foreign_assets::AssetIds
    **/
   PalletForeignAssetsAssetIds: {
     _enum: {
@@ -574,13 +620,13 @@
     }
   },
   /**
-   * Lookup61: pallet_foreign_assets::NativeCurrency
+   * Lookup63: pallet_foreign_assets::NativeCurrency
    **/
   PalletForeignAssetsNativeCurrency: {
     _enum: ['Here', 'Parent']
   },
   /**
-   * Lookup62: cumulus_pallet_xcmp_queue::pallet::Event<T>
+   * Lookup64: cumulus_pallet_xcmp_queue::pallet::Event<T>
    **/
   CumulusPalletXcmpQueueEvent: {
     _enum: {
@@ -618,7 +664,7 @@
     }
   },
   /**
-   * Lookup64: xcm::v2::traits::Error
+   * Lookup66: xcm::v2::traits::Error
    **/
   XcmV2TraitsError: {
     _enum: {
@@ -651,7 +697,7 @@
     }
   },
   /**
-   * Lookup66: pallet_xcm::pallet::Event<T>
+   * Lookup68: pallet_xcm::pallet::Event<T>
    **/
   PalletXcmEvent: {
     _enum: {
@@ -675,7 +721,7 @@
     }
   },
   /**
-   * Lookup67: xcm::v2::traits::Outcome
+   * Lookup69: xcm::v2::traits::Outcome
    **/
   XcmV2TraitsOutcome: {
     _enum: {
@@ -685,11 +731,11 @@
     }
   },
   /**
-   * Lookup68: xcm::v2::Xcm<RuntimeCall>
+   * Lookup70: xcm::v2::Xcm<RuntimeCall>
    **/
   XcmV2Xcm: 'Vec<XcmV2Instruction>',
   /**
-   * Lookup70: xcm::v2::Instruction<RuntimeCall>
+   * Lookup72: xcm::v2::Instruction<RuntimeCall>
    **/
   XcmV2Instruction: {
     _enum: {
@@ -787,7 +833,7 @@
     }
   },
   /**
-   * Lookup71: xcm::v2::Response
+   * Lookup73: xcm::v2::Response
    **/
   XcmV2Response: {
     _enum: {
@@ -798,19 +844,19 @@
     }
   },
   /**
-   * Lookup74: xcm::v0::OriginKind
+   * Lookup76: xcm::v0::OriginKind
    **/
   XcmV0OriginKind: {
     _enum: ['Native', 'SovereignAccount', 'Superuser', 'Xcm']
   },
   /**
-   * Lookup75: xcm::double_encoded::DoubleEncoded<T>
+   * Lookup77: xcm::double_encoded::DoubleEncoded<T>
    **/
   XcmDoubleEncoded: {
     encoded: 'Bytes'
   },
   /**
-   * Lookup76: xcm::v1::multiasset::MultiAssetFilter
+   * Lookup78: xcm::v1::multiasset::MultiAssetFilter
    **/
   XcmV1MultiassetMultiAssetFilter: {
     _enum: {
@@ -819,7 +865,7 @@
     }
   },
   /**
-   * Lookup77: xcm::v1::multiasset::WildMultiAsset
+   * Lookup79: xcm::v1::multiasset::WildMultiAsset
    **/
   XcmV1MultiassetWildMultiAsset: {
     _enum: {
@@ -831,13 +877,13 @@
     }
   },
   /**
-   * Lookup78: xcm::v1::multiasset::WildFungibility
+   * Lookup80: xcm::v1::multiasset::WildFungibility
    **/
   XcmV1MultiassetWildFungibility: {
     _enum: ['Fungible', 'NonFungible']
   },
   /**
-   * Lookup79: xcm::v2::WeightLimit
+   * Lookup81: xcm::v2::WeightLimit
    **/
   XcmV2WeightLimit: {
     _enum: {
@@ -846,7 +892,7 @@
     }
   },
   /**
-   * Lookup81: xcm::VersionedMultiAssets
+   * Lookup83: xcm::VersionedMultiAssets
    **/
   XcmVersionedMultiAssets: {
     _enum: {
@@ -855,7 +901,7 @@
     }
   },
   /**
-   * Lookup83: xcm::v0::multi_asset::MultiAsset
+   * Lookup85: xcm::v0::multi_asset::MultiAsset
    **/
   XcmV0MultiAsset: {
     _enum: {
@@ -894,7 +940,7 @@
     }
   },
   /**
-   * Lookup84: xcm::v0::multi_location::MultiLocation
+   * Lookup86: xcm::v0::multi_location::MultiLocation
    **/
   XcmV0MultiLocation: {
     _enum: {
@@ -910,7 +956,7 @@
     }
   },
   /**
-   * Lookup85: xcm::v0::junction::Junction
+   * Lookup87: xcm::v0::junction::Junction
    **/
   XcmV0Junction: {
     _enum: {
@@ -939,7 +985,7 @@
     }
   },
   /**
-   * Lookup86: xcm::VersionedMultiLocation
+   * Lookup88: xcm::VersionedMultiLocation
    **/
   XcmVersionedMultiLocation: {
     _enum: {
@@ -948,7 +994,7 @@
     }
   },
   /**
-   * Lookup87: cumulus_pallet_xcm::pallet::Event<T>
+   * Lookup89: cumulus_pallet_xcm::pallet::Event<T>
    **/
   CumulusPalletXcmEvent: {
     _enum: {
@@ -958,7 +1004,7 @@
     }
   },
   /**
-   * Lookup88: cumulus_pallet_dmp_queue::pallet::Event<T>
+   * Lookup90: cumulus_pallet_dmp_queue::pallet::Event<T>
    **/
   CumulusPalletDmpQueueEvent: {
     _enum: {
@@ -989,7 +1035,7 @@
     }
   },
   /**
-   * Lookup89: pallet_common::pallet::Event<T>
+   * Lookup91: pallet_common::pallet::Event<T>
    **/
   PalletCommonEvent: {
     _enum: {
@@ -1018,7 +1064,7 @@
     }
   },
   /**
-   * Lookup92: pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>
+   * Lookup94: pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>
    **/
   PalletEvmAccountBasicCrossAccountIdRepr: {
     _enum: {
@@ -1027,7 +1073,7 @@
     }
   },
   /**
-   * Lookup96: pallet_structure::pallet::Event<T>
+   * Lookup98: pallet_structure::pallet::Event<T>
    **/
   PalletStructureEvent: {
     _enum: {
@@ -1035,7 +1081,7 @@
     }
   },
   /**
-   * Lookup97: pallet_rmrk_core::pallet::Event<T>
+   * Lookup99: pallet_rmrk_core::pallet::Event<T>
    **/
   PalletRmrkCoreEvent: {
     _enum: {
@@ -1112,7 +1158,7 @@
     }
   },
   /**
-   * Lookup98: rmrk_traits::nft::AccountIdOrCollectionNftTuple<sp_core::crypto::AccountId32>
+   * Lookup100: rmrk_traits::nft::AccountIdOrCollectionNftTuple<sp_core::crypto::AccountId32>
    **/
   RmrkTraitsNftAccountIdOrCollectionNftTuple: {
     _enum: {
@@ -1121,7 +1167,7 @@
     }
   },
   /**
-   * Lookup102: pallet_rmrk_equip::pallet::Event<T>
+   * Lookup104: pallet_rmrk_equip::pallet::Event<T>
    **/
   PalletRmrkEquipEvent: {
     _enum: {
@@ -1136,7 +1182,7 @@
     }
   },
   /**
-   * Lookup103: pallet_app_promotion::pallet::Event<T>
+   * Lookup105: pallet_app_promotion::pallet::Event<T>
    **/
   PalletAppPromotionEvent: {
     _enum: {
@@ -1147,7 +1193,7 @@
     }
   },
   /**
-   * Lookup104: pallet_foreign_assets::module::Event<T>
+   * Lookup106: pallet_foreign_assets::module::Event<T>
    **/
   PalletForeignAssetsModuleEvent: {
     _enum: {
@@ -1172,7 +1218,7 @@
     }
   },
   /**
-   * Lookup105: pallet_foreign_assets::module::AssetMetadata<Balance>
+   * Lookup107: pallet_foreign_assets::module::AssetMetadata<Balance>
    **/
   PalletForeignAssetsModuleAssetMetadata: {
     name: 'Bytes',
@@ -1181,7 +1227,7 @@
     minimalBalance: 'u128'
   },
   /**
-   * Lookup106: pallet_evm::pallet::Event<T>
+   * Lookup108: pallet_evm::pallet::Event<T>
    **/
   PalletEvmEvent: {
     _enum: {
@@ -1203,7 +1249,7 @@
     }
   },
   /**
-   * Lookup107: ethereum::log::Log
+   * Lookup109: ethereum::log::Log
    **/
   EthereumLog: {
     address: 'H160',
@@ -1211,7 +1257,7 @@
     data: 'Bytes'
   },
   /**
-   * Lookup109: pallet_ethereum::pallet::Event
+   * Lookup111: pallet_ethereum::pallet::Event
    **/
   PalletEthereumEvent: {
     _enum: {
@@ -1224,7 +1270,7 @@
     }
   },
   /**
-   * Lookup110: evm_core::error::ExitReason
+   * Lookup112: evm_core::error::ExitReason
    **/
   EvmCoreErrorExitReason: {
     _enum: {
@@ -1235,13 +1281,13 @@
     }
   },
   /**
-   * Lookup111: evm_core::error::ExitSucceed
+   * Lookup113: evm_core::error::ExitSucceed
    **/
   EvmCoreErrorExitSucceed: {
     _enum: ['Stopped', 'Returned', 'Suicided']
   },
   /**
-   * Lookup112: evm_core::error::ExitError
+   * Lookup114: evm_core::error::ExitError
    **/
   EvmCoreErrorExitError: {
     _enum: {
@@ -1263,13 +1309,13 @@
     }
   },
   /**
-   * Lookup115: evm_core::error::ExitRevert
+   * Lookup117: evm_core::error::ExitRevert
    **/
   EvmCoreErrorExitRevert: {
     _enum: ['Reverted']
   },
   /**
-   * Lookup116: evm_core::error::ExitFatal
+   * Lookup118: evm_core::error::ExitFatal
    **/
   EvmCoreErrorExitFatal: {
     _enum: {
@@ -1280,7 +1326,7 @@
     }
   },
   /**
-   * Lookup117: pallet_evm_contract_helpers::pallet::Event<T>
+   * Lookup119: pallet_evm_contract_helpers::pallet::Event<T>
    **/
   PalletEvmContractHelpersEvent: {
     _enum: {
@@ -1290,25 +1336,25 @@
     }
   },
   /**
-   * Lookup118: pallet_evm_migration::pallet::Event<T>
+   * Lookup120: pallet_evm_migration::pallet::Event<T>
    **/
   PalletEvmMigrationEvent: {
     _enum: ['TestEvent']
   },
   /**
-   * Lookup119: pallet_maintenance::pallet::Event<T>
+   * Lookup121: pallet_maintenance::pallet::Event<T>
    **/
   PalletMaintenanceEvent: {
     _enum: ['MaintenanceEnabled', 'MaintenanceDisabled']
   },
   /**
-   * Lookup120: pallet_test_utils::pallet::Event<T>
+   * Lookup122: pallet_test_utils::pallet::Event<T>
    **/
   PalletTestUtilsEvent: {
     _enum: ['ValueIsSet', 'ShouldRollback', 'BatchCompleted']
   },
   /**
-   * Lookup121: frame_system::Phase
+   * Lookup123: frame_system::Phase
    **/
   FrameSystemPhase: {
     _enum: {
@@ -1318,14 +1364,14 @@
     }
   },
   /**
-   * Lookup124: frame_system::LastRuntimeUpgradeInfo
+   * Lookup126: frame_system::LastRuntimeUpgradeInfo
    **/
   FrameSystemLastRuntimeUpgradeInfo: {
     specVersion: 'Compact<u32>',
     specName: 'Text'
   },
   /**
-   * Lookup125: frame_system::pallet::Call<T>
+   * Lookup127: frame_system::pallet::Call<T>
    **/
   FrameSystemCall: {
     _enum: {
@@ -1363,7 +1409,7 @@
     }
   },
   /**
-   * Lookup130: frame_system::limits::BlockWeights
+   * Lookup132: frame_system::limits::BlockWeights
    **/
   FrameSystemLimitsBlockWeights: {
     baseBlock: 'SpWeightsWeightV2Weight',
@@ -1371,7 +1417,7 @@
     perClass: 'FrameSupportDispatchPerDispatchClassWeightsPerClass'
   },
   /**
-   * Lookup131: frame_support::dispatch::PerDispatchClass<frame_system::limits::WeightsPerClass>
+   * Lookup133: frame_support::dispatch::PerDispatchClass<frame_system::limits::WeightsPerClass>
    **/
   FrameSupportDispatchPerDispatchClassWeightsPerClass: {
     normal: 'FrameSystemLimitsWeightsPerClass',
@@ -1379,7 +1425,7 @@
     mandatory: 'FrameSystemLimitsWeightsPerClass'
   },
   /**
-   * Lookup132: frame_system::limits::WeightsPerClass
+   * Lookup134: frame_system::limits::WeightsPerClass
    **/
   FrameSystemLimitsWeightsPerClass: {
     baseExtrinsic: 'SpWeightsWeightV2Weight',
@@ -1388,13 +1434,13 @@
     reserved: 'Option<SpWeightsWeightV2Weight>'
   },
   /**
-   * Lookup134: frame_system::limits::BlockLength
+   * Lookup136: frame_system::limits::BlockLength
    **/
   FrameSystemLimitsBlockLength: {
     max: 'FrameSupportDispatchPerDispatchClassU32'
   },
   /**
-   * Lookup135: frame_support::dispatch::PerDispatchClass<T>
+   * Lookup137: frame_support::dispatch::PerDispatchClass<T>
    **/
   FrameSupportDispatchPerDispatchClassU32: {
     normal: 'u32',
@@ -1402,14 +1448,14 @@
     mandatory: 'u32'
   },
   /**
-   * Lookup136: sp_weights::RuntimeDbWeight
+   * Lookup138: sp_weights::RuntimeDbWeight
    **/
   SpWeightsRuntimeDbWeight: {
     read: 'u64',
     write: 'u64'
   },
   /**
-   * Lookup137: sp_version::RuntimeVersion
+   * Lookup139: sp_version::RuntimeVersion
    **/
   SpVersionRuntimeVersion: {
     specName: 'Text',
@@ -1422,13 +1468,13 @@
     stateVersion: 'u8'
   },
   /**
-   * Lookup142: frame_system::pallet::Error<T>
+   * Lookup144: frame_system::pallet::Error<T>
    **/
   FrameSystemError: {
     _enum: ['InvalidSpecName', 'SpecVersionNeedsToIncrease', 'FailedToExtractRuntimeVersion', 'NonDefaultComposite', 'NonZeroRefCount', 'CallFiltered']
   },
   /**
-   * Lookup143: polkadot_primitives::v2::PersistedValidationData<primitive_types::H256, N>
+   * Lookup145: polkadot_primitives::v2::PersistedValidationData<primitive_types::H256, N>
    **/
   PolkadotPrimitivesV2PersistedValidationData: {
     parentHead: 'Bytes',
@@ -1437,19 +1483,19 @@
     maxPovSize: 'u32'
   },
   /**
-   * Lookup146: polkadot_primitives::v2::UpgradeRestriction
+   * Lookup148: polkadot_primitives::v2::UpgradeRestriction
    **/
   PolkadotPrimitivesV2UpgradeRestriction: {
     _enum: ['Present']
   },
   /**
-   * Lookup147: sp_trie::storage_proof::StorageProof
+   * Lookup149: sp_trie::storage_proof::StorageProof
    **/
   SpTrieStorageProof: {
     trieNodes: 'BTreeSet<Bytes>'
   },
   /**
-   * Lookup149: cumulus_pallet_parachain_system::relay_state_snapshot::MessagingStateSnapshot
+   * Lookup151: cumulus_pallet_parachain_system::relay_state_snapshot::MessagingStateSnapshot
    **/
   CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot: {
     dmqMqcHead: 'H256',
@@ -1458,7 +1504,7 @@
     egressChannels: 'Vec<(u32,PolkadotPrimitivesV2AbridgedHrmpChannel)>'
   },
   /**
-   * Lookup152: polkadot_primitives::v2::AbridgedHrmpChannel
+   * Lookup154: polkadot_primitives::v2::AbridgedHrmpChannel
    **/
   PolkadotPrimitivesV2AbridgedHrmpChannel: {
     maxCapacity: 'u32',
@@ -1469,7 +1515,7 @@
     mqcHead: 'Option<H256>'
   },
   /**
-   * Lookup153: polkadot_primitives::v2::AbridgedHostConfiguration
+   * Lookup155: polkadot_primitives::v2::AbridgedHostConfiguration
    **/
   PolkadotPrimitivesV2AbridgedHostConfiguration: {
     maxCodeSize: 'u32',
@@ -1483,14 +1529,14 @@
     validationUpgradeDelay: 'u32'
   },
   /**
-   * Lookup159: polkadot_core_primitives::OutboundHrmpMessage<polkadot_parachain::primitives::Id>
+   * Lookup161: polkadot_core_primitives::OutboundHrmpMessage<polkadot_parachain::primitives::Id>
    **/
   PolkadotCorePrimitivesOutboundHrmpMessage: {
     recipient: 'u32',
     data: 'Bytes'
   },
   /**
-   * Lookup160: cumulus_pallet_parachain_system::pallet::Call<T>
+   * Lookup162: cumulus_pallet_parachain_system::pallet::Call<T>
    **/
   CumulusPalletParachainSystemCall: {
     _enum: {
@@ -1509,7 +1555,7 @@
     }
   },
   /**
-   * Lookup161: cumulus_primitives_parachain_inherent::ParachainInherentData
+   * Lookup163: cumulus_primitives_parachain_inherent::ParachainInherentData
    **/
   CumulusPrimitivesParachainInherentParachainInherentData: {
     validationData: 'PolkadotPrimitivesV2PersistedValidationData',
@@ -1518,54 +1564,170 @@
     horizontalMessages: 'BTreeMap<u32, Vec<PolkadotCorePrimitivesInboundHrmpMessage>>'
   },
   /**
-   * Lookup163: polkadot_core_primitives::InboundDownwardMessage<BlockNumber>
+   * Lookup165: polkadot_core_primitives::InboundDownwardMessage<BlockNumber>
    **/
   PolkadotCorePrimitivesInboundDownwardMessage: {
     sentAt: 'u32',
     msg: 'Bytes'
   },
   /**
-   * Lookup166: polkadot_core_primitives::InboundHrmpMessage<BlockNumber>
+   * Lookup168: polkadot_core_primitives::InboundHrmpMessage<BlockNumber>
    **/
   PolkadotCorePrimitivesInboundHrmpMessage: {
     sentAt: 'u32',
     data: 'Bytes'
   },
   /**
-   * Lookup169: cumulus_pallet_parachain_system::pallet::Error<T>
+   * Lookup171: cumulus_pallet_parachain_system::pallet::Error<T>
    **/
   CumulusPalletParachainSystemError: {
     _enum: ['OverlappingUpgrades', 'ProhibitedByPolkadot', 'TooBig', 'ValidationDataNotAvailable', 'HostConfigurationNotAvailable', 'NotScheduled', 'NothingAuthorized', 'Unauthorized']
   },
   /**
-   * Lookup171: pallet_balances::BalanceLock<Balance>
+   * Lookup173: pallet_authorship::UncleEntryItem<BlockNumber, primitive_types::H256, sp_core::crypto::AccountId32>
+   **/
+  PalletAuthorshipUncleEntryItem: {
+    _enum: {
+      InclusionHeight: 'u32',
+      Uncle: '(H256,Option<AccountId32>)'
+    }
+  },
+  /**
+   * Lookup175: pallet_authorship::pallet::Call<T>
+   **/
+  PalletAuthorshipCall: {
+    _enum: {
+      set_uncles: {
+        newUncles: 'Vec<SpRuntimeHeader>'
+      }
+    }
+  },
+  /**
+   * Lookup177: sp_runtime::generic::header::Header<Number, sp_runtime::traits::BlakeTwo256>
+   **/
+  SpRuntimeHeader: {
+    parentHash: 'H256',
+    number: 'Compact<u32>',
+    stateRoot: 'H256',
+    extrinsicsRoot: 'H256',
+    digest: 'SpRuntimeDigest'
+  },
+  /**
+   * Lookup178: sp_runtime::traits::BlakeTwo256
+   **/
+  SpRuntimeBlakeTwo256: 'Null',
+  /**
+   * Lookup179: pallet_authorship::pallet::Error<T>
+   **/
+  PalletAuthorshipError: {
+    _enum: ['InvalidUncleParent', 'UnclesAlreadySet', 'TooManyUncles', 'GenesisUncle', 'TooHighUncle', 'UncleAlreadyIncluded', 'OldUncle']
+  },
+  /**
+   * Lookup182: pallet_collator_selection::pallet::Call<T>
+   **/
+  PalletCollatorSelectionCall: {
+    _enum: {
+      add_invulnerable: {
+        _alias: {
+          new_: 'new',
+        },
+        new_: 'AccountId32',
+      },
+      remove_invulnerable: {
+        who: 'AccountId32',
+      },
+      set_desired_collators: {
+        max: 'u32',
+      },
+      set_license_bond: {
+        bond: 'u128',
+      },
+      set_kick_threshold: {
+        kickThreshold: 'u32',
+      },
+      get_license: 'Null',
+      onboard: 'Null',
+      offboard: 'Null',
+      release_license: 'Null',
+      force_revoke_license: {
+        who: 'AccountId32'
+      }
+    }
+  },
+  /**
+   * Lookup183: pallet_collator_selection::pallet::Error<T>
    **/
+  PalletCollatorSelectionError: {
+    _enum: ['TooManyCandidates', 'Unknown', 'Permission', 'AlreadyHoldingLicense', 'NoLicense', 'AlreadyCandidate', 'NotCandidate', 'TooManyInvulnerables', 'TooFewInvulnerables', 'AlreadyInvulnerable', 'NotInvulnerable', 'NoAssociatedValidatorId', 'ValidatorNotRegistered']
+  },
+  /**
+   * Lookup186: opal_runtime::runtime_common::SessionKeys
+   **/
+  OpalRuntimeRuntimeCommonSessionKeys: {
+    aura: 'SpConsensusAuraSr25519AppSr25519Public'
+  },
+  /**
+   * Lookup187: sp_consensus_aura::sr25519::app_sr25519::Public
+   **/
+  SpConsensusAuraSr25519AppSr25519Public: 'SpCoreSr25519Public',
+  /**
+   * Lookup188: sp_core::sr25519::Public
+   **/
+  SpCoreSr25519Public: '[u8;32]',
+  /**
+   * Lookup191: sp_core::crypto::KeyTypeId
+   **/
+  SpCoreCryptoKeyTypeId: '[u8;4]',
+  /**
+   * Lookup192: pallet_session::pallet::Call<T>
+   **/
+  PalletSessionCall: {
+    _enum: {
+      set_keys: {
+        _alias: {
+          keys_: 'keys',
+        },
+        keys_: 'OpalRuntimeRuntimeCommonSessionKeys',
+        proof: 'Bytes',
+      },
+      purge_keys: 'Null'
+    }
+  },
+  /**
+   * Lookup193: pallet_session::pallet::Error<T>
+   **/
+  PalletSessionError: {
+    _enum: ['InvalidProof', 'NoAssociatedValidatorId', 'DuplicatedKey', 'NoKeys', 'NoAccount']
+  },
+  /**
+   * Lookup195: pallet_balances::BalanceLock<Balance>
+   **/
   PalletBalancesBalanceLock: {
     id: '[u8;8]',
     amount: 'u128',
     reasons: 'PalletBalancesReasons'
   },
   /**
-   * Lookup172: pallet_balances::Reasons
+   * Lookup196: pallet_balances::Reasons
    **/
   PalletBalancesReasons: {
     _enum: ['Fee', 'Misc', 'All']
   },
   /**
-   * Lookup175: pallet_balances::ReserveData<ReserveIdentifier, Balance>
+   * Lookup199: pallet_balances::ReserveData<ReserveIdentifier, Balance>
    **/
   PalletBalancesReserveData: {
     id: '[u8;16]',
     amount: 'u128'
   },
   /**
-   * Lookup177: pallet_balances::Releases
+   * Lookup201: pallet_balances::Releases
    **/
   PalletBalancesReleases: {
     _enum: ['V1_0_0', 'V2_0_0']
   },
   /**
-   * Lookup178: pallet_balances::pallet::Call<T, I>
+   * Lookup202: pallet_balances::pallet::Call<T, I>
    **/
   PalletBalancesCall: {
     _enum: {
@@ -1598,13 +1760,13 @@
     }
   },
   /**
-   * Lookup181: pallet_balances::pallet::Error<T, I>
+   * Lookup205: pallet_balances::pallet::Error<T, I>
    **/
   PalletBalancesError: {
     _enum: ['VestingBalance', 'LiquidityRestrictions', 'InsufficientBalance', 'ExistentialDeposit', 'KeepAlive', 'ExistingVestingSchedule', 'DeadAccount', 'TooManyReserves']
   },
   /**
-   * Lookup183: pallet_timestamp::pallet::Call<T>
+   * Lookup207: pallet_timestamp::pallet::Call<T>
    **/
   PalletTimestampCall: {
     _enum: {
@@ -1614,13 +1776,13 @@
     }
   },
   /**
-   * Lookup185: pallet_transaction_payment::Releases
+   * Lookup209: pallet_transaction_payment::Releases
    **/
   PalletTransactionPaymentReleases: {
     _enum: ['V1Ancient', 'V2']
   },
   /**
-   * Lookup186: pallet_treasury::Proposal<sp_core::crypto::AccountId32, Balance>
+   * Lookup210: pallet_treasury::Proposal<sp_core::crypto::AccountId32, Balance>
    **/
   PalletTreasuryProposal: {
     proposer: 'AccountId32',
@@ -1629,7 +1791,7 @@
     bond: 'u128'
   },
   /**
-   * Lookup189: pallet_treasury::pallet::Call<T, I>
+   * Lookup212: pallet_treasury::pallet::Call<T, I>
    **/
   PalletTreasuryCall: {
     _enum: {
@@ -1653,17 +1815,17 @@
     }
   },
   /**
-   * Lookup192: frame_support::PalletId
+   * Lookup215: frame_support::PalletId
    **/
   FrameSupportPalletId: '[u8;8]',
   /**
-   * Lookup193: pallet_treasury::pallet::Error<T, I>
+   * Lookup216: pallet_treasury::pallet::Error<T, I>
    **/
   PalletTreasuryError: {
     _enum: ['InsufficientProposersBalance', 'InvalidIndex', 'TooManyApprovals', 'InsufficientPermission', 'ProposalNotApproved']
   },
   /**
-   * Lookup194: pallet_sudo::pallet::Call<T>
+   * Lookup217: pallet_sudo::pallet::Call<T>
    **/
   PalletSudoCall: {
     _enum: {
@@ -1687,7 +1849,7 @@
     }
   },
   /**
-   * Lookup196: orml_vesting::module::Call<T>
+   * Lookup219: orml_vesting::module::Call<T>
    **/
   OrmlVestingModuleCall: {
     _enum: {
@@ -1706,7 +1868,7 @@
     }
   },
   /**
-   * Lookup198: orml_xtokens::module::Call<T>
+   * Lookup221: orml_xtokens::module::Call<T>
    **/
   OrmlXtokensModuleCall: {
     _enum: {
@@ -1749,7 +1911,7 @@
     }
   },
   /**
-   * Lookup199: xcm::VersionedMultiAsset
+   * Lookup222: xcm::VersionedMultiAsset
    **/
   XcmVersionedMultiAsset: {
     _enum: {
@@ -1758,7 +1920,7 @@
     }
   },
   /**
-   * Lookup202: orml_tokens::module::Call<T>
+   * Lookup225: orml_tokens::module::Call<T>
    **/
   OrmlTokensModuleCall: {
     _enum: {
@@ -1792,7 +1954,7 @@
     }
   },
   /**
-   * Lookup203: cumulus_pallet_xcmp_queue::pallet::Call<T>
+   * Lookup226: cumulus_pallet_xcmp_queue::pallet::Call<T>
    **/
   CumulusPalletXcmpQueueCall: {
     _enum: {
@@ -1841,7 +2003,7 @@
     }
   },
   /**
-   * Lookup204: pallet_xcm::pallet::Call<T>
+   * Lookup227: pallet_xcm::pallet::Call<T>
    **/
   PalletXcmCall: {
     _enum: {
@@ -1895,7 +2057,7 @@
     }
   },
   /**
-   * Lookup205: xcm::VersionedXcm<RuntimeCall>
+   * Lookup228: xcm::VersionedXcm<RuntimeCall>
    **/
   XcmVersionedXcm: {
     _enum: {
@@ -1905,7 +2067,7 @@
     }
   },
   /**
-   * Lookup206: xcm::v0::Xcm<RuntimeCall>
+   * Lookup229: xcm::v0::Xcm<RuntimeCall>
    **/
   XcmV0Xcm: {
     _enum: {
@@ -1959,7 +2121,7 @@
     }
   },
   /**
-   * Lookup208: xcm::v0::order::Order<RuntimeCall>
+   * Lookup231: xcm::v0::order::Order<RuntimeCall>
    **/
   XcmV0Order: {
     _enum: {
@@ -2002,7 +2164,7 @@
     }
   },
   /**
-   * Lookup210: xcm::v0::Response
+   * Lookup233: xcm::v0::Response
    **/
   XcmV0Response: {
     _enum: {
@@ -2010,7 +2172,7 @@
     }
   },
   /**
-   * Lookup211: xcm::v1::Xcm<RuntimeCall>
+   * Lookup234: xcm::v1::Xcm<RuntimeCall>
    **/
   XcmV1Xcm: {
     _enum: {
@@ -2069,7 +2231,7 @@
     }
   },
   /**
-   * Lookup213: xcm::v1::order::Order<RuntimeCall>
+   * Lookup236: xcm::v1::order::Order<RuntimeCall>
    **/
   XcmV1Order: {
     _enum: {
@@ -2114,7 +2276,7 @@
     }
   },
   /**
-   * Lookup215: xcm::v1::Response
+   * Lookup238: xcm::v1::Response
    **/
   XcmV1Response: {
     _enum: {
@@ -2123,11 +2285,11 @@
     }
   },
   /**
-   * Lookup229: cumulus_pallet_xcm::pallet::Call<T>
+   * Lookup252: cumulus_pallet_xcm::pallet::Call<T>
    **/
   CumulusPalletXcmCall: 'Null',
   /**
-   * Lookup230: cumulus_pallet_dmp_queue::pallet::Call<T>
+   * Lookup253: cumulus_pallet_dmp_queue::pallet::Call<T>
    **/
   CumulusPalletDmpQueueCall: {
     _enum: {
@@ -2138,7 +2300,7 @@
     }
   },
   /**
-   * Lookup231: pallet_inflation::pallet::Call<T>
+   * Lookup254: pallet_inflation::pallet::Call<T>
    **/
   PalletInflationCall: {
     _enum: {
@@ -2148,7 +2310,7 @@
     }
   },
   /**
-   * Lookup232: pallet_unique::Call<T>
+   * Lookup255: pallet_unique::Call<T>
    **/
   PalletUniqueCall: {
     _enum: {
@@ -2282,14 +2444,17 @@
         operator: 'PalletEvmAccountBasicCrossAccountIdRepr',
         approve: 'bool',
       },
-      repair_item: {
+      force_repair_collection: {
+        collectionId: 'u32',
+      },
+      force_repair_item: {
         collectionId: 'u32',
         itemId: 'u32'
       }
     }
   },
   /**
-   * Lookup237: up_data_structs::CollectionMode
+   * Lookup260: up_data_structs::CollectionMode
    **/
   UpDataStructsCollectionMode: {
     _enum: {
@@ -2299,7 +2464,7 @@
     }
   },
   /**
-   * Lookup238: up_data_structs::CreateCollectionData<sp_core::crypto::AccountId32>
+   * Lookup261: up_data_structs::CreateCollectionData<sp_core::crypto::AccountId32>
    **/
   UpDataStructsCreateCollectionData: {
     mode: 'UpDataStructsCollectionMode',
@@ -2314,13 +2479,13 @@
     properties: 'Vec<UpDataStructsProperty>'
   },
   /**
-   * Lookup240: up_data_structs::AccessMode
+   * Lookup263: up_data_structs::AccessMode
    **/
   UpDataStructsAccessMode: {
     _enum: ['Normal', 'AllowList']
   },
   /**
-   * Lookup242: up_data_structs::CollectionLimits
+   * Lookup265: up_data_structs::CollectionLimits
    **/
   UpDataStructsCollectionLimits: {
     accountTokenOwnershipLimit: 'Option<u32>',
@@ -2334,7 +2499,7 @@
     transfersEnabled: 'Option<bool>'
   },
   /**
-   * Lookup244: up_data_structs::SponsoringRateLimit
+   * Lookup267: up_data_structs::SponsoringRateLimit
    **/
   UpDataStructsSponsoringRateLimit: {
     _enum: {
@@ -2343,7 +2508,7 @@
     }
   },
   /**
-   * Lookup247: up_data_structs::CollectionPermissions
+   * Lookup270: up_data_structs::CollectionPermissions
    **/
   UpDataStructsCollectionPermissions: {
     access: 'Option<UpDataStructsAccessMode>',
@@ -2351,7 +2516,7 @@
     nesting: 'Option<UpDataStructsNestingPermissions>'
   },
   /**
-   * Lookup249: up_data_structs::NestingPermissions
+   * Lookup272: up_data_structs::NestingPermissions
    **/
   UpDataStructsNestingPermissions: {
     tokenOwner: 'bool',
@@ -2359,18 +2524,18 @@
     restricted: 'Option<UpDataStructsOwnerRestrictedSet>'
   },
   /**
-   * Lookup251: up_data_structs::OwnerRestrictedSet
+   * Lookup274: up_data_structs::OwnerRestrictedSet
    **/
   UpDataStructsOwnerRestrictedSet: 'BTreeSet<u32>',
   /**
-   * Lookup256: up_data_structs::PropertyKeyPermission
+   * Lookup279: up_data_structs::PropertyKeyPermission
    **/
   UpDataStructsPropertyKeyPermission: {
     key: 'Bytes',
     permission: 'UpDataStructsPropertyPermission'
   },
   /**
-   * Lookup257: up_data_structs::PropertyPermission
+   * Lookup280: up_data_structs::PropertyPermission
    **/
   UpDataStructsPropertyPermission: {
     mutable: 'bool',
@@ -2378,14 +2543,14 @@
     tokenOwner: 'bool'
   },
   /**
-   * Lookup260: up_data_structs::Property
+   * Lookup283: up_data_structs::Property
    **/
   UpDataStructsProperty: {
     key: 'Bytes',
     value: 'Bytes'
   },
   /**
-   * Lookup263: up_data_structs::CreateItemData
+   * Lookup286: up_data_structs::CreateItemData
    **/
   UpDataStructsCreateItemData: {
     _enum: {
@@ -2395,26 +2560,26 @@
     }
   },
   /**
-   * Lookup264: up_data_structs::CreateNftData
+   * Lookup287: up_data_structs::CreateNftData
    **/
   UpDataStructsCreateNftData: {
     properties: 'Vec<UpDataStructsProperty>'
   },
   /**
-   * Lookup265: up_data_structs::CreateFungibleData
+   * Lookup288: up_data_structs::CreateFungibleData
    **/
   UpDataStructsCreateFungibleData: {
     value: 'u128'
   },
   /**
-   * Lookup266: up_data_structs::CreateReFungibleData
+   * Lookup289: up_data_structs::CreateReFungibleData
    **/
   UpDataStructsCreateReFungibleData: {
     pieces: 'u128',
     properties: 'Vec<UpDataStructsProperty>'
   },
   /**
-   * Lookup269: up_data_structs::CreateItemExData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
+   * Lookup292: up_data_structs::CreateItemExData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
    **/
   UpDataStructsCreateItemExData: {
     _enum: {
@@ -2425,14 +2590,14 @@
     }
   },
   /**
-   * Lookup271: up_data_structs::CreateNftExData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
+   * Lookup294: up_data_structs::CreateNftExData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
    **/
   UpDataStructsCreateNftExData: {
     properties: 'Vec<UpDataStructsProperty>',
     owner: 'PalletEvmAccountBasicCrossAccountIdRepr'
   },
   /**
-   * Lookup278: up_data_structs::CreateRefungibleExSingleOwner<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
+   * Lookup301: up_data_structs::CreateRefungibleExSingleOwner<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
    **/
   UpDataStructsCreateRefungibleExSingleOwner: {
     user: 'PalletEvmAccountBasicCrossAccountIdRepr',
@@ -2440,14 +2605,14 @@
     properties: 'Vec<UpDataStructsProperty>'
   },
   /**
-   * Lookup280: up_data_structs::CreateRefungibleExMultipleOwners<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
+   * Lookup303: up_data_structs::CreateRefungibleExMultipleOwners<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
    **/
   UpDataStructsCreateRefungibleExMultipleOwners: {
     users: 'BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>',
     properties: 'Vec<UpDataStructsProperty>'
   },
   /**
-   * Lookup281: pallet_configuration::pallet::Call<T>
+   * Lookup304: pallet_configuration::pallet::Call<T>
    **/
   PalletConfigurationCall: {
     _enum: {
@@ -2466,7 +2631,7 @@
     }
   },
   /**
-   * Lookup286: pallet_configuration::AppPromotionConfiguration<BlockNumber>
+   * Lookup309: pallet_configuration::AppPromotionConfiguration<BlockNumber>
    **/
   PalletConfigurationAppPromotionConfiguration: {
     recalculationInterval: 'Option<u32>',
@@ -2475,15 +2640,15 @@
     maxStakersPerCalculation: 'Option<u8>'
   },
   /**
-   * Lookup289: pallet_template_transaction_payment::Call<T>
+   * Lookup312: pallet_template_transaction_payment::Call<T>
    **/
   PalletTemplateTransactionPaymentCall: 'Null',
   /**
-   * Lookup290: pallet_structure::pallet::Call<T>
+   * Lookup313: pallet_structure::pallet::Call<T>
    **/
   PalletStructureCall: 'Null',
   /**
-   * Lookup291: pallet_rmrk_core::pallet::Call<T>
+   * Lookup314: pallet_rmrk_core::pallet::Call<T>
    **/
   PalletRmrkCoreCall: {
     _enum: {
@@ -2574,7 +2739,7 @@
     }
   },
   /**
-   * Lookup297: rmrk_traits::resource::ResourceTypes<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>>
+   * Lookup320: rmrk_traits::resource::ResourceTypes<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>>
    **/
   RmrkTraitsResourceResourceTypes: {
     _enum: {
@@ -2584,7 +2749,7 @@
     }
   },
   /**
-   * Lookup299: rmrk_traits::resource::BasicResource<sp_core::bounded::bounded_vec::BoundedVec<T, S>>
+   * Lookup322: rmrk_traits::resource::BasicResource<sp_core::bounded::bounded_vec::BoundedVec<T, S>>
    **/
   RmrkTraitsResourceBasicResource: {
     src: 'Option<Bytes>',
@@ -2593,7 +2758,7 @@
     thumb: 'Option<Bytes>'
   },
   /**
-   * Lookup301: rmrk_traits::resource::ComposableResource<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>>
+   * Lookup324: rmrk_traits::resource::ComposableResource<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>>
    **/
   RmrkTraitsResourceComposableResource: {
     parts: 'Vec<u32>',
@@ -2604,7 +2769,7 @@
     thumb: 'Option<Bytes>'
   },
   /**
-   * Lookup302: rmrk_traits::resource::SlotResource<sp_core::bounded::bounded_vec::BoundedVec<T, S>>
+   * Lookup325: rmrk_traits::resource::SlotResource<sp_core::bounded::bounded_vec::BoundedVec<T, S>>
    **/
   RmrkTraitsResourceSlotResource: {
     base: 'u32',
@@ -2615,7 +2780,7 @@
     thumb: 'Option<Bytes>'
   },
   /**
-   * Lookup305: pallet_rmrk_equip::pallet::Call<T>
+   * Lookup328: pallet_rmrk_equip::pallet::Call<T>
    **/
   PalletRmrkEquipCall: {
     _enum: {
@@ -2636,7 +2801,7 @@
     }
   },
   /**
-   * Lookup308: rmrk_traits::part::PartType<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>>
+   * Lookup331: rmrk_traits::part::PartType<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>>
    **/
   RmrkTraitsPartPartType: {
     _enum: {
@@ -2645,7 +2810,7 @@
     }
   },
   /**
-   * Lookup310: rmrk_traits::part::FixedPart<sp_core::bounded::bounded_vec::BoundedVec<T, S>>
+   * Lookup333: rmrk_traits::part::FixedPart<sp_core::bounded::bounded_vec::BoundedVec<T, S>>
    **/
   RmrkTraitsPartFixedPart: {
     id: 'u32',
@@ -2653,7 +2818,7 @@
     src: 'Bytes'
   },
   /**
-   * Lookup311: rmrk_traits::part::SlotPart<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>>
+   * Lookup334: rmrk_traits::part::SlotPart<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>>
    **/
   RmrkTraitsPartSlotPart: {
     id: 'u32',
@@ -2662,7 +2827,7 @@
     z: 'u32'
   },
   /**
-   * Lookup312: rmrk_traits::part::EquippableList<sp_core::bounded::bounded_vec::BoundedVec<T, S>>
+   * Lookup335: rmrk_traits::part::EquippableList<sp_core::bounded::bounded_vec::BoundedVec<T, S>>
    **/
   RmrkTraitsPartEquippableList: {
     _enum: {
@@ -2672,7 +2837,7 @@
     }
   },
   /**
-   * Lookup314: rmrk_traits::theme::Theme<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<rmrk_traits::theme::ThemeProperty<sp_core::bounded::bounded_vec::BoundedVec<T, S>>, S>>
+   * Lookup337: rmrk_traits::theme::Theme<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<rmrk_traits::theme::ThemeProperty<sp_core::bounded::bounded_vec::BoundedVec<T, S>>, S>>
    **/
   RmrkTraitsTheme: {
     name: 'Bytes',
@@ -2680,14 +2845,14 @@
     inherit: 'bool'
   },
   /**
-   * Lookup316: rmrk_traits::theme::ThemeProperty<sp_core::bounded::bounded_vec::BoundedVec<T, S>>
+   * Lookup339: rmrk_traits::theme::ThemeProperty<sp_core::bounded::bounded_vec::BoundedVec<T, S>>
    **/
   RmrkTraitsThemeThemeProperty: {
     key: 'Bytes',
     value: 'Bytes'
   },
   /**
-   * Lookup318: pallet_app_promotion::pallet::Call<T>
+   * Lookup341: pallet_app_promotion::pallet::Call<T>
    **/
   PalletAppPromotionCall: {
     _enum: {
@@ -2716,7 +2881,7 @@
     }
   },
   /**
-   * Lookup319: pallet_foreign_assets::module::Call<T>
+   * Lookup342: pallet_foreign_assets::module::Call<T>
    **/
   PalletForeignAssetsModuleCall: {
     _enum: {
@@ -2733,7 +2898,7 @@
     }
   },
   /**
-   * Lookup320: pallet_evm::pallet::Call<T>
+   * Lookup343: pallet_evm::pallet::Call<T>
    **/
   PalletEvmCall: {
     _enum: {
@@ -2776,7 +2941,7 @@
     }
   },
   /**
-   * Lookup326: pallet_ethereum::pallet::Call<T>
+   * Lookup349: pallet_ethereum::pallet::Call<T>
    **/
   PalletEthereumCall: {
     _enum: {
@@ -2786,7 +2951,7 @@
     }
   },
   /**
-   * Lookup327: ethereum::transaction::TransactionV2
+   * Lookup350: ethereum::transaction::TransactionV2
    **/
   EthereumTransactionTransactionV2: {
     _enum: {
@@ -2796,7 +2961,7 @@
     }
   },
   /**
-   * Lookup328: ethereum::transaction::LegacyTransaction
+   * Lookup351: ethereum::transaction::LegacyTransaction
    **/
   EthereumTransactionLegacyTransaction: {
     nonce: 'U256',
@@ -2808,7 +2973,7 @@
     signature: 'EthereumTransactionTransactionSignature'
   },
   /**
-   * Lookup329: ethereum::transaction::TransactionAction
+   * Lookup352: ethereum::transaction::TransactionAction
    **/
   EthereumTransactionTransactionAction: {
     _enum: {
@@ -2817,7 +2982,7 @@
     }
   },
   /**
-   * Lookup330: ethereum::transaction::TransactionSignature
+   * Lookup353: ethereum::transaction::TransactionSignature
    **/
   EthereumTransactionTransactionSignature: {
     v: 'u64',
@@ -2825,7 +2990,7 @@
     s: 'H256'
   },
   /**
-   * Lookup332: ethereum::transaction::EIP2930Transaction
+   * Lookup355: ethereum::transaction::EIP2930Transaction
    **/
   EthereumTransactionEip2930Transaction: {
     chainId: 'u64',
@@ -2841,14 +3006,14 @@
     s: 'H256'
   },
   /**
-   * Lookup334: ethereum::transaction::AccessListItem
+   * Lookup357: ethereum::transaction::AccessListItem
    **/
   EthereumTransactionAccessListItem: {
     address: 'H160',
     storageKeys: 'Vec<H256>'
   },
   /**
-   * Lookup335: ethereum::transaction::EIP1559Transaction
+   * Lookup358: ethereum::transaction::EIP1559Transaction
    **/
   EthereumTransactionEip1559Transaction: {
     chainId: 'u64',
@@ -2865,7 +3030,7 @@
     s: 'H256'
   },
   /**
-   * Lookup336: pallet_evm_migration::pallet::Call<T>
+   * Lookup359: pallet_evm_migration::pallet::Call<T>
    **/
   PalletEvmMigrationCall: {
     _enum: {
@@ -2889,13 +3054,13 @@
     }
   },
   /**
-   * Lookup340: pallet_maintenance::pallet::Call<T>
+   * Lookup363: pallet_maintenance::pallet::Call<T>
    **/
   PalletMaintenanceCall: {
     _enum: ['enable', 'disable']
   },
   /**
-   * Lookup341: pallet_test_utils::pallet::Call<T>
+   * Lookup364: pallet_test_utils::pallet::Call<T>
    **/
   PalletTestUtilsCall: {
     _enum: {
@@ -2914,32 +3079,32 @@
     }
   },
   /**
-   * Lookup343: pallet_sudo::pallet::Error<T>
+   * Lookup366: pallet_sudo::pallet::Error<T>
    **/
   PalletSudoError: {
     _enum: ['RequireSudo']
   },
   /**
-   * Lookup345: orml_vesting::module::Error<T>
+   * Lookup368: orml_vesting::module::Error<T>
    **/
   OrmlVestingModuleError: {
     _enum: ['ZeroVestingPeriod', 'ZeroVestingPeriodCount', 'InsufficientBalanceToLock', 'TooManyVestingSchedules', 'AmountLow', 'MaxVestingSchedulesExceeded']
   },
   /**
-   * Lookup346: orml_xtokens::module::Error<T>
+   * Lookup369: orml_xtokens::module::Error<T>
    **/
   OrmlXtokensModuleError: {
     _enum: ['AssetHasNoReserve', 'NotCrossChainTransfer', 'InvalidDest', 'NotCrossChainTransferableCurrency', 'UnweighableMessage', 'XcmExecutionFailed', 'CannotReanchor', 'InvalidAncestry', 'InvalidAsset', 'DestinationNotInvertible', 'BadVersion', 'DistinctReserveForAssetAndFee', 'ZeroFee', 'ZeroAmount', 'TooManyAssetsBeingSent', 'AssetIndexNonExistent', 'FeeNotEnough', 'NotSupportedMultiLocation', 'MinXcmFeeNotDefined']
   },
   /**
-   * Lookup349: orml_tokens::BalanceLock<Balance>
+   * Lookup372: orml_tokens::BalanceLock<Balance>
    **/
   OrmlTokensBalanceLock: {
     id: '[u8;8]',
     amount: 'u128'
   },
   /**
-   * Lookup351: orml_tokens::AccountData<Balance>
+   * Lookup374: orml_tokens::AccountData<Balance>
    **/
   OrmlTokensAccountData: {
     free: 'u128',
@@ -2947,20 +3112,20 @@
     frozen: 'u128'
   },
   /**
-   * Lookup353: orml_tokens::ReserveData<ReserveIdentifier, Balance>
+   * Lookup376: orml_tokens::ReserveData<ReserveIdentifier, Balance>
    **/
   OrmlTokensReserveData: {
     id: 'Null',
     amount: 'u128'
   },
   /**
-   * Lookup355: orml_tokens::module::Error<T>
+   * Lookup378: orml_tokens::module::Error<T>
    **/
   OrmlTokensModuleError: {
     _enum: ['BalanceTooLow', 'AmountIntoBalanceFailed', 'LiquidityRestrictions', 'MaxLocksExceeded', 'KeepAlive', 'ExistentialDeposit', 'DeadAccount', 'TooManyReserves']
   },
   /**
-   * Lookup357: cumulus_pallet_xcmp_queue::InboundChannelDetails
+   * Lookup380: cumulus_pallet_xcmp_queue::InboundChannelDetails
    **/
   CumulusPalletXcmpQueueInboundChannelDetails: {
     sender: 'u32',
@@ -2968,19 +3133,19 @@
     messageMetadata: 'Vec<(u32,PolkadotParachainPrimitivesXcmpMessageFormat)>'
   },
   /**
-   * Lookup358: cumulus_pallet_xcmp_queue::InboundState
+   * Lookup381: cumulus_pallet_xcmp_queue::InboundState
    **/
   CumulusPalletXcmpQueueInboundState: {
     _enum: ['Ok', 'Suspended']
   },
   /**
-   * Lookup361: polkadot_parachain::primitives::XcmpMessageFormat
+   * Lookup384: polkadot_parachain::primitives::XcmpMessageFormat
    **/
   PolkadotParachainPrimitivesXcmpMessageFormat: {
     _enum: ['ConcatenatedVersionedXcm', 'ConcatenatedEncodedBlob', 'Signals']
   },
   /**
-   * Lookup364: cumulus_pallet_xcmp_queue::OutboundChannelDetails
+   * Lookup387: cumulus_pallet_xcmp_queue::OutboundChannelDetails
    **/
   CumulusPalletXcmpQueueOutboundChannelDetails: {
     recipient: 'u32',
@@ -2990,13 +3155,13 @@
     lastIndex: 'u16'
   },
   /**
-   * Lookup365: cumulus_pallet_xcmp_queue::OutboundState
+   * Lookup388: cumulus_pallet_xcmp_queue::OutboundState
    **/
   CumulusPalletXcmpQueueOutboundState: {
     _enum: ['Ok', 'Suspended']
   },
   /**
-   * Lookup367: cumulus_pallet_xcmp_queue::QueueConfigData
+   * Lookup390: cumulus_pallet_xcmp_queue::QueueConfigData
    **/
   CumulusPalletXcmpQueueQueueConfigData: {
     suspendThreshold: 'u32',
@@ -3007,29 +3172,29 @@
     xcmpMaxIndividualWeight: 'SpWeightsWeightV2Weight'
   },
   /**
-   * Lookup369: cumulus_pallet_xcmp_queue::pallet::Error<T>
+   * Lookup392: cumulus_pallet_xcmp_queue::pallet::Error<T>
    **/
   CumulusPalletXcmpQueueError: {
     _enum: ['FailedToSend', 'BadXcmOrigin', 'BadXcm', 'BadOverweightIndex', 'WeightOverLimit']
   },
   /**
-   * Lookup370: pallet_xcm::pallet::Error<T>
+   * Lookup393: pallet_xcm::pallet::Error<T>
    **/
   PalletXcmError: {
     _enum: ['Unreachable', 'SendFailure', 'Filtered', 'UnweighableMessage', 'DestinationNotInvertible', 'Empty', 'CannotReanchor', 'TooManyAssets', 'InvalidOrigin', 'BadVersion', 'BadLocation', 'NoSubscription', 'AlreadySubscribed']
   },
   /**
-   * Lookup371: cumulus_pallet_xcm::pallet::Error<T>
+   * Lookup394: cumulus_pallet_xcm::pallet::Error<T>
    **/
   CumulusPalletXcmError: 'Null',
   /**
-   * Lookup372: cumulus_pallet_dmp_queue::ConfigData
+   * Lookup395: cumulus_pallet_dmp_queue::ConfigData
    **/
   CumulusPalletDmpQueueConfigData: {
     maxIndividual: 'SpWeightsWeightV2Weight'
   },
   /**
-   * Lookup373: cumulus_pallet_dmp_queue::PageIndexData
+   * Lookup396: cumulus_pallet_dmp_queue::PageIndexData
    **/
   CumulusPalletDmpQueuePageIndexData: {
     beginUsed: 'u32',
@@ -3037,25 +3202,25 @@
     overweightCount: 'u64'
   },
   /**
-   * Lookup376: cumulus_pallet_dmp_queue::pallet::Error<T>
+   * Lookup399: cumulus_pallet_dmp_queue::pallet::Error<T>
    **/
   CumulusPalletDmpQueueError: {
     _enum: ['Unknown', 'OverLimit']
   },
   /**
-   * Lookup380: pallet_unique::Error<T>
+   * Lookup403: pallet_unique::Error<T>
    **/
   PalletUniqueError: {
     _enum: ['CollectionDecimalPointLimitExceeded', 'EmptyArgument', 'RepartitionCalledOnNonRefungibleCollection']
   },
   /**
-   * Lookup381: pallet_configuration::pallet::Error<T>
+   * Lookup404: pallet_configuration::pallet::Error<T>
    **/
   PalletConfigurationError: {
     _enum: ['InconsistentConfiguration']
   },
   /**
-   * Lookup382: up_data_structs::Collection<sp_core::crypto::AccountId32>
+   * Lookup405: up_data_structs::Collection<sp_core::crypto::AccountId32>
    **/
   UpDataStructsCollection: {
     owner: 'AccountId32',
@@ -3069,7 +3234,7 @@
     flags: '[u8;1]'
   },
   /**
-   * Lookup383: up_data_structs::SponsorshipState<sp_core::crypto::AccountId32>
+   * Lookup406: up_data_structs::SponsorshipState<sp_core::crypto::AccountId32>
    **/
   UpDataStructsSponsorshipStateAccountId32: {
     _enum: {
@@ -3079,7 +3244,7 @@
     }
   },
   /**
-   * Lookup385: up_data_structs::Properties
+   * Lookup408: up_data_structs::Properties
    **/
   UpDataStructsProperties: {
     map: 'UpDataStructsPropertiesMapBoundedVec',
@@ -3087,15 +3252,15 @@
     spaceLimit: 'u32'
   },
   /**
-   * Lookup386: up_data_structs::PropertiesMap<sp_core::bounded::bounded_vec::BoundedVec<T, S>>
+   * Lookup409: up_data_structs::PropertiesMap<sp_core::bounded::bounded_vec::BoundedVec<T, S>>
    **/
   UpDataStructsPropertiesMapBoundedVec: 'BTreeMap<Bytes, Bytes>',
   /**
-   * Lookup391: up_data_structs::PropertiesMap<up_data_structs::PropertyPermission>
+   * Lookup414: up_data_structs::PropertiesMap<up_data_structs::PropertyPermission>
    **/
   UpDataStructsPropertiesMapPropertyPermission: 'BTreeMap<Bytes, UpDataStructsPropertyPermission>',
   /**
-   * Lookup398: up_data_structs::CollectionStats
+   * Lookup421: up_data_structs::CollectionStats
    **/
   UpDataStructsCollectionStats: {
     created: 'u32',
@@ -3103,18 +3268,18 @@
     alive: 'u32'
   },
   /**
-   * Lookup399: up_data_structs::TokenChild
+   * Lookup422: up_data_structs::TokenChild
    **/
   UpDataStructsTokenChild: {
     token: 'u32',
     collection: 'u32'
   },
   /**
-   * Lookup400: PhantomType::up_data_structs<T>
+   * Lookup423: PhantomType::up_data_structs<T>
    **/
   PhantomTypeUpDataStructs: '[(UpDataStructsTokenData,UpDataStructsRpcCollection,RmrkTraitsCollectionCollectionInfo,RmrkTraitsNftNftInfo,RmrkTraitsResourceResourceInfo,RmrkTraitsPropertyPropertyInfo,RmrkTraitsBaseBaseInfo,RmrkTraitsPartPartType,RmrkTraitsTheme,RmrkTraitsNftNftChild);0]',
   /**
-   * Lookup402: up_data_structs::TokenData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
+   * Lookup425: up_data_structs::TokenData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
    **/
   UpDataStructsTokenData: {
     properties: 'Vec<UpDataStructsProperty>',
@@ -3122,7 +3287,7 @@
     pieces: 'u128'
   },
   /**
-   * Lookup404: up_data_structs::RpcCollection<sp_core::crypto::AccountId32>
+   * Lookup427: up_data_structs::RpcCollection<sp_core::crypto::AccountId32>
    **/
   UpDataStructsRpcCollection: {
     owner: 'AccountId32',
@@ -3139,14 +3304,14 @@
     flags: 'UpDataStructsRpcCollectionFlags'
   },
   /**
-   * Lookup405: up_data_structs::RpcCollectionFlags
+   * Lookup428: up_data_structs::RpcCollectionFlags
    **/
   UpDataStructsRpcCollectionFlags: {
     foreign: 'bool',
     erc721metadata: 'bool'
   },
   /**
-   * Lookup406: rmrk_traits::collection::CollectionInfo<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::crypto::AccountId32>
+   * Lookup429: rmrk_traits::collection::CollectionInfo<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::crypto::AccountId32>
    **/
   RmrkTraitsCollectionCollectionInfo: {
     issuer: 'AccountId32',
@@ -3156,7 +3321,7 @@
     nftsCount: 'u32'
   },
   /**
-   * Lookup407: rmrk_traits::nft::NftInfo<sp_core::crypto::AccountId32, sp_arithmetic::per_things::Permill, sp_core::bounded::bounded_vec::BoundedVec<T, S>>
+   * Lookup430: rmrk_traits::nft::NftInfo<sp_core::crypto::AccountId32, sp_arithmetic::per_things::Permill, sp_core::bounded::bounded_vec::BoundedVec<T, S>>
    **/
   RmrkTraitsNftNftInfo: {
     owner: 'RmrkTraitsNftAccountIdOrCollectionNftTuple',
@@ -3166,14 +3331,14 @@
     pending: 'bool'
   },
   /**
-   * Lookup409: rmrk_traits::nft::RoyaltyInfo<sp_core::crypto::AccountId32, sp_arithmetic::per_things::Permill>
+   * Lookup432: rmrk_traits::nft::RoyaltyInfo<sp_core::crypto::AccountId32, sp_arithmetic::per_things::Permill>
    **/
   RmrkTraitsNftRoyaltyInfo: {
     recipient: 'AccountId32',
     amount: 'Permill'
   },
   /**
-   * Lookup410: rmrk_traits::resource::ResourceInfo<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>>
+   * Lookup433: rmrk_traits::resource::ResourceInfo<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>>
    **/
   RmrkTraitsResourceResourceInfo: {
     id: 'u32',
@@ -3182,14 +3347,14 @@
     pendingRemoval: 'bool'
   },
   /**
-   * Lookup411: rmrk_traits::property::PropertyInfo<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>>
+   * Lookup434: rmrk_traits::property::PropertyInfo<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>>
    **/
   RmrkTraitsPropertyPropertyInfo: {
     key: 'Bytes',
     value: 'Bytes'
   },
   /**
-   * Lookup412: rmrk_traits::base::BaseInfo<sp_core::crypto::AccountId32, sp_core::bounded::bounded_vec::BoundedVec<T, S>>
+   * Lookup435: rmrk_traits::base::BaseInfo<sp_core::crypto::AccountId32, sp_core::bounded::bounded_vec::BoundedVec<T, S>>
    **/
   RmrkTraitsBaseBaseInfo: {
     issuer: 'AccountId32',
@@ -3197,92 +3362,92 @@
     symbol: 'Bytes'
   },
   /**
-   * Lookup413: rmrk_traits::nft::NftChild
+   * Lookup436: rmrk_traits::nft::NftChild
    **/
   RmrkTraitsNftNftChild: {
     collectionId: 'u32',
     nftId: 'u32'
   },
   /**
-   * Lookup415: pallet_common::pallet::Error<T>
+   * Lookup438: pallet_common::pallet::Error<T>
    **/
   PalletCommonError: {
     _enum: ['CollectionNotFound', 'MustBeTokenOwner', 'NoPermission', 'CantDestroyNotEmptyCollection', 'PublicMintingNotAllowed', 'AddressNotInAllowlist', 'CollectionNameLimitExceeded', 'CollectionDescriptionLimitExceeded', 'CollectionTokenPrefixLimitExceeded', 'TotalCollectionsLimitExceeded', 'CollectionAdminCountExceeded', 'CollectionLimitBoundsExceeded', 'OwnerPermissionsCantBeReverted', 'TransferNotAllowed', 'AccountTokenLimitExceeded', 'CollectionTokenLimitExceeded', 'MetadataFlagFrozen', 'TokenNotFound', 'TokenValueTooLow', 'ApprovedValueTooLow', 'CantApproveMoreThanOwned', 'AddressIsZero', 'UnsupportedOperation', 'NotSufficientFounds', 'UserIsNotAllowedToNest', 'SourceCollectionIsNotAllowedToNest', 'CollectionFieldSizeExceeded', 'NoSpaceForProperty', 'PropertyLimitReached', 'PropertyKeyIsTooLong', 'InvalidCharacterInPropertyKey', 'EmptyPropertyKey', 'CollectionIsExternal', 'CollectionIsInternal', 'ConfirmSponsorshipFail', 'UserIsNotCollectionAdmin']
   },
   /**
-   * Lookup417: pallet_fungible::pallet::Error<T>
+   * Lookup440: pallet_fungible::pallet::Error<T>
    **/
   PalletFungibleError: {
     _enum: ['NotFungibleDataUsedToMintFungibleCollectionToken', 'FungibleItemsHaveNoId', 'FungibleItemsDontHaveData', 'FungibleDisallowsNesting', 'SettingPropertiesNotAllowed', 'SettingAllowanceForAllNotAllowed', 'FungibleTokensAreAlwaysValid']
   },
   /**
-   * Lookup418: pallet_refungible::ItemData
+   * Lookup441: pallet_refungible::ItemData
    **/
   PalletRefungibleItemData: {
     constData: 'Bytes'
   },
   /**
-   * Lookup423: pallet_refungible::pallet::Error<T>
+   * Lookup446: pallet_refungible::pallet::Error<T>
    **/
   PalletRefungibleError: {
     _enum: ['NotRefungibleDataUsedToMintFungibleCollectionToken', 'WrongRefungiblePieces', 'RepartitionWhileNotOwningAllPieces', 'RefungibleDisallowsNesting', 'SettingPropertiesNotAllowed']
   },
   /**
-   * Lookup424: pallet_nonfungible::ItemData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
+   * Lookup447: pallet_nonfungible::ItemData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
    **/
   PalletNonfungibleItemData: {
     owner: 'PalletEvmAccountBasicCrossAccountIdRepr'
   },
   /**
-   * Lookup426: up_data_structs::PropertyScope
+   * Lookup449: up_data_structs::PropertyScope
    **/
   UpDataStructsPropertyScope: {
     _enum: ['None', 'Rmrk']
   },
   /**
-   * Lookup428: pallet_nonfungible::pallet::Error<T>
+   * Lookup451: pallet_nonfungible::pallet::Error<T>
    **/
   PalletNonfungibleError: {
     _enum: ['NotNonfungibleDataUsedToMintFungibleCollectionToken', 'NonfungibleItemsHaveNoAmount', 'CantBurnNftWithChildren']
   },
   /**
-   * Lookup429: pallet_structure::pallet::Error<T>
+   * Lookup452: pallet_structure::pallet::Error<T>
    **/
   PalletStructureError: {
     _enum: ['OuroborosDetected', 'DepthLimit', 'BreadthLimit', 'TokenNotFound']
   },
   /**
-   * Lookup430: pallet_rmrk_core::pallet::Error<T>
+   * Lookup453: pallet_rmrk_core::pallet::Error<T>
    **/
   PalletRmrkCoreError: {
     _enum: ['CorruptedCollectionType', 'RmrkPropertyKeyIsTooLong', 'RmrkPropertyValueIsTooLong', 'RmrkPropertyIsNotFound', 'UnableToDecodeRmrkData', 'CollectionNotEmpty', 'NoAvailableCollectionId', 'NoAvailableNftId', 'CollectionUnknown', 'NoPermission', 'NonTransferable', 'CollectionFullOrLocked', 'ResourceDoesntExist', 'CannotSendToDescendentOrSelf', 'CannotAcceptNonOwnedNft', 'CannotRejectNonOwnedNft', 'CannotRejectNonPendingNft', 'ResourceNotPending', 'NoAvailableResourceId']
   },
   /**
-   * Lookup432: pallet_rmrk_equip::pallet::Error<T>
+   * Lookup455: pallet_rmrk_equip::pallet::Error<T>
    **/
   PalletRmrkEquipError: {
     _enum: ['PermissionError', 'NoAvailableBaseId', 'NoAvailablePartId', 'BaseDoesntExist', 'NeedsDefaultThemeFirst', 'PartDoesntExist', 'NoEquippableOnFixedPart']
   },
   /**
-   * Lookup438: pallet_app_promotion::pallet::Error<T>
+   * Lookup461: pallet_app_promotion::pallet::Error<T>
    **/
   PalletAppPromotionError: {
     _enum: ['AdminNotSet', 'NoPermission', 'NotSufficientFunds', 'PendingForBlockOverflow', 'SponsorNotSet', 'IncorrectLockedBalanceOperation']
   },
   /**
-   * Lookup439: pallet_foreign_assets::module::Error<T>
+   * Lookup462: pallet_foreign_assets::module::Error<T>
    **/
   PalletForeignAssetsModuleError: {
     _enum: ['BadLocation', 'MultiLocationExisted', 'AssetIdNotExists', 'AssetIdExisted']
   },
   /**
-   * Lookup441: pallet_evm::pallet::Error<T>
+   * Lookup464: pallet_evm::pallet::Error<T>
    **/
   PalletEvmError: {
     _enum: ['BalanceLow', 'FeeOverflow', 'PaymentOverflow', 'WithdrawFailed', 'GasPriceTooLow', 'InvalidNonce', 'GasLimitTooLow', 'GasLimitTooHigh', 'Undefined', 'Reentrancy']
   },
   /**
-   * Lookup444: fp_rpc::TransactionStatus
+   * Lookup467: fp_rpc::TransactionStatus
    **/
   FpRpcTransactionStatus: {
     transactionHash: 'H256',
@@ -3294,11 +3459,11 @@
     logsBloom: 'EthbloomBloom'
   },
   /**
-   * Lookup446: ethbloom::Bloom
+   * Lookup469: ethbloom::Bloom
    **/
   EthbloomBloom: '[u8;256]',
   /**
-   * Lookup448: ethereum::receipt::ReceiptV3
+   * Lookup471: ethereum::receipt::ReceiptV3
    **/
   EthereumReceiptReceiptV3: {
     _enum: {
@@ -3308,7 +3473,7 @@
     }
   },
   /**
-   * Lookup449: ethereum::receipt::EIP658ReceiptData
+   * Lookup472: ethereum::receipt::EIP658ReceiptData
    **/
   EthereumReceiptEip658ReceiptData: {
     statusCode: 'u8',
@@ -3317,7 +3482,7 @@
     logs: 'Vec<EthereumLog>'
   },
   /**
-   * Lookup450: ethereum::block::Block<ethereum::transaction::TransactionV2>
+   * Lookup473: ethereum::block::Block<ethereum::transaction::TransactionV2>
    **/
   EthereumBlock: {
     header: 'EthereumHeader',
@@ -3325,7 +3490,7 @@
     ommers: 'Vec<EthereumHeader>'
   },
   /**
-   * Lookup451: ethereum::header::Header
+   * Lookup474: ethereum::header::Header
    **/
   EthereumHeader: {
     parentHash: 'H256',
@@ -3345,23 +3510,23 @@
     nonce: 'EthereumTypesHashH64'
   },
   /**
-   * Lookup452: ethereum_types::hash::H64
+   * Lookup475: ethereum_types::hash::H64
    **/
   EthereumTypesHashH64: '[u8;8]',
   /**
-   * Lookup457: pallet_ethereum::pallet::Error<T>
+   * Lookup480: pallet_ethereum::pallet::Error<T>
    **/
   PalletEthereumError: {
     _enum: ['InvalidSignature', 'PreLogExists']
   },
   /**
-   * Lookup458: pallet_evm_coder_substrate::pallet::Error<T>
+   * Lookup481: pallet_evm_coder_substrate::pallet::Error<T>
    **/
   PalletEvmCoderSubstrateError: {
     _enum: ['OutOfGas', 'OutOfFund']
   },
   /**
-   * Lookup459: up_data_structs::SponsorshipState<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
+   * Lookup482: up_data_structs::SponsorshipState<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
    **/
   UpDataStructsSponsorshipStateBasicCrossAccountIdRepr: {
     _enum: {
@@ -3371,35 +3536,35 @@
     }
   },
   /**
-   * Lookup460: pallet_evm_contract_helpers::SponsoringModeT
+   * Lookup483: pallet_evm_contract_helpers::SponsoringModeT
    **/
   PalletEvmContractHelpersSponsoringModeT: {
     _enum: ['Disabled', 'Allowlisted', 'Generous']
   },
   /**
-   * Lookup466: pallet_evm_contract_helpers::pallet::Error<T>
+   * Lookup489: pallet_evm_contract_helpers::pallet::Error<T>
    **/
   PalletEvmContractHelpersError: {
     _enum: ['NoPermission', 'NoPendingSponsor', 'TooManyMethodsHaveSponsoredLimit']
   },
   /**
-   * Lookup467: pallet_evm_migration::pallet::Error<T>
+   * Lookup490: pallet_evm_migration::pallet::Error<T>
    **/
   PalletEvmMigrationError: {
     _enum: ['AccountNotEmpty', 'AccountIsNotMigrating', 'BadEvent']
   },
   /**
-   * Lookup468: pallet_maintenance::pallet::Error<T>
+   * Lookup491: pallet_maintenance::pallet::Error<T>
    **/
   PalletMaintenanceError: 'Null',
   /**
-   * Lookup469: pallet_test_utils::pallet::Error<T>
+   * Lookup492: pallet_test_utils::pallet::Error<T>
    **/
   PalletTestUtilsError: {
     _enum: ['TestPalletDisabled', 'TriggerRollback']
   },
   /**
-   * Lookup471: sp_runtime::MultiSignature
+   * Lookup494: sp_runtime::MultiSignature
    **/
   SpRuntimeMultiSignature: {
     _enum: {
@@ -3409,51 +3574,51 @@
     }
   },
   /**
-   * Lookup472: sp_core::ed25519::Signature
+   * Lookup495: sp_core::ed25519::Signature
    **/
   SpCoreEd25519Signature: '[u8;64]',
   /**
-   * Lookup474: sp_core::sr25519::Signature
+   * Lookup497: sp_core::sr25519::Signature
    **/
   SpCoreSr25519Signature: '[u8;64]',
   /**
-   * Lookup475: sp_core::ecdsa::Signature
+   * Lookup498: sp_core::ecdsa::Signature
    **/
   SpCoreEcdsaSignature: '[u8;65]',
   /**
-   * Lookup478: frame_system::extensions::check_spec_version::CheckSpecVersion<T>
+   * Lookup501: frame_system::extensions::check_spec_version::CheckSpecVersion<T>
    **/
   FrameSystemExtensionsCheckSpecVersion: 'Null',
   /**
-   * Lookup479: frame_system::extensions::check_tx_version::CheckTxVersion<T>
+   * Lookup502: frame_system::extensions::check_tx_version::CheckTxVersion<T>
    **/
   FrameSystemExtensionsCheckTxVersion: 'Null',
   /**
-   * Lookup480: frame_system::extensions::check_genesis::CheckGenesis<T>
+   * Lookup503: frame_system::extensions::check_genesis::CheckGenesis<T>
    **/
   FrameSystemExtensionsCheckGenesis: 'Null',
   /**
-   * Lookup483: frame_system::extensions::check_nonce::CheckNonce<T>
+   * Lookup506: frame_system::extensions::check_nonce::CheckNonce<T>
    **/
   FrameSystemExtensionsCheckNonce: 'Compact<u32>',
   /**
-   * Lookup484: frame_system::extensions::check_weight::CheckWeight<T>
+   * Lookup507: frame_system::extensions::check_weight::CheckWeight<T>
    **/
   FrameSystemExtensionsCheckWeight: 'Null',
   /**
-   * Lookup485: opal_runtime::runtime_common::maintenance::CheckMaintenance
+   * Lookup508: opal_runtime::runtime_common::maintenance::CheckMaintenance
    **/
   OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance: 'Null',
   /**
-   * Lookup486: pallet_template_transaction_payment::ChargeTransactionPayment<opal_runtime::Runtime>
+   * Lookup509: pallet_template_transaction_payment::ChargeTransactionPayment<opal_runtime::Runtime>
    **/
   PalletTemplateTransactionPaymentChargeTransactionPayment: 'Compact<u128>',
   /**
-   * Lookup487: opal_runtime::Runtime
+   * Lookup510: opal_runtime::Runtime
    **/
   OpalRuntimeRuntime: 'Null',
   /**
-   * Lookup488: pallet_ethereum::FakeTransactionFinalizer<opal_runtime::Runtime>
+   * Lookup511: pallet_ethereum::FakeTransactionFinalizer<opal_runtime::Runtime>
    **/
   PalletEthereumFakeTransactionFinalizer: 'Null'
 };
modifiedtests/src/interfaces/registry.tsdiffbeforeafterboth
--- a/tests/src/interfaces/registry.ts
+++ b/tests/src/interfaces/registry.ts
@@ -5,7 +5,7 @@
 // this is required to allow for ambient/previous definitions
 import '@polkadot/types/types/registry';
 
-import type { CumulusPalletDmpQueueCall, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueueError, CumulusPalletDmpQueueEvent, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCall, CumulusPalletParachainSystemError, CumulusPalletParachainSystemEvent, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmCall, CumulusPalletXcmError, CumulusPalletXcmEvent, CumulusPalletXcmpQueueCall, CumulusPalletXcmpQueueError, CumulusPalletXcmpQueueEvent, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueInboundState, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueOutboundState, CumulusPalletXcmpQueueQueueConfigData, CumulusPrimitivesParachainInherentParachainInherentData, EthbloomBloom, EthereumBlock, EthereumHeader, EthereumLog, EthereumReceiptEip658ReceiptData, EthereumReceiptReceiptV3, EthereumTransactionAccessListItem, EthereumTransactionEip1559Transaction, EthereumTransactionEip2930Transaction, EthereumTransactionLegacyTransaction, EthereumTransactionTransactionAction, EthereumTransactionTransactionSignature, EthereumTransactionTransactionV2, EthereumTypesHashH64, EvmCoreErrorExitError, EvmCoreErrorExitFatal, EvmCoreErrorExitReason, EvmCoreErrorExitRevert, EvmCoreErrorExitSucceed, FpRpcTransactionStatus, FrameSupportDispatchDispatchClass, FrameSupportDispatchDispatchInfo, FrameSupportDispatchPays, FrameSupportDispatchPerDispatchClassU32, FrameSupportDispatchPerDispatchClassWeight, FrameSupportDispatchPerDispatchClassWeightsPerClass, FrameSupportPalletId, FrameSupportTokensMiscBalanceStatus, FrameSystemAccountInfo, FrameSystemCall, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckNonce, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckTxVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, OpalRuntimeRuntime, OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance, OrmlTokensAccountData, OrmlTokensBalanceLock, OrmlTokensModuleCall, OrmlTokensModuleError, OrmlTokensModuleEvent, OrmlTokensReserveData, OrmlVestingModuleCall, OrmlVestingModuleError, OrmlVestingModuleEvent, OrmlVestingVestingSchedule, OrmlXtokensModuleCall, OrmlXtokensModuleError, OrmlXtokensModuleEvent, PalletAppPromotionCall, PalletAppPromotionError, PalletAppPromotionEvent, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesReasons, PalletBalancesReleases, PalletBalancesReserveData, PalletCommonError, PalletCommonEvent, PalletConfigurationAppPromotionConfiguration, PalletConfigurationCall, PalletConfigurationError, PalletEthereumCall, PalletEthereumError, PalletEthereumEvent, PalletEthereumFakeTransactionFinalizer, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmCall, PalletEvmCoderSubstrateError, PalletEvmContractHelpersError, PalletEvmContractHelpersEvent, PalletEvmContractHelpersSponsoringModeT, PalletEvmError, PalletEvmEvent, PalletEvmMigrationCall, PalletEvmMigrationError, PalletEvmMigrationEvent, PalletForeignAssetsAssetIds, PalletForeignAssetsModuleAssetMetadata, PalletForeignAssetsModuleCall, PalletForeignAssetsModuleError, PalletForeignAssetsModuleEvent, PalletForeignAssetsNativeCurrency, PalletFungibleError, PalletInflationCall, PalletMaintenanceCall, PalletMaintenanceError, PalletMaintenanceEvent, PalletNonfungibleError, PalletNonfungibleItemData, PalletRefungibleError, PalletRefungibleItemData, PalletRmrkCoreCall, PalletRmrkCoreError, PalletRmrkCoreEvent, PalletRmrkEquipCall, PalletRmrkEquipError, PalletRmrkEquipEvent, PalletStructureCall, PalletStructureError, PalletStructureEvent, PalletSudoCall, PalletSudoError, PalletSudoEvent, PalletTemplateTransactionPaymentCall, PalletTemplateTransactionPaymentChargeTransactionPayment, PalletTestUtilsCall, PalletTestUtilsError, PalletTestUtilsEvent, PalletTimestampCall, PalletTransactionPaymentEvent, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUniqueCall, PalletUniqueError, PalletXcmCall, PalletXcmError, PalletXcmEvent, PhantomTypeUpDataStructs, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2AbridgedHrmpChannel, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, RmrkTraitsBaseBaseInfo, RmrkTraitsCollectionCollectionInfo, RmrkTraitsNftAccountIdOrCollectionNftTuple, RmrkTraitsNftNftChild, RmrkTraitsNftNftInfo, RmrkTraitsNftRoyaltyInfo, RmrkTraitsPartEquippableList, RmrkTraitsPartFixedPart, RmrkTraitsPartPartType, RmrkTraitsPartSlotPart, RmrkTraitsPropertyPropertyInfo, RmrkTraitsResourceBasicResource, RmrkTraitsResourceComposableResource, RmrkTraitsResourceResourceInfo, RmrkTraitsResourceResourceTypes, RmrkTraitsResourceSlotResource, RmrkTraitsTheme, RmrkTraitsThemeThemeProperty, SpCoreEcdsaSignature, SpCoreEd25519Signature, SpCoreSr25519Signature, SpRuntimeArithmeticError, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpRuntimeTransactionalError, SpTrieStorageProof, SpVersionRuntimeVersion, SpWeightsRuntimeDbWeight, SpWeightsWeightV2Weight, UpDataStructsAccessMode, UpDataStructsCollection, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionPermissions, UpDataStructsCollectionStats, UpDataStructsCreateCollectionData, UpDataStructsCreateFungibleData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsCreateNftData, UpDataStructsCreateNftExData, UpDataStructsCreateReFungibleData, UpDataStructsCreateRefungibleExMultipleOwners, UpDataStructsCreateRefungibleExSingleOwner, UpDataStructsNestingPermissions, UpDataStructsOwnerRestrictedSet, UpDataStructsProperties, UpDataStructsPropertiesMapBoundedVec, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, UpDataStructsPropertyPermission, UpDataStructsPropertyScope, UpDataStructsRpcCollection, UpDataStructsRpcCollectionFlags, UpDataStructsSponsoringRateLimit, UpDataStructsSponsorshipStateAccountId32, UpDataStructsSponsorshipStateBasicCrossAccountIdRepr, UpDataStructsTokenChild, UpDataStructsTokenData, XcmDoubleEncoded, XcmV0Junction, XcmV0JunctionBodyId, XcmV0JunctionBodyPart, XcmV0JunctionNetworkId, XcmV0MultiAsset, XcmV0MultiLocation, XcmV0Order, XcmV0OriginKind, XcmV0Response, XcmV0Xcm, XcmV1Junction, XcmV1MultiAsset, XcmV1MultiLocation, XcmV1MultiassetAssetId, XcmV1MultiassetAssetInstance, XcmV1MultiassetFungibility, XcmV1MultiassetMultiAssetFilter, XcmV1MultiassetMultiAssets, XcmV1MultiassetWildFungibility, XcmV1MultiassetWildMultiAsset, XcmV1MultilocationJunctions, XcmV1Order, XcmV1Response, XcmV1Xcm, XcmV2Instruction, XcmV2Response, XcmV2TraitsError, XcmV2TraitsOutcome, XcmV2WeightLimit, XcmV2Xcm, XcmVersionedMultiAsset, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from '@polkadot/types/lookup';
+import type { CumulusPalletDmpQueueCall, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueueError, CumulusPalletDmpQueueEvent, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCall, CumulusPalletParachainSystemError, CumulusPalletParachainSystemEvent, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmCall, CumulusPalletXcmError, CumulusPalletXcmEvent, CumulusPalletXcmpQueueCall, CumulusPalletXcmpQueueError, CumulusPalletXcmpQueueEvent, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueInboundState, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueOutboundState, CumulusPalletXcmpQueueQueueConfigData, CumulusPrimitivesParachainInherentParachainInherentData, EthbloomBloom, EthereumBlock, EthereumHeader, EthereumLog, EthereumReceiptEip658ReceiptData, EthereumReceiptReceiptV3, EthereumTransactionAccessListItem, EthereumTransactionEip1559Transaction, EthereumTransactionEip2930Transaction, EthereumTransactionLegacyTransaction, EthereumTransactionTransactionAction, EthereumTransactionTransactionSignature, EthereumTransactionTransactionV2, EthereumTypesHashH64, EvmCoreErrorExitError, EvmCoreErrorExitFatal, EvmCoreErrorExitReason, EvmCoreErrorExitRevert, EvmCoreErrorExitSucceed, FpRpcTransactionStatus, FrameSupportDispatchDispatchClass, FrameSupportDispatchDispatchInfo, FrameSupportDispatchPays, FrameSupportDispatchPerDispatchClassU32, FrameSupportDispatchPerDispatchClassWeight, FrameSupportDispatchPerDispatchClassWeightsPerClass, FrameSupportPalletId, FrameSupportTokensMiscBalanceStatus, FrameSystemAccountInfo, FrameSystemCall, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckNonce, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckTxVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, OpalRuntimeRuntime, OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance, OpalRuntimeRuntimeCommonSessionKeys, OrmlTokensAccountData, OrmlTokensBalanceLock, OrmlTokensModuleCall, OrmlTokensModuleError, OrmlTokensModuleEvent, OrmlTokensReserveData, OrmlVestingModuleCall, OrmlVestingModuleError, OrmlVestingModuleEvent, OrmlVestingVestingSchedule, OrmlXtokensModuleCall, OrmlXtokensModuleError, OrmlXtokensModuleEvent, PalletAppPromotionCall, PalletAppPromotionError, PalletAppPromotionEvent, PalletAuthorshipCall, PalletAuthorshipError, PalletAuthorshipUncleEntryItem, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesReasons, PalletBalancesReleases, PalletBalancesReserveData, PalletCollatorSelectionCall, PalletCollatorSelectionError, PalletCollatorSelectionEvent, PalletCommonError, PalletCommonEvent, PalletConfigurationAppPromotionConfiguration, PalletConfigurationCall, PalletConfigurationError, PalletEthereumCall, PalletEthereumError, PalletEthereumEvent, PalletEthereumFakeTransactionFinalizer, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmCall, PalletEvmCoderSubstrateError, PalletEvmContractHelpersError, PalletEvmContractHelpersEvent, PalletEvmContractHelpersSponsoringModeT, PalletEvmError, PalletEvmEvent, PalletEvmMigrationCall, PalletEvmMigrationError, PalletEvmMigrationEvent, PalletForeignAssetsAssetIds, PalletForeignAssetsModuleAssetMetadata, PalletForeignAssetsModuleCall, PalletForeignAssetsModuleError, PalletForeignAssetsModuleEvent, PalletForeignAssetsNativeCurrency, PalletFungibleError, PalletInflationCall, PalletMaintenanceCall, PalletMaintenanceError, PalletMaintenanceEvent, PalletNonfungibleError, PalletNonfungibleItemData, PalletRefungibleError, PalletRefungibleItemData, PalletRmrkCoreCall, PalletRmrkCoreError, PalletRmrkCoreEvent, PalletRmrkEquipCall, PalletRmrkEquipError, PalletRmrkEquipEvent, PalletSessionCall, PalletSessionError, PalletSessionEvent, PalletStructureCall, PalletStructureError, PalletStructureEvent, PalletSudoCall, PalletSudoError, PalletSudoEvent, PalletTemplateTransactionPaymentCall, PalletTemplateTransactionPaymentChargeTransactionPayment, PalletTestUtilsCall, PalletTestUtilsError, PalletTestUtilsEvent, PalletTimestampCall, PalletTransactionPaymentEvent, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUniqueCall, PalletUniqueError, PalletXcmCall, PalletXcmError, PalletXcmEvent, PhantomTypeUpDataStructs, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2AbridgedHrmpChannel, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, RmrkTraitsBaseBaseInfo, RmrkTraitsCollectionCollectionInfo, RmrkTraitsNftAccountIdOrCollectionNftTuple, RmrkTraitsNftNftChild, RmrkTraitsNftNftInfo, RmrkTraitsNftRoyaltyInfo, RmrkTraitsPartEquippableList, RmrkTraitsPartFixedPart, RmrkTraitsPartPartType, RmrkTraitsPartSlotPart, RmrkTraitsPropertyPropertyInfo, RmrkTraitsResourceBasicResource, RmrkTraitsResourceComposableResource, RmrkTraitsResourceResourceInfo, RmrkTraitsResourceResourceTypes, RmrkTraitsResourceSlotResource, RmrkTraitsTheme, RmrkTraitsThemeThemeProperty, SpConsensusAuraSr25519AppSr25519Public, SpCoreCryptoKeyTypeId, SpCoreEcdsaSignature, SpCoreEd25519Signature, SpCoreSr25519Public, SpCoreSr25519Signature, SpRuntimeArithmeticError, SpRuntimeBlakeTwo256, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeHeader, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpRuntimeTransactionalError, SpTrieStorageProof, SpVersionRuntimeVersion, SpWeightsRuntimeDbWeight, SpWeightsWeightV2Weight, UpDataStructsAccessMode, UpDataStructsCollection, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionPermissions, UpDataStructsCollectionStats, UpDataStructsCreateCollectionData, UpDataStructsCreateFungibleData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsCreateNftData, UpDataStructsCreateNftExData, UpDataStructsCreateReFungibleData, UpDataStructsCreateRefungibleExMultipleOwners, UpDataStructsCreateRefungibleExSingleOwner, UpDataStructsNestingPermissions, UpDataStructsOwnerRestrictedSet, UpDataStructsProperties, UpDataStructsPropertiesMapBoundedVec, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, UpDataStructsPropertyPermission, UpDataStructsPropertyScope, UpDataStructsRpcCollection, UpDataStructsRpcCollectionFlags, UpDataStructsSponsoringRateLimit, UpDataStructsSponsorshipStateAccountId32, UpDataStructsSponsorshipStateBasicCrossAccountIdRepr, UpDataStructsTokenChild, UpDataStructsTokenData, XcmDoubleEncoded, XcmV0Junction, XcmV0JunctionBodyId, XcmV0JunctionBodyPart, XcmV0JunctionNetworkId, XcmV0MultiAsset, XcmV0MultiLocation, XcmV0Order, XcmV0OriginKind, XcmV0Response, XcmV0Xcm, XcmV1Junction, XcmV1MultiAsset, XcmV1MultiLocation, XcmV1MultiassetAssetId, XcmV1MultiassetAssetInstance, XcmV1MultiassetFungibility, XcmV1MultiassetMultiAssetFilter, XcmV1MultiassetMultiAssets, XcmV1MultiassetWildFungibility, XcmV1MultiassetWildMultiAsset, XcmV1MultilocationJunctions, XcmV1Order, XcmV1Response, XcmV1Xcm, XcmV2Instruction, XcmV2Response, XcmV2TraitsError, XcmV2TraitsOutcome, XcmV2WeightLimit, XcmV2Xcm, XcmVersionedMultiAsset, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from '@polkadot/types/lookup';
 
 declare module '@polkadot/types/types/registry' {
   interface InterfaceTypes {
@@ -75,6 +75,7 @@
     FrameSystemPhase: FrameSystemPhase;
     OpalRuntimeRuntime: OpalRuntimeRuntime;
     OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance: OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance;
+    OpalRuntimeRuntimeCommonSessionKeys: OpalRuntimeRuntimeCommonSessionKeys;
     OrmlTokensAccountData: OrmlTokensAccountData;
     OrmlTokensBalanceLock: OrmlTokensBalanceLock;
     OrmlTokensModuleCall: OrmlTokensModuleCall;
@@ -91,6 +92,9 @@
     PalletAppPromotionCall: PalletAppPromotionCall;
     PalletAppPromotionError: PalletAppPromotionError;
     PalletAppPromotionEvent: PalletAppPromotionEvent;
+    PalletAuthorshipCall: PalletAuthorshipCall;
+    PalletAuthorshipError: PalletAuthorshipError;
+    PalletAuthorshipUncleEntryItem: PalletAuthorshipUncleEntryItem;
     PalletBalancesAccountData: PalletBalancesAccountData;
     PalletBalancesBalanceLock: PalletBalancesBalanceLock;
     PalletBalancesCall: PalletBalancesCall;
@@ -99,6 +103,9 @@
     PalletBalancesReasons: PalletBalancesReasons;
     PalletBalancesReleases: PalletBalancesReleases;
     PalletBalancesReserveData: PalletBalancesReserveData;
+    PalletCollatorSelectionCall: PalletCollatorSelectionCall;
+    PalletCollatorSelectionError: PalletCollatorSelectionError;
+    PalletCollatorSelectionEvent: PalletCollatorSelectionEvent;
     PalletCommonError: PalletCommonError;
     PalletCommonEvent: PalletCommonEvent;
     PalletConfigurationAppPromotionConfiguration: PalletConfigurationAppPromotionConfiguration;
@@ -140,6 +147,9 @@
     PalletRmrkEquipCall: PalletRmrkEquipCall;
     PalletRmrkEquipError: PalletRmrkEquipError;
     PalletRmrkEquipEvent: PalletRmrkEquipEvent;
+    PalletSessionCall: PalletSessionCall;
+    PalletSessionError: PalletSessionError;
+    PalletSessionEvent: PalletSessionEvent;
     PalletStructureCall: PalletStructureCall;
     PalletStructureError: PalletStructureError;
     PalletStructureEvent: PalletStructureEvent;
@@ -190,13 +200,18 @@
     RmrkTraitsResourceSlotResource: RmrkTraitsResourceSlotResource;
     RmrkTraitsTheme: RmrkTraitsTheme;
     RmrkTraitsThemeThemeProperty: RmrkTraitsThemeThemeProperty;
+    SpConsensusAuraSr25519AppSr25519Public: SpConsensusAuraSr25519AppSr25519Public;
+    SpCoreCryptoKeyTypeId: SpCoreCryptoKeyTypeId;
     SpCoreEcdsaSignature: SpCoreEcdsaSignature;
     SpCoreEd25519Signature: SpCoreEd25519Signature;
+    SpCoreSr25519Public: SpCoreSr25519Public;
     SpCoreSr25519Signature: SpCoreSr25519Signature;
     SpRuntimeArithmeticError: SpRuntimeArithmeticError;
+    SpRuntimeBlakeTwo256: SpRuntimeBlakeTwo256;
     SpRuntimeDigest: SpRuntimeDigest;
     SpRuntimeDigestDigestItem: SpRuntimeDigestDigestItem;
     SpRuntimeDispatchError: SpRuntimeDispatchError;
+    SpRuntimeHeader: SpRuntimeHeader;
     SpRuntimeModuleError: SpRuntimeModuleError;
     SpRuntimeMultiSignature: SpRuntimeMultiSignature;
     SpRuntimeTokenError: SpRuntimeTokenError;
modifiedtests/src/interfaces/types-lookup.tsdiffbeforeafterboth
--- a/tests/src/interfaces/types-lookup.ts
+++ b/tests/src/interfaces/types-lookup.ts
@@ -196,7 +196,59 @@
     readonly type: 'ValidationFunctionStored' | 'ValidationFunctionApplied' | 'ValidationFunctionDiscarded' | 'UpgradeAuthorized' | 'DownwardMessagesReceived' | 'DownwardMessagesProcessed';
   }
 
-  /** @name PalletBalancesEvent (30) */
+  /** @name PalletCollatorSelectionEvent (30) */
+  interface PalletCollatorSelectionEvent extends Enum {
+    readonly isNewDesiredCollators: boolean;
+    readonly asNewDesiredCollators: {
+      readonly desiredCollators: u32;
+    } & Struct;
+    readonly isNewLicenseBond: boolean;
+    readonly asNewLicenseBond: {
+      readonly bondAmount: u128;
+    } & Struct;
+    readonly isNewKickThreshold: boolean;
+    readonly asNewKickThreshold: {
+      readonly lengthInBlocks: u32;
+    } & Struct;
+    readonly isInvulnerableAdded: boolean;
+    readonly asInvulnerableAdded: {
+      readonly invulnerable: AccountId32;
+    } & Struct;
+    readonly isInvulnerableRemoved: boolean;
+    readonly asInvulnerableRemoved: {
+      readonly invulnerable: AccountId32;
+    } & Struct;
+    readonly isLicenseObtained: boolean;
+    readonly asLicenseObtained: {
+      readonly accountId: AccountId32;
+      readonly deposit: u128;
+    } & Struct;
+    readonly isLicenseForfeited: boolean;
+    readonly asLicenseForfeited: {
+      readonly accountId: AccountId32;
+      readonly depositReturned: u128;
+    } & Struct;
+    readonly isCandidateAdded: boolean;
+    readonly asCandidateAdded: {
+      readonly accountId: AccountId32;
+    } & Struct;
+    readonly isCandidateRemoved: boolean;
+    readonly asCandidateRemoved: {
+      readonly accountId: AccountId32;
+    } & Struct;
+    readonly type: 'NewDesiredCollators' | 'NewLicenseBond' | 'NewKickThreshold' | 'InvulnerableAdded' | 'InvulnerableRemoved' | 'LicenseObtained' | 'LicenseForfeited' | 'CandidateAdded' | 'CandidateRemoved';
+  }
+
+  /** @name PalletSessionEvent (31) */
+  interface PalletSessionEvent extends Enum {
+    readonly isNewSession: boolean;
+    readonly asNewSession: {
+      readonly sessionIndex: u32;
+    } & Struct;
+    readonly type: 'NewSession';
+  }
+
+  /** @name PalletBalancesEvent (32) */
   interface PalletBalancesEvent extends Enum {
     readonly isEndowed: boolean;
     readonly asEndowed: {
@@ -255,14 +307,14 @@
     readonly type: 'Endowed' | 'DustLost' | 'Transfer' | 'BalanceSet' | 'Reserved' | 'Unreserved' | 'ReserveRepatriated' | 'Deposit' | 'Withdraw' | 'Slashed';
   }
 
-  /** @name FrameSupportTokensMiscBalanceStatus (31) */
+  /** @name FrameSupportTokensMiscBalanceStatus (33) */
   interface FrameSupportTokensMiscBalanceStatus extends Enum {
     readonly isFree: boolean;
     readonly isReserved: boolean;
     readonly type: 'Free' | 'Reserved';
   }
 
-  /** @name PalletTransactionPaymentEvent (32) */
+  /** @name PalletTransactionPaymentEvent (34) */
   interface PalletTransactionPaymentEvent extends Enum {
     readonly isTransactionFeePaid: boolean;
     readonly asTransactionFeePaid: {
@@ -273,7 +325,7 @@
     readonly type: 'TransactionFeePaid';
   }
 
-  /** @name PalletTreasuryEvent (33) */
+  /** @name PalletTreasuryEvent (35) */
   interface PalletTreasuryEvent extends Enum {
     readonly isProposed: boolean;
     readonly asProposed: {
@@ -315,7 +367,7 @@
     readonly type: 'Proposed' | 'Spending' | 'Awarded' | 'Rejected' | 'Burnt' | 'Rollover' | 'Deposit' | 'SpendApproved';
   }
 
-  /** @name PalletSudoEvent (34) */
+  /** @name PalletSudoEvent (36) */
   interface PalletSudoEvent extends Enum {
     readonly isSudid: boolean;
     readonly asSudid: {
@@ -332,7 +384,7 @@
     readonly type: 'Sudid' | 'KeyChanged' | 'SudoAsDone';
   }
 
-  /** @name OrmlVestingModuleEvent (38) */
+  /** @name OrmlVestingModuleEvent (40) */
   interface OrmlVestingModuleEvent extends Enum {
     readonly isVestingScheduleAdded: boolean;
     readonly asVestingScheduleAdded: {
@@ -352,7 +404,7 @@
     readonly type: 'VestingScheduleAdded' | 'Claimed' | 'VestingSchedulesUpdated';
   }
 
-  /** @name OrmlVestingVestingSchedule (39) */
+  /** @name OrmlVestingVestingSchedule (41) */
   interface OrmlVestingVestingSchedule extends Struct {
     readonly start: u32;
     readonly period: u32;
@@ -360,7 +412,7 @@
     readonly perPeriod: Compact<u128>;
   }
 
-  /** @name OrmlXtokensModuleEvent (41) */
+  /** @name OrmlXtokensModuleEvent (43) */
   interface OrmlXtokensModuleEvent extends Enum {
     readonly isTransferredMultiAssets: boolean;
     readonly asTransferredMultiAssets: {
@@ -372,16 +424,16 @@
     readonly type: 'TransferredMultiAssets';
   }
 
-  /** @name XcmV1MultiassetMultiAssets (42) */
+  /** @name XcmV1MultiassetMultiAssets (44) */
   interface XcmV1MultiassetMultiAssets extends Vec<XcmV1MultiAsset> {}
 
-  /** @name XcmV1MultiAsset (44) */
+  /** @name XcmV1MultiAsset (46) */
   interface XcmV1MultiAsset extends Struct {
     readonly id: XcmV1MultiassetAssetId;
     readonly fun: XcmV1MultiassetFungibility;
   }
 
-  /** @name XcmV1MultiassetAssetId (45) */
+  /** @name XcmV1MultiassetAssetId (47) */
   interface XcmV1MultiassetAssetId extends Enum {
     readonly isConcrete: boolean;
     readonly asConcrete: XcmV1MultiLocation;
@@ -390,13 +442,13 @@
     readonly type: 'Concrete' | 'Abstract';
   }
 
-  /** @name XcmV1MultiLocation (46) */
+  /** @name XcmV1MultiLocation (48) */
   interface XcmV1MultiLocation extends Struct {
     readonly parents: u8;
     readonly interior: XcmV1MultilocationJunctions;
   }
 
-  /** @name XcmV1MultilocationJunctions (47) */
+  /** @name XcmV1MultilocationJunctions (49) */
   interface XcmV1MultilocationJunctions extends Enum {
     readonly isHere: boolean;
     readonly isX1: boolean;
@@ -418,7 +470,7 @@
     readonly type: 'Here' | 'X1' | 'X2' | 'X3' | 'X4' | 'X5' | 'X6' | 'X7' | 'X8';
   }
 
-  /** @name XcmV1Junction (48) */
+  /** @name XcmV1Junction (50) */
   interface XcmV1Junction extends Enum {
     readonly isParachain: boolean;
     readonly asParachain: Compact<u32>;
@@ -452,7 +504,7 @@
     readonly type: 'Parachain' | 'AccountId32' | 'AccountIndex64' | 'AccountKey20' | 'PalletInstance' | 'GeneralIndex' | 'GeneralKey' | 'OnlyChild' | 'Plurality';
   }
 
-  /** @name XcmV0JunctionNetworkId (50) */
+  /** @name XcmV0JunctionNetworkId (52) */
   interface XcmV0JunctionNetworkId extends Enum {
     readonly isAny: boolean;
     readonly isNamed: boolean;
@@ -462,7 +514,7 @@
     readonly type: 'Any' | 'Named' | 'Polkadot' | 'Kusama';
   }
 
-  /** @name XcmV0JunctionBodyId (53) */
+  /** @name XcmV0JunctionBodyId (55) */
   interface XcmV0JunctionBodyId extends Enum {
     readonly isUnit: boolean;
     readonly isNamed: boolean;
@@ -476,7 +528,7 @@
     readonly type: 'Unit' | 'Named' | 'Index' | 'Executive' | 'Technical' | 'Legislative' | 'Judicial';
   }
 
-  /** @name XcmV0JunctionBodyPart (54) */
+  /** @name XcmV0JunctionBodyPart (56) */
   interface XcmV0JunctionBodyPart extends Enum {
     readonly isVoice: boolean;
     readonly isMembers: boolean;
@@ -501,7 +553,7 @@
     readonly type: 'Voice' | 'Members' | 'Fraction' | 'AtLeastProportion' | 'MoreThanProportion';
   }
 
-  /** @name XcmV1MultiassetFungibility (55) */
+  /** @name XcmV1MultiassetFungibility (57) */
   interface XcmV1MultiassetFungibility extends Enum {
     readonly isFungible: boolean;
     readonly asFungible: Compact<u128>;
@@ -510,7 +562,7 @@
     readonly type: 'Fungible' | 'NonFungible';
   }
 
-  /** @name XcmV1MultiassetAssetInstance (56) */
+  /** @name XcmV1MultiassetAssetInstance (58) */
   interface XcmV1MultiassetAssetInstance extends Enum {
     readonly isUndefined: boolean;
     readonly isIndex: boolean;
@@ -528,7 +580,7 @@
     readonly type: 'Undefined' | 'Index' | 'Array4' | 'Array8' | 'Array16' | 'Array32' | 'Blob';
   }
 
-  /** @name OrmlTokensModuleEvent (59) */
+  /** @name OrmlTokensModuleEvent (61) */
   interface OrmlTokensModuleEvent extends Enum {
     readonly isEndowed: boolean;
     readonly asEndowed: {
@@ -616,7 +668,7 @@
     readonly type: 'Endowed' | 'DustLost' | 'Transfer' | 'Reserved' | 'Unreserved' | 'ReserveRepatriated' | 'BalanceSet' | 'TotalIssuanceSet' | 'Withdrawn' | 'Slashed' | 'Deposited' | 'LockSet' | 'LockRemoved';
   }
 
-  /** @name PalletForeignAssetsAssetIds (60) */
+  /** @name PalletForeignAssetsAssetIds (62) */
   interface PalletForeignAssetsAssetIds extends Enum {
     readonly isForeignAssetId: boolean;
     readonly asForeignAssetId: u32;
@@ -625,14 +677,14 @@
     readonly type: 'ForeignAssetId' | 'NativeAssetId';
   }
 
-  /** @name PalletForeignAssetsNativeCurrency (61) */
+  /** @name PalletForeignAssetsNativeCurrency (63) */
   interface PalletForeignAssetsNativeCurrency extends Enum {
     readonly isHere: boolean;
     readonly isParent: boolean;
     readonly type: 'Here' | 'Parent';
   }
 
-  /** @name CumulusPalletXcmpQueueEvent (62) */
+  /** @name CumulusPalletXcmpQueueEvent (64) */
   interface CumulusPalletXcmpQueueEvent extends Enum {
     readonly isSuccess: boolean;
     readonly asSuccess: {
@@ -676,7 +728,7 @@
     readonly type: 'Success' | 'Fail' | 'BadVersion' | 'BadFormat' | 'UpwardMessageSent' | 'XcmpMessageSent' | 'OverweightEnqueued' | 'OverweightServiced';
   }
 
-  /** @name XcmV2TraitsError (64) */
+  /** @name XcmV2TraitsError (66) */
   interface XcmV2TraitsError extends Enum {
     readonly isOverflow: boolean;
     readonly isUnimplemented: boolean;
@@ -709,7 +761,7 @@
     readonly type: 'Overflow' | 'Unimplemented' | 'UntrustedReserveLocation' | 'UntrustedTeleportLocation' | 'MultiLocationFull' | 'MultiLocationNotInvertible' | 'BadOrigin' | 'InvalidLocation' | 'AssetNotFound' | 'FailedToTransactAsset' | 'NotWithdrawable' | 'LocationCannotHold' | 'ExceedsMaxMessageSize' | 'DestinationUnsupported' | 'Transport' | 'Unroutable' | 'UnknownClaim' | 'FailedToDecode' | 'MaxWeightInvalid' | 'NotHoldingFees' | 'TooExpensive' | 'Trap' | 'UnhandledXcmVersion' | 'WeightLimitReached' | 'Barrier' | 'WeightNotComputable';
   }
 
-  /** @name PalletXcmEvent (66) */
+  /** @name PalletXcmEvent (68) */
   interface PalletXcmEvent extends Enum {
     readonly isAttempted: boolean;
     readonly asAttempted: XcmV2TraitsOutcome;
@@ -748,7 +800,7 @@
     readonly type: 'Attempted' | 'Sent' | 'UnexpectedResponse' | 'ResponseReady' | 'Notified' | 'NotifyOverweight' | 'NotifyDispatchError' | 'NotifyDecodeFailed' | 'InvalidResponder' | 'InvalidResponderVersion' | 'ResponseTaken' | 'AssetsTrapped' | 'VersionChangeNotified' | 'SupportedVersionChanged' | 'NotifyTargetSendFail' | 'NotifyTargetMigrationFail' | 'AssetsClaimed';
   }
 
-  /** @name XcmV2TraitsOutcome (67) */
+  /** @name XcmV2TraitsOutcome (69) */
   interface XcmV2TraitsOutcome extends Enum {
     readonly isComplete: boolean;
     readonly asComplete: u64;
@@ -759,10 +811,10 @@
     readonly type: 'Complete' | 'Incomplete' | 'Error';
   }
 
-  /** @name XcmV2Xcm (68) */
+  /** @name XcmV2Xcm (70) */
   interface XcmV2Xcm extends Vec<XcmV2Instruction> {}
 
-  /** @name XcmV2Instruction (70) */
+  /** @name XcmV2Instruction (72) */
   interface XcmV2Instruction extends Enum {
     readonly isWithdrawAsset: boolean;
     readonly asWithdrawAsset: XcmV1MultiassetMultiAssets;
@@ -882,7 +934,7 @@
     readonly type: 'WithdrawAsset' | 'ReserveAssetDeposited' | 'ReceiveTeleportedAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'ClearOrigin' | 'DescendOrigin' | 'ReportError' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution' | 'RefundSurplus' | 'SetErrorHandler' | 'SetAppendix' | 'ClearError' | 'ClaimAsset' | 'Trap' | 'SubscribeVersion' | 'UnsubscribeVersion';
   }
 
-  /** @name XcmV2Response (71) */
+  /** @name XcmV2Response (73) */
   interface XcmV2Response extends Enum {
     readonly isNull: boolean;
     readonly isAssets: boolean;
@@ -894,7 +946,7 @@
     readonly type: 'Null' | 'Assets' | 'ExecutionResult' | 'Version';
   }
 
-  /** @name XcmV0OriginKind (74) */
+  /** @name XcmV0OriginKind (76) */
   interface XcmV0OriginKind extends Enum {
     readonly isNative: boolean;
     readonly isSovereignAccount: boolean;
@@ -903,12 +955,12 @@
     readonly type: 'Native' | 'SovereignAccount' | 'Superuser' | 'Xcm';
   }
 
-  /** @name XcmDoubleEncoded (75) */
+  /** @name XcmDoubleEncoded (77) */
   interface XcmDoubleEncoded extends Struct {
     readonly encoded: Bytes;
   }
 
-  /** @name XcmV1MultiassetMultiAssetFilter (76) */
+  /** @name XcmV1MultiassetMultiAssetFilter (78) */
   interface XcmV1MultiassetMultiAssetFilter extends Enum {
     readonly isDefinite: boolean;
     readonly asDefinite: XcmV1MultiassetMultiAssets;
@@ -917,7 +969,7 @@
     readonly type: 'Definite' | 'Wild';
   }
 
-  /** @name XcmV1MultiassetWildMultiAsset (77) */
+  /** @name XcmV1MultiassetWildMultiAsset (79) */
   interface XcmV1MultiassetWildMultiAsset extends Enum {
     readonly isAll: boolean;
     readonly isAllOf: boolean;
@@ -928,14 +980,14 @@
     readonly type: 'All' | 'AllOf';
   }
 
-  /** @name XcmV1MultiassetWildFungibility (78) */
+  /** @name XcmV1MultiassetWildFungibility (80) */
   interface XcmV1MultiassetWildFungibility extends Enum {
     readonly isFungible: boolean;
     readonly isNonFungible: boolean;
     readonly type: 'Fungible' | 'NonFungible';
   }
 
-  /** @name XcmV2WeightLimit (79) */
+  /** @name XcmV2WeightLimit (81) */
   interface XcmV2WeightLimit extends Enum {
     readonly isUnlimited: boolean;
     readonly isLimited: boolean;
@@ -943,7 +995,7 @@
     readonly type: 'Unlimited' | 'Limited';
   }
 
-  /** @name XcmVersionedMultiAssets (81) */
+  /** @name XcmVersionedMultiAssets (83) */
   interface XcmVersionedMultiAssets extends Enum {
     readonly isV0: boolean;
     readonly asV0: Vec<XcmV0MultiAsset>;
@@ -952,7 +1004,7 @@
     readonly type: 'V0' | 'V1';
   }
 
-  /** @name XcmV0MultiAsset (83) */
+  /** @name XcmV0MultiAsset (85) */
   interface XcmV0MultiAsset extends Enum {
     readonly isNone: boolean;
     readonly isAll: boolean;
@@ -997,7 +1049,7 @@
     readonly type: 'None' | 'All' | 'AllFungible' | 'AllNonFungible' | 'AllAbstractFungible' | 'AllAbstractNonFungible' | 'AllConcreteFungible' | 'AllConcreteNonFungible' | 'AbstractFungible' | 'AbstractNonFungible' | 'ConcreteFungible' | 'ConcreteNonFungible';
   }
 
-  /** @name XcmV0MultiLocation (84) */
+  /** @name XcmV0MultiLocation (86) */
   interface XcmV0MultiLocation extends Enum {
     readonly isNull: boolean;
     readonly isX1: boolean;
@@ -1019,7 +1071,7 @@
     readonly type: 'Null' | 'X1' | 'X2' | 'X3' | 'X4' | 'X5' | 'X6' | 'X7' | 'X8';
   }
 
-  /** @name XcmV0Junction (85) */
+  /** @name XcmV0Junction (87) */
   interface XcmV0Junction extends Enum {
     readonly isParent: boolean;
     readonly isParachain: boolean;
@@ -1054,7 +1106,7 @@
     readonly type: 'Parent' | 'Parachain' | 'AccountId32' | 'AccountIndex64' | 'AccountKey20' | 'PalletInstance' | 'GeneralIndex' | 'GeneralKey' | 'OnlyChild' | 'Plurality';
   }
 
-  /** @name XcmVersionedMultiLocation (86) */
+  /** @name XcmVersionedMultiLocation (88) */
   interface XcmVersionedMultiLocation extends Enum {
     readonly isV0: boolean;
     readonly asV0: XcmV0MultiLocation;
@@ -1063,7 +1115,7 @@
     readonly type: 'V0' | 'V1';
   }
 
-  /** @name CumulusPalletXcmEvent (87) */
+  /** @name CumulusPalletXcmEvent (89) */
   interface CumulusPalletXcmEvent extends Enum {
     readonly isInvalidFormat: boolean;
     readonly asInvalidFormat: U8aFixed;
@@ -1074,7 +1126,7 @@
     readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward';
   }
 
-  /** @name CumulusPalletDmpQueueEvent (88) */
+  /** @name CumulusPalletDmpQueueEvent (90) */
   interface CumulusPalletDmpQueueEvent extends Enum {
     readonly isInvalidFormat: boolean;
     readonly asInvalidFormat: {
@@ -1109,7 +1161,7 @@
     readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward' | 'WeightExhausted' | 'OverweightEnqueued' | 'OverweightServiced';
   }
 
-  /** @name PalletCommonEvent (89) */
+  /** @name PalletCommonEvent (91) */
   interface PalletCommonEvent extends Enum {
     readonly isCollectionCreated: boolean;
     readonly asCollectionCreated: ITuple<[u32, u8, AccountId32]>;
@@ -1158,7 +1210,7 @@
     readonly type: 'CollectionCreated' | 'CollectionDestroyed' | 'ItemCreated' | 'ItemDestroyed' | 'Transfer' | 'Approved' | 'ApprovedForAll' | 'CollectionPropertySet' | 'CollectionPropertyDeleted' | 'TokenPropertySet' | 'TokenPropertyDeleted' | 'PropertyPermissionSet' | 'AllowListAddressAdded' | 'AllowListAddressRemoved' | 'CollectionAdminAdded' | 'CollectionAdminRemoved' | 'CollectionLimitSet' | 'CollectionOwnerChanged' | 'CollectionPermissionSet' | 'CollectionSponsorSet' | 'SponsorshipConfirmed' | 'CollectionSponsorRemoved';
   }
 
-  /** @name PalletEvmAccountBasicCrossAccountIdRepr (92) */
+  /** @name PalletEvmAccountBasicCrossAccountIdRepr (94) */
   interface PalletEvmAccountBasicCrossAccountIdRepr extends Enum {
     readonly isSubstrate: boolean;
     readonly asSubstrate: AccountId32;
@@ -1167,14 +1219,14 @@
     readonly type: 'Substrate' | 'Ethereum';
   }
 
-  /** @name PalletStructureEvent (96) */
+  /** @name PalletStructureEvent (98) */
   interface PalletStructureEvent extends Enum {
     readonly isExecuted: boolean;
     readonly asExecuted: Result<Null, SpRuntimeDispatchError>;
     readonly type: 'Executed';
   }
 
-  /** @name PalletRmrkCoreEvent (97) */
+  /** @name PalletRmrkCoreEvent (99) */
   interface PalletRmrkCoreEvent extends Enum {
     readonly isCollectionCreated: boolean;
     readonly asCollectionCreated: {
@@ -1264,7 +1316,7 @@
     readonly type: 'CollectionCreated' | 'CollectionDestroyed' | 'IssuerChanged' | 'CollectionLocked' | 'NftMinted' | 'NftBurned' | 'NftSent' | 'NftAccepted' | 'NftRejected' | 'PropertySet' | 'ResourceAdded' | 'ResourceRemoval' | 'ResourceAccepted' | 'ResourceRemovalAccepted' | 'PrioritySet';
   }
 
-  /** @name RmrkTraitsNftAccountIdOrCollectionNftTuple (98) */
+  /** @name RmrkTraitsNftAccountIdOrCollectionNftTuple (100) */
   interface RmrkTraitsNftAccountIdOrCollectionNftTuple extends Enum {
     readonly isAccountId: boolean;
     readonly asAccountId: AccountId32;
@@ -1273,7 +1325,7 @@
     readonly type: 'AccountId' | 'CollectionAndNftTuple';
   }
 
-  /** @name PalletRmrkEquipEvent (102) */
+  /** @name PalletRmrkEquipEvent (104) */
   interface PalletRmrkEquipEvent extends Enum {
     readonly isBaseCreated: boolean;
     readonly asBaseCreated: {
@@ -1288,7 +1340,7 @@
     readonly type: 'BaseCreated' | 'EquippablesUpdated';
   }
 
-  /** @name PalletAppPromotionEvent (103) */
+  /** @name PalletAppPromotionEvent (105) */
   interface PalletAppPromotionEvent extends Enum {
     readonly isStakingRecalculation: boolean;
     readonly asStakingRecalculation: ITuple<[AccountId32, u128, u128]>;
@@ -1301,7 +1353,7 @@
     readonly type: 'StakingRecalculation' | 'Stake' | 'Unstake' | 'SetAdmin';
   }
 
-  /** @name PalletForeignAssetsModuleEvent (104) */
+  /** @name PalletForeignAssetsModuleEvent (106) */
   interface PalletForeignAssetsModuleEvent extends Enum {
     readonly isForeignAssetRegistered: boolean;
     readonly asForeignAssetRegistered: {
@@ -1328,7 +1380,7 @@
     readonly type: 'ForeignAssetRegistered' | 'ForeignAssetUpdated' | 'AssetRegistered' | 'AssetUpdated';
   }
 
-  /** @name PalletForeignAssetsModuleAssetMetadata (105) */
+  /** @name PalletForeignAssetsModuleAssetMetadata (107) */
   interface PalletForeignAssetsModuleAssetMetadata extends Struct {
     readonly name: Bytes;
     readonly symbol: Bytes;
@@ -1336,7 +1388,7 @@
     readonly minimalBalance: u128;
   }
 
-  /** @name PalletEvmEvent (106) */
+  /** @name PalletEvmEvent (108) */
   interface PalletEvmEvent extends Enum {
     readonly isLog: boolean;
     readonly asLog: {
@@ -1361,14 +1413,14 @@
     readonly type: 'Log' | 'Created' | 'CreatedFailed' | 'Executed' | 'ExecutedFailed';
   }
 
-  /** @name EthereumLog (107) */
+  /** @name EthereumLog (109) */
   interface EthereumLog extends Struct {
     readonly address: H160;
     readonly topics: Vec<H256>;
     readonly data: Bytes;
   }
 
-  /** @name PalletEthereumEvent (109) */
+  /** @name PalletEthereumEvent (111) */
   interface PalletEthereumEvent extends Enum {
     readonly isExecuted: boolean;
     readonly asExecuted: {
@@ -1380,7 +1432,7 @@
     readonly type: 'Executed';
   }
 
-  /** @name EvmCoreErrorExitReason (110) */
+  /** @name EvmCoreErrorExitReason (112) */
   interface EvmCoreErrorExitReason extends Enum {
     readonly isSucceed: boolean;
     readonly asSucceed: EvmCoreErrorExitSucceed;
@@ -1393,7 +1445,7 @@
     readonly type: 'Succeed' | 'Error' | 'Revert' | 'Fatal';
   }
 
-  /** @name EvmCoreErrorExitSucceed (111) */
+  /** @name EvmCoreErrorExitSucceed (113) */
   interface EvmCoreErrorExitSucceed extends Enum {
     readonly isStopped: boolean;
     readonly isReturned: boolean;
@@ -1401,7 +1453,7 @@
     readonly type: 'Stopped' | 'Returned' | 'Suicided';
   }
 
-  /** @name EvmCoreErrorExitError (112) */
+  /** @name EvmCoreErrorExitError (114) */
   interface EvmCoreErrorExitError extends Enum {
     readonly isStackUnderflow: boolean;
     readonly isStackOverflow: boolean;
@@ -1422,13 +1474,13 @@
     readonly type: 'StackUnderflow' | 'StackOverflow' | 'InvalidJump' | 'InvalidRange' | 'DesignatedInvalid' | 'CallTooDeep' | 'CreateCollision' | 'CreateContractLimit' | 'OutOfOffset' | 'OutOfGas' | 'OutOfFund' | 'PcUnderflow' | 'CreateEmpty' | 'Other' | 'InvalidCode';
   }
 
-  /** @name EvmCoreErrorExitRevert (115) */
+  /** @name EvmCoreErrorExitRevert (117) */
   interface EvmCoreErrorExitRevert extends Enum {
     readonly isReverted: boolean;
     readonly type: 'Reverted';
   }
 
-  /** @name EvmCoreErrorExitFatal (116) */
+  /** @name EvmCoreErrorExitFatal (118) */
   interface EvmCoreErrorExitFatal extends Enum {
     readonly isNotSupported: boolean;
     readonly isUnhandledInterrupt: boolean;
@@ -1439,7 +1491,7 @@
     readonly type: 'NotSupported' | 'UnhandledInterrupt' | 'CallErrorAsFatal' | 'Other';
   }
 
-  /** @name PalletEvmContractHelpersEvent (117) */
+  /** @name PalletEvmContractHelpersEvent (119) */
   interface PalletEvmContractHelpersEvent extends Enum {
     readonly isContractSponsorSet: boolean;
     readonly asContractSponsorSet: ITuple<[H160, AccountId32]>;
@@ -1450,20 +1502,20 @@
     readonly type: 'ContractSponsorSet' | 'ContractSponsorshipConfirmed' | 'ContractSponsorRemoved';
   }
 
-  /** @name PalletEvmMigrationEvent (118) */
+  /** @name PalletEvmMigrationEvent (120) */
   interface PalletEvmMigrationEvent extends Enum {
     readonly isTestEvent: boolean;
     readonly type: 'TestEvent';
   }
 
-  /** @name PalletMaintenanceEvent (119) */
+  /** @name PalletMaintenanceEvent (121) */
   interface PalletMaintenanceEvent extends Enum {
     readonly isMaintenanceEnabled: boolean;
     readonly isMaintenanceDisabled: boolean;
     readonly type: 'MaintenanceEnabled' | 'MaintenanceDisabled';
   }
 
-  /** @name PalletTestUtilsEvent (120) */
+  /** @name PalletTestUtilsEvent (122) */
   interface PalletTestUtilsEvent extends Enum {
     readonly isValueIsSet: boolean;
     readonly isShouldRollback: boolean;
@@ -1471,7 +1523,7 @@
     readonly type: 'ValueIsSet' | 'ShouldRollback' | 'BatchCompleted';
   }
 
-  /** @name FrameSystemPhase (121) */
+  /** @name FrameSystemPhase (123) */
   interface FrameSystemPhase extends Enum {
     readonly isApplyExtrinsic: boolean;
     readonly asApplyExtrinsic: u32;
@@ -1480,13 +1532,13 @@
     readonly type: 'ApplyExtrinsic' | 'Finalization' | 'Initialization';
   }
 
-  /** @name FrameSystemLastRuntimeUpgradeInfo (124) */
+  /** @name FrameSystemLastRuntimeUpgradeInfo (126) */
   interface FrameSystemLastRuntimeUpgradeInfo extends Struct {
     readonly specVersion: Compact<u32>;
     readonly specName: Text;
   }
 
-  /** @name FrameSystemCall (125) */
+  /** @name FrameSystemCall (127) */
   interface FrameSystemCall extends Enum {
     readonly isFillBlock: boolean;
     readonly asFillBlock: {
@@ -1528,21 +1580,21 @@
     readonly type: 'FillBlock' | 'Remark' | 'SetHeapPages' | 'SetCode' | 'SetCodeWithoutChecks' | 'SetStorage' | 'KillStorage' | 'KillPrefix' | 'RemarkWithEvent';
   }
 
-  /** @name FrameSystemLimitsBlockWeights (130) */
+  /** @name FrameSystemLimitsBlockWeights (132) */
   interface FrameSystemLimitsBlockWeights extends Struct {
     readonly baseBlock: SpWeightsWeightV2Weight;
     readonly maxBlock: SpWeightsWeightV2Weight;
     readonly perClass: FrameSupportDispatchPerDispatchClassWeightsPerClass;
   }
 
-  /** @name FrameSupportDispatchPerDispatchClassWeightsPerClass (131) */
+  /** @name FrameSupportDispatchPerDispatchClassWeightsPerClass (133) */
   interface FrameSupportDispatchPerDispatchClassWeightsPerClass extends Struct {
     readonly normal: FrameSystemLimitsWeightsPerClass;
     readonly operational: FrameSystemLimitsWeightsPerClass;
     readonly mandatory: FrameSystemLimitsWeightsPerClass;
   }
 
-  /** @name FrameSystemLimitsWeightsPerClass (132) */
+  /** @name FrameSystemLimitsWeightsPerClass (134) */
   interface FrameSystemLimitsWeightsPerClass extends Struct {
     readonly baseExtrinsic: SpWeightsWeightV2Weight;
     readonly maxExtrinsic: Option<SpWeightsWeightV2Weight>;
@@ -1550,25 +1602,25 @@
     readonly reserved: Option<SpWeightsWeightV2Weight>;
   }
 
-  /** @name FrameSystemLimitsBlockLength (134) */
+  /** @name FrameSystemLimitsBlockLength (136) */
   interface FrameSystemLimitsBlockLength extends Struct {
     readonly max: FrameSupportDispatchPerDispatchClassU32;
   }
 
-  /** @name FrameSupportDispatchPerDispatchClassU32 (135) */
+  /** @name FrameSupportDispatchPerDispatchClassU32 (137) */
   interface FrameSupportDispatchPerDispatchClassU32 extends Struct {
     readonly normal: u32;
     readonly operational: u32;
     readonly mandatory: u32;
   }
 
-  /** @name SpWeightsRuntimeDbWeight (136) */
+  /** @name SpWeightsRuntimeDbWeight (138) */
   interface SpWeightsRuntimeDbWeight extends Struct {
     readonly read: u64;
     readonly write: u64;
   }
 
-  /** @name SpVersionRuntimeVersion (137) */
+  /** @name SpVersionRuntimeVersion (139) */
   interface SpVersionRuntimeVersion extends Struct {
     readonly specName: Text;
     readonly implName: Text;
@@ -1580,7 +1632,7 @@
     readonly stateVersion: u8;
   }
 
-  /** @name FrameSystemError (142) */
+  /** @name FrameSystemError (144) */
   interface FrameSystemError extends Enum {
     readonly isInvalidSpecName: boolean;
     readonly isSpecVersionNeedsToIncrease: boolean;
@@ -1591,7 +1643,7 @@
     readonly type: 'InvalidSpecName' | 'SpecVersionNeedsToIncrease' | 'FailedToExtractRuntimeVersion' | 'NonDefaultComposite' | 'NonZeroRefCount' | 'CallFiltered';
   }
 
-  /** @name PolkadotPrimitivesV2PersistedValidationData (143) */
+  /** @name PolkadotPrimitivesV2PersistedValidationData (145) */
   interface PolkadotPrimitivesV2PersistedValidationData extends Struct {
     readonly parentHead: Bytes;
     readonly relayParentNumber: u32;
@@ -1599,18 +1651,18 @@
     readonly maxPovSize: u32;
   }
 
-  /** @name PolkadotPrimitivesV2UpgradeRestriction (146) */
+  /** @name PolkadotPrimitivesV2UpgradeRestriction (148) */
   interface PolkadotPrimitivesV2UpgradeRestriction extends Enum {
     readonly isPresent: boolean;
     readonly type: 'Present';
   }
 
-  /** @name SpTrieStorageProof (147) */
+  /** @name SpTrieStorageProof (149) */
   interface SpTrieStorageProof extends Struct {
     readonly trieNodes: BTreeSet<Bytes>;
   }
 
-  /** @name CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot (149) */
+  /** @name CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot (151) */
   interface CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot extends Struct {
     readonly dmqMqcHead: H256;
     readonly relayDispatchQueueSize: ITuple<[u32, u32]>;
@@ -1618,7 +1670,7 @@
     readonly egressChannels: Vec<ITuple<[u32, PolkadotPrimitivesV2AbridgedHrmpChannel]>>;
   }
 
-  /** @name PolkadotPrimitivesV2AbridgedHrmpChannel (152) */
+  /** @name PolkadotPrimitivesV2AbridgedHrmpChannel (154) */
   interface PolkadotPrimitivesV2AbridgedHrmpChannel extends Struct {
     readonly maxCapacity: u32;
     readonly maxTotalSize: u32;
@@ -1628,7 +1680,7 @@
     readonly mqcHead: Option<H256>;
   }
 
-  /** @name PolkadotPrimitivesV2AbridgedHostConfiguration (153) */
+  /** @name PolkadotPrimitivesV2AbridgedHostConfiguration (155) */
   interface PolkadotPrimitivesV2AbridgedHostConfiguration extends Struct {
     readonly maxCodeSize: u32;
     readonly maxHeadDataSize: u32;
@@ -1641,13 +1693,13 @@
     readonly validationUpgradeDelay: u32;
   }
 
-  /** @name PolkadotCorePrimitivesOutboundHrmpMessage (159) */
+  /** @name PolkadotCorePrimitivesOutboundHrmpMessage (161) */
   interface PolkadotCorePrimitivesOutboundHrmpMessage extends Struct {
     readonly recipient: u32;
     readonly data: Bytes;
   }
 
-  /** @name CumulusPalletParachainSystemCall (160) */
+  /** @name CumulusPalletParachainSystemCall (162) */
   interface CumulusPalletParachainSystemCall extends Enum {
     readonly isSetValidationData: boolean;
     readonly asSetValidationData: {
@@ -1668,7 +1720,7 @@
     readonly type: 'SetValidationData' | 'SudoSendUpwardMessage' | 'AuthorizeUpgrade' | 'EnactAuthorizedUpgrade';
   }
 
-  /** @name CumulusPrimitivesParachainInherentParachainInherentData (161) */
+  /** @name CumulusPrimitivesParachainInherentParachainInherentData (163) */
   interface CumulusPrimitivesParachainInherentParachainInherentData extends Struct {
     readonly validationData: PolkadotPrimitivesV2PersistedValidationData;
     readonly relayChainState: SpTrieStorageProof;
@@ -1676,19 +1728,19 @@
     readonly horizontalMessages: BTreeMap<u32, Vec<PolkadotCorePrimitivesInboundHrmpMessage>>;
   }
 
-  /** @name PolkadotCorePrimitivesInboundDownwardMessage (163) */
+  /** @name PolkadotCorePrimitivesInboundDownwardMessage (165) */
   interface PolkadotCorePrimitivesInboundDownwardMessage extends Struct {
     readonly sentAt: u32;
     readonly msg: Bytes;
   }
 
-  /** @name PolkadotCorePrimitivesInboundHrmpMessage (166) */
+  /** @name PolkadotCorePrimitivesInboundHrmpMessage (168) */
   interface PolkadotCorePrimitivesInboundHrmpMessage extends Struct {
     readonly sentAt: u32;
     readonly data: Bytes;
   }
 
-  /** @name CumulusPalletParachainSystemError (169) */
+  /** @name CumulusPalletParachainSystemError (171) */
   interface CumulusPalletParachainSystemError extends Enum {
     readonly isOverlappingUpgrades: boolean;
     readonly isProhibitedByPolkadot: boolean;
@@ -1701,14 +1753,142 @@
     readonly type: 'OverlappingUpgrades' | 'ProhibitedByPolkadot' | 'TooBig' | 'ValidationDataNotAvailable' | 'HostConfigurationNotAvailable' | 'NotScheduled' | 'NothingAuthorized' | 'Unauthorized';
   }
 
-  /** @name PalletBalancesBalanceLock (171) */
+  /** @name PalletAuthorshipUncleEntryItem (173) */
+  interface PalletAuthorshipUncleEntryItem extends Enum {
+    readonly isInclusionHeight: boolean;
+    readonly asInclusionHeight: u32;
+    readonly isUncle: boolean;
+    readonly asUncle: ITuple<[H256, Option<AccountId32>]>;
+    readonly type: 'InclusionHeight' | 'Uncle';
+  }
+
+  /** @name PalletAuthorshipCall (175) */
+  interface PalletAuthorshipCall extends Enum {
+    readonly isSetUncles: boolean;
+    readonly asSetUncles: {
+      readonly newUncles: Vec<SpRuntimeHeader>;
+    } & Struct;
+    readonly type: 'SetUncles';
+  }
+
+  /** @name SpRuntimeHeader (177) */
+  interface SpRuntimeHeader extends Struct {
+    readonly parentHash: H256;
+    readonly number: Compact<u32>;
+    readonly stateRoot: H256;
+    readonly extrinsicsRoot: H256;
+    readonly digest: SpRuntimeDigest;
+  }
+
+  /** @name SpRuntimeBlakeTwo256 (178) */
+  type SpRuntimeBlakeTwo256 = Null;
+
+  /** @name PalletAuthorshipError (179) */
+  interface PalletAuthorshipError extends Enum {
+    readonly isInvalidUncleParent: boolean;
+    readonly isUnclesAlreadySet: boolean;
+    readonly isTooManyUncles: boolean;
+    readonly isGenesisUncle: boolean;
+    readonly isTooHighUncle: boolean;
+    readonly isUncleAlreadyIncluded: boolean;
+    readonly isOldUncle: boolean;
+    readonly type: 'InvalidUncleParent' | 'UnclesAlreadySet' | 'TooManyUncles' | 'GenesisUncle' | 'TooHighUncle' | 'UncleAlreadyIncluded' | 'OldUncle';
+  }
+
+  /** @name PalletCollatorSelectionCall (182) */
+  interface PalletCollatorSelectionCall extends Enum {
+    readonly isAddInvulnerable: boolean;
+    readonly asAddInvulnerable: {
+      readonly new_: AccountId32;
+    } & Struct;
+    readonly isRemoveInvulnerable: boolean;
+    readonly asRemoveInvulnerable: {
+      readonly who: AccountId32;
+    } & Struct;
+    readonly isSetDesiredCollators: boolean;
+    readonly asSetDesiredCollators: {
+      readonly max: u32;
+    } & Struct;
+    readonly isSetLicenseBond: boolean;
+    readonly asSetLicenseBond: {
+      readonly bond: u128;
+    } & Struct;
+    readonly isSetKickThreshold: boolean;
+    readonly asSetKickThreshold: {
+      readonly kickThreshold: u32;
+    } & Struct;
+    readonly isGetLicense: boolean;
+    readonly isOnboard: boolean;
+    readonly isOffboard: boolean;
+    readonly isReleaseLicense: boolean;
+    readonly isForceRevokeLicense: boolean;
+    readonly asForceRevokeLicense: {
+      readonly who: AccountId32;
+    } & Struct;
+    readonly type: 'AddInvulnerable' | 'RemoveInvulnerable' | 'SetDesiredCollators' | 'SetLicenseBond' | 'SetKickThreshold' | 'GetLicense' | 'Onboard' | 'Offboard' | 'ReleaseLicense' | 'ForceRevokeLicense';
+  }
+
+  /** @name PalletCollatorSelectionError (183) */
+  interface PalletCollatorSelectionError extends Enum {
+    readonly isTooManyCandidates: boolean;
+    readonly isUnknown: boolean;
+    readonly isPermission: boolean;
+    readonly isAlreadyHoldingLicense: boolean;
+    readonly isNoLicense: boolean;
+    readonly isAlreadyCandidate: boolean;
+    readonly isNotCandidate: boolean;
+    readonly isTooManyInvulnerables: boolean;
+    readonly isTooFewInvulnerables: boolean;
+    readonly isAlreadyInvulnerable: boolean;
+    readonly isNotInvulnerable: boolean;
+    readonly isNoAssociatedValidatorId: boolean;
+    readonly isValidatorNotRegistered: boolean;
+    readonly type: 'TooManyCandidates' | 'Unknown' | 'Permission' | 'AlreadyHoldingLicense' | 'NoLicense' | 'AlreadyCandidate' | 'NotCandidate' | 'TooManyInvulnerables' | 'TooFewInvulnerables' | 'AlreadyInvulnerable' | 'NotInvulnerable' | 'NoAssociatedValidatorId' | 'ValidatorNotRegistered';
+  }
+
+  /** @name OpalRuntimeRuntimeCommonSessionKeys (186) */
+  interface OpalRuntimeRuntimeCommonSessionKeys extends Struct {
+    readonly aura: SpConsensusAuraSr25519AppSr25519Public;
+  }
+
+  /** @name SpConsensusAuraSr25519AppSr25519Public (187) */
+  interface SpConsensusAuraSr25519AppSr25519Public extends SpCoreSr25519Public {}
+
+  /** @name SpCoreSr25519Public (188) */
+  interface SpCoreSr25519Public extends U8aFixed {}
+
+  /** @name SpCoreCryptoKeyTypeId (191) */
+  interface SpCoreCryptoKeyTypeId extends U8aFixed {}
+
+  /** @name PalletSessionCall (192) */
+  interface PalletSessionCall extends Enum {
+    readonly isSetKeys: boolean;
+    readonly asSetKeys: {
+      readonly keys_: OpalRuntimeRuntimeCommonSessionKeys;
+      readonly proof: Bytes;
+    } & Struct;
+    readonly isPurgeKeys: boolean;
+    readonly type: 'SetKeys' | 'PurgeKeys';
+  }
+
+  /** @name PalletSessionError (193) */
+  interface PalletSessionError extends Enum {
+    readonly isInvalidProof: boolean;
+    readonly isNoAssociatedValidatorId: boolean;
+    readonly isDuplicatedKey: boolean;
+    readonly isNoKeys: boolean;
+    readonly isNoAccount: boolean;
+    readonly type: 'InvalidProof' | 'NoAssociatedValidatorId' | 'DuplicatedKey' | 'NoKeys' | 'NoAccount';
+  }
+
+  /** @name PalletBalancesBalanceLock (195) */
   interface PalletBalancesBalanceLock extends Struct {
     readonly id: U8aFixed;
     readonly amount: u128;
     readonly reasons: PalletBalancesReasons;
   }
 
-  /** @name PalletBalancesReasons (172) */
+  /** @name PalletBalancesReasons (196) */
   interface PalletBalancesReasons extends Enum {
     readonly isFee: boolean;
     readonly isMisc: boolean;
@@ -1716,20 +1896,20 @@
     readonly type: 'Fee' | 'Misc' | 'All';
   }
 
-  /** @name PalletBalancesReserveData (175) */
+  /** @name PalletBalancesReserveData (199) */
   interface PalletBalancesReserveData extends Struct {
     readonly id: U8aFixed;
     readonly amount: u128;
   }
 
-  /** @name PalletBalancesReleases (177) */
+  /** @name PalletBalancesReleases (201) */
   interface PalletBalancesReleases extends Enum {
     readonly isV100: boolean;
     readonly isV200: boolean;
     readonly type: 'V100' | 'V200';
   }
 
-  /** @name PalletBalancesCall (178) */
+  /** @name PalletBalancesCall (202) */
   interface PalletBalancesCall extends Enum {
     readonly isTransfer: boolean;
     readonly asTransfer: {
@@ -1766,7 +1946,7 @@
     readonly type: 'Transfer' | 'SetBalance' | 'ForceTransfer' | 'TransferKeepAlive' | 'TransferAll' | 'ForceUnreserve';
   }
 
-  /** @name PalletBalancesError (181) */
+  /** @name PalletBalancesError (205) */
   interface PalletBalancesError extends Enum {
     readonly isVestingBalance: boolean;
     readonly isLiquidityRestrictions: boolean;
@@ -1779,7 +1959,7 @@
     readonly type: 'VestingBalance' | 'LiquidityRestrictions' | 'InsufficientBalance' | 'ExistentialDeposit' | 'KeepAlive' | 'ExistingVestingSchedule' | 'DeadAccount' | 'TooManyReserves';
   }
 
-  /** @name PalletTimestampCall (183) */
+  /** @name PalletTimestampCall (207) */
   interface PalletTimestampCall extends Enum {
     readonly isSet: boolean;
     readonly asSet: {
@@ -1788,14 +1968,14 @@
     readonly type: 'Set';
   }
 
-  /** @name PalletTransactionPaymentReleases (185) */
+  /** @name PalletTransactionPaymentReleases (209) */
   interface PalletTransactionPaymentReleases extends Enum {
     readonly isV1Ancient: boolean;
     readonly isV2: boolean;
     readonly type: 'V1Ancient' | 'V2';
   }
 
-  /** @name PalletTreasuryProposal (186) */
+  /** @name PalletTreasuryProposal (210) */
   interface PalletTreasuryProposal extends Struct {
     readonly proposer: AccountId32;
     readonly value: u128;
@@ -1803,7 +1983,7 @@
     readonly bond: u128;
   }
 
-  /** @name PalletTreasuryCall (189) */
+  /** @name PalletTreasuryCall (212) */
   interface PalletTreasuryCall extends Enum {
     readonly isProposeSpend: boolean;
     readonly asProposeSpend: {
@@ -1830,10 +2010,10 @@
     readonly type: 'ProposeSpend' | 'RejectProposal' | 'ApproveProposal' | 'Spend' | 'RemoveApproval';
   }
 
-  /** @name FrameSupportPalletId (192) */
+  /** @name FrameSupportPalletId (215) */
   interface FrameSupportPalletId extends U8aFixed {}
 
-  /** @name PalletTreasuryError (193) */
+  /** @name PalletTreasuryError (216) */
   interface PalletTreasuryError extends Enum {
     readonly isInsufficientProposersBalance: boolean;
     readonly isInvalidIndex: boolean;
@@ -1843,7 +2023,7 @@
     readonly type: 'InsufficientProposersBalance' | 'InvalidIndex' | 'TooManyApprovals' | 'InsufficientPermission' | 'ProposalNotApproved';
   }
 
-  /** @name PalletSudoCall (194) */
+  /** @name PalletSudoCall (217) */
   interface PalletSudoCall extends Enum {
     readonly isSudo: boolean;
     readonly asSudo: {
@@ -1866,7 +2046,7 @@
     readonly type: 'Sudo' | 'SudoUncheckedWeight' | 'SetKey' | 'SudoAs';
   }
 
-  /** @name OrmlVestingModuleCall (196) */
+  /** @name OrmlVestingModuleCall (219) */
   interface OrmlVestingModuleCall extends Enum {
     readonly isClaim: boolean;
     readonly isVestedTransfer: boolean;
@@ -1886,7 +2066,7 @@
     readonly type: 'Claim' | 'VestedTransfer' | 'UpdateVestingSchedules' | 'ClaimFor';
   }
 
-  /** @name OrmlXtokensModuleCall (198) */
+  /** @name OrmlXtokensModuleCall (221) */
   interface OrmlXtokensModuleCall extends Enum {
     readonly isTransfer: boolean;
     readonly asTransfer: {
@@ -1933,7 +2113,7 @@
     readonly type: 'Transfer' | 'TransferMultiasset' | 'TransferWithFee' | 'TransferMultiassetWithFee' | 'TransferMulticurrencies' | 'TransferMultiassets';
   }
 
-  /** @name XcmVersionedMultiAsset (199) */
+  /** @name XcmVersionedMultiAsset (222) */
   interface XcmVersionedMultiAsset extends Enum {
     readonly isV0: boolean;
     readonly asV0: XcmV0MultiAsset;
@@ -1942,7 +2122,7 @@
     readonly type: 'V0' | 'V1';
   }
 
-  /** @name OrmlTokensModuleCall (202) */
+  /** @name OrmlTokensModuleCall (225) */
   interface OrmlTokensModuleCall extends Enum {
     readonly isTransfer: boolean;
     readonly asTransfer: {
@@ -1979,7 +2159,7 @@
     readonly type: 'Transfer' | 'TransferAll' | 'TransferKeepAlive' | 'ForceTransfer' | 'SetBalance';
   }
 
-  /** @name CumulusPalletXcmpQueueCall (203) */
+  /** @name CumulusPalletXcmpQueueCall (226) */
   interface CumulusPalletXcmpQueueCall extends Enum {
     readonly isServiceOverweight: boolean;
     readonly asServiceOverweight: {
@@ -2015,7 +2195,7 @@
     readonly type: 'ServiceOverweight' | 'SuspendXcmExecution' | 'ResumeXcmExecution' | 'UpdateSuspendThreshold' | 'UpdateDropThreshold' | 'UpdateResumeThreshold' | 'UpdateThresholdWeight' | 'UpdateWeightRestrictDecay' | 'UpdateXcmpMaxIndividualWeight';
   }
 
-  /** @name PalletXcmCall (204) */
+  /** @name PalletXcmCall (227) */
   interface PalletXcmCall extends Enum {
     readonly isSend: boolean;
     readonly asSend: {
@@ -2077,7 +2257,7 @@
     readonly type: 'Send' | 'TeleportAssets' | 'ReserveTransferAssets' | 'Execute' | 'ForceXcmVersion' | 'ForceDefaultXcmVersion' | 'ForceSubscribeVersionNotify' | 'ForceUnsubscribeVersionNotify' | 'LimitedReserveTransferAssets' | 'LimitedTeleportAssets';
   }
 
-  /** @name XcmVersionedXcm (205) */
+  /** @name XcmVersionedXcm (228) */
   interface XcmVersionedXcm extends Enum {
     readonly isV0: boolean;
     readonly asV0: XcmV0Xcm;
@@ -2088,7 +2268,7 @@
     readonly type: 'V0' | 'V1' | 'V2';
   }
 
-  /** @name XcmV0Xcm (206) */
+  /** @name XcmV0Xcm (229) */
   interface XcmV0Xcm extends Enum {
     readonly isWithdrawAsset: boolean;
     readonly asWithdrawAsset: {
@@ -2151,7 +2331,7 @@
     readonly type: 'WithdrawAsset' | 'ReserveAssetDeposit' | 'TeleportAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'RelayedFrom';
   }
 
-  /** @name XcmV0Order (208) */
+  /** @name XcmV0Order (231) */
   interface XcmV0Order extends Enum {
     readonly isNull: boolean;
     readonly isDepositAsset: boolean;
@@ -2199,14 +2379,14 @@
     readonly type: 'Null' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution';
   }
 
-  /** @name XcmV0Response (210) */
+  /** @name XcmV0Response (233) */
   interface XcmV0Response extends Enum {
     readonly isAssets: boolean;
     readonly asAssets: Vec<XcmV0MultiAsset>;
     readonly type: 'Assets';
   }
 
-  /** @name XcmV1Xcm (211) */
+  /** @name XcmV1Xcm (234) */
   interface XcmV1Xcm extends Enum {
     readonly isWithdrawAsset: boolean;
     readonly asWithdrawAsset: {
@@ -2275,7 +2455,7 @@
     readonly type: 'WithdrawAsset' | 'ReserveAssetDeposited' | 'ReceiveTeleportedAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'RelayedFrom' | 'SubscribeVersion' | 'UnsubscribeVersion';
   }
 
-  /** @name XcmV1Order (213) */
+  /** @name XcmV1Order (236) */
   interface XcmV1Order extends Enum {
     readonly isNoop: boolean;
     readonly isDepositAsset: boolean;
@@ -2325,7 +2505,7 @@
     readonly type: 'Noop' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution';
   }
 
-  /** @name XcmV1Response (215) */
+  /** @name XcmV1Response (238) */
   interface XcmV1Response extends Enum {
     readonly isAssets: boolean;
     readonly asAssets: XcmV1MultiassetMultiAssets;
@@ -2334,10 +2514,10 @@
     readonly type: 'Assets' | 'Version';
   }
 
-  /** @name CumulusPalletXcmCall (229) */
+  /** @name CumulusPalletXcmCall (252) */
   type CumulusPalletXcmCall = Null;
 
-  /** @name CumulusPalletDmpQueueCall (230) */
+  /** @name CumulusPalletDmpQueueCall (253) */
   interface CumulusPalletDmpQueueCall extends Enum {
     readonly isServiceOverweight: boolean;
     readonly asServiceOverweight: {
@@ -2347,7 +2527,7 @@
     readonly type: 'ServiceOverweight';
   }
 
-  /** @name PalletInflationCall (231) */
+  /** @name PalletInflationCall (254) */
   interface PalletInflationCall extends Enum {
     readonly isStartInflation: boolean;
     readonly asStartInflation: {
@@ -2356,7 +2536,7 @@
     readonly type: 'StartInflation';
   }
 
-  /** @name PalletUniqueCall (232) */
+  /** @name PalletUniqueCall (255) */
   interface PalletUniqueCall extends Enum {
     readonly isCreateCollection: boolean;
     readonly asCreateCollection: {
@@ -2517,15 +2697,19 @@
       readonly operator: PalletEvmAccountBasicCrossAccountIdRepr;
       readonly approve: bool;
     } & Struct;
-    readonly isRepairItem: boolean;
-    readonly asRepairItem: {
+    readonly isForceRepairCollection: boolean;
+    readonly asForceRepairCollection: {
+      readonly collectionId: u32;
+    } & Struct;
+    readonly isForceRepairItem: boolean;
+    readonly asForceRepairItem: {
       readonly collectionId: u32;
       readonly itemId: u32;
     } & Struct;
-    readonly type: 'CreateCollection' | 'CreateCollectionEx' | 'DestroyCollection' | 'AddToAllowList' | 'RemoveFromAllowList' | 'ChangeCollectionOwner' | 'AddCollectionAdmin' | 'RemoveCollectionAdmin' | 'SetCollectionSponsor' | 'ConfirmSponsorship' | 'RemoveCollectionSponsor' | 'CreateItem' | 'CreateMultipleItems' | 'SetCollectionProperties' | 'DeleteCollectionProperties' | 'SetTokenProperties' | 'DeleteTokenProperties' | 'SetTokenPropertyPermissions' | 'CreateMultipleItemsEx' | 'SetTransfersEnabledFlag' | 'BurnItem' | 'BurnFrom' | 'Transfer' | 'Approve' | 'TransferFrom' | 'SetCollectionLimits' | 'SetCollectionPermissions' | 'Repartition' | 'SetAllowanceForAll' | 'RepairItem';
+    readonly type: 'CreateCollection' | 'CreateCollectionEx' | 'DestroyCollection' | 'AddToAllowList' | 'RemoveFromAllowList' | 'ChangeCollectionOwner' | 'AddCollectionAdmin' | 'RemoveCollectionAdmin' | 'SetCollectionSponsor' | 'ConfirmSponsorship' | 'RemoveCollectionSponsor' | 'CreateItem' | 'CreateMultipleItems' | 'SetCollectionProperties' | 'DeleteCollectionProperties' | 'SetTokenProperties' | 'DeleteTokenProperties' | 'SetTokenPropertyPermissions' | 'CreateMultipleItemsEx' | 'SetTransfersEnabledFlag' | 'BurnItem' | 'BurnFrom' | 'Transfer' | 'Approve' | 'TransferFrom' | 'SetCollectionLimits' | 'SetCollectionPermissions' | 'Repartition' | 'SetAllowanceForAll' | 'ForceRepairCollection' | 'ForceRepairItem';
   }
 
-  /** @name UpDataStructsCollectionMode (237) */
+  /** @name UpDataStructsCollectionMode (260) */
   interface UpDataStructsCollectionMode extends Enum {
     readonly isNft: boolean;
     readonly isFungible: boolean;
@@ -2534,7 +2718,7 @@
     readonly type: 'Nft' | 'Fungible' | 'ReFungible';
   }
 
-  /** @name UpDataStructsCreateCollectionData (238) */
+  /** @name UpDataStructsCreateCollectionData (261) */
   interface UpDataStructsCreateCollectionData extends Struct {
     readonly mode: UpDataStructsCollectionMode;
     readonly access: Option<UpDataStructsAccessMode>;
@@ -2548,14 +2732,14 @@
     readonly properties: Vec<UpDataStructsProperty>;
   }
 
-  /** @name UpDataStructsAccessMode (240) */
+  /** @name UpDataStructsAccessMode (263) */
   interface UpDataStructsAccessMode extends Enum {
     readonly isNormal: boolean;
     readonly isAllowList: boolean;
     readonly type: 'Normal' | 'AllowList';
   }
 
-  /** @name UpDataStructsCollectionLimits (242) */
+  /** @name UpDataStructsCollectionLimits (265) */
   interface UpDataStructsCollectionLimits extends Struct {
     readonly accountTokenOwnershipLimit: Option<u32>;
     readonly sponsoredDataSize: Option<u32>;
@@ -2568,7 +2752,7 @@
     readonly transfersEnabled: Option<bool>;
   }
 
-  /** @name UpDataStructsSponsoringRateLimit (244) */
+  /** @name UpDataStructsSponsoringRateLimit (267) */
   interface UpDataStructsSponsoringRateLimit extends Enum {
     readonly isSponsoringDisabled: boolean;
     readonly isBlocks: boolean;
@@ -2576,43 +2760,43 @@
     readonly type: 'SponsoringDisabled' | 'Blocks';
   }
 
-  /** @name UpDataStructsCollectionPermissions (247) */
+  /** @name UpDataStructsCollectionPermissions (270) */
   interface UpDataStructsCollectionPermissions extends Struct {
     readonly access: Option<UpDataStructsAccessMode>;
     readonly mintMode: Option<bool>;
     readonly nesting: Option<UpDataStructsNestingPermissions>;
   }
 
-  /** @name UpDataStructsNestingPermissions (249) */
+  /** @name UpDataStructsNestingPermissions (272) */
   interface UpDataStructsNestingPermissions extends Struct {
     readonly tokenOwner: bool;
     readonly collectionAdmin: bool;
     readonly restricted: Option<UpDataStructsOwnerRestrictedSet>;
   }
 
-  /** @name UpDataStructsOwnerRestrictedSet (251) */
+  /** @name UpDataStructsOwnerRestrictedSet (274) */
   interface UpDataStructsOwnerRestrictedSet extends BTreeSet<u32> {}
 
-  /** @name UpDataStructsPropertyKeyPermission (256) */
+  /** @name UpDataStructsPropertyKeyPermission (279) */
   interface UpDataStructsPropertyKeyPermission extends Struct {
     readonly key: Bytes;
     readonly permission: UpDataStructsPropertyPermission;
   }
 
-  /** @name UpDataStructsPropertyPermission (257) */
+  /** @name UpDataStructsPropertyPermission (280) */
   interface UpDataStructsPropertyPermission extends Struct {
     readonly mutable: bool;
     readonly collectionAdmin: bool;
     readonly tokenOwner: bool;
   }
 
-  /** @name UpDataStructsProperty (260) */
+  /** @name UpDataStructsProperty (283) */
   interface UpDataStructsProperty extends Struct {
     readonly key: Bytes;
     readonly value: Bytes;
   }
 
-  /** @name UpDataStructsCreateItemData (263) */
+  /** @name UpDataStructsCreateItemData (286) */
   interface UpDataStructsCreateItemData extends Enum {
     readonly isNft: boolean;
     readonly asNft: UpDataStructsCreateNftData;
@@ -2623,23 +2807,23 @@
     readonly type: 'Nft' | 'Fungible' | 'ReFungible';
   }
 
-  /** @name UpDataStructsCreateNftData (264) */
+  /** @name UpDataStructsCreateNftData (287) */
   interface UpDataStructsCreateNftData extends Struct {
     readonly properties: Vec<UpDataStructsProperty>;
   }
 
-  /** @name UpDataStructsCreateFungibleData (265) */
+  /** @name UpDataStructsCreateFungibleData (288) */
   interface UpDataStructsCreateFungibleData extends Struct {
     readonly value: u128;
   }
 
-  /** @name UpDataStructsCreateReFungibleData (266) */
+  /** @name UpDataStructsCreateReFungibleData (289) */
   interface UpDataStructsCreateReFungibleData extends Struct {
     readonly pieces: u128;
     readonly properties: Vec<UpDataStructsProperty>;
   }
 
-  /** @name UpDataStructsCreateItemExData (269) */
+  /** @name UpDataStructsCreateItemExData (292) */
   interface UpDataStructsCreateItemExData extends Enum {
     readonly isNft: boolean;
     readonly asNft: Vec<UpDataStructsCreateNftExData>;
@@ -2652,26 +2836,26 @@
     readonly type: 'Nft' | 'Fungible' | 'RefungibleMultipleItems' | 'RefungibleMultipleOwners';
   }
 
-  /** @name UpDataStructsCreateNftExData (271) */
+  /** @name UpDataStructsCreateNftExData (294) */
   interface UpDataStructsCreateNftExData extends Struct {
     readonly properties: Vec<UpDataStructsProperty>;
     readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;
   }
 
-  /** @name UpDataStructsCreateRefungibleExSingleOwner (278) */
+  /** @name UpDataStructsCreateRefungibleExSingleOwner (301) */
   interface UpDataStructsCreateRefungibleExSingleOwner extends Struct {
     readonly user: PalletEvmAccountBasicCrossAccountIdRepr;
     readonly pieces: u128;
     readonly properties: Vec<UpDataStructsProperty>;
   }
 
-  /** @name UpDataStructsCreateRefungibleExMultipleOwners (280) */
+  /** @name UpDataStructsCreateRefungibleExMultipleOwners (303) */
   interface UpDataStructsCreateRefungibleExMultipleOwners extends Struct {
     readonly users: BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>;
     readonly properties: Vec<UpDataStructsProperty>;
   }
 
-  /** @name PalletConfigurationCall (281) */
+  /** @name PalletConfigurationCall (304) */
   interface PalletConfigurationCall extends Enum {
     readonly isSetWeightToFeeCoefficientOverride: boolean;
     readonly asSetWeightToFeeCoefficientOverride: {
@@ -2692,7 +2876,7 @@
     readonly type: 'SetWeightToFeeCoefficientOverride' | 'SetMinGasPriceOverride' | 'SetXcmAllowedLocations' | 'SetAppPromotionConfigurationOverride';
   }
 
-  /** @name PalletConfigurationAppPromotionConfiguration (286) */
+  /** @name PalletConfigurationAppPromotionConfiguration (309) */
   interface PalletConfigurationAppPromotionConfiguration extends Struct {
     readonly recalculationInterval: Option<u32>;
     readonly pendingInterval: Option<u32>;
@@ -2700,13 +2884,13 @@
     readonly maxStakersPerCalculation: Option<u8>;
   }
 
-  /** @name PalletTemplateTransactionPaymentCall (289) */
+  /** @name PalletTemplateTransactionPaymentCall (312) */
   type PalletTemplateTransactionPaymentCall = Null;
 
-  /** @name PalletStructureCall (290) */
+  /** @name PalletStructureCall (313) */
   type PalletStructureCall = Null;
 
-  /** @name PalletRmrkCoreCall (291) */
+  /** @name PalletRmrkCoreCall (314) */
   interface PalletRmrkCoreCall extends Enum {
     readonly isCreateCollection: boolean;
     readonly asCreateCollection: {
@@ -2812,7 +2996,7 @@
     readonly type: 'CreateCollection' | 'DestroyCollection' | 'ChangeCollectionIssuer' | 'LockCollection' | 'MintNft' | 'BurnNft' | 'Send' | 'AcceptNft' | 'RejectNft' | 'AcceptResource' | 'AcceptResourceRemoval' | 'SetProperty' | 'SetPriority' | 'AddBasicResource' | 'AddComposableResource' | 'AddSlotResource' | 'RemoveResource';
   }
 
-  /** @name RmrkTraitsResourceResourceTypes (297) */
+  /** @name RmrkTraitsResourceResourceTypes (320) */
   interface RmrkTraitsResourceResourceTypes extends Enum {
     readonly isBasic: boolean;
     readonly asBasic: RmrkTraitsResourceBasicResource;
@@ -2823,7 +3007,7 @@
     readonly type: 'Basic' | 'Composable' | 'Slot';
   }
 
-  /** @name RmrkTraitsResourceBasicResource (299) */
+  /** @name RmrkTraitsResourceBasicResource (322) */
   interface RmrkTraitsResourceBasicResource extends Struct {
     readonly src: Option<Bytes>;
     readonly metadata: Option<Bytes>;
@@ -2831,7 +3015,7 @@
     readonly thumb: Option<Bytes>;
   }
 
-  /** @name RmrkTraitsResourceComposableResource (301) */
+  /** @name RmrkTraitsResourceComposableResource (324) */
   interface RmrkTraitsResourceComposableResource extends Struct {
     readonly parts: Vec<u32>;
     readonly base: u32;
@@ -2841,7 +3025,7 @@
     readonly thumb: Option<Bytes>;
   }
 
-  /** @name RmrkTraitsResourceSlotResource (302) */
+  /** @name RmrkTraitsResourceSlotResource (325) */
   interface RmrkTraitsResourceSlotResource extends Struct {
     readonly base: u32;
     readonly src: Option<Bytes>;
@@ -2851,7 +3035,7 @@
     readonly thumb: Option<Bytes>;
   }
 
-  /** @name PalletRmrkEquipCall (305) */
+  /** @name PalletRmrkEquipCall (328) */
   interface PalletRmrkEquipCall extends Enum {
     readonly isCreateBase: boolean;
     readonly asCreateBase: {
@@ -2873,7 +3057,7 @@
     readonly type: 'CreateBase' | 'ThemeAdd' | 'Equippable';
   }
 
-  /** @name RmrkTraitsPartPartType (308) */
+  /** @name RmrkTraitsPartPartType (331) */
   interface RmrkTraitsPartPartType extends Enum {
     readonly isFixedPart: boolean;
     readonly asFixedPart: RmrkTraitsPartFixedPart;
@@ -2882,14 +3066,14 @@
     readonly type: 'FixedPart' | 'SlotPart';
   }
 
-  /** @name RmrkTraitsPartFixedPart (310) */
+  /** @name RmrkTraitsPartFixedPart (333) */
   interface RmrkTraitsPartFixedPart extends Struct {
     readonly id: u32;
     readonly z: u32;
     readonly src: Bytes;
   }
 
-  /** @name RmrkTraitsPartSlotPart (311) */
+  /** @name RmrkTraitsPartSlotPart (334) */
   interface RmrkTraitsPartSlotPart extends Struct {
     readonly id: u32;
     readonly equippable: RmrkTraitsPartEquippableList;
@@ -2897,7 +3081,7 @@
     readonly z: u32;
   }
 
-  /** @name RmrkTraitsPartEquippableList (312) */
+  /** @name RmrkTraitsPartEquippableList (335) */
   interface RmrkTraitsPartEquippableList extends Enum {
     readonly isAll: boolean;
     readonly isEmpty: boolean;
@@ -2906,20 +3090,20 @@
     readonly type: 'All' | 'Empty' | 'Custom';
   }
 
-  /** @name RmrkTraitsTheme (314) */
+  /** @name RmrkTraitsTheme (337) */
   interface RmrkTraitsTheme extends Struct {
     readonly name: Bytes;
     readonly properties: Vec<RmrkTraitsThemeThemeProperty>;
     readonly inherit: bool;
   }
 
-  /** @name RmrkTraitsThemeThemeProperty (316) */
+  /** @name RmrkTraitsThemeThemeProperty (339) */
   interface RmrkTraitsThemeThemeProperty extends Struct {
     readonly key: Bytes;
     readonly value: Bytes;
   }
 
-  /** @name PalletAppPromotionCall (318) */
+  /** @name PalletAppPromotionCall (341) */
   interface PalletAppPromotionCall extends Enum {
     readonly isSetAdminAddress: boolean;
     readonly asSetAdminAddress: {
@@ -2953,7 +3137,7 @@
     readonly type: 'SetAdminAddress' | 'Stake' | 'Unstake' | 'SponsorCollection' | 'StopSponsoringCollection' | 'SponsorContract' | 'StopSponsoringContract' | 'PayoutStakers';
   }
 
-  /** @name PalletForeignAssetsModuleCall (319) */
+  /** @name PalletForeignAssetsModuleCall (342) */
   interface PalletForeignAssetsModuleCall extends Enum {
     readonly isRegisterForeignAsset: boolean;
     readonly asRegisterForeignAsset: {
@@ -2970,7 +3154,7 @@
     readonly type: 'RegisterForeignAsset' | 'UpdateForeignAsset';
   }
 
-  /** @name PalletEvmCall (320) */
+  /** @name PalletEvmCall (343) */
   interface PalletEvmCall extends Enum {
     readonly isWithdraw: boolean;
     readonly asWithdraw: {
@@ -3015,7 +3199,7 @@
     readonly type: 'Withdraw' | 'Call' | 'Create' | 'Create2';
   }
 
-  /** @name PalletEthereumCall (326) */
+  /** @name PalletEthereumCall (349) */
   interface PalletEthereumCall extends Enum {
     readonly isTransact: boolean;
     readonly asTransact: {
@@ -3024,7 +3208,7 @@
     readonly type: 'Transact';
   }
 
-  /** @name EthereumTransactionTransactionV2 (327) */
+  /** @name EthereumTransactionTransactionV2 (350) */
   interface EthereumTransactionTransactionV2 extends Enum {
     readonly isLegacy: boolean;
     readonly asLegacy: EthereumTransactionLegacyTransaction;
@@ -3035,7 +3219,7 @@
     readonly type: 'Legacy' | 'Eip2930' | 'Eip1559';
   }
 
-  /** @name EthereumTransactionLegacyTransaction (328) */
+  /** @name EthereumTransactionLegacyTransaction (351) */
   interface EthereumTransactionLegacyTransaction extends Struct {
     readonly nonce: U256;
     readonly gasPrice: U256;
@@ -3046,7 +3230,7 @@
     readonly signature: EthereumTransactionTransactionSignature;
   }
 
-  /** @name EthereumTransactionTransactionAction (329) */
+  /** @name EthereumTransactionTransactionAction (352) */
   interface EthereumTransactionTransactionAction extends Enum {
     readonly isCall: boolean;
     readonly asCall: H160;
@@ -3054,14 +3238,14 @@
     readonly type: 'Call' | 'Create';
   }
 
-  /** @name EthereumTransactionTransactionSignature (330) */
+  /** @name EthereumTransactionTransactionSignature (353) */
   interface EthereumTransactionTransactionSignature extends Struct {
     readonly v: u64;
     readonly r: H256;
     readonly s: H256;
   }
 
-  /** @name EthereumTransactionEip2930Transaction (332) */
+  /** @name EthereumTransactionEip2930Transaction (355) */
   interface EthereumTransactionEip2930Transaction extends Struct {
     readonly chainId: u64;
     readonly nonce: U256;
@@ -3076,13 +3260,13 @@
     readonly s: H256;
   }
 
-  /** @name EthereumTransactionAccessListItem (334) */
+  /** @name EthereumTransactionAccessListItem (357) */
   interface EthereumTransactionAccessListItem extends Struct {
     readonly address: H160;
     readonly storageKeys: Vec<H256>;
   }
 
-  /** @name EthereumTransactionEip1559Transaction (335) */
+  /** @name EthereumTransactionEip1559Transaction (358) */
   interface EthereumTransactionEip1559Transaction extends Struct {
     readonly chainId: u64;
     readonly nonce: U256;
@@ -3098,7 +3282,7 @@
     readonly s: H256;
   }
 
-  /** @name PalletEvmMigrationCall (336) */
+  /** @name PalletEvmMigrationCall (359) */
   interface PalletEvmMigrationCall extends Enum {
     readonly isBegin: boolean;
     readonly asBegin: {
@@ -3125,14 +3309,14 @@
     readonly type: 'Begin' | 'SetData' | 'Finish' | 'InsertEthLogs' | 'InsertEvents';
   }
 
-  /** @name PalletMaintenanceCall (340) */
+  /** @name PalletMaintenanceCall (363) */
   interface PalletMaintenanceCall extends Enum {
     readonly isEnable: boolean;
     readonly isDisable: boolean;
     readonly type: 'Enable' | 'Disable';
   }
 
-  /** @name PalletTestUtilsCall (341) */
+  /** @name PalletTestUtilsCall (364) */
   interface PalletTestUtilsCall extends Enum {
     readonly isEnable: boolean;
     readonly isSetTestValue: boolean;
@@ -3152,13 +3336,13 @@
     readonly type: 'Enable' | 'SetTestValue' | 'SetTestValueAndRollback' | 'IncTestValue' | 'JustTakeFee' | 'BatchAll';
   }
 
-  /** @name PalletSudoError (343) */
+  /** @name PalletSudoError (366) */
   interface PalletSudoError extends Enum {
     readonly isRequireSudo: boolean;
     readonly type: 'RequireSudo';
   }
 
-  /** @name OrmlVestingModuleError (345) */
+  /** @name OrmlVestingModuleError (368) */
   interface OrmlVestingModuleError extends Enum {
     readonly isZeroVestingPeriod: boolean;
     readonly isZeroVestingPeriodCount: boolean;
@@ -3169,7 +3353,7 @@
     readonly type: 'ZeroVestingPeriod' | 'ZeroVestingPeriodCount' | 'InsufficientBalanceToLock' | 'TooManyVestingSchedules' | 'AmountLow' | 'MaxVestingSchedulesExceeded';
   }
 
-  /** @name OrmlXtokensModuleError (346) */
+  /** @name OrmlXtokensModuleError (369) */
   interface OrmlXtokensModuleError extends Enum {
     readonly isAssetHasNoReserve: boolean;
     readonly isNotCrossChainTransfer: boolean;
@@ -3193,26 +3377,26 @@
     readonly type: 'AssetHasNoReserve' | 'NotCrossChainTransfer' | 'InvalidDest' | 'NotCrossChainTransferableCurrency' | 'UnweighableMessage' | 'XcmExecutionFailed' | 'CannotReanchor' | 'InvalidAncestry' | 'InvalidAsset' | 'DestinationNotInvertible' | 'BadVersion' | 'DistinctReserveForAssetAndFee' | 'ZeroFee' | 'ZeroAmount' | 'TooManyAssetsBeingSent' | 'AssetIndexNonExistent' | 'FeeNotEnough' | 'NotSupportedMultiLocation' | 'MinXcmFeeNotDefined';
   }
 
-  /** @name OrmlTokensBalanceLock (349) */
+  /** @name OrmlTokensBalanceLock (372) */
   interface OrmlTokensBalanceLock extends Struct {
     readonly id: U8aFixed;
     readonly amount: u128;
   }
 
-  /** @name OrmlTokensAccountData (351) */
+  /** @name OrmlTokensAccountData (374) */
   interface OrmlTokensAccountData extends Struct {
     readonly free: u128;
     readonly reserved: u128;
     readonly frozen: u128;
   }
 
-  /** @name OrmlTokensReserveData (353) */
+  /** @name OrmlTokensReserveData (376) */
   interface OrmlTokensReserveData extends Struct {
     readonly id: Null;
     readonly amount: u128;
   }
 
-  /** @name OrmlTokensModuleError (355) */
+  /** @name OrmlTokensModuleError (378) */
   interface OrmlTokensModuleError extends Enum {
     readonly isBalanceTooLow: boolean;
     readonly isAmountIntoBalanceFailed: boolean;
@@ -3225,21 +3409,21 @@
     readonly type: 'BalanceTooLow' | 'AmountIntoBalanceFailed' | 'LiquidityRestrictions' | 'MaxLocksExceeded' | 'KeepAlive' | 'ExistentialDeposit' | 'DeadAccount' | 'TooManyReserves';
   }
 
-  /** @name CumulusPalletXcmpQueueInboundChannelDetails (357) */
+  /** @name CumulusPalletXcmpQueueInboundChannelDetails (380) */
   interface CumulusPalletXcmpQueueInboundChannelDetails extends Struct {
     readonly sender: u32;
     readonly state: CumulusPalletXcmpQueueInboundState;
     readonly messageMetadata: Vec<ITuple<[u32, PolkadotParachainPrimitivesXcmpMessageFormat]>>;
   }
 
-  /** @name CumulusPalletXcmpQueueInboundState (358) */
+  /** @name CumulusPalletXcmpQueueInboundState (381) */
   interface CumulusPalletXcmpQueueInboundState extends Enum {
     readonly isOk: boolean;
     readonly isSuspended: boolean;
     readonly type: 'Ok' | 'Suspended';
   }
 
-  /** @name PolkadotParachainPrimitivesXcmpMessageFormat (361) */
+  /** @name PolkadotParachainPrimitivesXcmpMessageFormat (384) */
   interface PolkadotParachainPrimitivesXcmpMessageFormat extends Enum {
     readonly isConcatenatedVersionedXcm: boolean;
     readonly isConcatenatedEncodedBlob: boolean;
@@ -3247,7 +3431,7 @@
     readonly type: 'ConcatenatedVersionedXcm' | 'ConcatenatedEncodedBlob' | 'Signals';
   }
 
-  /** @name CumulusPalletXcmpQueueOutboundChannelDetails (364) */
+  /** @name CumulusPalletXcmpQueueOutboundChannelDetails (387) */
   interface CumulusPalletXcmpQueueOutboundChannelDetails extends Struct {
     readonly recipient: u32;
     readonly state: CumulusPalletXcmpQueueOutboundState;
@@ -3256,14 +3440,14 @@
     readonly lastIndex: u16;
   }
 
-  /** @name CumulusPalletXcmpQueueOutboundState (365) */
+  /** @name CumulusPalletXcmpQueueOutboundState (388) */
   interface CumulusPalletXcmpQueueOutboundState extends Enum {
     readonly isOk: boolean;
     readonly isSuspended: boolean;
     readonly type: 'Ok' | 'Suspended';
   }
 
-  /** @name CumulusPalletXcmpQueueQueueConfigData (367) */
+  /** @name CumulusPalletXcmpQueueQueueConfigData (390) */
   interface CumulusPalletXcmpQueueQueueConfigData extends Struct {
     readonly suspendThreshold: u32;
     readonly dropThreshold: u32;
@@ -3273,7 +3457,7 @@
     readonly xcmpMaxIndividualWeight: SpWeightsWeightV2Weight;
   }
 
-  /** @name CumulusPalletXcmpQueueError (369) */
+  /** @name CumulusPalletXcmpQueueError (392) */
   interface CumulusPalletXcmpQueueError extends Enum {
     readonly isFailedToSend: boolean;
     readonly isBadXcmOrigin: boolean;
@@ -3283,7 +3467,7 @@
     readonly type: 'FailedToSend' | 'BadXcmOrigin' | 'BadXcm' | 'BadOverweightIndex' | 'WeightOverLimit';
   }
 
-  /** @name PalletXcmError (370) */
+  /** @name PalletXcmError (393) */
   interface PalletXcmError extends Enum {
     readonly isUnreachable: boolean;
     readonly isSendFailure: boolean;
@@ -3301,29 +3485,29 @@
     readonly type: 'Unreachable' | 'SendFailure' | 'Filtered' | 'UnweighableMessage' | 'DestinationNotInvertible' | 'Empty' | 'CannotReanchor' | 'TooManyAssets' | 'InvalidOrigin' | 'BadVersion' | 'BadLocation' | 'NoSubscription' | 'AlreadySubscribed';
   }
 
-  /** @name CumulusPalletXcmError (371) */
+  /** @name CumulusPalletXcmError (394) */
   type CumulusPalletXcmError = Null;
 
-  /** @name CumulusPalletDmpQueueConfigData (372) */
+  /** @name CumulusPalletDmpQueueConfigData (395) */
   interface CumulusPalletDmpQueueConfigData extends Struct {
     readonly maxIndividual: SpWeightsWeightV2Weight;
   }
 
-  /** @name CumulusPalletDmpQueuePageIndexData (373) */
+  /** @name CumulusPalletDmpQueuePageIndexData (396) */
   interface CumulusPalletDmpQueuePageIndexData extends Struct {
     readonly beginUsed: u32;
     readonly endUsed: u32;
     readonly overweightCount: u64;
   }
 
-  /** @name CumulusPalletDmpQueueError (376) */
+  /** @name CumulusPalletDmpQueueError (399) */
   interface CumulusPalletDmpQueueError extends Enum {
     readonly isUnknown: boolean;
     readonly isOverLimit: boolean;
     readonly type: 'Unknown' | 'OverLimit';
   }
 
-  /** @name PalletUniqueError (380) */
+  /** @name PalletUniqueError (403) */
   interface PalletUniqueError extends Enum {
     readonly isCollectionDecimalPointLimitExceeded: boolean;
     readonly isEmptyArgument: boolean;
@@ -3331,13 +3515,13 @@
     readonly type: 'CollectionDecimalPointLimitExceeded' | 'EmptyArgument' | 'RepartitionCalledOnNonRefungibleCollection';
   }
 
-  /** @name PalletConfigurationError (381) */
+  /** @name PalletConfigurationError (404) */
   interface PalletConfigurationError extends Enum {
     readonly isInconsistentConfiguration: boolean;
     readonly type: 'InconsistentConfiguration';
   }
 
-  /** @name UpDataStructsCollection (382) */
+  /** @name UpDataStructsCollection (405) */
   interface UpDataStructsCollection extends Struct {
     readonly owner: AccountId32;
     readonly mode: UpDataStructsCollectionMode;
@@ -3350,7 +3534,7 @@
     readonly flags: U8aFixed;
   }
 
-  /** @name UpDataStructsSponsorshipStateAccountId32 (383) */
+  /** @name UpDataStructsSponsorshipStateAccountId32 (406) */
   interface UpDataStructsSponsorshipStateAccountId32 extends Enum {
     readonly isDisabled: boolean;
     readonly isUnconfirmed: boolean;
@@ -3360,43 +3544,43 @@
     readonly type: 'Disabled' | 'Unconfirmed' | 'Confirmed';
   }
 
-  /** @name UpDataStructsProperties (385) */
+  /** @name UpDataStructsProperties (408) */
   interface UpDataStructsProperties extends Struct {
     readonly map: UpDataStructsPropertiesMapBoundedVec;
     readonly consumedSpace: u32;
     readonly spaceLimit: u32;
   }
 
-  /** @name UpDataStructsPropertiesMapBoundedVec (386) */
+  /** @name UpDataStructsPropertiesMapBoundedVec (409) */
   interface UpDataStructsPropertiesMapBoundedVec extends BTreeMap<Bytes, Bytes> {}
 
-  /** @name UpDataStructsPropertiesMapPropertyPermission (391) */
+  /** @name UpDataStructsPropertiesMapPropertyPermission (414) */
   interface UpDataStructsPropertiesMapPropertyPermission extends BTreeMap<Bytes, UpDataStructsPropertyPermission> {}
 
-  /** @name UpDataStructsCollectionStats (398) */
+  /** @name UpDataStructsCollectionStats (421) */
   interface UpDataStructsCollectionStats extends Struct {
     readonly created: u32;
     readonly destroyed: u32;
     readonly alive: u32;
   }
 
-  /** @name UpDataStructsTokenChild (399) */
+  /** @name UpDataStructsTokenChild (422) */
   interface UpDataStructsTokenChild extends Struct {
     readonly token: u32;
     readonly collection: u32;
   }
 
-  /** @name PhantomTypeUpDataStructs (400) */
+  /** @name PhantomTypeUpDataStructs (423) */
   interface PhantomTypeUpDataStructs extends Vec<ITuple<[UpDataStructsTokenData, UpDataStructsRpcCollection, RmrkTraitsCollectionCollectionInfo, RmrkTraitsNftNftInfo, RmrkTraitsResourceResourceInfo, RmrkTraitsPropertyPropertyInfo, RmrkTraitsBaseBaseInfo, RmrkTraitsPartPartType, RmrkTraitsTheme, RmrkTraitsNftNftChild]>> {}
 
-  /** @name UpDataStructsTokenData (402) */
+  /** @name UpDataStructsTokenData (425) */
   interface UpDataStructsTokenData extends Struct {
     readonly properties: Vec<UpDataStructsProperty>;
     readonly owner: Option<PalletEvmAccountBasicCrossAccountIdRepr>;
     readonly pieces: u128;
   }
 
-  /** @name UpDataStructsRpcCollection (404) */
+  /** @name UpDataStructsRpcCollection (427) */
   interface UpDataStructsRpcCollection extends Struct {
     readonly owner: AccountId32;
     readonly mode: UpDataStructsCollectionMode;
@@ -3412,13 +3596,13 @@
     readonly flags: UpDataStructsRpcCollectionFlags;
   }
 
-  /** @name UpDataStructsRpcCollectionFlags (405) */
+  /** @name UpDataStructsRpcCollectionFlags (428) */
   interface UpDataStructsRpcCollectionFlags extends Struct {
     readonly foreign: bool;
     readonly erc721metadata: bool;
   }
 
-  /** @name RmrkTraitsCollectionCollectionInfo (406) */
+  /** @name RmrkTraitsCollectionCollectionInfo (429) */
   interface RmrkTraitsCollectionCollectionInfo extends Struct {
     readonly issuer: AccountId32;
     readonly metadata: Bytes;
@@ -3427,7 +3611,7 @@
     readonly nftsCount: u32;
   }
 
-  /** @name RmrkTraitsNftNftInfo (407) */
+  /** @name RmrkTraitsNftNftInfo (430) */
   interface RmrkTraitsNftNftInfo extends Struct {
     readonly owner: RmrkTraitsNftAccountIdOrCollectionNftTuple;
     readonly royalty: Option<RmrkTraitsNftRoyaltyInfo>;
@@ -3436,13 +3620,13 @@
     readonly pending: bool;
   }
 
-  /** @name RmrkTraitsNftRoyaltyInfo (409) */
+  /** @name RmrkTraitsNftRoyaltyInfo (432) */
   interface RmrkTraitsNftRoyaltyInfo extends Struct {
     readonly recipient: AccountId32;
     readonly amount: Permill;
   }
 
-  /** @name RmrkTraitsResourceResourceInfo (410) */
+  /** @name RmrkTraitsResourceResourceInfo (433) */
   interface RmrkTraitsResourceResourceInfo extends Struct {
     readonly id: u32;
     readonly resource: RmrkTraitsResourceResourceTypes;
@@ -3450,26 +3634,26 @@
     readonly pendingRemoval: bool;
   }
 
-  /** @name RmrkTraitsPropertyPropertyInfo (411) */
+  /** @name RmrkTraitsPropertyPropertyInfo (434) */
   interface RmrkTraitsPropertyPropertyInfo extends Struct {
     readonly key: Bytes;
     readonly value: Bytes;
   }
 
-  /** @name RmrkTraitsBaseBaseInfo (412) */
+  /** @name RmrkTraitsBaseBaseInfo (435) */
   interface RmrkTraitsBaseBaseInfo extends Struct {
     readonly issuer: AccountId32;
     readonly baseType: Bytes;
     readonly symbol: Bytes;
   }
 
-  /** @name RmrkTraitsNftNftChild (413) */
+  /** @name RmrkTraitsNftNftChild (436) */
   interface RmrkTraitsNftNftChild extends Struct {
     readonly collectionId: u32;
     readonly nftId: u32;
   }
 
-  /** @name PalletCommonError (415) */
+  /** @name PalletCommonError (438) */
   interface PalletCommonError extends Enum {
     readonly isCollectionNotFound: boolean;
     readonly isMustBeTokenOwner: boolean;
@@ -3510,7 +3694,7 @@
     readonly type: 'CollectionNotFound' | 'MustBeTokenOwner' | 'NoPermission' | 'CantDestroyNotEmptyCollection' | 'PublicMintingNotAllowed' | 'AddressNotInAllowlist' | 'CollectionNameLimitExceeded' | 'CollectionDescriptionLimitExceeded' | 'CollectionTokenPrefixLimitExceeded' | 'TotalCollectionsLimitExceeded' | 'CollectionAdminCountExceeded' | 'CollectionLimitBoundsExceeded' | 'OwnerPermissionsCantBeReverted' | 'TransferNotAllowed' | 'AccountTokenLimitExceeded' | 'CollectionTokenLimitExceeded' | 'MetadataFlagFrozen' | 'TokenNotFound' | 'TokenValueTooLow' | 'ApprovedValueTooLow' | 'CantApproveMoreThanOwned' | 'AddressIsZero' | 'UnsupportedOperation' | 'NotSufficientFounds' | 'UserIsNotAllowedToNest' | 'SourceCollectionIsNotAllowedToNest' | 'CollectionFieldSizeExceeded' | 'NoSpaceForProperty' | 'PropertyLimitReached' | 'PropertyKeyIsTooLong' | 'InvalidCharacterInPropertyKey' | 'EmptyPropertyKey' | 'CollectionIsExternal' | 'CollectionIsInternal' | 'ConfirmSponsorshipFail' | 'UserIsNotCollectionAdmin';
   }
 
-  /** @name PalletFungibleError (417) */
+  /** @name PalletFungibleError (440) */
   interface PalletFungibleError extends Enum {
     readonly isNotFungibleDataUsedToMintFungibleCollectionToken: boolean;
     readonly isFungibleItemsHaveNoId: boolean;
@@ -3522,12 +3706,12 @@
     readonly type: 'NotFungibleDataUsedToMintFungibleCollectionToken' | 'FungibleItemsHaveNoId' | 'FungibleItemsDontHaveData' | 'FungibleDisallowsNesting' | 'SettingPropertiesNotAllowed' | 'SettingAllowanceForAllNotAllowed' | 'FungibleTokensAreAlwaysValid';
   }
 
-  /** @name PalletRefungibleItemData (418) */
+  /** @name PalletRefungibleItemData (441) */
   interface PalletRefungibleItemData extends Struct {
     readonly constData: Bytes;
   }
 
-  /** @name PalletRefungibleError (423) */
+  /** @name PalletRefungibleError (446) */
   interface PalletRefungibleError extends Enum {
     readonly isNotRefungibleDataUsedToMintFungibleCollectionToken: boolean;
     readonly isWrongRefungiblePieces: boolean;
@@ -3537,19 +3721,19 @@
     readonly type: 'NotRefungibleDataUsedToMintFungibleCollectionToken' | 'WrongRefungiblePieces' | 'RepartitionWhileNotOwningAllPieces' | 'RefungibleDisallowsNesting' | 'SettingPropertiesNotAllowed';
   }
 
-  /** @name PalletNonfungibleItemData (424) */
+  /** @name PalletNonfungibleItemData (447) */
   interface PalletNonfungibleItemData extends Struct {
     readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;
   }
 
-  /** @name UpDataStructsPropertyScope (426) */
+  /** @name UpDataStructsPropertyScope (449) */
   interface UpDataStructsPropertyScope extends Enum {
     readonly isNone: boolean;
     readonly isRmrk: boolean;
     readonly type: 'None' | 'Rmrk';
   }
 
-  /** @name PalletNonfungibleError (428) */
+  /** @name PalletNonfungibleError (451) */
   interface PalletNonfungibleError extends Enum {
     readonly isNotNonfungibleDataUsedToMintFungibleCollectionToken: boolean;
     readonly isNonfungibleItemsHaveNoAmount: boolean;
@@ -3557,7 +3741,7 @@
     readonly type: 'NotNonfungibleDataUsedToMintFungibleCollectionToken' | 'NonfungibleItemsHaveNoAmount' | 'CantBurnNftWithChildren';
   }
 
-  /** @name PalletStructureError (429) */
+  /** @name PalletStructureError (452) */
   interface PalletStructureError extends Enum {
     readonly isOuroborosDetected: boolean;
     readonly isDepthLimit: boolean;
@@ -3566,7 +3750,7 @@
     readonly type: 'OuroborosDetected' | 'DepthLimit' | 'BreadthLimit' | 'TokenNotFound';
   }
 
-  /** @name PalletRmrkCoreError (430) */
+  /** @name PalletRmrkCoreError (453) */
   interface PalletRmrkCoreError extends Enum {
     readonly isCorruptedCollectionType: boolean;
     readonly isRmrkPropertyKeyIsTooLong: boolean;
@@ -3590,7 +3774,7 @@
     readonly type: 'CorruptedCollectionType' | 'RmrkPropertyKeyIsTooLong' | 'RmrkPropertyValueIsTooLong' | 'RmrkPropertyIsNotFound' | 'UnableToDecodeRmrkData' | 'CollectionNotEmpty' | 'NoAvailableCollectionId' | 'NoAvailableNftId' | 'CollectionUnknown' | 'NoPermission' | 'NonTransferable' | 'CollectionFullOrLocked' | 'ResourceDoesntExist' | 'CannotSendToDescendentOrSelf' | 'CannotAcceptNonOwnedNft' | 'CannotRejectNonOwnedNft' | 'CannotRejectNonPendingNft' | 'ResourceNotPending' | 'NoAvailableResourceId';
   }
 
-  /** @name PalletRmrkEquipError (432) */
+  /** @name PalletRmrkEquipError (455) */
   interface PalletRmrkEquipError extends Enum {
     readonly isPermissionError: boolean;
     readonly isNoAvailableBaseId: boolean;
@@ -3602,7 +3786,7 @@
     readonly type: 'PermissionError' | 'NoAvailableBaseId' | 'NoAvailablePartId' | 'BaseDoesntExist' | 'NeedsDefaultThemeFirst' | 'PartDoesntExist' | 'NoEquippableOnFixedPart';
   }
 
-  /** @name PalletAppPromotionError (438) */
+  /** @name PalletAppPromotionError (461) */
   interface PalletAppPromotionError extends Enum {
     readonly isAdminNotSet: boolean;
     readonly isNoPermission: boolean;
@@ -3613,7 +3797,7 @@
     readonly type: 'AdminNotSet' | 'NoPermission' | 'NotSufficientFunds' | 'PendingForBlockOverflow' | 'SponsorNotSet' | 'IncorrectLockedBalanceOperation';
   }
 
-  /** @name PalletForeignAssetsModuleError (439) */
+  /** @name PalletForeignAssetsModuleError (462) */
   interface PalletForeignAssetsModuleError extends Enum {
     readonly isBadLocation: boolean;
     readonly isMultiLocationExisted: boolean;
@@ -3622,7 +3806,7 @@
     readonly type: 'BadLocation' | 'MultiLocationExisted' | 'AssetIdNotExists' | 'AssetIdExisted';
   }
 
-  /** @name PalletEvmError (441) */
+  /** @name PalletEvmError (464) */
   interface PalletEvmError extends Enum {
     readonly isBalanceLow: boolean;
     readonly isFeeOverflow: boolean;
@@ -3637,7 +3821,7 @@
     readonly type: 'BalanceLow' | 'FeeOverflow' | 'PaymentOverflow' | 'WithdrawFailed' | 'GasPriceTooLow' | 'InvalidNonce' | 'GasLimitTooLow' | 'GasLimitTooHigh' | 'Undefined' | 'Reentrancy';
   }
 
-  /** @name FpRpcTransactionStatus (444) */
+  /** @name FpRpcTransactionStatus (467) */
   interface FpRpcTransactionStatus extends Struct {
     readonly transactionHash: H256;
     readonly transactionIndex: u32;
@@ -3648,10 +3832,10 @@
     readonly logsBloom: EthbloomBloom;
   }
 
-  /** @name EthbloomBloom (446) */
+  /** @name EthbloomBloom (469) */
   interface EthbloomBloom extends U8aFixed {}
 
-  /** @name EthereumReceiptReceiptV3 (448) */
+  /** @name EthereumReceiptReceiptV3 (471) */
   interface EthereumReceiptReceiptV3 extends Enum {
     readonly isLegacy: boolean;
     readonly asLegacy: EthereumReceiptEip658ReceiptData;
@@ -3662,7 +3846,7 @@
     readonly type: 'Legacy' | 'Eip2930' | 'Eip1559';
   }
 
-  /** @name EthereumReceiptEip658ReceiptData (449) */
+  /** @name EthereumReceiptEip658ReceiptData (472) */
   interface EthereumReceiptEip658ReceiptData extends Struct {
     readonly statusCode: u8;
     readonly usedGas: U256;
@@ -3670,14 +3854,14 @@
     readonly logs: Vec<EthereumLog>;
   }
 
-  /** @name EthereumBlock (450) */
+  /** @name EthereumBlock (473) */
   interface EthereumBlock extends Struct {
     readonly header: EthereumHeader;
     readonly transactions: Vec<EthereumTransactionTransactionV2>;
     readonly ommers: Vec<EthereumHeader>;
   }
 
-  /** @name EthereumHeader (451) */
+  /** @name EthereumHeader (474) */
   interface EthereumHeader extends Struct {
     readonly parentHash: H256;
     readonly ommersHash: H256;
@@ -3696,24 +3880,24 @@
     readonly nonce: EthereumTypesHashH64;
   }
 
-  /** @name EthereumTypesHashH64 (452) */
+  /** @name EthereumTypesHashH64 (475) */
   interface EthereumTypesHashH64 extends U8aFixed {}
 
-  /** @name PalletEthereumError (457) */
+  /** @name PalletEthereumError (480) */
   interface PalletEthereumError extends Enum {
     readonly isInvalidSignature: boolean;
     readonly isPreLogExists: boolean;
     readonly type: 'InvalidSignature' | 'PreLogExists';
   }
 
-  /** @name PalletEvmCoderSubstrateError (458) */
+  /** @name PalletEvmCoderSubstrateError (481) */
   interface PalletEvmCoderSubstrateError extends Enum {
     readonly isOutOfGas: boolean;
     readonly isOutOfFund: boolean;
     readonly type: 'OutOfGas' | 'OutOfFund';
   }
 
-  /** @name UpDataStructsSponsorshipStateBasicCrossAccountIdRepr (459) */
+  /** @name UpDataStructsSponsorshipStateBasicCrossAccountIdRepr (482) */
   interface UpDataStructsSponsorshipStateBasicCrossAccountIdRepr extends Enum {
     readonly isDisabled: boolean;
     readonly isUnconfirmed: boolean;
@@ -3723,7 +3907,7 @@
     readonly type: 'Disabled' | 'Unconfirmed' | 'Confirmed';
   }
 
-  /** @name PalletEvmContractHelpersSponsoringModeT (460) */
+  /** @name PalletEvmContractHelpersSponsoringModeT (483) */
   interface PalletEvmContractHelpersSponsoringModeT extends Enum {
     readonly isDisabled: boolean;
     readonly isAllowlisted: boolean;
@@ -3731,7 +3915,7 @@
     readonly type: 'Disabled' | 'Allowlisted' | 'Generous';
   }
 
-  /** @name PalletEvmContractHelpersError (466) */
+  /** @name PalletEvmContractHelpersError (489) */
   interface PalletEvmContractHelpersError extends Enum {
     readonly isNoPermission: boolean;
     readonly isNoPendingSponsor: boolean;
@@ -3739,7 +3923,7 @@
     readonly type: 'NoPermission' | 'NoPendingSponsor' | 'TooManyMethodsHaveSponsoredLimit';
   }
 
-  /** @name PalletEvmMigrationError (467) */
+  /** @name PalletEvmMigrationError (490) */
   interface PalletEvmMigrationError extends Enum {
     readonly isAccountNotEmpty: boolean;
     readonly isAccountIsNotMigrating: boolean;
@@ -3747,17 +3931,17 @@
     readonly type: 'AccountNotEmpty' | 'AccountIsNotMigrating' | 'BadEvent';
   }
 
-  /** @name PalletMaintenanceError (468) */
+  /** @name PalletMaintenanceError (491) */
   type PalletMaintenanceError = Null;
 
-  /** @name PalletTestUtilsError (469) */
+  /** @name PalletTestUtilsError (492) */
   interface PalletTestUtilsError extends Enum {
     readonly isTestPalletDisabled: boolean;
     readonly isTriggerRollback: boolean;
     readonly type: 'TestPalletDisabled' | 'TriggerRollback';
   }
 
-  /** @name SpRuntimeMultiSignature (471) */
+  /** @name SpRuntimeMultiSignature (494) */
   interface SpRuntimeMultiSignature extends Enum {
     readonly isEd25519: boolean;
     readonly asEd25519: SpCoreEd25519Signature;
@@ -3768,40 +3952,40 @@
     readonly type: 'Ed25519' | 'Sr25519' | 'Ecdsa';
   }
 
-  /** @name SpCoreEd25519Signature (472) */
+  /** @name SpCoreEd25519Signature (495) */
   interface SpCoreEd25519Signature extends U8aFixed {}
 
-  /** @name SpCoreSr25519Signature (474) */
+  /** @name SpCoreSr25519Signature (497) */
   interface SpCoreSr25519Signature extends U8aFixed {}
 
-  /** @name SpCoreEcdsaSignature (475) */
+  /** @name SpCoreEcdsaSignature (498) */
   interface SpCoreEcdsaSignature extends U8aFixed {}
 
-  /** @name FrameSystemExtensionsCheckSpecVersion (478) */
+  /** @name FrameSystemExtensionsCheckSpecVersion (501) */
   type FrameSystemExtensionsCheckSpecVersion = Null;
 
-  /** @name FrameSystemExtensionsCheckTxVersion (479) */
+  /** @name FrameSystemExtensionsCheckTxVersion (502) */
   type FrameSystemExtensionsCheckTxVersion = Null;
 
-  /** @name FrameSystemExtensionsCheckGenesis (480) */
+  /** @name FrameSystemExtensionsCheckGenesis (503) */
   type FrameSystemExtensionsCheckGenesis = Null;
 
-  /** @name FrameSystemExtensionsCheckNonce (483) */
+  /** @name FrameSystemExtensionsCheckNonce (506) */
   interface FrameSystemExtensionsCheckNonce extends Compact<u32> {}
 
-  /** @name FrameSystemExtensionsCheckWeight (484) */
+  /** @name FrameSystemExtensionsCheckWeight (507) */
   type FrameSystemExtensionsCheckWeight = Null;
 
-  /** @name OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance (485) */
+  /** @name OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance (508) */
   type OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance = Null;
 
-  /** @name PalletTemplateTransactionPaymentChargeTransactionPayment (486) */
+  /** @name PalletTemplateTransactionPaymentChargeTransactionPayment (509) */
   interface PalletTemplateTransactionPaymentChargeTransactionPayment extends Compact<u128> {}
 
-  /** @name OpalRuntimeRuntime (487) */
+  /** @name OpalRuntimeRuntime (510) */
   type OpalRuntimeRuntime = Null;
 
-  /** @name PalletEthereumFakeTransactionFinalizer (488) */
+  /** @name PalletEthereumFakeTransactionFinalizer (511) */
   type PalletEthereumFakeTransactionFinalizer = Null;
 
 } // declare module
modifiedtests/src/util/playgrounds/unique.dev.tsdiffbeforeafterboth
--- a/tests/src/util/playgrounds/unique.dev.ts
+++ b/tests/src/util/playgrounds/unique.dev.ts
@@ -445,6 +445,30 @@
     return promise;
   }
 
+  /**
+   * Wait for the specified number of sessions to pass. 
+   * Only applicable if the Session pallet is turned on.
+   * @param sessionCount number of sessions to wait
+   * @param blockTimeout time in ms until panicking that the chain has stopped producing blocks
+   * @returns 
+   */
+  async newSessions(sessionCount = 1, blockTimeout = 60000): Promise<void> {
+    console.log(`Waiting for ${sessionCount} new session${sessionCount > 1 ? 's' : ''}.` 
+      + ' This might take a while -- check SessionPeriod in pallet_session::Config for session time.');
+
+    const expectedSessionIndex = await this.helper.session.getIndex() + sessionCount;
+    let currentSessionIndex = -1;
+
+    while (currentSessionIndex < expectedSessionIndex) {
+      // eslint-disable-next-line no-async-promise-executor
+      currentSessionIndex = await this.withTimeout(new Promise(async (resolve) => {
+        await this.newBlocks(1);
+        const res = this.helper.session.getIndex();
+        resolve(res);
+      }), blockTimeout, 'The chain has stopped producing blocks!');
+    }
+  }
+
   async forParachainBlockNumber(blockNumber: bigint | number, timeout?: number) {
     timeout = timeout ?? 30 * 60 * 1000;
     // eslint-disable-next-line no-async-promise-executor
modifiedtests/src/util/playgrounds/unique.tsdiffbeforeafterboth
--- a/tests/src/util/playgrounds/unique.ts
+++ b/tests/src/util/playgrounds/unique.ts
@@ -11,7 +11,6 @@
 import {IKeyringPair} from '@polkadot/types/types';
 import {hexToU8a} from '@polkadot/util/hex';
 import {u8aConcat} from '@polkadot/util/u8a';
-import {BN} from '@polkadot/util/bn';
 import {
   IApiListeners,
   IBlock,
@@ -46,6 +45,7 @@
 import {RuntimeDispatchInfo} from '@polkadot/types/interfaces';
 import type {Vec} from '@polkadot/types-codec';
 import {FrameSystemEventRecord} from '@polkadot/types/lookup';
+import {DevUniqueHelper} from './unique.dev';
 
 export class CrossAccountId implements ICrossAccountId {
   Substrate?: TSubstrateAccount;
@@ -376,6 +376,7 @@
   children: ChainHelperBase[];
   address: AddressGroup;
   chain: ChainGroup;
+  session: SessionGroup;
 
   constructor(logger?: ILogger, helperBase?: any) {
     this.helperBase = helperBase;
@@ -391,6 +392,7 @@
     this.children = [];
     this.address = new AddressGroup(this);
     this.chain = new ChainGroup(this);
+    this.session = new SessionGroup(this);
   }
 
   clone(helperCls: ChainHelperBaseConstructor, options: {[key: string]: any} = {}) {
@@ -2643,24 +2645,32 @@
   }
 }
 
-class CollatorSelectionGroup extends HelperGroup<UniqueHelper> {
+class SessionGroup extends HelperGroup<ChainHelperBase> {
   //todo:collator documentation
-  setKeys(signer: TSigner, key: string) {
+  async getIndex(): Promise<number> {
+    return (await this.helper.callRpc('api.query.session.currentIndex')).toNumber();
+  }
+
+  newSessions(sessionCount = 1, blockTimeout = 24000): Promise<void> {
+    return (this.helper as DevUniqueHelper).wait.newSessions(sessionCount, blockTimeout);
+  }
+
+  setOwnKeys(signer: TSigner, key: string) {
     return this.helper.executeExtrinsic(
       signer,
       'api.tx.session.setKeys', 
-      [
-        key,
-        '0x0',
-      ],
+      [key, '0x0'],
       true,
     );
   }
 
-  setOwnKeys(signer: TSigner) {
-    return this.setKeys(signer, '0x' + Buffer.from(signer.addressRaw).toString('hex'));
+  setOwnKeysFromAddress(signer: TSigner) {
+    return this.setOwnKeys(signer, '0x' + Buffer.from(signer.addressRaw).toString('hex'));
   }
+}
 
+class CollatorSelectionGroup extends HelperGroup<UniqueHelper> {
+  //todo:collator documentation
   addInvulnerable(signer: TSigner, address: string) {
     return this.helper.executeExtrinsic(signer, 'api.tx.collatorSelection.addInvulnerable', [address]);
   }
@@ -2669,9 +2679,45 @@
     return this.helper.executeExtrinsic(signer, 'api.tx.collatorSelection.removeInvulnerable', [address]);
   }
 
-  async getInvulnerables() {
+  async getInvulnerables(): Promise<string[]> {
     return (await this.helper.callRpc('api.query.collatorSelection.invulnerables')).map((x: any) => x.toHuman());
   }
+
+  setLicenseBond(signer: TSigner, amount: bigint) {
+    return this.helper.executeExtrinsic(signer, 'api.tx.collatorSelection.setLicenseBond', [amount]);
+  }
+
+  async getLicenseBond(): Promise<bigint> {
+    return (await this.helper.callRpc('api.query.collatorSelection.licenseBond')).toBigInt();
+  }
+
+  obtainLicense(signer: TSigner) {
+    return this.helper.executeExtrinsic(signer, 'api.tx.collatorSelection.getLicense', []);
+  }
+
+  releaseLicense(signer: TSigner) {
+    return this.helper.executeExtrinsic(signer, 'api.tx.collatorSelection.releaseLicense', []);
+  }
+
+  forceRevokeLicense(signer: TSigner, released: string) {
+    return this.helper.executeExtrinsic(signer, 'api.tx.collatorSelection.forceRevokeLicense', [released]);
+  }
+
+  async hasLicense(address: string): Promise<bigint> {
+    return (await this.helper.callRpc('api.query.collatorSelection.licenses', [address])).toBigInt();
+  }
+
+  onboard(signer: TSigner) {
+    return this.helper.executeExtrinsic(signer, 'api.tx.collatorSelection.onboard', []);
+  }
+
+  offboard(signer: TSigner) {
+    return this.helper.executeExtrinsic(signer, 'api.tx.collatorSelection.offboard', []);
+  }
+
+  async getCandidates(): Promise<string[]> {
+    return (await this.helper.callRpc('api.query.collatorSelection.candidates')).map((x: any) => x.toHuman());
+  }
 }
 
 class ForeignAssetsGroup extends HelperGroup<UniqueHelper> {
@@ -3040,12 +3086,15 @@
 
       if (result.status === 'Fail') return result;
 
-      const data = this.eventHelper.extractEvents(result.result.events).find(x => x.section == 'sudo')?.data[0];
-      if (data.err) {
-        const error = data.err.module;
-        // todo:collator
-        const metaError = super.getApi()?.registry.findMetaError({index: new BN(error.index), error: new BN(9)});
-        throw new Error(`${data.err.module.error} ${metaError.section}.${metaError.name}`);
+      const data = (result.result.events.find(x => x.event.section == 'sudo' && x.event.method == 'Sudid')?.event.data as any).sudoResult;
+      if (data.isErr) {
+        if (data.asErr.isModule) {
+          const error = (result.result.events[1].event.data as any).sudoResult.asErr.asModule;
+          const metaError = super.getApi()?.registry.findMetaError(error);
+          throw new Error(`${metaError.section}.${metaError.name}`);
+        } else {
+          throw new Error(data.asErr.toHuman());
+        }
       }
       return result;
     }