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
--- a/tests/src/interfaces/default/types.ts
+++ b/tests/src/interfaces/default/types.ts
@@ -699,6 +699,11 @@
 /** @name OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance */
 export interface OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance extends Null {}
 
+/** @name OpalRuntimeRuntimeCommonSessionKeys */
+export interface OpalRuntimeRuntimeCommonSessionKeys extends Struct {
+  readonly aura: SpConsensusAuraSr25519AppSr25519Public;
+}
+
 /** @name OrmlTokensAccountData */
 export interface OrmlTokensAccountData extends Struct {
   readonly free: u128;
@@ -1056,6 +1061,36 @@
   readonly type: 'StakingRecalculation' | 'Stake' | 'Unstake' | 'SetAdmin';
 }
 
+/** @name PalletAuthorshipCall */
+export interface PalletAuthorshipCall extends Enum {
+  readonly isSetUncles: boolean;
+  readonly asSetUncles: {
+    readonly newUncles: Vec<SpRuntimeHeader>;
+  } & Struct;
+  readonly type: 'SetUncles';
+}
+
+/** @name PalletAuthorshipError */
+export 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 PalletAuthorshipUncleEntryItem */
+export interface PalletAuthorshipUncleEntryItem extends Enum {
+  readonly isInclusionHeight: boolean;
+  readonly asInclusionHeight: u32;
+  readonly isUncle: boolean;
+  readonly asUncle: ITuple<[H256, Option<AccountId32>]>;
+  readonly type: 'InclusionHeight' | 'Uncle';
+}
+
 /** @name PalletBalancesAccountData */
 export interface PalletBalancesAccountData extends Struct {
   readonly free: u128;
@@ -1201,6 +1236,100 @@
   readonly amount: u128;
 }
 
+/** @name PalletCollatorSelectionCall */
+export 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 */
+export 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 PalletCollatorSelectionEvent */
+export 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 PalletCommonError */
 export interface PalletCommonError extends Enum {
   readonly isCollectionNotFound: boolean;
@@ -1938,6 +2067,36 @@
   readonly type: 'BaseCreated' | 'EquippablesUpdated';
 }
 
+/** @name PalletSessionCall */
+export 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 */
+export 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 PalletSessionEvent */
+export interface PalletSessionEvent extends Enum {
+  readonly isNewSession: boolean;
+  readonly asNewSession: {
+    readonly sessionIndex: u32;
+  } & Struct;
+  readonly type: 'NewSession';
+}
+
 /** @name PalletStructureCall */
 export interface PalletStructureCall extends Null {}
 
@@ -2319,12 +2478,16 @@
     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 PalletUniqueError */
@@ -2665,12 +2828,21 @@
   readonly value: Bytes;
 }
 
+/** @name SpConsensusAuraSr25519AppSr25519Public */
+export interface SpConsensusAuraSr25519AppSr25519Public extends SpCoreSr25519Public {}
+
+/** @name SpCoreCryptoKeyTypeId */
+export interface SpCoreCryptoKeyTypeId extends U8aFixed {}
+
 /** @name SpCoreEcdsaSignature */
 export interface SpCoreEcdsaSignature extends U8aFixed {}
 
 /** @name SpCoreEd25519Signature */
 export interface SpCoreEd25519Signature extends U8aFixed {}
 
+/** @name SpCoreSr25519Public */
+export interface SpCoreSr25519Public extends U8aFixed {}
+
 /** @name SpCoreSr25519Signature */
 export interface SpCoreSr25519Signature extends U8aFixed {}
 
@@ -2682,6 +2854,9 @@
   readonly type: 'Underflow' | 'Overflow' | 'DivisionByZero';
 }
 
+/** @name SpRuntimeBlakeTwo256 */
+export interface SpRuntimeBlakeTwo256 extends Null {}
+
 /** @name SpRuntimeDigest */
 export interface SpRuntimeDigest extends Struct {
   readonly logs: Vec<SpRuntimeDigestDigestItem>;
@@ -2723,6 +2898,15 @@
   readonly type: 'Other' | 'CannotLookup' | 'BadOrigin' | 'Module' | 'ConsumerRemaining' | 'NoProviders' | 'TooManyConsumers' | 'Token' | 'Arithmetic' | 'Transactional' | 'Exhausted' | 'Corruption' | 'Unavailable';
 }
 
+/** @name SpRuntimeHeader */
+export interface SpRuntimeHeader extends Struct {
+  readonly parentHash: H256;
+  readonly number: Compact<u32>;
+  readonly stateRoot: H256;
+  readonly extrinsicsRoot: H256;
+  readonly digest: SpRuntimeDigest;
+}
+
 /** @name SpRuntimeModuleError */
 export interface SpRuntimeModuleError extends Struct {
   readonly index: u8;
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
196 readonly type: 'ValidationFunctionStored' | 'ValidationFunctionApplied' | 'ValidationFunctionDiscarded' | 'UpgradeAuthorized' | 'DownwardMessagesReceived' | 'DownwardMessagesProcessed';196 readonly type: 'ValidationFunctionStored' | 'ValidationFunctionApplied' | 'ValidationFunctionDiscarded' | 'UpgradeAuthorized' | 'DownwardMessagesReceived' | 'DownwardMessagesProcessed';
197 }197 }
198
199 /** @name PalletCollatorSelectionEvent (30) */
200 interface PalletCollatorSelectionEvent extends Enum {
201 readonly isNewDesiredCollators: boolean;
202 readonly asNewDesiredCollators: {
203 readonly desiredCollators: u32;
204 } & Struct;
205 readonly isNewLicenseBond: boolean;
206 readonly asNewLicenseBond: {
207 readonly bondAmount: u128;
208 } & Struct;
209 readonly isNewKickThreshold: boolean;
210 readonly asNewKickThreshold: {
211 readonly lengthInBlocks: u32;
212 } & Struct;
213 readonly isInvulnerableAdded: boolean;
214 readonly asInvulnerableAdded: {
215 readonly invulnerable: AccountId32;
216 } & Struct;
217 readonly isInvulnerableRemoved: boolean;
218 readonly asInvulnerableRemoved: {
219 readonly invulnerable: AccountId32;
220 } & Struct;
221 readonly isLicenseObtained: boolean;
222 readonly asLicenseObtained: {
223 readonly accountId: AccountId32;
224 readonly deposit: u128;
225 } & Struct;
226 readonly isLicenseForfeited: boolean;
227 readonly asLicenseForfeited: {
228 readonly accountId: AccountId32;
229 readonly depositReturned: u128;
230 } & Struct;
231 readonly isCandidateAdded: boolean;
232 readonly asCandidateAdded: {
233 readonly accountId: AccountId32;
234 } & Struct;
235 readonly isCandidateRemoved: boolean;
236 readonly asCandidateRemoved: {
237 readonly accountId: AccountId32;
238 } & Struct;
239 readonly type: 'NewDesiredCollators' | 'NewLicenseBond' | 'NewKickThreshold' | 'InvulnerableAdded' | 'InvulnerableRemoved' | 'LicenseObtained' | 'LicenseForfeited' | 'CandidateAdded' | 'CandidateRemoved';
240 }
241
242 /** @name PalletSessionEvent (31) */
243 interface PalletSessionEvent extends Enum {
244 readonly isNewSession: boolean;
245 readonly asNewSession: {
246 readonly sessionIndex: u32;
247 } & Struct;
248 readonly type: 'NewSession';
249 }
198250
199 /** @name PalletBalancesEvent (30) */251 /** @name PalletBalancesEvent (32) */
200 interface PalletBalancesEvent extends Enum {252 interface PalletBalancesEvent extends Enum {
201 readonly isEndowed: boolean;253 readonly isEndowed: boolean;
202 readonly asEndowed: {254 readonly asEndowed: {
255 readonly type: 'Endowed' | 'DustLost' | 'Transfer' | 'BalanceSet' | 'Reserved' | 'Unreserved' | 'ReserveRepatriated' | 'Deposit' | 'Withdraw' | 'Slashed';307 readonly type: 'Endowed' | 'DustLost' | 'Transfer' | 'BalanceSet' | 'Reserved' | 'Unreserved' | 'ReserveRepatriated' | 'Deposit' | 'Withdraw' | 'Slashed';
256 }308 }
257309
258 /** @name FrameSupportTokensMiscBalanceStatus (31) */310 /** @name FrameSupportTokensMiscBalanceStatus (33) */
259 interface FrameSupportTokensMiscBalanceStatus extends Enum {311 interface FrameSupportTokensMiscBalanceStatus extends Enum {
260 readonly isFree: boolean;312 readonly isFree: boolean;
261 readonly isReserved: boolean;313 readonly isReserved: boolean;
262 readonly type: 'Free' | 'Reserved';314 readonly type: 'Free' | 'Reserved';
263 }315 }
264316
265 /** @name PalletTransactionPaymentEvent (32) */317 /** @name PalletTransactionPaymentEvent (34) */
266 interface PalletTransactionPaymentEvent extends Enum {318 interface PalletTransactionPaymentEvent extends Enum {
267 readonly isTransactionFeePaid: boolean;319 readonly isTransactionFeePaid: boolean;
268 readonly asTransactionFeePaid: {320 readonly asTransactionFeePaid: {
273 readonly type: 'TransactionFeePaid';325 readonly type: 'TransactionFeePaid';
274 }326 }
275327
276 /** @name PalletTreasuryEvent (33) */328 /** @name PalletTreasuryEvent (35) */
277 interface PalletTreasuryEvent extends Enum {329 interface PalletTreasuryEvent extends Enum {
278 readonly isProposed: boolean;330 readonly isProposed: boolean;
279 readonly asProposed: {331 readonly asProposed: {
315 readonly type: 'Proposed' | 'Spending' | 'Awarded' | 'Rejected' | 'Burnt' | 'Rollover' | 'Deposit' | 'SpendApproved';367 readonly type: 'Proposed' | 'Spending' | 'Awarded' | 'Rejected' | 'Burnt' | 'Rollover' | 'Deposit' | 'SpendApproved';
316 }368 }
317369
318 /** @name PalletSudoEvent (34) */370 /** @name PalletSudoEvent (36) */
319 interface PalletSudoEvent extends Enum {371 interface PalletSudoEvent extends Enum {
320 readonly isSudid: boolean;372 readonly isSudid: boolean;
321 readonly asSudid: {373 readonly asSudid: {
332 readonly type: 'Sudid' | 'KeyChanged' | 'SudoAsDone';384 readonly type: 'Sudid' | 'KeyChanged' | 'SudoAsDone';
333 }385 }
334386
335 /** @name OrmlVestingModuleEvent (38) */387 /** @name OrmlVestingModuleEvent (40) */
336 interface OrmlVestingModuleEvent extends Enum {388 interface OrmlVestingModuleEvent extends Enum {
337 readonly isVestingScheduleAdded: boolean;389 readonly isVestingScheduleAdded: boolean;
338 readonly asVestingScheduleAdded: {390 readonly asVestingScheduleAdded: {
352 readonly type: 'VestingScheduleAdded' | 'Claimed' | 'VestingSchedulesUpdated';404 readonly type: 'VestingScheduleAdded' | 'Claimed' | 'VestingSchedulesUpdated';
353 }405 }
354406
355 /** @name OrmlVestingVestingSchedule (39) */407 /** @name OrmlVestingVestingSchedule (41) */
356 interface OrmlVestingVestingSchedule extends Struct {408 interface OrmlVestingVestingSchedule extends Struct {
357 readonly start: u32;409 readonly start: u32;
358 readonly period: u32;410 readonly period: u32;
359 readonly periodCount: u32;411 readonly periodCount: u32;
360 readonly perPeriod: Compact<u128>;412 readonly perPeriod: Compact<u128>;
361 }413 }
362414
363 /** @name OrmlXtokensModuleEvent (41) */415 /** @name OrmlXtokensModuleEvent (43) */
364 interface OrmlXtokensModuleEvent extends Enum {416 interface OrmlXtokensModuleEvent extends Enum {
365 readonly isTransferredMultiAssets: boolean;417 readonly isTransferredMultiAssets: boolean;
366 readonly asTransferredMultiAssets: {418 readonly asTransferredMultiAssets: {
372 readonly type: 'TransferredMultiAssets';424 readonly type: 'TransferredMultiAssets';
373 }425 }
374426
375 /** @name XcmV1MultiassetMultiAssets (42) */427 /** @name XcmV1MultiassetMultiAssets (44) */
376 interface XcmV1MultiassetMultiAssets extends Vec<XcmV1MultiAsset> {}428 interface XcmV1MultiassetMultiAssets extends Vec<XcmV1MultiAsset> {}
377429
378 /** @name XcmV1MultiAsset (44) */430 /** @name XcmV1MultiAsset (46) */
379 interface XcmV1MultiAsset extends Struct {431 interface XcmV1MultiAsset extends Struct {
380 readonly id: XcmV1MultiassetAssetId;432 readonly id: XcmV1MultiassetAssetId;
381 readonly fun: XcmV1MultiassetFungibility;433 readonly fun: XcmV1MultiassetFungibility;
382 }434 }
383435
384 /** @name XcmV1MultiassetAssetId (45) */436 /** @name XcmV1MultiassetAssetId (47) */
385 interface XcmV1MultiassetAssetId extends Enum {437 interface XcmV1MultiassetAssetId extends Enum {
386 readonly isConcrete: boolean;438 readonly isConcrete: boolean;
387 readonly asConcrete: XcmV1MultiLocation;439 readonly asConcrete: XcmV1MultiLocation;
390 readonly type: 'Concrete' | 'Abstract';442 readonly type: 'Concrete' | 'Abstract';
391 }443 }
392444
393 /** @name XcmV1MultiLocation (46) */445 /** @name XcmV1MultiLocation (48) */
394 interface XcmV1MultiLocation extends Struct {446 interface XcmV1MultiLocation extends Struct {
395 readonly parents: u8;447 readonly parents: u8;
396 readonly interior: XcmV1MultilocationJunctions;448 readonly interior: XcmV1MultilocationJunctions;
397 }449 }
398450
399 /** @name XcmV1MultilocationJunctions (47) */451 /** @name XcmV1MultilocationJunctions (49) */
400 interface XcmV1MultilocationJunctions extends Enum {452 interface XcmV1MultilocationJunctions extends Enum {
401 readonly isHere: boolean;453 readonly isHere: boolean;
402 readonly isX1: boolean;454 readonly isX1: boolean;
418 readonly type: 'Here' | 'X1' | 'X2' | 'X3' | 'X4' | 'X5' | 'X6' | 'X7' | 'X8';470 readonly type: 'Here' | 'X1' | 'X2' | 'X3' | 'X4' | 'X5' | 'X6' | 'X7' | 'X8';
419 }471 }
420472
421 /** @name XcmV1Junction (48) */473 /** @name XcmV1Junction (50) */
422 interface XcmV1Junction extends Enum {474 interface XcmV1Junction extends Enum {
423 readonly isParachain: boolean;475 readonly isParachain: boolean;
424 readonly asParachain: Compact<u32>;476 readonly asParachain: Compact<u32>;
452 readonly type: 'Parachain' | 'AccountId32' | 'AccountIndex64' | 'AccountKey20' | 'PalletInstance' | 'GeneralIndex' | 'GeneralKey' | 'OnlyChild' | 'Plurality';504 readonly type: 'Parachain' | 'AccountId32' | 'AccountIndex64' | 'AccountKey20' | 'PalletInstance' | 'GeneralIndex' | 'GeneralKey' | 'OnlyChild' | 'Plurality';
453 }505 }
454506
455 /** @name XcmV0JunctionNetworkId (50) */507 /** @name XcmV0JunctionNetworkId (52) */
456 interface XcmV0JunctionNetworkId extends Enum {508 interface XcmV0JunctionNetworkId extends Enum {
457 readonly isAny: boolean;509 readonly isAny: boolean;
458 readonly isNamed: boolean;510 readonly isNamed: boolean;
462 readonly type: 'Any' | 'Named' | 'Polkadot' | 'Kusama';514 readonly type: 'Any' | 'Named' | 'Polkadot' | 'Kusama';
463 }515 }
464516
465 /** @name XcmV0JunctionBodyId (53) */517 /** @name XcmV0JunctionBodyId (55) */
466 interface XcmV0JunctionBodyId extends Enum {518 interface XcmV0JunctionBodyId extends Enum {
467 readonly isUnit: boolean;519 readonly isUnit: boolean;
468 readonly isNamed: boolean;520 readonly isNamed: boolean;
476 readonly type: 'Unit' | 'Named' | 'Index' | 'Executive' | 'Technical' | 'Legislative' | 'Judicial';528 readonly type: 'Unit' | 'Named' | 'Index' | 'Executive' | 'Technical' | 'Legislative' | 'Judicial';
477 }529 }
478530
479 /** @name XcmV0JunctionBodyPart (54) */531 /** @name XcmV0JunctionBodyPart (56) */
480 interface XcmV0JunctionBodyPart extends Enum {532 interface XcmV0JunctionBodyPart extends Enum {
481 readonly isVoice: boolean;533 readonly isVoice: boolean;
482 readonly isMembers: boolean;534 readonly isMembers: boolean;
501 readonly type: 'Voice' | 'Members' | 'Fraction' | 'AtLeastProportion' | 'MoreThanProportion';553 readonly type: 'Voice' | 'Members' | 'Fraction' | 'AtLeastProportion' | 'MoreThanProportion';
502 }554 }
503555
504 /** @name XcmV1MultiassetFungibility (55) */556 /** @name XcmV1MultiassetFungibility (57) */
505 interface XcmV1MultiassetFungibility extends Enum {557 interface XcmV1MultiassetFungibility extends Enum {
506 readonly isFungible: boolean;558 readonly isFungible: boolean;
507 readonly asFungible: Compact<u128>;559 readonly asFungible: Compact<u128>;
510 readonly type: 'Fungible' | 'NonFungible';562 readonly type: 'Fungible' | 'NonFungible';
511 }563 }
512564
513 /** @name XcmV1MultiassetAssetInstance (56) */565 /** @name XcmV1MultiassetAssetInstance (58) */
514 interface XcmV1MultiassetAssetInstance extends Enum {566 interface XcmV1MultiassetAssetInstance extends Enum {
515 readonly isUndefined: boolean;567 readonly isUndefined: boolean;
516 readonly isIndex: boolean;568 readonly isIndex: boolean;
528 readonly type: 'Undefined' | 'Index' | 'Array4' | 'Array8' | 'Array16' | 'Array32' | 'Blob';580 readonly type: 'Undefined' | 'Index' | 'Array4' | 'Array8' | 'Array16' | 'Array32' | 'Blob';
529 }581 }
530582
531 /** @name OrmlTokensModuleEvent (59) */583 /** @name OrmlTokensModuleEvent (61) */
532 interface OrmlTokensModuleEvent extends Enum {584 interface OrmlTokensModuleEvent extends Enum {
533 readonly isEndowed: boolean;585 readonly isEndowed: boolean;
534 readonly asEndowed: {586 readonly asEndowed: {
616 readonly type: 'Endowed' | 'DustLost' | 'Transfer' | 'Reserved' | 'Unreserved' | 'ReserveRepatriated' | 'BalanceSet' | 'TotalIssuanceSet' | 'Withdrawn' | 'Slashed' | 'Deposited' | 'LockSet' | 'LockRemoved';668 readonly type: 'Endowed' | 'DustLost' | 'Transfer' | 'Reserved' | 'Unreserved' | 'ReserveRepatriated' | 'BalanceSet' | 'TotalIssuanceSet' | 'Withdrawn' | 'Slashed' | 'Deposited' | 'LockSet' | 'LockRemoved';
617 }669 }
618670
619 /** @name PalletForeignAssetsAssetIds (60) */671 /** @name PalletForeignAssetsAssetIds (62) */
620 interface PalletForeignAssetsAssetIds extends Enum {672 interface PalletForeignAssetsAssetIds extends Enum {
621 readonly isForeignAssetId: boolean;673 readonly isForeignAssetId: boolean;
622 readonly asForeignAssetId: u32;674 readonly asForeignAssetId: u32;
625 readonly type: 'ForeignAssetId' | 'NativeAssetId';677 readonly type: 'ForeignAssetId' | 'NativeAssetId';
626 }678 }
627679
628 /** @name PalletForeignAssetsNativeCurrency (61) */680 /** @name PalletForeignAssetsNativeCurrency (63) */
629 interface PalletForeignAssetsNativeCurrency extends Enum {681 interface PalletForeignAssetsNativeCurrency extends Enum {
630 readonly isHere: boolean;682 readonly isHere: boolean;
631 readonly isParent: boolean;683 readonly isParent: boolean;
632 readonly type: 'Here' | 'Parent';684 readonly type: 'Here' | 'Parent';
633 }685 }
634686
635 /** @name CumulusPalletXcmpQueueEvent (62) */687 /** @name CumulusPalletXcmpQueueEvent (64) */
636 interface CumulusPalletXcmpQueueEvent extends Enum {688 interface CumulusPalletXcmpQueueEvent extends Enum {
637 readonly isSuccess: boolean;689 readonly isSuccess: boolean;
638 readonly asSuccess: {690 readonly asSuccess: {
676 readonly type: 'Success' | 'Fail' | 'BadVersion' | 'BadFormat' | 'UpwardMessageSent' | 'XcmpMessageSent' | 'OverweightEnqueued' | 'OverweightServiced';728 readonly type: 'Success' | 'Fail' | 'BadVersion' | 'BadFormat' | 'UpwardMessageSent' | 'XcmpMessageSent' | 'OverweightEnqueued' | 'OverweightServiced';
677 }729 }
678730
679 /** @name XcmV2TraitsError (64) */731 /** @name XcmV2TraitsError (66) */
680 interface XcmV2TraitsError extends Enum {732 interface XcmV2TraitsError extends Enum {
681 readonly isOverflow: boolean;733 readonly isOverflow: boolean;
682 readonly isUnimplemented: boolean;734 readonly isUnimplemented: boolean;
709 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';761 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';
710 }762 }
711763
712 /** @name PalletXcmEvent (66) */764 /** @name PalletXcmEvent (68) */
713 interface PalletXcmEvent extends Enum {765 interface PalletXcmEvent extends Enum {
714 readonly isAttempted: boolean;766 readonly isAttempted: boolean;
715 readonly asAttempted: XcmV2TraitsOutcome;767 readonly asAttempted: XcmV2TraitsOutcome;
748 readonly type: 'Attempted' | 'Sent' | 'UnexpectedResponse' | 'ResponseReady' | 'Notified' | 'NotifyOverweight' | 'NotifyDispatchError' | 'NotifyDecodeFailed' | 'InvalidResponder' | 'InvalidResponderVersion' | 'ResponseTaken' | 'AssetsTrapped' | 'VersionChangeNotified' | 'SupportedVersionChanged' | 'NotifyTargetSendFail' | 'NotifyTargetMigrationFail' | 'AssetsClaimed';800 readonly type: 'Attempted' | 'Sent' | 'UnexpectedResponse' | 'ResponseReady' | 'Notified' | 'NotifyOverweight' | 'NotifyDispatchError' | 'NotifyDecodeFailed' | 'InvalidResponder' | 'InvalidResponderVersion' | 'ResponseTaken' | 'AssetsTrapped' | 'VersionChangeNotified' | 'SupportedVersionChanged' | 'NotifyTargetSendFail' | 'NotifyTargetMigrationFail' | 'AssetsClaimed';
749 }801 }
750802
751 /** @name XcmV2TraitsOutcome (67) */803 /** @name XcmV2TraitsOutcome (69) */
752 interface XcmV2TraitsOutcome extends Enum {804 interface XcmV2TraitsOutcome extends Enum {
753 readonly isComplete: boolean;805 readonly isComplete: boolean;
754 readonly asComplete: u64;806 readonly asComplete: u64;
759 readonly type: 'Complete' | 'Incomplete' | 'Error';811 readonly type: 'Complete' | 'Incomplete' | 'Error';
760 }812 }
761813
762 /** @name XcmV2Xcm (68) */814 /** @name XcmV2Xcm (70) */
763 interface XcmV2Xcm extends Vec<XcmV2Instruction> {}815 interface XcmV2Xcm extends Vec<XcmV2Instruction> {}
764816
765 /** @name XcmV2Instruction (70) */817 /** @name XcmV2Instruction (72) */
766 interface XcmV2Instruction extends Enum {818 interface XcmV2Instruction extends Enum {
767 readonly isWithdrawAsset: boolean;819 readonly isWithdrawAsset: boolean;
768 readonly asWithdrawAsset: XcmV1MultiassetMultiAssets;820 readonly asWithdrawAsset: XcmV1MultiassetMultiAssets;
882 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';934 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';
883 }935 }
884936
885 /** @name XcmV2Response (71) */937 /** @name XcmV2Response (73) */
886 interface XcmV2Response extends Enum {938 interface XcmV2Response extends Enum {
887 readonly isNull: boolean;939 readonly isNull: boolean;
888 readonly isAssets: boolean;940 readonly isAssets: boolean;
894 readonly type: 'Null' | 'Assets' | 'ExecutionResult' | 'Version';946 readonly type: 'Null' | 'Assets' | 'ExecutionResult' | 'Version';
895 }947 }
896948
897 /** @name XcmV0OriginKind (74) */949 /** @name XcmV0OriginKind (76) */
898 interface XcmV0OriginKind extends Enum {950 interface XcmV0OriginKind extends Enum {
899 readonly isNative: boolean;951 readonly isNative: boolean;
900 readonly isSovereignAccount: boolean;952 readonly isSovereignAccount: boolean;
903 readonly type: 'Native' | 'SovereignAccount' | 'Superuser' | 'Xcm';955 readonly type: 'Native' | 'SovereignAccount' | 'Superuser' | 'Xcm';
904 }956 }
905957
906 /** @name XcmDoubleEncoded (75) */958 /** @name XcmDoubleEncoded (77) */
907 interface XcmDoubleEncoded extends Struct {959 interface XcmDoubleEncoded extends Struct {
908 readonly encoded: Bytes;960 readonly encoded: Bytes;
909 }961 }
910962
911 /** @name XcmV1MultiassetMultiAssetFilter (76) */963 /** @name XcmV1MultiassetMultiAssetFilter (78) */
912 interface XcmV1MultiassetMultiAssetFilter extends Enum {964 interface XcmV1MultiassetMultiAssetFilter extends Enum {
913 readonly isDefinite: boolean;965 readonly isDefinite: boolean;
914 readonly asDefinite: XcmV1MultiassetMultiAssets;966 readonly asDefinite: XcmV1MultiassetMultiAssets;
917 readonly type: 'Definite' | 'Wild';969 readonly type: 'Definite' | 'Wild';
918 }970 }
919971
920 /** @name XcmV1MultiassetWildMultiAsset (77) */972 /** @name XcmV1MultiassetWildMultiAsset (79) */
921 interface XcmV1MultiassetWildMultiAsset extends Enum {973 interface XcmV1MultiassetWildMultiAsset extends Enum {
922 readonly isAll: boolean;974 readonly isAll: boolean;
923 readonly isAllOf: boolean;975 readonly isAllOf: boolean;
928 readonly type: 'All' | 'AllOf';980 readonly type: 'All' | 'AllOf';
929 }981 }
930982
931 /** @name XcmV1MultiassetWildFungibility (78) */983 /** @name XcmV1MultiassetWildFungibility (80) */
932 interface XcmV1MultiassetWildFungibility extends Enum {984 interface XcmV1MultiassetWildFungibility extends Enum {
933 readonly isFungible: boolean;985 readonly isFungible: boolean;
934 readonly isNonFungible: boolean;986 readonly isNonFungible: boolean;
935 readonly type: 'Fungible' | 'NonFungible';987 readonly type: 'Fungible' | 'NonFungible';
936 }988 }
937989
938 /** @name XcmV2WeightLimit (79) */990 /** @name XcmV2WeightLimit (81) */
939 interface XcmV2WeightLimit extends Enum {991 interface XcmV2WeightLimit extends Enum {
940 readonly isUnlimited: boolean;992 readonly isUnlimited: boolean;
941 readonly isLimited: boolean;993 readonly isLimited: boolean;
942 readonly asLimited: Compact<u64>;994 readonly asLimited: Compact<u64>;
943 readonly type: 'Unlimited' | 'Limited';995 readonly type: 'Unlimited' | 'Limited';
944 }996 }
945997
946 /** @name XcmVersionedMultiAssets (81) */998 /** @name XcmVersionedMultiAssets (83) */
947 interface XcmVersionedMultiAssets extends Enum {999 interface XcmVersionedMultiAssets extends Enum {
948 readonly isV0: boolean;1000 readonly isV0: boolean;
949 readonly asV0: Vec<XcmV0MultiAsset>;1001 readonly asV0: Vec<XcmV0MultiAsset>;
952 readonly type: 'V0' | 'V1';1004 readonly type: 'V0' | 'V1';
953 }1005 }
9541006
955 /** @name XcmV0MultiAsset (83) */1007 /** @name XcmV0MultiAsset (85) */
956 interface XcmV0MultiAsset extends Enum {1008 interface XcmV0MultiAsset extends Enum {
957 readonly isNone: boolean;1009 readonly isNone: boolean;
958 readonly isAll: boolean;1010 readonly isAll: boolean;
997 readonly type: 'None' | 'All' | 'AllFungible' | 'AllNonFungible' | 'AllAbstractFungible' | 'AllAbstractNonFungible' | 'AllConcreteFungible' | 'AllConcreteNonFungible' | 'AbstractFungible' | 'AbstractNonFungible' | 'ConcreteFungible' | 'ConcreteNonFungible';1049 readonly type: 'None' | 'All' | 'AllFungible' | 'AllNonFungible' | 'AllAbstractFungible' | 'AllAbstractNonFungible' | 'AllConcreteFungible' | 'AllConcreteNonFungible' | 'AbstractFungible' | 'AbstractNonFungible' | 'ConcreteFungible' | 'ConcreteNonFungible';
998 }1050 }
9991051
1000 /** @name XcmV0MultiLocation (84) */1052 /** @name XcmV0MultiLocation (86) */
1001 interface XcmV0MultiLocation extends Enum {1053 interface XcmV0MultiLocation extends Enum {
1002 readonly isNull: boolean;1054 readonly isNull: boolean;
1003 readonly isX1: boolean;1055 readonly isX1: boolean;
1019 readonly type: 'Null' | 'X1' | 'X2' | 'X3' | 'X4' | 'X5' | 'X6' | 'X7' | 'X8';1071 readonly type: 'Null' | 'X1' | 'X2' | 'X3' | 'X4' | 'X5' | 'X6' | 'X7' | 'X8';
1020 }1072 }
10211073
1022 /** @name XcmV0Junction (85) */1074 /** @name XcmV0Junction (87) */
1023 interface XcmV0Junction extends Enum {1075 interface XcmV0Junction extends Enum {
1024 readonly isParent: boolean;1076 readonly isParent: boolean;
1025 readonly isParachain: boolean;1077 readonly isParachain: boolean;
1054 readonly type: 'Parent' | 'Parachain' | 'AccountId32' | 'AccountIndex64' | 'AccountKey20' | 'PalletInstance' | 'GeneralIndex' | 'GeneralKey' | 'OnlyChild' | 'Plurality';1106 readonly type: 'Parent' | 'Parachain' | 'AccountId32' | 'AccountIndex64' | 'AccountKey20' | 'PalletInstance' | 'GeneralIndex' | 'GeneralKey' | 'OnlyChild' | 'Plurality';
1055 }1107 }
10561108
1057 /** @name XcmVersionedMultiLocation (86) */1109 /** @name XcmVersionedMultiLocation (88) */
1058 interface XcmVersionedMultiLocation extends Enum {1110 interface XcmVersionedMultiLocation extends Enum {
1059 readonly isV0: boolean;1111 readonly isV0: boolean;
1060 readonly asV0: XcmV0MultiLocation;1112 readonly asV0: XcmV0MultiLocation;
1063 readonly type: 'V0' | 'V1';1115 readonly type: 'V0' | 'V1';
1064 }1116 }
10651117
1066 /** @name CumulusPalletXcmEvent (87) */1118 /** @name CumulusPalletXcmEvent (89) */
1067 interface CumulusPalletXcmEvent extends Enum {1119 interface CumulusPalletXcmEvent extends Enum {
1068 readonly isInvalidFormat: boolean;1120 readonly isInvalidFormat: boolean;
1069 readonly asInvalidFormat: U8aFixed;1121 readonly asInvalidFormat: U8aFixed;
1074 readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward';1126 readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward';
1075 }1127 }
10761128
1077 /** @name CumulusPalletDmpQueueEvent (88) */1129 /** @name CumulusPalletDmpQueueEvent (90) */
1078 interface CumulusPalletDmpQueueEvent extends Enum {1130 interface CumulusPalletDmpQueueEvent extends Enum {
1079 readonly isInvalidFormat: boolean;1131 readonly isInvalidFormat: boolean;
1080 readonly asInvalidFormat: {1132 readonly asInvalidFormat: {
1109 readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward' | 'WeightExhausted' | 'OverweightEnqueued' | 'OverweightServiced';1161 readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward' | 'WeightExhausted' | 'OverweightEnqueued' | 'OverweightServiced';
1110 }1162 }
11111163
1112 /** @name PalletCommonEvent (89) */1164 /** @name PalletCommonEvent (91) */
1113 interface PalletCommonEvent extends Enum {1165 interface PalletCommonEvent extends Enum {
1114 readonly isCollectionCreated: boolean;1166 readonly isCollectionCreated: boolean;
1115 readonly asCollectionCreated: ITuple<[u32, u8, AccountId32]>;1167 readonly asCollectionCreated: ITuple<[u32, u8, AccountId32]>;
1158 readonly type: 'CollectionCreated' | 'CollectionDestroyed' | 'ItemCreated' | 'ItemDestroyed' | 'Transfer' | 'Approved' | 'ApprovedForAll' | 'CollectionPropertySet' | 'CollectionPropertyDeleted' | 'TokenPropertySet' | 'TokenPropertyDeleted' | 'PropertyPermissionSet' | 'AllowListAddressAdded' | 'AllowListAddressRemoved' | 'CollectionAdminAdded' | 'CollectionAdminRemoved' | 'CollectionLimitSet' | 'CollectionOwnerChanged' | 'CollectionPermissionSet' | 'CollectionSponsorSet' | 'SponsorshipConfirmed' | 'CollectionSponsorRemoved';1210 readonly type: 'CollectionCreated' | 'CollectionDestroyed' | 'ItemCreated' | 'ItemDestroyed' | 'Transfer' | 'Approved' | 'ApprovedForAll' | 'CollectionPropertySet' | 'CollectionPropertyDeleted' | 'TokenPropertySet' | 'TokenPropertyDeleted' | 'PropertyPermissionSet' | 'AllowListAddressAdded' | 'AllowListAddressRemoved' | 'CollectionAdminAdded' | 'CollectionAdminRemoved' | 'CollectionLimitSet' | 'CollectionOwnerChanged' | 'CollectionPermissionSet' | 'CollectionSponsorSet' | 'SponsorshipConfirmed' | 'CollectionSponsorRemoved';
1159 }1211 }
11601212
1161 /** @name PalletEvmAccountBasicCrossAccountIdRepr (92) */1213 /** @name PalletEvmAccountBasicCrossAccountIdRepr (94) */
1162 interface PalletEvmAccountBasicCrossAccountIdRepr extends Enum {1214 interface PalletEvmAccountBasicCrossAccountIdRepr extends Enum {
1163 readonly isSubstrate: boolean;1215 readonly isSubstrate: boolean;
1164 readonly asSubstrate: AccountId32;1216 readonly asSubstrate: AccountId32;
1167 readonly type: 'Substrate' | 'Ethereum';1219 readonly type: 'Substrate' | 'Ethereum';
1168 }1220 }
11691221
1170 /** @name PalletStructureEvent (96) */1222 /** @name PalletStructureEvent (98) */
1171 interface PalletStructureEvent extends Enum {1223 interface PalletStructureEvent extends Enum {
1172 readonly isExecuted: boolean;1224 readonly isExecuted: boolean;
1173 readonly asExecuted: Result<Null, SpRuntimeDispatchError>;1225 readonly asExecuted: Result<Null, SpRuntimeDispatchError>;
1174 readonly type: 'Executed';1226 readonly type: 'Executed';
1175 }1227 }
11761228
1177 /** @name PalletRmrkCoreEvent (97) */1229 /** @name PalletRmrkCoreEvent (99) */
1178 interface PalletRmrkCoreEvent extends Enum {1230 interface PalletRmrkCoreEvent extends Enum {
1179 readonly isCollectionCreated: boolean;1231 readonly isCollectionCreated: boolean;
1180 readonly asCollectionCreated: {1232 readonly asCollectionCreated: {
1264 readonly type: 'CollectionCreated' | 'CollectionDestroyed' | 'IssuerChanged' | 'CollectionLocked' | 'NftMinted' | 'NftBurned' | 'NftSent' | 'NftAccepted' | 'NftRejected' | 'PropertySet' | 'ResourceAdded' | 'ResourceRemoval' | 'ResourceAccepted' | 'ResourceRemovalAccepted' | 'PrioritySet';1316 readonly type: 'CollectionCreated' | 'CollectionDestroyed' | 'IssuerChanged' | 'CollectionLocked' | 'NftMinted' | 'NftBurned' | 'NftSent' | 'NftAccepted' | 'NftRejected' | 'PropertySet' | 'ResourceAdded' | 'ResourceRemoval' | 'ResourceAccepted' | 'ResourceRemovalAccepted' | 'PrioritySet';
1265 }1317 }
12661318
1267 /** @name RmrkTraitsNftAccountIdOrCollectionNftTuple (98) */1319 /** @name RmrkTraitsNftAccountIdOrCollectionNftTuple (100) */
1268 interface RmrkTraitsNftAccountIdOrCollectionNftTuple extends Enum {1320 interface RmrkTraitsNftAccountIdOrCollectionNftTuple extends Enum {
1269 readonly isAccountId: boolean;1321 readonly isAccountId: boolean;
1270 readonly asAccountId: AccountId32;1322 readonly asAccountId: AccountId32;
1273 readonly type: 'AccountId' | 'CollectionAndNftTuple';1325 readonly type: 'AccountId' | 'CollectionAndNftTuple';
1274 }1326 }
12751327
1276 /** @name PalletRmrkEquipEvent (102) */1328 /** @name PalletRmrkEquipEvent (104) */
1277 interface PalletRmrkEquipEvent extends Enum {1329 interface PalletRmrkEquipEvent extends Enum {
1278 readonly isBaseCreated: boolean;1330 readonly isBaseCreated: boolean;
1279 readonly asBaseCreated: {1331 readonly asBaseCreated: {
1288 readonly type: 'BaseCreated' | 'EquippablesUpdated';1340 readonly type: 'BaseCreated' | 'EquippablesUpdated';
1289 }1341 }
12901342
1291 /** @name PalletAppPromotionEvent (103) */1343 /** @name PalletAppPromotionEvent (105) */
1292 interface PalletAppPromotionEvent extends Enum {1344 interface PalletAppPromotionEvent extends Enum {
1293 readonly isStakingRecalculation: boolean;1345 readonly isStakingRecalculation: boolean;
1294 readonly asStakingRecalculation: ITuple<[AccountId32, u128, u128]>;1346 readonly asStakingRecalculation: ITuple<[AccountId32, u128, u128]>;
1301 readonly type: 'StakingRecalculation' | 'Stake' | 'Unstake' | 'SetAdmin';1353 readonly type: 'StakingRecalculation' | 'Stake' | 'Unstake' | 'SetAdmin';
1302 }1354 }
13031355
1304 /** @name PalletForeignAssetsModuleEvent (104) */1356 /** @name PalletForeignAssetsModuleEvent (106) */
1305 interface PalletForeignAssetsModuleEvent extends Enum {1357 interface PalletForeignAssetsModuleEvent extends Enum {
1306 readonly isForeignAssetRegistered: boolean;1358 readonly isForeignAssetRegistered: boolean;
1307 readonly asForeignAssetRegistered: {1359 readonly asForeignAssetRegistered: {
1328 readonly type: 'ForeignAssetRegistered' | 'ForeignAssetUpdated' | 'AssetRegistered' | 'AssetUpdated';1380 readonly type: 'ForeignAssetRegistered' | 'ForeignAssetUpdated' | 'AssetRegistered' | 'AssetUpdated';
1329 }1381 }
13301382
1331 /** @name PalletForeignAssetsModuleAssetMetadata (105) */1383 /** @name PalletForeignAssetsModuleAssetMetadata (107) */
1332 interface PalletForeignAssetsModuleAssetMetadata extends Struct {1384 interface PalletForeignAssetsModuleAssetMetadata extends Struct {
1333 readonly name: Bytes;1385 readonly name: Bytes;
1334 readonly symbol: Bytes;1386 readonly symbol: Bytes;
1335 readonly decimals: u8;1387 readonly decimals: u8;
1336 readonly minimalBalance: u128;1388 readonly minimalBalance: u128;
1337 }1389 }
13381390
1339 /** @name PalletEvmEvent (106) */1391 /** @name PalletEvmEvent (108) */
1340 interface PalletEvmEvent extends Enum {1392 interface PalletEvmEvent extends Enum {
1341 readonly isLog: boolean;1393 readonly isLog: boolean;
1342 readonly asLog: {1394 readonly asLog: {
1361 readonly type: 'Log' | 'Created' | 'CreatedFailed' | 'Executed' | 'ExecutedFailed';1413 readonly type: 'Log' | 'Created' | 'CreatedFailed' | 'Executed' | 'ExecutedFailed';
1362 }1414 }
13631415
1364 /** @name EthereumLog (107) */1416 /** @name EthereumLog (109) */
1365 interface EthereumLog extends Struct {1417 interface EthereumLog extends Struct {
1366 readonly address: H160;1418 readonly address: H160;
1367 readonly topics: Vec<H256>;1419 readonly topics: Vec<H256>;
1368 readonly data: Bytes;1420 readonly data: Bytes;
1369 }1421 }
13701422
1371 /** @name PalletEthereumEvent (109) */1423 /** @name PalletEthereumEvent (111) */
1372 interface PalletEthereumEvent extends Enum {1424 interface PalletEthereumEvent extends Enum {
1373 readonly isExecuted: boolean;1425 readonly isExecuted: boolean;
1374 readonly asExecuted: {1426 readonly asExecuted: {
1380 readonly type: 'Executed';1432 readonly type: 'Executed';
1381 }1433 }
13821434
1383 /** @name EvmCoreErrorExitReason (110) */1435 /** @name EvmCoreErrorExitReason (112) */
1384 interface EvmCoreErrorExitReason extends Enum {1436 interface EvmCoreErrorExitReason extends Enum {
1385 readonly isSucceed: boolean;1437 readonly isSucceed: boolean;
1386 readonly asSucceed: EvmCoreErrorExitSucceed;1438 readonly asSucceed: EvmCoreErrorExitSucceed;
1393 readonly type: 'Succeed' | 'Error' | 'Revert' | 'Fatal';1445 readonly type: 'Succeed' | 'Error' | 'Revert' | 'Fatal';
1394 }1446 }
13951447
1396 /** @name EvmCoreErrorExitSucceed (111) */1448 /** @name EvmCoreErrorExitSucceed (113) */
1397 interface EvmCoreErrorExitSucceed extends Enum {1449 interface EvmCoreErrorExitSucceed extends Enum {
1398 readonly isStopped: boolean;1450 readonly isStopped: boolean;
1399 readonly isReturned: boolean;1451 readonly isReturned: boolean;
1400 readonly isSuicided: boolean;1452 readonly isSuicided: boolean;
1401 readonly type: 'Stopped' | 'Returned' | 'Suicided';1453 readonly type: 'Stopped' | 'Returned' | 'Suicided';
1402 }1454 }
14031455
1404 /** @name EvmCoreErrorExitError (112) */1456 /** @name EvmCoreErrorExitError (114) */
1405 interface EvmCoreErrorExitError extends Enum {1457 interface EvmCoreErrorExitError extends Enum {
1406 readonly isStackUnderflow: boolean;1458 readonly isStackUnderflow: boolean;
1407 readonly isStackOverflow: boolean;1459 readonly isStackOverflow: boolean;
1422 readonly type: 'StackUnderflow' | 'StackOverflow' | 'InvalidJump' | 'InvalidRange' | 'DesignatedInvalid' | 'CallTooDeep' | 'CreateCollision' | 'CreateContractLimit' | 'OutOfOffset' | 'OutOfGas' | 'OutOfFund' | 'PcUnderflow' | 'CreateEmpty' | 'Other' | 'InvalidCode';1474 readonly type: 'StackUnderflow' | 'StackOverflow' | 'InvalidJump' | 'InvalidRange' | 'DesignatedInvalid' | 'CallTooDeep' | 'CreateCollision' | 'CreateContractLimit' | 'OutOfOffset' | 'OutOfGas' | 'OutOfFund' | 'PcUnderflow' | 'CreateEmpty' | 'Other' | 'InvalidCode';
1423 }1475 }
14241476
1425 /** @name EvmCoreErrorExitRevert (115) */1477 /** @name EvmCoreErrorExitRevert (117) */
1426 interface EvmCoreErrorExitRevert extends Enum {1478 interface EvmCoreErrorExitRevert extends Enum {
1427 readonly isReverted: boolean;1479 readonly isReverted: boolean;
1428 readonly type: 'Reverted';1480 readonly type: 'Reverted';
1429 }1481 }
14301482
1431 /** @name EvmCoreErrorExitFatal (116) */1483 /** @name EvmCoreErrorExitFatal (118) */
1432 interface EvmCoreErrorExitFatal extends Enum {1484 interface EvmCoreErrorExitFatal extends Enum {
1433 readonly isNotSupported: boolean;1485 readonly isNotSupported: boolean;
1434 readonly isUnhandledInterrupt: boolean;1486 readonly isUnhandledInterrupt: boolean;
1439 readonly type: 'NotSupported' | 'UnhandledInterrupt' | 'CallErrorAsFatal' | 'Other';1491 readonly type: 'NotSupported' | 'UnhandledInterrupt' | 'CallErrorAsFatal' | 'Other';
1440 }1492 }
14411493
1442 /** @name PalletEvmContractHelpersEvent (117) */1494 /** @name PalletEvmContractHelpersEvent (119) */
1443 interface PalletEvmContractHelpersEvent extends Enum {1495 interface PalletEvmContractHelpersEvent extends Enum {
1444 readonly isContractSponsorSet: boolean;1496 readonly isContractSponsorSet: boolean;
1445 readonly asContractSponsorSet: ITuple<[H160, AccountId32]>;1497 readonly asContractSponsorSet: ITuple<[H160, AccountId32]>;
1450 readonly type: 'ContractSponsorSet' | 'ContractSponsorshipConfirmed' | 'ContractSponsorRemoved';1502 readonly type: 'ContractSponsorSet' | 'ContractSponsorshipConfirmed' | 'ContractSponsorRemoved';
1451 }1503 }
14521504
1453 /** @name PalletEvmMigrationEvent (118) */1505 /** @name PalletEvmMigrationEvent (120) */
1454 interface PalletEvmMigrationEvent extends Enum {1506 interface PalletEvmMigrationEvent extends Enum {
1455 readonly isTestEvent: boolean;1507 readonly isTestEvent: boolean;
1456 readonly type: 'TestEvent';1508 readonly type: 'TestEvent';
1457 }1509 }
14581510
1459 /** @name PalletMaintenanceEvent (119) */1511 /** @name PalletMaintenanceEvent (121) */
1460 interface PalletMaintenanceEvent extends Enum {1512 interface PalletMaintenanceEvent extends Enum {
1461 readonly isMaintenanceEnabled: boolean;1513 readonly isMaintenanceEnabled: boolean;
1462 readonly isMaintenanceDisabled: boolean;1514 readonly isMaintenanceDisabled: boolean;
1463 readonly type: 'MaintenanceEnabled' | 'MaintenanceDisabled';1515 readonly type: 'MaintenanceEnabled' | 'MaintenanceDisabled';
1464 }1516 }
14651517
1466 /** @name PalletTestUtilsEvent (120) */1518 /** @name PalletTestUtilsEvent (122) */
1467 interface PalletTestUtilsEvent extends Enum {1519 interface PalletTestUtilsEvent extends Enum {
1468 readonly isValueIsSet: boolean;1520 readonly isValueIsSet: boolean;
1469 readonly isShouldRollback: boolean;1521 readonly isShouldRollback: boolean;
1470 readonly isBatchCompleted: boolean;1522 readonly isBatchCompleted: boolean;
1471 readonly type: 'ValueIsSet' | 'ShouldRollback' | 'BatchCompleted';1523 readonly type: 'ValueIsSet' | 'ShouldRollback' | 'BatchCompleted';
1472 }1524 }
14731525
1474 /** @name FrameSystemPhase (121) */1526 /** @name FrameSystemPhase (123) */
1475 interface FrameSystemPhase extends Enum {1527 interface FrameSystemPhase extends Enum {
1476 readonly isApplyExtrinsic: boolean;1528 readonly isApplyExtrinsic: boolean;
1477 readonly asApplyExtrinsic: u32;1529 readonly asApplyExtrinsic: u32;
1480 readonly type: 'ApplyExtrinsic' | 'Finalization' | 'Initialization';1532 readonly type: 'ApplyExtrinsic' | 'Finalization' | 'Initialization';
1481 }1533 }
14821534
1483 /** @name FrameSystemLastRuntimeUpgradeInfo (124) */1535 /** @name FrameSystemLastRuntimeUpgradeInfo (126) */
1484 interface FrameSystemLastRuntimeUpgradeInfo extends Struct {1536 interface FrameSystemLastRuntimeUpgradeInfo extends Struct {
1485 readonly specVersion: Compact<u32>;1537 readonly specVersion: Compact<u32>;
1486 readonly specName: Text;1538 readonly specName: Text;
1487 }1539 }
14881540
1489 /** @name FrameSystemCall (125) */1541 /** @name FrameSystemCall (127) */
1490 interface FrameSystemCall extends Enum {1542 interface FrameSystemCall extends Enum {
1491 readonly isFillBlock: boolean;1543 readonly isFillBlock: boolean;
1492 readonly asFillBlock: {1544 readonly asFillBlock: {
1528 readonly type: 'FillBlock' | 'Remark' | 'SetHeapPages' | 'SetCode' | 'SetCodeWithoutChecks' | 'SetStorage' | 'KillStorage' | 'KillPrefix' | 'RemarkWithEvent';1580 readonly type: 'FillBlock' | 'Remark' | 'SetHeapPages' | 'SetCode' | 'SetCodeWithoutChecks' | 'SetStorage' | 'KillStorage' | 'KillPrefix' | 'RemarkWithEvent';
1529 }1581 }
15301582
1531 /** @name FrameSystemLimitsBlockWeights (130) */1583 /** @name FrameSystemLimitsBlockWeights (132) */
1532 interface FrameSystemLimitsBlockWeights extends Struct {1584 interface FrameSystemLimitsBlockWeights extends Struct {
1533 readonly baseBlock: SpWeightsWeightV2Weight;1585 readonly baseBlock: SpWeightsWeightV2Weight;
1534 readonly maxBlock: SpWeightsWeightV2Weight;1586 readonly maxBlock: SpWeightsWeightV2Weight;
1535 readonly perClass: FrameSupportDispatchPerDispatchClassWeightsPerClass;1587 readonly perClass: FrameSupportDispatchPerDispatchClassWeightsPerClass;
1536 }1588 }
15371589
1538 /** @name FrameSupportDispatchPerDispatchClassWeightsPerClass (131) */1590 /** @name FrameSupportDispatchPerDispatchClassWeightsPerClass (133) */
1539 interface FrameSupportDispatchPerDispatchClassWeightsPerClass extends Struct {1591 interface FrameSupportDispatchPerDispatchClassWeightsPerClass extends Struct {
1540 readonly normal: FrameSystemLimitsWeightsPerClass;1592 readonly normal: FrameSystemLimitsWeightsPerClass;
1541 readonly operational: FrameSystemLimitsWeightsPerClass;1593 readonly operational: FrameSystemLimitsWeightsPerClass;
1542 readonly mandatory: FrameSystemLimitsWeightsPerClass;1594 readonly mandatory: FrameSystemLimitsWeightsPerClass;
1543 }1595 }
15441596
1545 /** @name FrameSystemLimitsWeightsPerClass (132) */1597 /** @name FrameSystemLimitsWeightsPerClass (134) */
1546 interface FrameSystemLimitsWeightsPerClass extends Struct {1598 interface FrameSystemLimitsWeightsPerClass extends Struct {
1547 readonly baseExtrinsic: SpWeightsWeightV2Weight;1599 readonly baseExtrinsic: SpWeightsWeightV2Weight;
1548 readonly maxExtrinsic: Option<SpWeightsWeightV2Weight>;1600 readonly maxExtrinsic: Option<SpWeightsWeightV2Weight>;
1549 readonly maxTotal: Option<SpWeightsWeightV2Weight>;1601 readonly maxTotal: Option<SpWeightsWeightV2Weight>;
1550 readonly reserved: Option<SpWeightsWeightV2Weight>;1602 readonly reserved: Option<SpWeightsWeightV2Weight>;
1551 }1603 }
15521604
1553 /** @name FrameSystemLimitsBlockLength (134) */1605 /** @name FrameSystemLimitsBlockLength (136) */
1554 interface FrameSystemLimitsBlockLength extends Struct {1606 interface FrameSystemLimitsBlockLength extends Struct {
1555 readonly max: FrameSupportDispatchPerDispatchClassU32;1607 readonly max: FrameSupportDispatchPerDispatchClassU32;
1556 }1608 }
15571609
1558 /** @name FrameSupportDispatchPerDispatchClassU32 (135) */1610 /** @name FrameSupportDispatchPerDispatchClassU32 (137) */
1559 interface FrameSupportDispatchPerDispatchClassU32 extends Struct {1611 interface FrameSupportDispatchPerDispatchClassU32 extends Struct {
1560 readonly normal: u32;1612 readonly normal: u32;
1561 readonly operational: u32;1613 readonly operational: u32;
1562 readonly mandatory: u32;1614 readonly mandatory: u32;
1563 }1615 }
15641616
1565 /** @name SpWeightsRuntimeDbWeight (136) */1617 /** @name SpWeightsRuntimeDbWeight (138) */
1566 interface SpWeightsRuntimeDbWeight extends Struct {1618 interface SpWeightsRuntimeDbWeight extends Struct {
1567 readonly read: u64;1619 readonly read: u64;
1568 readonly write: u64;1620 readonly write: u64;
1569 }1621 }
15701622
1571 /** @name SpVersionRuntimeVersion (137) */1623 /** @name SpVersionRuntimeVersion (139) */
1572 interface SpVersionRuntimeVersion extends Struct {1624 interface SpVersionRuntimeVersion extends Struct {
1573 readonly specName: Text;1625 readonly specName: Text;
1574 readonly implName: Text;1626 readonly implName: Text;
1580 readonly stateVersion: u8;1632 readonly stateVersion: u8;
1581 }1633 }
15821634
1583 /** @name FrameSystemError (142) */1635 /** @name FrameSystemError (144) */
1584 interface FrameSystemError extends Enum {1636 interface FrameSystemError extends Enum {
1585 readonly isInvalidSpecName: boolean;1637 readonly isInvalidSpecName: boolean;
1586 readonly isSpecVersionNeedsToIncrease: boolean;1638 readonly isSpecVersionNeedsToIncrease: boolean;
1591 readonly type: 'InvalidSpecName' | 'SpecVersionNeedsToIncrease' | 'FailedToExtractRuntimeVersion' | 'NonDefaultComposite' | 'NonZeroRefCount' | 'CallFiltered';1643 readonly type: 'InvalidSpecName' | 'SpecVersionNeedsToIncrease' | 'FailedToExtractRuntimeVersion' | 'NonDefaultComposite' | 'NonZeroRefCount' | 'CallFiltered';
1592 }1644 }
15931645
1594 /** @name PolkadotPrimitivesV2PersistedValidationData (143) */1646 /** @name PolkadotPrimitivesV2PersistedValidationData (145) */
1595 interface PolkadotPrimitivesV2PersistedValidationData extends Struct {1647 interface PolkadotPrimitivesV2PersistedValidationData extends Struct {
1596 readonly parentHead: Bytes;1648 readonly parentHead: Bytes;
1597 readonly relayParentNumber: u32;1649 readonly relayParentNumber: u32;
1598 readonly relayParentStorageRoot: H256;1650 readonly relayParentStorageRoot: H256;
1599 readonly maxPovSize: u32;1651 readonly maxPovSize: u32;
1600 }1652 }
16011653
1602 /** @name PolkadotPrimitivesV2UpgradeRestriction (146) */1654 /** @name PolkadotPrimitivesV2UpgradeRestriction (148) */
1603 interface PolkadotPrimitivesV2UpgradeRestriction extends Enum {1655 interface PolkadotPrimitivesV2UpgradeRestriction extends Enum {
1604 readonly isPresent: boolean;1656 readonly isPresent: boolean;
1605 readonly type: 'Present';1657 readonly type: 'Present';
1606 }1658 }
16071659
1608 /** @name SpTrieStorageProof (147) */1660 /** @name SpTrieStorageProof (149) */
1609 interface SpTrieStorageProof extends Struct {1661 interface SpTrieStorageProof extends Struct {
1610 readonly trieNodes: BTreeSet<Bytes>;1662 readonly trieNodes: BTreeSet<Bytes>;
1611 }1663 }
16121664
1613 /** @name CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot (149) */1665 /** @name CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot (151) */
1614 interface CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot extends Struct {1666 interface CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot extends Struct {
1615 readonly dmqMqcHead: H256;1667 readonly dmqMqcHead: H256;
1616 readonly relayDispatchQueueSize: ITuple<[u32, u32]>;1668 readonly relayDispatchQueueSize: ITuple<[u32, u32]>;
1617 readonly ingressChannels: Vec<ITuple<[u32, PolkadotPrimitivesV2AbridgedHrmpChannel]>>;1669 readonly ingressChannels: Vec<ITuple<[u32, PolkadotPrimitivesV2AbridgedHrmpChannel]>>;
1618 readonly egressChannels: Vec<ITuple<[u32, PolkadotPrimitivesV2AbridgedHrmpChannel]>>;1670 readonly egressChannels: Vec<ITuple<[u32, PolkadotPrimitivesV2AbridgedHrmpChannel]>>;
1619 }1671 }
16201672
1621 /** @name PolkadotPrimitivesV2AbridgedHrmpChannel (152) */1673 /** @name PolkadotPrimitivesV2AbridgedHrmpChannel (154) */
1622 interface PolkadotPrimitivesV2AbridgedHrmpChannel extends Struct {1674 interface PolkadotPrimitivesV2AbridgedHrmpChannel extends Struct {
1623 readonly maxCapacity: u32;1675 readonly maxCapacity: u32;
1624 readonly maxTotalSize: u32;1676 readonly maxTotalSize: u32;
1628 readonly mqcHead: Option<H256>;1680 readonly mqcHead: Option<H256>;
1629 }1681 }
16301682
1631 /** @name PolkadotPrimitivesV2AbridgedHostConfiguration (153) */1683 /** @name PolkadotPrimitivesV2AbridgedHostConfiguration (155) */
1632 interface PolkadotPrimitivesV2AbridgedHostConfiguration extends Struct {1684 interface PolkadotPrimitivesV2AbridgedHostConfiguration extends Struct {
1633 readonly maxCodeSize: u32;1685 readonly maxCodeSize: u32;
1634 readonly maxHeadDataSize: u32;1686 readonly maxHeadDataSize: u32;
1641 readonly validationUpgradeDelay: u32;1693 readonly validationUpgradeDelay: u32;
1642 }1694 }
16431695
1644 /** @name PolkadotCorePrimitivesOutboundHrmpMessage (159) */1696 /** @name PolkadotCorePrimitivesOutboundHrmpMessage (161) */
1645 interface PolkadotCorePrimitivesOutboundHrmpMessage extends Struct {1697 interface PolkadotCorePrimitivesOutboundHrmpMessage extends Struct {
1646 readonly recipient: u32;1698 readonly recipient: u32;
1647 readonly data: Bytes;1699 readonly data: Bytes;
1648 }1700 }
16491701
1650 /** @name CumulusPalletParachainSystemCall (160) */1702 /** @name CumulusPalletParachainSystemCall (162) */
1651 interface CumulusPalletParachainSystemCall extends Enum {1703 interface CumulusPalletParachainSystemCall extends Enum {
1652 readonly isSetValidationData: boolean;1704 readonly isSetValidationData: boolean;
1653 readonly asSetValidationData: {1705 readonly asSetValidationData: {
1668 readonly type: 'SetValidationData' | 'SudoSendUpwardMessage' | 'AuthorizeUpgrade' | 'EnactAuthorizedUpgrade';1720 readonly type: 'SetValidationData' | 'SudoSendUpwardMessage' | 'AuthorizeUpgrade' | 'EnactAuthorizedUpgrade';
1669 }1721 }
16701722
1671 /** @name CumulusPrimitivesParachainInherentParachainInherentData (161) */1723 /** @name CumulusPrimitivesParachainInherentParachainInherentData (163) */
1672 interface CumulusPrimitivesParachainInherentParachainInherentData extends Struct {1724 interface CumulusPrimitivesParachainInherentParachainInherentData extends Struct {
1673 readonly validationData: PolkadotPrimitivesV2PersistedValidationData;1725 readonly validationData: PolkadotPrimitivesV2PersistedValidationData;
1674 readonly relayChainState: SpTrieStorageProof;1726 readonly relayChainState: SpTrieStorageProof;
1675 readonly downwardMessages: Vec<PolkadotCorePrimitivesInboundDownwardMessage>;1727 readonly downwardMessages: Vec<PolkadotCorePrimitivesInboundDownwardMessage>;
1676 readonly horizontalMessages: BTreeMap<u32, Vec<PolkadotCorePrimitivesInboundHrmpMessage>>;1728 readonly horizontalMessages: BTreeMap<u32, Vec<PolkadotCorePrimitivesInboundHrmpMessage>>;
1677 }1729 }
16781730
1679 /** @name PolkadotCorePrimitivesInboundDownwardMessage (163) */1731 /** @name PolkadotCorePrimitivesInboundDownwardMessage (165) */
1680 interface PolkadotCorePrimitivesInboundDownwardMessage extends Struct {1732 interface PolkadotCorePrimitivesInboundDownwardMessage extends Struct {
1681 readonly sentAt: u32;1733 readonly sentAt: u32;
1682 readonly msg: Bytes;1734 readonly msg: Bytes;
1683 }1735 }
16841736
1685 /** @name PolkadotCorePrimitivesInboundHrmpMessage (166) */1737 /** @name PolkadotCorePrimitivesInboundHrmpMessage (168) */
1686 interface PolkadotCorePrimitivesInboundHrmpMessage extends Struct {1738 interface PolkadotCorePrimitivesInboundHrmpMessage extends Struct {
1687 readonly sentAt: u32;1739 readonly sentAt: u32;
1688 readonly data: Bytes;1740 readonly data: Bytes;
1689 }1741 }
16901742
1691 /** @name CumulusPalletParachainSystemError (169) */1743 /** @name CumulusPalletParachainSystemError (171) */
1692 interface CumulusPalletParachainSystemError extends Enum {1744 interface CumulusPalletParachainSystemError extends Enum {
1693 readonly isOverlappingUpgrades: boolean;1745 readonly isOverlappingUpgrades: boolean;
1694 readonly isProhibitedByPolkadot: boolean;1746 readonly isProhibitedByPolkadot: boolean;
1701 readonly type: 'OverlappingUpgrades' | 'ProhibitedByPolkadot' | 'TooBig' | 'ValidationDataNotAvailable' | 'HostConfigurationNotAvailable' | 'NotScheduled' | 'NothingAuthorized' | 'Unauthorized';1753 readonly type: 'OverlappingUpgrades' | 'ProhibitedByPolkadot' | 'TooBig' | 'ValidationDataNotAvailable' | 'HostConfigurationNotAvailable' | 'NotScheduled' | 'NothingAuthorized' | 'Unauthorized';
1702 }1754 }
1755
1756 /** @name PalletAuthorshipUncleEntryItem (173) */
1757 interface PalletAuthorshipUncleEntryItem extends Enum {
1758 readonly isInclusionHeight: boolean;
1759 readonly asInclusionHeight: u32;
1760 readonly isUncle: boolean;
1761 readonly asUncle: ITuple<[H256, Option<AccountId32>]>;
1762 readonly type: 'InclusionHeight' | 'Uncle';
1763 }
1764
1765 /** @name PalletAuthorshipCall (175) */
1766 interface PalletAuthorshipCall extends Enum {
1767 readonly isSetUncles: boolean;
1768 readonly asSetUncles: {
1769 readonly newUncles: Vec<SpRuntimeHeader>;
1770 } & Struct;
1771 readonly type: 'SetUncles';
1772 }
1773
1774 /** @name SpRuntimeHeader (177) */
1775 interface SpRuntimeHeader extends Struct {
1776 readonly parentHash: H256;
1777 readonly number: Compact<u32>;
1778 readonly stateRoot: H256;
1779 readonly extrinsicsRoot: H256;
1780 readonly digest: SpRuntimeDigest;
1781 }
1782
1783 /** @name SpRuntimeBlakeTwo256 (178) */
1784 type SpRuntimeBlakeTwo256 = Null;
1785
1786 /** @name PalletAuthorshipError (179) */
1787 interface PalletAuthorshipError extends Enum {
1788 readonly isInvalidUncleParent: boolean;
1789 readonly isUnclesAlreadySet: boolean;
1790 readonly isTooManyUncles: boolean;
1791 readonly isGenesisUncle: boolean;
1792 readonly isTooHighUncle: boolean;
1793 readonly isUncleAlreadyIncluded: boolean;
1794 readonly isOldUncle: boolean;
1795 readonly type: 'InvalidUncleParent' | 'UnclesAlreadySet' | 'TooManyUncles' | 'GenesisUncle' | 'TooHighUncle' | 'UncleAlreadyIncluded' | 'OldUncle';
1796 }
1797
1798 /** @name PalletCollatorSelectionCall (182) */
1799 interface PalletCollatorSelectionCall extends Enum {
1800 readonly isAddInvulnerable: boolean;
1801 readonly asAddInvulnerable: {
1802 readonly new_: AccountId32;
1803 } & Struct;
1804 readonly isRemoveInvulnerable: boolean;
1805 readonly asRemoveInvulnerable: {
1806 readonly who: AccountId32;
1807 } & Struct;
1808 readonly isSetDesiredCollators: boolean;
1809 readonly asSetDesiredCollators: {
1810 readonly max: u32;
1811 } & Struct;
1812 readonly isSetLicenseBond: boolean;
1813 readonly asSetLicenseBond: {
1814 readonly bond: u128;
1815 } & Struct;
1816 readonly isSetKickThreshold: boolean;
1817 readonly asSetKickThreshold: {
1818 readonly kickThreshold: u32;
1819 } & Struct;
1820 readonly isGetLicense: boolean;
1821 readonly isOnboard: boolean;
1822 readonly isOffboard: boolean;
1823 readonly isReleaseLicense: boolean;
1824 readonly isForceRevokeLicense: boolean;
1825 readonly asForceRevokeLicense: {
1826 readonly who: AccountId32;
1827 } & Struct;
1828 readonly type: 'AddInvulnerable' | 'RemoveInvulnerable' | 'SetDesiredCollators' | 'SetLicenseBond' | 'SetKickThreshold' | 'GetLicense' | 'Onboard' | 'Offboard' | 'ReleaseLicense' | 'ForceRevokeLicense';
1829 }
1830
1831 /** @name PalletCollatorSelectionError (183) */
1832 interface PalletCollatorSelectionError extends Enum {
1833 readonly isTooManyCandidates: boolean;
1834 readonly isUnknown: boolean;
1835 readonly isPermission: boolean;
1836 readonly isAlreadyHoldingLicense: boolean;
1837 readonly isNoLicense: boolean;
1838 readonly isAlreadyCandidate: boolean;
1839 readonly isNotCandidate: boolean;
1840 readonly isTooManyInvulnerables: boolean;
1841 readonly isTooFewInvulnerables: boolean;
1842 readonly isAlreadyInvulnerable: boolean;
1843 readonly isNotInvulnerable: boolean;
1844 readonly isNoAssociatedValidatorId: boolean;
1845 readonly isValidatorNotRegistered: boolean;
1846 readonly type: 'TooManyCandidates' | 'Unknown' | 'Permission' | 'AlreadyHoldingLicense' | 'NoLicense' | 'AlreadyCandidate' | 'NotCandidate' | 'TooManyInvulnerables' | 'TooFewInvulnerables' | 'AlreadyInvulnerable' | 'NotInvulnerable' | 'NoAssociatedValidatorId' | 'ValidatorNotRegistered';
1847 }
1848
1849 /** @name OpalRuntimeRuntimeCommonSessionKeys (186) */
1850 interface OpalRuntimeRuntimeCommonSessionKeys extends Struct {
1851 readonly aura: SpConsensusAuraSr25519AppSr25519Public;
1852 }
1853
1854 /** @name SpConsensusAuraSr25519AppSr25519Public (187) */
1855 interface SpConsensusAuraSr25519AppSr25519Public extends SpCoreSr25519Public {}
1856
1857 /** @name SpCoreSr25519Public (188) */
1858 interface SpCoreSr25519Public extends U8aFixed {}
1859
1860 /** @name SpCoreCryptoKeyTypeId (191) */
1861 interface SpCoreCryptoKeyTypeId extends U8aFixed {}
1862
1863 /** @name PalletSessionCall (192) */
1864 interface PalletSessionCall extends Enum {
1865 readonly isSetKeys: boolean;
1866 readonly asSetKeys: {
1867 readonly keys_: OpalRuntimeRuntimeCommonSessionKeys;
1868 readonly proof: Bytes;
1869 } & Struct;
1870 readonly isPurgeKeys: boolean;
1871 readonly type: 'SetKeys' | 'PurgeKeys';
1872 }
1873
1874 /** @name PalletSessionError (193) */
1875 interface PalletSessionError extends Enum {
1876 readonly isInvalidProof: boolean;
1877 readonly isNoAssociatedValidatorId: boolean;
1878 readonly isDuplicatedKey: boolean;
1879 readonly isNoKeys: boolean;
1880 readonly isNoAccount: boolean;
1881 readonly type: 'InvalidProof' | 'NoAssociatedValidatorId' | 'DuplicatedKey' | 'NoKeys' | 'NoAccount';
1882 }
17031883
1704 /** @name PalletBalancesBalanceLock (171) */1884 /** @name PalletBalancesBalanceLock (195) */
1705 interface PalletBalancesBalanceLock extends Struct {1885 interface PalletBalancesBalanceLock extends Struct {
1706 readonly id: U8aFixed;1886 readonly id: U8aFixed;
1707 readonly amount: u128;1887 readonly amount: u128;
1708 readonly reasons: PalletBalancesReasons;1888 readonly reasons: PalletBalancesReasons;
1709 }1889 }
17101890
1711 /** @name PalletBalancesReasons (172) */1891 /** @name PalletBalancesReasons (196) */
1712 interface PalletBalancesReasons extends Enum {1892 interface PalletBalancesReasons extends Enum {
1713 readonly isFee: boolean;1893 readonly isFee: boolean;
1714 readonly isMisc: boolean;1894 readonly isMisc: boolean;
1715 readonly isAll: boolean;1895 readonly isAll: boolean;
1716 readonly type: 'Fee' | 'Misc' | 'All';1896 readonly type: 'Fee' | 'Misc' | 'All';
1717 }1897 }
17181898
1719 /** @name PalletBalancesReserveData (175) */1899 /** @name PalletBalancesReserveData (199) */
1720 interface PalletBalancesReserveData extends Struct {1900 interface PalletBalancesReserveData extends Struct {
1721 readonly id: U8aFixed;1901 readonly id: U8aFixed;
1722 readonly amount: u128;1902 readonly amount: u128;
1723 }1903 }
17241904
1725 /** @name PalletBalancesReleases (177) */1905 /** @name PalletBalancesReleases (201) */
1726 interface PalletBalancesReleases extends Enum {1906 interface PalletBalancesReleases extends Enum {
1727 readonly isV100: boolean;1907 readonly isV100: boolean;
1728 readonly isV200: boolean;1908 readonly isV200: boolean;
1729 readonly type: 'V100' | 'V200';1909 readonly type: 'V100' | 'V200';
1730 }1910 }
17311911
1732 /** @name PalletBalancesCall (178) */1912 /** @name PalletBalancesCall (202) */
1733 interface PalletBalancesCall extends Enum {1913 interface PalletBalancesCall extends Enum {
1734 readonly isTransfer: boolean;1914 readonly isTransfer: boolean;
1735 readonly asTransfer: {1915 readonly asTransfer: {
1766 readonly type: 'Transfer' | 'SetBalance' | 'ForceTransfer' | 'TransferKeepAlive' | 'TransferAll' | 'ForceUnreserve';1946 readonly type: 'Transfer' | 'SetBalance' | 'ForceTransfer' | 'TransferKeepAlive' | 'TransferAll' | 'ForceUnreserve';
1767 }1947 }
17681948
1769 /** @name PalletBalancesError (181) */1949 /** @name PalletBalancesError (205) */
1770 interface PalletBalancesError extends Enum {1950 interface PalletBalancesError extends Enum {
1771 readonly isVestingBalance: boolean;1951 readonly isVestingBalance: boolean;
1772 readonly isLiquidityRestrictions: boolean;1952 readonly isLiquidityRestrictions: boolean;
1779 readonly type: 'VestingBalance' | 'LiquidityRestrictions' | 'InsufficientBalance' | 'ExistentialDeposit' | 'KeepAlive' | 'ExistingVestingSchedule' | 'DeadAccount' | 'TooManyReserves';1959 readonly type: 'VestingBalance' | 'LiquidityRestrictions' | 'InsufficientBalance' | 'ExistentialDeposit' | 'KeepAlive' | 'ExistingVestingSchedule' | 'DeadAccount' | 'TooManyReserves';
1780 }1960 }
17811961
1782 /** @name PalletTimestampCall (183) */1962 /** @name PalletTimestampCall (207) */
1783 interface PalletTimestampCall extends Enum {1963 interface PalletTimestampCall extends Enum {
1784 readonly isSet: boolean;1964 readonly isSet: boolean;
1785 readonly asSet: {1965 readonly asSet: {
1788 readonly type: 'Set';1968 readonly type: 'Set';
1789 }1969 }
17901970
1791 /** @name PalletTransactionPaymentReleases (185) */1971 /** @name PalletTransactionPaymentReleases (209) */
1792 interface PalletTransactionPaymentReleases extends Enum {1972 interface PalletTransactionPaymentReleases extends Enum {
1793 readonly isV1Ancient: boolean;1973 readonly isV1Ancient: boolean;
1794 readonly isV2: boolean;1974 readonly isV2: boolean;
1795 readonly type: 'V1Ancient' | 'V2';1975 readonly type: 'V1Ancient' | 'V2';
1796 }1976 }
17971977
1798 /** @name PalletTreasuryProposal (186) */1978 /** @name PalletTreasuryProposal (210) */
1799 interface PalletTreasuryProposal extends Struct {1979 interface PalletTreasuryProposal extends Struct {
1800 readonly proposer: AccountId32;1980 readonly proposer: AccountId32;
1801 readonly value: u128;1981 readonly value: u128;
1802 readonly beneficiary: AccountId32;1982 readonly beneficiary: AccountId32;
1803 readonly bond: u128;1983 readonly bond: u128;
1804 }1984 }
18051985
1806 /** @name PalletTreasuryCall (189) */1986 /** @name PalletTreasuryCall (212) */
1807 interface PalletTreasuryCall extends Enum {1987 interface PalletTreasuryCall extends Enum {
1808 readonly isProposeSpend: boolean;1988 readonly isProposeSpend: boolean;
1809 readonly asProposeSpend: {1989 readonly asProposeSpend: {
1830 readonly type: 'ProposeSpend' | 'RejectProposal' | 'ApproveProposal' | 'Spend' | 'RemoveApproval';2010 readonly type: 'ProposeSpend' | 'RejectProposal' | 'ApproveProposal' | 'Spend' | 'RemoveApproval';
1831 }2011 }
18322012
1833 /** @name FrameSupportPalletId (192) */2013 /** @name FrameSupportPalletId (215) */
1834 interface FrameSupportPalletId extends U8aFixed {}2014 interface FrameSupportPalletId extends U8aFixed {}
18352015
1836 /** @name PalletTreasuryError (193) */2016 /** @name PalletTreasuryError (216) */
1837 interface PalletTreasuryError extends Enum {2017 interface PalletTreasuryError extends Enum {
1838 readonly isInsufficientProposersBalance: boolean;2018 readonly isInsufficientProposersBalance: boolean;
1839 readonly isInvalidIndex: boolean;2019 readonly isInvalidIndex: boolean;
1843 readonly type: 'InsufficientProposersBalance' | 'InvalidIndex' | 'TooManyApprovals' | 'InsufficientPermission' | 'ProposalNotApproved';2023 readonly type: 'InsufficientProposersBalance' | 'InvalidIndex' | 'TooManyApprovals' | 'InsufficientPermission' | 'ProposalNotApproved';
1844 }2024 }
18452025
1846 /** @name PalletSudoCall (194) */2026 /** @name PalletSudoCall (217) */
1847 interface PalletSudoCall extends Enum {2027 interface PalletSudoCall extends Enum {
1848 readonly isSudo: boolean;2028 readonly isSudo: boolean;
1849 readonly asSudo: {2029 readonly asSudo: {
1866 readonly type: 'Sudo' | 'SudoUncheckedWeight' | 'SetKey' | 'SudoAs';2046 readonly type: 'Sudo' | 'SudoUncheckedWeight' | 'SetKey' | 'SudoAs';
1867 }2047 }
18682048
1869 /** @name OrmlVestingModuleCall (196) */2049 /** @name OrmlVestingModuleCall (219) */
1870 interface OrmlVestingModuleCall extends Enum {2050 interface OrmlVestingModuleCall extends Enum {
1871 readonly isClaim: boolean;2051 readonly isClaim: boolean;
1872 readonly isVestedTransfer: boolean;2052 readonly isVestedTransfer: boolean;
1886 readonly type: 'Claim' | 'VestedTransfer' | 'UpdateVestingSchedules' | 'ClaimFor';2066 readonly type: 'Claim' | 'VestedTransfer' | 'UpdateVestingSchedules' | 'ClaimFor';
1887 }2067 }
18882068
1889 /** @name OrmlXtokensModuleCall (198) */2069 /** @name OrmlXtokensModuleCall (221) */
1890 interface OrmlXtokensModuleCall extends Enum {2070 interface OrmlXtokensModuleCall extends Enum {
1891 readonly isTransfer: boolean;2071 readonly isTransfer: boolean;
1892 readonly asTransfer: {2072 readonly asTransfer: {
1933 readonly type: 'Transfer' | 'TransferMultiasset' | 'TransferWithFee' | 'TransferMultiassetWithFee' | 'TransferMulticurrencies' | 'TransferMultiassets';2113 readonly type: 'Transfer' | 'TransferMultiasset' | 'TransferWithFee' | 'TransferMultiassetWithFee' | 'TransferMulticurrencies' | 'TransferMultiassets';
1934 }2114 }
19352115
1936 /** @name XcmVersionedMultiAsset (199) */2116 /** @name XcmVersionedMultiAsset (222) */
1937 interface XcmVersionedMultiAsset extends Enum {2117 interface XcmVersionedMultiAsset extends Enum {
1938 readonly isV0: boolean;2118 readonly isV0: boolean;
1939 readonly asV0: XcmV0MultiAsset;2119 readonly asV0: XcmV0MultiAsset;
1942 readonly type: 'V0' | 'V1';2122 readonly type: 'V0' | 'V1';
1943 }2123 }
19442124
1945 /** @name OrmlTokensModuleCall (202) */2125 /** @name OrmlTokensModuleCall (225) */
1946 interface OrmlTokensModuleCall extends Enum {2126 interface OrmlTokensModuleCall extends Enum {
1947 readonly isTransfer: boolean;2127 readonly isTransfer: boolean;
1948 readonly asTransfer: {2128 readonly asTransfer: {
1979 readonly type: 'Transfer' | 'TransferAll' | 'TransferKeepAlive' | 'ForceTransfer' | 'SetBalance';2159 readonly type: 'Transfer' | 'TransferAll' | 'TransferKeepAlive' | 'ForceTransfer' | 'SetBalance';
1980 }2160 }
19812161
1982 /** @name CumulusPalletXcmpQueueCall (203) */2162 /** @name CumulusPalletXcmpQueueCall (226) */
1983 interface CumulusPalletXcmpQueueCall extends Enum {2163 interface CumulusPalletXcmpQueueCall extends Enum {
1984 readonly isServiceOverweight: boolean;2164 readonly isServiceOverweight: boolean;
1985 readonly asServiceOverweight: {2165 readonly asServiceOverweight: {
2015 readonly type: 'ServiceOverweight' | 'SuspendXcmExecution' | 'ResumeXcmExecution' | 'UpdateSuspendThreshold' | 'UpdateDropThreshold' | 'UpdateResumeThreshold' | 'UpdateThresholdWeight' | 'UpdateWeightRestrictDecay' | 'UpdateXcmpMaxIndividualWeight';2195 readonly type: 'ServiceOverweight' | 'SuspendXcmExecution' | 'ResumeXcmExecution' | 'UpdateSuspendThreshold' | 'UpdateDropThreshold' | 'UpdateResumeThreshold' | 'UpdateThresholdWeight' | 'UpdateWeightRestrictDecay' | 'UpdateXcmpMaxIndividualWeight';
2016 }2196 }
20172197
2018 /** @name PalletXcmCall (204) */2198 /** @name PalletXcmCall (227) */
2019 interface PalletXcmCall extends Enum {2199 interface PalletXcmCall extends Enum {
2020 readonly isSend: boolean;2200 readonly isSend: boolean;
2021 readonly asSend: {2201 readonly asSend: {
2077 readonly type: 'Send' | 'TeleportAssets' | 'ReserveTransferAssets' | 'Execute' | 'ForceXcmVersion' | 'ForceDefaultXcmVersion' | 'ForceSubscribeVersionNotify' | 'ForceUnsubscribeVersionNotify' | 'LimitedReserveTransferAssets' | 'LimitedTeleportAssets';2257 readonly type: 'Send' | 'TeleportAssets' | 'ReserveTransferAssets' | 'Execute' | 'ForceXcmVersion' | 'ForceDefaultXcmVersion' | 'ForceSubscribeVersionNotify' | 'ForceUnsubscribeVersionNotify' | 'LimitedReserveTransferAssets' | 'LimitedTeleportAssets';
2078 }2258 }
20792259
2080 /** @name XcmVersionedXcm (205) */2260 /** @name XcmVersionedXcm (228) */
2081 interface XcmVersionedXcm extends Enum {2261 interface XcmVersionedXcm extends Enum {
2082 readonly isV0: boolean;2262 readonly isV0: boolean;
2083 readonly asV0: XcmV0Xcm;2263 readonly asV0: XcmV0Xcm;
2088 readonly type: 'V0' | 'V1' | 'V2';2268 readonly type: 'V0' | 'V1' | 'V2';
2089 }2269 }
20902270
2091 /** @name XcmV0Xcm (206) */2271 /** @name XcmV0Xcm (229) */
2092 interface XcmV0Xcm extends Enum {2272 interface XcmV0Xcm extends Enum {
2093 readonly isWithdrawAsset: boolean;2273 readonly isWithdrawAsset: boolean;
2094 readonly asWithdrawAsset: {2274 readonly asWithdrawAsset: {
2151 readonly type: 'WithdrawAsset' | 'ReserveAssetDeposit' | 'TeleportAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'RelayedFrom';2331 readonly type: 'WithdrawAsset' | 'ReserveAssetDeposit' | 'TeleportAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'RelayedFrom';
2152 }2332 }
21532333
2154 /** @name XcmV0Order (208) */2334 /** @name XcmV0Order (231) */
2155 interface XcmV0Order extends Enum {2335 interface XcmV0Order extends Enum {
2156 readonly isNull: boolean;2336 readonly isNull: boolean;
2157 readonly isDepositAsset: boolean;2337 readonly isDepositAsset: boolean;
2199 readonly type: 'Null' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution';2379 readonly type: 'Null' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution';
2200 }2380 }
22012381
2202 /** @name XcmV0Response (210) */2382 /** @name XcmV0Response (233) */
2203 interface XcmV0Response extends Enum {2383 interface XcmV0Response extends Enum {
2204 readonly isAssets: boolean;2384 readonly isAssets: boolean;
2205 readonly asAssets: Vec<XcmV0MultiAsset>;2385 readonly asAssets: Vec<XcmV0MultiAsset>;
2206 readonly type: 'Assets';2386 readonly type: 'Assets';
2207 }2387 }
22082388
2209 /** @name XcmV1Xcm (211) */2389 /** @name XcmV1Xcm (234) */
2210 interface XcmV1Xcm extends Enum {2390 interface XcmV1Xcm extends Enum {
2211 readonly isWithdrawAsset: boolean;2391 readonly isWithdrawAsset: boolean;
2212 readonly asWithdrawAsset: {2392 readonly asWithdrawAsset: {
2275 readonly type: 'WithdrawAsset' | 'ReserveAssetDeposited' | 'ReceiveTeleportedAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'RelayedFrom' | 'SubscribeVersion' | 'UnsubscribeVersion';2455 readonly type: 'WithdrawAsset' | 'ReserveAssetDeposited' | 'ReceiveTeleportedAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'RelayedFrom' | 'SubscribeVersion' | 'UnsubscribeVersion';
2276 }2456 }
22772457
2278 /** @name XcmV1Order (213) */2458 /** @name XcmV1Order (236) */
2279 interface XcmV1Order extends Enum {2459 interface XcmV1Order extends Enum {
2280 readonly isNoop: boolean;2460 readonly isNoop: boolean;
2281 readonly isDepositAsset: boolean;2461 readonly isDepositAsset: boolean;
2325 readonly type: 'Noop' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution';2505 readonly type: 'Noop' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution';
2326 }2506 }
23272507
2328 /** @name XcmV1Response (215) */2508 /** @name XcmV1Response (238) */
2329 interface XcmV1Response extends Enum {2509 interface XcmV1Response extends Enum {
2330 readonly isAssets: boolean;2510 readonly isAssets: boolean;
2331 readonly asAssets: XcmV1MultiassetMultiAssets;2511 readonly asAssets: XcmV1MultiassetMultiAssets;
2334 readonly type: 'Assets' | 'Version';2514 readonly type: 'Assets' | 'Version';
2335 }2515 }
23362516
2337 /** @name CumulusPalletXcmCall (229) */2517 /** @name CumulusPalletXcmCall (252) */
2338 type CumulusPalletXcmCall = Null;2518 type CumulusPalletXcmCall = Null;
23392519
2340 /** @name CumulusPalletDmpQueueCall (230) */2520 /** @name CumulusPalletDmpQueueCall (253) */
2341 interface CumulusPalletDmpQueueCall extends Enum {2521 interface CumulusPalletDmpQueueCall extends Enum {
2342 readonly isServiceOverweight: boolean;2522 readonly isServiceOverweight: boolean;
2343 readonly asServiceOverweight: {2523 readonly asServiceOverweight: {
2347 readonly type: 'ServiceOverweight';2527 readonly type: 'ServiceOverweight';
2348 }2528 }
23492529
2350 /** @name PalletInflationCall (231) */2530 /** @name PalletInflationCall (254) */
2351 interface PalletInflationCall extends Enum {2531 interface PalletInflationCall extends Enum {
2352 readonly isStartInflation: boolean;2532 readonly isStartInflation: boolean;
2353 readonly asStartInflation: {2533 readonly asStartInflation: {
2356 readonly type: 'StartInflation';2536 readonly type: 'StartInflation';
2357 }2537 }
23582538
2359 /** @name PalletUniqueCall (232) */2539 /** @name PalletUniqueCall (255) */
2360 interface PalletUniqueCall extends Enum {2540 interface PalletUniqueCall extends Enum {
2361 readonly isCreateCollection: boolean;2541 readonly isCreateCollection: boolean;
2362 readonly asCreateCollection: {2542 readonly asCreateCollection: {
2517 readonly operator: PalletEvmAccountBasicCrossAccountIdRepr;2697 readonly operator: PalletEvmAccountBasicCrossAccountIdRepr;
2518 readonly approve: bool;2698 readonly approve: bool;
2519 } & Struct;2699 } & Struct;
2520 readonly isRepairItem: boolean;2700 readonly isForceRepairCollection: boolean;
2701 readonly asForceRepairCollection: {
2702 readonly collectionId: u32;
2703 } & Struct;
2704 readonly isForceRepairItem: boolean;
2521 readonly asRepairItem: {2705 readonly asForceRepairItem: {
2522 readonly collectionId: u32;2706 readonly collectionId: u32;
2523 readonly itemId: u32;2707 readonly itemId: u32;
2524 } & Struct;2708 } & Struct;
2525 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';2709 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';
2526 }2710 }
25272711
2528 /** @name UpDataStructsCollectionMode (237) */2712 /** @name UpDataStructsCollectionMode (260) */
2529 interface UpDataStructsCollectionMode extends Enum {2713 interface UpDataStructsCollectionMode extends Enum {
2530 readonly isNft: boolean;2714 readonly isNft: boolean;
2531 readonly isFungible: boolean;2715 readonly isFungible: boolean;
2534 readonly type: 'Nft' | 'Fungible' | 'ReFungible';2718 readonly type: 'Nft' | 'Fungible' | 'ReFungible';
2535 }2719 }
25362720
2537 /** @name UpDataStructsCreateCollectionData (238) */2721 /** @name UpDataStructsCreateCollectionData (261) */
2538 interface UpDataStructsCreateCollectionData extends Struct {2722 interface UpDataStructsCreateCollectionData extends Struct {
2539 readonly mode: UpDataStructsCollectionMode;2723 readonly mode: UpDataStructsCollectionMode;
2540 readonly access: Option<UpDataStructsAccessMode>;2724 readonly access: Option<UpDataStructsAccessMode>;
2548 readonly properties: Vec<UpDataStructsProperty>;2732 readonly properties: Vec<UpDataStructsProperty>;
2549 }2733 }
25502734
2551 /** @name UpDataStructsAccessMode (240) */2735 /** @name UpDataStructsAccessMode (263) */
2552 interface UpDataStructsAccessMode extends Enum {2736 interface UpDataStructsAccessMode extends Enum {
2553 readonly isNormal: boolean;2737 readonly isNormal: boolean;
2554 readonly isAllowList: boolean;2738 readonly isAllowList: boolean;
2555 readonly type: 'Normal' | 'AllowList';2739 readonly type: 'Normal' | 'AllowList';
2556 }2740 }
25572741
2558 /** @name UpDataStructsCollectionLimits (242) */2742 /** @name UpDataStructsCollectionLimits (265) */
2559 interface UpDataStructsCollectionLimits extends Struct {2743 interface UpDataStructsCollectionLimits extends Struct {
2560 readonly accountTokenOwnershipLimit: Option<u32>;2744 readonly accountTokenOwnershipLimit: Option<u32>;
2561 readonly sponsoredDataSize: Option<u32>;2745 readonly sponsoredDataSize: Option<u32>;
2568 readonly transfersEnabled: Option<bool>;2752 readonly transfersEnabled: Option<bool>;
2569 }2753 }
25702754
2571 /** @name UpDataStructsSponsoringRateLimit (244) */2755 /** @name UpDataStructsSponsoringRateLimit (267) */
2572 interface UpDataStructsSponsoringRateLimit extends Enum {2756 interface UpDataStructsSponsoringRateLimit extends Enum {
2573 readonly isSponsoringDisabled: boolean;2757 readonly isSponsoringDisabled: boolean;
2574 readonly isBlocks: boolean;2758 readonly isBlocks: boolean;
2575 readonly asBlocks: u32;2759 readonly asBlocks: u32;
2576 readonly type: 'SponsoringDisabled' | 'Blocks';2760 readonly type: 'SponsoringDisabled' | 'Blocks';
2577 }2761 }
25782762
2579 /** @name UpDataStructsCollectionPermissions (247) */2763 /** @name UpDataStructsCollectionPermissions (270) */
2580 interface UpDataStructsCollectionPermissions extends Struct {2764 interface UpDataStructsCollectionPermissions extends Struct {
2581 readonly access: Option<UpDataStructsAccessMode>;2765 readonly access: Option<UpDataStructsAccessMode>;
2582 readonly mintMode: Option<bool>;2766 readonly mintMode: Option<bool>;
2583 readonly nesting: Option<UpDataStructsNestingPermissions>;2767 readonly nesting: Option<UpDataStructsNestingPermissions>;
2584 }2768 }
25852769
2586 /** @name UpDataStructsNestingPermissions (249) */2770 /** @name UpDataStructsNestingPermissions (272) */
2587 interface UpDataStructsNestingPermissions extends Struct {2771 interface UpDataStructsNestingPermissions extends Struct {
2588 readonly tokenOwner: bool;2772 readonly tokenOwner: bool;
2589 readonly collectionAdmin: bool;2773 readonly collectionAdmin: bool;
2590 readonly restricted: Option<UpDataStructsOwnerRestrictedSet>;2774 readonly restricted: Option<UpDataStructsOwnerRestrictedSet>;
2591 }2775 }
25922776
2593 /** @name UpDataStructsOwnerRestrictedSet (251) */2777 /** @name UpDataStructsOwnerRestrictedSet (274) */
2594 interface UpDataStructsOwnerRestrictedSet extends BTreeSet<u32> {}2778 interface UpDataStructsOwnerRestrictedSet extends BTreeSet<u32> {}
25952779
2596 /** @name UpDataStructsPropertyKeyPermission (256) */2780 /** @name UpDataStructsPropertyKeyPermission (279) */
2597 interface UpDataStructsPropertyKeyPermission extends Struct {2781 interface UpDataStructsPropertyKeyPermission extends Struct {
2598 readonly key: Bytes;2782 readonly key: Bytes;
2599 readonly permission: UpDataStructsPropertyPermission;2783 readonly permission: UpDataStructsPropertyPermission;
2600 }2784 }
26012785
2602 /** @name UpDataStructsPropertyPermission (257) */2786 /** @name UpDataStructsPropertyPermission (280) */
2603 interface UpDataStructsPropertyPermission extends Struct {2787 interface UpDataStructsPropertyPermission extends Struct {
2604 readonly mutable: bool;2788 readonly mutable: bool;
2605 readonly collectionAdmin: bool;2789 readonly collectionAdmin: bool;
2606 readonly tokenOwner: bool;2790 readonly tokenOwner: bool;
2607 }2791 }
26082792
2609 /** @name UpDataStructsProperty (260) */2793 /** @name UpDataStructsProperty (283) */
2610 interface UpDataStructsProperty extends Struct {2794 interface UpDataStructsProperty extends Struct {
2611 readonly key: Bytes;2795 readonly key: Bytes;
2612 readonly value: Bytes;2796 readonly value: Bytes;
2613 }2797 }
26142798
2615 /** @name UpDataStructsCreateItemData (263) */2799 /** @name UpDataStructsCreateItemData (286) */
2616 interface UpDataStructsCreateItemData extends Enum {2800 interface UpDataStructsCreateItemData extends Enum {
2617 readonly isNft: boolean;2801 readonly isNft: boolean;
2618 readonly asNft: UpDataStructsCreateNftData;2802 readonly asNft: UpDataStructsCreateNftData;
2623 readonly type: 'Nft' | 'Fungible' | 'ReFungible';2807 readonly type: 'Nft' | 'Fungible' | 'ReFungible';
2624 }2808 }
26252809
2626 /** @name UpDataStructsCreateNftData (264) */2810 /** @name UpDataStructsCreateNftData (287) */
2627 interface UpDataStructsCreateNftData extends Struct {2811 interface UpDataStructsCreateNftData extends Struct {
2628 readonly properties: Vec<UpDataStructsProperty>;2812 readonly properties: Vec<UpDataStructsProperty>;
2629 }2813 }
26302814
2631 /** @name UpDataStructsCreateFungibleData (265) */2815 /** @name UpDataStructsCreateFungibleData (288) */
2632 interface UpDataStructsCreateFungibleData extends Struct {2816 interface UpDataStructsCreateFungibleData extends Struct {
2633 readonly value: u128;2817 readonly value: u128;
2634 }2818 }
26352819
2636 /** @name UpDataStructsCreateReFungibleData (266) */2820 /** @name UpDataStructsCreateReFungibleData (289) */
2637 interface UpDataStructsCreateReFungibleData extends Struct {2821 interface UpDataStructsCreateReFungibleData extends Struct {
2638 readonly pieces: u128;2822 readonly pieces: u128;
2639 readonly properties: Vec<UpDataStructsProperty>;2823 readonly properties: Vec<UpDataStructsProperty>;
2640 }2824 }
26412825
2642 /** @name UpDataStructsCreateItemExData (269) */2826 /** @name UpDataStructsCreateItemExData (292) */
2643 interface UpDataStructsCreateItemExData extends Enum {2827 interface UpDataStructsCreateItemExData extends Enum {
2644 readonly isNft: boolean;2828 readonly isNft: boolean;
2645 readonly asNft: Vec<UpDataStructsCreateNftExData>;2829 readonly asNft: Vec<UpDataStructsCreateNftExData>;
2652 readonly type: 'Nft' | 'Fungible' | 'RefungibleMultipleItems' | 'RefungibleMultipleOwners';2836 readonly type: 'Nft' | 'Fungible' | 'RefungibleMultipleItems' | 'RefungibleMultipleOwners';
2653 }2837 }
26542838
2655 /** @name UpDataStructsCreateNftExData (271) */2839 /** @name UpDataStructsCreateNftExData (294) */
2656 interface UpDataStructsCreateNftExData extends Struct {2840 interface UpDataStructsCreateNftExData extends Struct {
2657 readonly properties: Vec<UpDataStructsProperty>;2841 readonly properties: Vec<UpDataStructsProperty>;
2658 readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;2842 readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;
2659 }2843 }
26602844
2661 /** @name UpDataStructsCreateRefungibleExSingleOwner (278) */2845 /** @name UpDataStructsCreateRefungibleExSingleOwner (301) */
2662 interface UpDataStructsCreateRefungibleExSingleOwner extends Struct {2846 interface UpDataStructsCreateRefungibleExSingleOwner extends Struct {
2663 readonly user: PalletEvmAccountBasicCrossAccountIdRepr;2847 readonly user: PalletEvmAccountBasicCrossAccountIdRepr;
2664 readonly pieces: u128;2848 readonly pieces: u128;
2665 readonly properties: Vec<UpDataStructsProperty>;2849 readonly properties: Vec<UpDataStructsProperty>;
2666 }2850 }
26672851
2668 /** @name UpDataStructsCreateRefungibleExMultipleOwners (280) */2852 /** @name UpDataStructsCreateRefungibleExMultipleOwners (303) */
2669 interface UpDataStructsCreateRefungibleExMultipleOwners extends Struct {2853 interface UpDataStructsCreateRefungibleExMultipleOwners extends Struct {
2670 readonly users: BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>;2854 readonly users: BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>;
2671 readonly properties: Vec<UpDataStructsProperty>;2855 readonly properties: Vec<UpDataStructsProperty>;
2672 }2856 }
26732857
2674 /** @name PalletConfigurationCall (281) */2858 /** @name PalletConfigurationCall (304) */
2675 interface PalletConfigurationCall extends Enum {2859 interface PalletConfigurationCall extends Enum {
2676 readonly isSetWeightToFeeCoefficientOverride: boolean;2860 readonly isSetWeightToFeeCoefficientOverride: boolean;
2677 readonly asSetWeightToFeeCoefficientOverride: {2861 readonly asSetWeightToFeeCoefficientOverride: {
2692 readonly type: 'SetWeightToFeeCoefficientOverride' | 'SetMinGasPriceOverride' | 'SetXcmAllowedLocations' | 'SetAppPromotionConfigurationOverride';2876 readonly type: 'SetWeightToFeeCoefficientOverride' | 'SetMinGasPriceOverride' | 'SetXcmAllowedLocations' | 'SetAppPromotionConfigurationOverride';
2693 }2877 }
26942878
2695 /** @name PalletConfigurationAppPromotionConfiguration (286) */2879 /** @name PalletConfigurationAppPromotionConfiguration (309) */
2696 interface PalletConfigurationAppPromotionConfiguration extends Struct {2880 interface PalletConfigurationAppPromotionConfiguration extends Struct {
2697 readonly recalculationInterval: Option<u32>;2881 readonly recalculationInterval: Option<u32>;
2698 readonly pendingInterval: Option<u32>;2882 readonly pendingInterval: Option<u32>;
2699 readonly intervalIncome: Option<Perbill>;2883 readonly intervalIncome: Option<Perbill>;
2700 readonly maxStakersPerCalculation: Option<u8>;2884 readonly maxStakersPerCalculation: Option<u8>;
2701 }2885 }
27022886
2703 /** @name PalletTemplateTransactionPaymentCall (289) */2887 /** @name PalletTemplateTransactionPaymentCall (312) */
2704 type PalletTemplateTransactionPaymentCall = Null;2888 type PalletTemplateTransactionPaymentCall = Null;
27052889
2706 /** @name PalletStructureCall (290) */2890 /** @name PalletStructureCall (313) */
2707 type PalletStructureCall = Null;2891 type PalletStructureCall = Null;
27082892
2709 /** @name PalletRmrkCoreCall (291) */2893 /** @name PalletRmrkCoreCall (314) */
2710 interface PalletRmrkCoreCall extends Enum {2894 interface PalletRmrkCoreCall extends Enum {
2711 readonly isCreateCollection: boolean;2895 readonly isCreateCollection: boolean;
2712 readonly asCreateCollection: {2896 readonly asCreateCollection: {
2812 readonly type: 'CreateCollection' | 'DestroyCollection' | 'ChangeCollectionIssuer' | 'LockCollection' | 'MintNft' | 'BurnNft' | 'Send' | 'AcceptNft' | 'RejectNft' | 'AcceptResource' | 'AcceptResourceRemoval' | 'SetProperty' | 'SetPriority' | 'AddBasicResource' | 'AddComposableResource' | 'AddSlotResource' | 'RemoveResource';2996 readonly type: 'CreateCollection' | 'DestroyCollection' | 'ChangeCollectionIssuer' | 'LockCollection' | 'MintNft' | 'BurnNft' | 'Send' | 'AcceptNft' | 'RejectNft' | 'AcceptResource' | 'AcceptResourceRemoval' | 'SetProperty' | 'SetPriority' | 'AddBasicResource' | 'AddComposableResource' | 'AddSlotResource' | 'RemoveResource';
2813 }2997 }
28142998
2815 /** @name RmrkTraitsResourceResourceTypes (297) */2999 /** @name RmrkTraitsResourceResourceTypes (320) */
2816 interface RmrkTraitsResourceResourceTypes extends Enum {3000 interface RmrkTraitsResourceResourceTypes extends Enum {
2817 readonly isBasic: boolean;3001 readonly isBasic: boolean;
2818 readonly asBasic: RmrkTraitsResourceBasicResource;3002 readonly asBasic: RmrkTraitsResourceBasicResource;
2823 readonly type: 'Basic' | 'Composable' | 'Slot';3007 readonly type: 'Basic' | 'Composable' | 'Slot';
2824 }3008 }
28253009
2826 /** @name RmrkTraitsResourceBasicResource (299) */3010 /** @name RmrkTraitsResourceBasicResource (322) */
2827 interface RmrkTraitsResourceBasicResource extends Struct {3011 interface RmrkTraitsResourceBasicResource extends Struct {
2828 readonly src: Option<Bytes>;3012 readonly src: Option<Bytes>;
2829 readonly metadata: Option<Bytes>;3013 readonly metadata: Option<Bytes>;
2830 readonly license: Option<Bytes>;3014 readonly license: Option<Bytes>;
2831 readonly thumb: Option<Bytes>;3015 readonly thumb: Option<Bytes>;
2832 }3016 }
28333017
2834 /** @name RmrkTraitsResourceComposableResource (301) */3018 /** @name RmrkTraitsResourceComposableResource (324) */
2835 interface RmrkTraitsResourceComposableResource extends Struct {3019 interface RmrkTraitsResourceComposableResource extends Struct {
2836 readonly parts: Vec<u32>;3020 readonly parts: Vec<u32>;
2837 readonly base: u32;3021 readonly base: u32;
2841 readonly thumb: Option<Bytes>;3025 readonly thumb: Option<Bytes>;
2842 }3026 }
28433027
2844 /** @name RmrkTraitsResourceSlotResource (302) */3028 /** @name RmrkTraitsResourceSlotResource (325) */
2845 interface RmrkTraitsResourceSlotResource extends Struct {3029 interface RmrkTraitsResourceSlotResource extends Struct {
2846 readonly base: u32;3030 readonly base: u32;
2847 readonly src: Option<Bytes>;3031 readonly src: Option<Bytes>;
2851 readonly thumb: Option<Bytes>;3035 readonly thumb: Option<Bytes>;
2852 }3036 }
28533037
2854 /** @name PalletRmrkEquipCall (305) */3038 /** @name PalletRmrkEquipCall (328) */
2855 interface PalletRmrkEquipCall extends Enum {3039 interface PalletRmrkEquipCall extends Enum {
2856 readonly isCreateBase: boolean;3040 readonly isCreateBase: boolean;
2857 readonly asCreateBase: {3041 readonly asCreateBase: {
2873 readonly type: 'CreateBase' | 'ThemeAdd' | 'Equippable';3057 readonly type: 'CreateBase' | 'ThemeAdd' | 'Equippable';
2874 }3058 }
28753059
2876 /** @name RmrkTraitsPartPartType (308) */3060 /** @name RmrkTraitsPartPartType (331) */
2877 interface RmrkTraitsPartPartType extends Enum {3061 interface RmrkTraitsPartPartType extends Enum {
2878 readonly isFixedPart: boolean;3062 readonly isFixedPart: boolean;
2879 readonly asFixedPart: RmrkTraitsPartFixedPart;3063 readonly asFixedPart: RmrkTraitsPartFixedPart;
2882 readonly type: 'FixedPart' | 'SlotPart';3066 readonly type: 'FixedPart' | 'SlotPart';
2883 }3067 }
28843068
2885 /** @name RmrkTraitsPartFixedPart (310) */3069 /** @name RmrkTraitsPartFixedPart (333) */
2886 interface RmrkTraitsPartFixedPart extends Struct {3070 interface RmrkTraitsPartFixedPart extends Struct {
2887 readonly id: u32;3071 readonly id: u32;
2888 readonly z: u32;3072 readonly z: u32;
2889 readonly src: Bytes;3073 readonly src: Bytes;
2890 }3074 }
28913075
2892 /** @name RmrkTraitsPartSlotPart (311) */3076 /** @name RmrkTraitsPartSlotPart (334) */
2893 interface RmrkTraitsPartSlotPart extends Struct {3077 interface RmrkTraitsPartSlotPart extends Struct {
2894 readonly id: u32;3078 readonly id: u32;
2895 readonly equippable: RmrkTraitsPartEquippableList;3079 readonly equippable: RmrkTraitsPartEquippableList;
2896 readonly src: Bytes;3080 readonly src: Bytes;
2897 readonly z: u32;3081 readonly z: u32;
2898 }3082 }
28993083
2900 /** @name RmrkTraitsPartEquippableList (312) */3084 /** @name RmrkTraitsPartEquippableList (335) */
2901 interface RmrkTraitsPartEquippableList extends Enum {3085 interface RmrkTraitsPartEquippableList extends Enum {
2902 readonly isAll: boolean;3086 readonly isAll: boolean;
2903 readonly isEmpty: boolean;3087 readonly isEmpty: boolean;
2906 readonly type: 'All' | 'Empty' | 'Custom';3090 readonly type: 'All' | 'Empty' | 'Custom';
2907 }3091 }
29083092
2909 /** @name RmrkTraitsTheme (314) */3093 /** @name RmrkTraitsTheme (337) */
2910 interface RmrkTraitsTheme extends Struct {3094 interface RmrkTraitsTheme extends Struct {
2911 readonly name: Bytes;3095 readonly name: Bytes;
2912 readonly properties: Vec<RmrkTraitsThemeThemeProperty>;3096 readonly properties: Vec<RmrkTraitsThemeThemeProperty>;
2913 readonly inherit: bool;3097 readonly inherit: bool;
2914 }3098 }
29153099
2916 /** @name RmrkTraitsThemeThemeProperty (316) */3100 /** @name RmrkTraitsThemeThemeProperty (339) */
2917 interface RmrkTraitsThemeThemeProperty extends Struct {3101 interface RmrkTraitsThemeThemeProperty extends Struct {
2918 readonly key: Bytes;3102 readonly key: Bytes;
2919 readonly value: Bytes;3103 readonly value: Bytes;
2920 }3104 }
29213105
2922 /** @name PalletAppPromotionCall (318) */3106 /** @name PalletAppPromotionCall (341) */
2923 interface PalletAppPromotionCall extends Enum {3107 interface PalletAppPromotionCall extends Enum {
2924 readonly isSetAdminAddress: boolean;3108 readonly isSetAdminAddress: boolean;
2925 readonly asSetAdminAddress: {3109 readonly asSetAdminAddress: {
2953 readonly type: 'SetAdminAddress' | 'Stake' | 'Unstake' | 'SponsorCollection' | 'StopSponsoringCollection' | 'SponsorContract' | 'StopSponsoringContract' | 'PayoutStakers';3137 readonly type: 'SetAdminAddress' | 'Stake' | 'Unstake' | 'SponsorCollection' | 'StopSponsoringCollection' | 'SponsorContract' | 'StopSponsoringContract' | 'PayoutStakers';
2954 }3138 }
29553139
2956 /** @name PalletForeignAssetsModuleCall (319) */3140 /** @name PalletForeignAssetsModuleCall (342) */
2957 interface PalletForeignAssetsModuleCall extends Enum {3141 interface PalletForeignAssetsModuleCall extends Enum {
2958 readonly isRegisterForeignAsset: boolean;3142 readonly isRegisterForeignAsset: boolean;
2959 readonly asRegisterForeignAsset: {3143 readonly asRegisterForeignAsset: {
2970 readonly type: 'RegisterForeignAsset' | 'UpdateForeignAsset';3154 readonly type: 'RegisterForeignAsset' | 'UpdateForeignAsset';
2971 }3155 }
29723156
2973 /** @name PalletEvmCall (320) */3157 /** @name PalletEvmCall (343) */
2974 interface PalletEvmCall extends Enum {3158 interface PalletEvmCall extends Enum {
2975 readonly isWithdraw: boolean;3159 readonly isWithdraw: boolean;
2976 readonly asWithdraw: {3160 readonly asWithdraw: {
3015 readonly type: 'Withdraw' | 'Call' | 'Create' | 'Create2';3199 readonly type: 'Withdraw' | 'Call' | 'Create' | 'Create2';
3016 }3200 }
30173201
3018 /** @name PalletEthereumCall (326) */3202 /** @name PalletEthereumCall (349) */
3019 interface PalletEthereumCall extends Enum {3203 interface PalletEthereumCall extends Enum {
3020 readonly isTransact: boolean;3204 readonly isTransact: boolean;
3021 readonly asTransact: {3205 readonly asTransact: {
3024 readonly type: 'Transact';3208 readonly type: 'Transact';
3025 }3209 }
30263210
3027 /** @name EthereumTransactionTransactionV2 (327) */3211 /** @name EthereumTransactionTransactionV2 (350) */
3028 interface EthereumTransactionTransactionV2 extends Enum {3212 interface EthereumTransactionTransactionV2 extends Enum {
3029 readonly isLegacy: boolean;3213 readonly isLegacy: boolean;
3030 readonly asLegacy: EthereumTransactionLegacyTransaction;3214 readonly asLegacy: EthereumTransactionLegacyTransaction;
3035 readonly type: 'Legacy' | 'Eip2930' | 'Eip1559';3219 readonly type: 'Legacy' | 'Eip2930' | 'Eip1559';
3036 }3220 }
30373221
3038 /** @name EthereumTransactionLegacyTransaction (328) */3222 /** @name EthereumTransactionLegacyTransaction (351) */
3039 interface EthereumTransactionLegacyTransaction extends Struct {3223 interface EthereumTransactionLegacyTransaction extends Struct {
3040 readonly nonce: U256;3224 readonly nonce: U256;
3041 readonly gasPrice: U256;3225 readonly gasPrice: U256;
3046 readonly signature: EthereumTransactionTransactionSignature;3230 readonly signature: EthereumTransactionTransactionSignature;
3047 }3231 }
30483232
3049 /** @name EthereumTransactionTransactionAction (329) */3233 /** @name EthereumTransactionTransactionAction (352) */
3050 interface EthereumTransactionTransactionAction extends Enum {3234 interface EthereumTransactionTransactionAction extends Enum {
3051 readonly isCall: boolean;3235 readonly isCall: boolean;
3052 readonly asCall: H160;3236 readonly asCall: H160;
3053 readonly isCreate: boolean;3237 readonly isCreate: boolean;
3054 readonly type: 'Call' | 'Create';3238 readonly type: 'Call' | 'Create';
3055 }3239 }
30563240
3057 /** @name EthereumTransactionTransactionSignature (330) */3241 /** @name EthereumTransactionTransactionSignature (353) */
3058 interface EthereumTransactionTransactionSignature extends Struct {3242 interface EthereumTransactionTransactionSignature extends Struct {
3059 readonly v: u64;3243 readonly v: u64;
3060 readonly r: H256;3244 readonly r: H256;
3061 readonly s: H256;3245 readonly s: H256;
3062 }3246 }
30633247
3064 /** @name EthereumTransactionEip2930Transaction (332) */3248 /** @name EthereumTransactionEip2930Transaction (355) */
3065 interface EthereumTransactionEip2930Transaction extends Struct {3249 interface EthereumTransactionEip2930Transaction extends Struct {
3066 readonly chainId: u64;3250 readonly chainId: u64;
3067 readonly nonce: U256;3251 readonly nonce: U256;
3076 readonly s: H256;3260 readonly s: H256;
3077 }3261 }
30783262
3079 /** @name EthereumTransactionAccessListItem (334) */3263 /** @name EthereumTransactionAccessListItem (357) */
3080 interface EthereumTransactionAccessListItem extends Struct {3264 interface EthereumTransactionAccessListItem extends Struct {
3081 readonly address: H160;3265 readonly address: H160;
3082 readonly storageKeys: Vec<H256>;3266 readonly storageKeys: Vec<H256>;
3083 }3267 }
30843268
3085 /** @name EthereumTransactionEip1559Transaction (335) */3269 /** @name EthereumTransactionEip1559Transaction (358) */
3086 interface EthereumTransactionEip1559Transaction extends Struct {3270 interface EthereumTransactionEip1559Transaction extends Struct {
3087 readonly chainId: u64;3271 readonly chainId: u64;
3088 readonly nonce: U256;3272 readonly nonce: U256;
3098 readonly s: H256;3282 readonly s: H256;
3099 }3283 }
31003284
3101 /** @name PalletEvmMigrationCall (336) */3285 /** @name PalletEvmMigrationCall (359) */
3102 interface PalletEvmMigrationCall extends Enum {3286 interface PalletEvmMigrationCall extends Enum {
3103 readonly isBegin: boolean;3287 readonly isBegin: boolean;
3104 readonly asBegin: {3288 readonly asBegin: {
3125 readonly type: 'Begin' | 'SetData' | 'Finish' | 'InsertEthLogs' | 'InsertEvents';3309 readonly type: 'Begin' | 'SetData' | 'Finish' | 'InsertEthLogs' | 'InsertEvents';
3126 }3310 }
31273311
3128 /** @name PalletMaintenanceCall (340) */3312 /** @name PalletMaintenanceCall (363) */
3129 interface PalletMaintenanceCall extends Enum {3313 interface PalletMaintenanceCall extends Enum {
3130 readonly isEnable: boolean;3314 readonly isEnable: boolean;
3131 readonly isDisable: boolean;3315 readonly isDisable: boolean;
3132 readonly type: 'Enable' | 'Disable';3316 readonly type: 'Enable' | 'Disable';
3133 }3317 }
31343318
3135 /** @name PalletTestUtilsCall (341) */3319 /** @name PalletTestUtilsCall (364) */
3136 interface PalletTestUtilsCall extends Enum {3320 interface PalletTestUtilsCall extends Enum {
3137 readonly isEnable: boolean;3321 readonly isEnable: boolean;
3138 readonly isSetTestValue: boolean;3322 readonly isSetTestValue: boolean;
3152 readonly type: 'Enable' | 'SetTestValue' | 'SetTestValueAndRollback' | 'IncTestValue' | 'JustTakeFee' | 'BatchAll';3336 readonly type: 'Enable' | 'SetTestValue' | 'SetTestValueAndRollback' | 'IncTestValue' | 'JustTakeFee' | 'BatchAll';
3153 }3337 }
31543338
3155 /** @name PalletSudoError (343) */3339 /** @name PalletSudoError (366) */
3156 interface PalletSudoError extends Enum {3340 interface PalletSudoError extends Enum {
3157 readonly isRequireSudo: boolean;3341 readonly isRequireSudo: boolean;
3158 readonly type: 'RequireSudo';3342 readonly type: 'RequireSudo';
3159 }3343 }
31603344
3161 /** @name OrmlVestingModuleError (345) */3345 /** @name OrmlVestingModuleError (368) */
3162 interface OrmlVestingModuleError extends Enum {3346 interface OrmlVestingModuleError extends Enum {
3163 readonly isZeroVestingPeriod: boolean;3347 readonly isZeroVestingPeriod: boolean;
3164 readonly isZeroVestingPeriodCount: boolean;3348 readonly isZeroVestingPeriodCount: boolean;
3169 readonly type: 'ZeroVestingPeriod' | 'ZeroVestingPeriodCount' | 'InsufficientBalanceToLock' | 'TooManyVestingSchedules' | 'AmountLow' | 'MaxVestingSchedulesExceeded';3353 readonly type: 'ZeroVestingPeriod' | 'ZeroVestingPeriodCount' | 'InsufficientBalanceToLock' | 'TooManyVestingSchedules' | 'AmountLow' | 'MaxVestingSchedulesExceeded';
3170 }3354 }
31713355
3172 /** @name OrmlXtokensModuleError (346) */3356 /** @name OrmlXtokensModuleError (369) */
3173 interface OrmlXtokensModuleError extends Enum {3357 interface OrmlXtokensModuleError extends Enum {
3174 readonly isAssetHasNoReserve: boolean;3358 readonly isAssetHasNoReserve: boolean;
3175 readonly isNotCrossChainTransfer: boolean;3359 readonly isNotCrossChainTransfer: boolean;
3193 readonly type: 'AssetHasNoReserve' | 'NotCrossChainTransfer' | 'InvalidDest' | 'NotCrossChainTransferableCurrency' | 'UnweighableMessage' | 'XcmExecutionFailed' | 'CannotReanchor' | 'InvalidAncestry' | 'InvalidAsset' | 'DestinationNotInvertible' | 'BadVersion' | 'DistinctReserveForAssetAndFee' | 'ZeroFee' | 'ZeroAmount' | 'TooManyAssetsBeingSent' | 'AssetIndexNonExistent' | 'FeeNotEnough' | 'NotSupportedMultiLocation' | 'MinXcmFeeNotDefined';3377 readonly type: 'AssetHasNoReserve' | 'NotCrossChainTransfer' | 'InvalidDest' | 'NotCrossChainTransferableCurrency' | 'UnweighableMessage' | 'XcmExecutionFailed' | 'CannotReanchor' | 'InvalidAncestry' | 'InvalidAsset' | 'DestinationNotInvertible' | 'BadVersion' | 'DistinctReserveForAssetAndFee' | 'ZeroFee' | 'ZeroAmount' | 'TooManyAssetsBeingSent' | 'AssetIndexNonExistent' | 'FeeNotEnough' | 'NotSupportedMultiLocation' | 'MinXcmFeeNotDefined';
3194 }3378 }
31953379
3196 /** @name OrmlTokensBalanceLock (349) */3380 /** @name OrmlTokensBalanceLock (372) */
3197 interface OrmlTokensBalanceLock extends Struct {3381 interface OrmlTokensBalanceLock extends Struct {
3198 readonly id: U8aFixed;3382 readonly id: U8aFixed;
3199 readonly amount: u128;3383 readonly amount: u128;
3200 }3384 }
32013385
3202 /** @name OrmlTokensAccountData (351) */3386 /** @name OrmlTokensAccountData (374) */
3203 interface OrmlTokensAccountData extends Struct {3387 interface OrmlTokensAccountData extends Struct {
3204 readonly free: u128;3388 readonly free: u128;
3205 readonly reserved: u128;3389 readonly reserved: u128;
3206 readonly frozen: u128;3390 readonly frozen: u128;
3207 }3391 }
32083392
3209 /** @name OrmlTokensReserveData (353) */3393 /** @name OrmlTokensReserveData (376) */
3210 interface OrmlTokensReserveData extends Struct {3394 interface OrmlTokensReserveData extends Struct {
3211 readonly id: Null;3395 readonly id: Null;
3212 readonly amount: u128;3396 readonly amount: u128;
3213 }3397 }
32143398
3215 /** @name OrmlTokensModuleError (355) */3399 /** @name OrmlTokensModuleError (378) */
3216 interface OrmlTokensModuleError extends Enum {3400 interface OrmlTokensModuleError extends Enum {
3217 readonly isBalanceTooLow: boolean;3401 readonly isBalanceTooLow: boolean;
3218 readonly isAmountIntoBalanceFailed: boolean;3402 readonly isAmountIntoBalanceFailed: boolean;
3225 readonly type: 'BalanceTooLow' | 'AmountIntoBalanceFailed' | 'LiquidityRestrictions' | 'MaxLocksExceeded' | 'KeepAlive' | 'ExistentialDeposit' | 'DeadAccount' | 'TooManyReserves';3409 readonly type: 'BalanceTooLow' | 'AmountIntoBalanceFailed' | 'LiquidityRestrictions' | 'MaxLocksExceeded' | 'KeepAlive' | 'ExistentialDeposit' | 'DeadAccount' | 'TooManyReserves';
3226 }3410 }
32273411
3228 /** @name CumulusPalletXcmpQueueInboundChannelDetails (357) */3412 /** @name CumulusPalletXcmpQueueInboundChannelDetails (380) */
3229 interface CumulusPalletXcmpQueueInboundChannelDetails extends Struct {3413 interface CumulusPalletXcmpQueueInboundChannelDetails extends Struct {
3230 readonly sender: u32;3414 readonly sender: u32;
3231 readonly state: CumulusPalletXcmpQueueInboundState;3415 readonly state: CumulusPalletXcmpQueueInboundState;
3232 readonly messageMetadata: Vec<ITuple<[u32, PolkadotParachainPrimitivesXcmpMessageFormat]>>;3416 readonly messageMetadata: Vec<ITuple<[u32, PolkadotParachainPrimitivesXcmpMessageFormat]>>;
3233 }3417 }
32343418
3235 /** @name CumulusPalletXcmpQueueInboundState (358) */3419 /** @name CumulusPalletXcmpQueueInboundState (381) */
3236 interface CumulusPalletXcmpQueueInboundState extends Enum {3420 interface CumulusPalletXcmpQueueInboundState extends Enum {
3237 readonly isOk: boolean;3421 readonly isOk: boolean;
3238 readonly isSuspended: boolean;3422 readonly isSuspended: boolean;
3239 readonly type: 'Ok' | 'Suspended';3423 readonly type: 'Ok' | 'Suspended';
3240 }3424 }
32413425
3242 /** @name PolkadotParachainPrimitivesXcmpMessageFormat (361) */3426 /** @name PolkadotParachainPrimitivesXcmpMessageFormat (384) */
3243 interface PolkadotParachainPrimitivesXcmpMessageFormat extends Enum {3427 interface PolkadotParachainPrimitivesXcmpMessageFormat extends Enum {
3244 readonly isConcatenatedVersionedXcm: boolean;3428 readonly isConcatenatedVersionedXcm: boolean;
3245 readonly isConcatenatedEncodedBlob: boolean;3429 readonly isConcatenatedEncodedBlob: boolean;
3246 readonly isSignals: boolean;3430 readonly isSignals: boolean;
3247 readonly type: 'ConcatenatedVersionedXcm' | 'ConcatenatedEncodedBlob' | 'Signals';3431 readonly type: 'ConcatenatedVersionedXcm' | 'ConcatenatedEncodedBlob' | 'Signals';
3248 }3432 }
32493433
3250 /** @name CumulusPalletXcmpQueueOutboundChannelDetails (364) */3434 /** @name CumulusPalletXcmpQueueOutboundChannelDetails (387) */
3251 interface CumulusPalletXcmpQueueOutboundChannelDetails extends Struct {3435 interface CumulusPalletXcmpQueueOutboundChannelDetails extends Struct {
3252 readonly recipient: u32;3436 readonly recipient: u32;
3253 readonly state: CumulusPalletXcmpQueueOutboundState;3437 readonly state: CumulusPalletXcmpQueueOutboundState;
3256 readonly lastIndex: u16;3440 readonly lastIndex: u16;
3257 }3441 }
32583442
3259 /** @name CumulusPalletXcmpQueueOutboundState (365) */3443 /** @name CumulusPalletXcmpQueueOutboundState (388) */
3260 interface CumulusPalletXcmpQueueOutboundState extends Enum {3444 interface CumulusPalletXcmpQueueOutboundState extends Enum {
3261 readonly isOk: boolean;3445 readonly isOk: boolean;
3262 readonly isSuspended: boolean;3446 readonly isSuspended: boolean;
3263 readonly type: 'Ok' | 'Suspended';3447 readonly type: 'Ok' | 'Suspended';
3264 }3448 }
32653449
3266 /** @name CumulusPalletXcmpQueueQueueConfigData (367) */3450 /** @name CumulusPalletXcmpQueueQueueConfigData (390) */
3267 interface CumulusPalletXcmpQueueQueueConfigData extends Struct {3451 interface CumulusPalletXcmpQueueQueueConfigData extends Struct {
3268 readonly suspendThreshold: u32;3452 readonly suspendThreshold: u32;
3269 readonly dropThreshold: u32;3453 readonly dropThreshold: u32;
3273 readonly xcmpMaxIndividualWeight: SpWeightsWeightV2Weight;3457 readonly xcmpMaxIndividualWeight: SpWeightsWeightV2Weight;
3274 }3458 }
32753459
3276 /** @name CumulusPalletXcmpQueueError (369) */3460 /** @name CumulusPalletXcmpQueueError (392) */
3277 interface CumulusPalletXcmpQueueError extends Enum {3461 interface CumulusPalletXcmpQueueError extends Enum {
3278 readonly isFailedToSend: boolean;3462 readonly isFailedToSend: boolean;
3279 readonly isBadXcmOrigin: boolean;3463 readonly isBadXcmOrigin: boolean;
3283 readonly type: 'FailedToSend' | 'BadXcmOrigin' | 'BadXcm' | 'BadOverweightIndex' | 'WeightOverLimit';3467 readonly type: 'FailedToSend' | 'BadXcmOrigin' | 'BadXcm' | 'BadOverweightIndex' | 'WeightOverLimit';
3284 }3468 }
32853469
3286 /** @name PalletXcmError (370) */3470 /** @name PalletXcmError (393) */
3287 interface PalletXcmError extends Enum {3471 interface PalletXcmError extends Enum {
3288 readonly isUnreachable: boolean;3472 readonly isUnreachable: boolean;
3289 readonly isSendFailure: boolean;3473 readonly isSendFailure: boolean;
3301 readonly type: 'Unreachable' | 'SendFailure' | 'Filtered' | 'UnweighableMessage' | 'DestinationNotInvertible' | 'Empty' | 'CannotReanchor' | 'TooManyAssets' | 'InvalidOrigin' | 'BadVersion' | 'BadLocation' | 'NoSubscription' | 'AlreadySubscribed';3485 readonly type: 'Unreachable' | 'SendFailure' | 'Filtered' | 'UnweighableMessage' | 'DestinationNotInvertible' | 'Empty' | 'CannotReanchor' | 'TooManyAssets' | 'InvalidOrigin' | 'BadVersion' | 'BadLocation' | 'NoSubscription' | 'AlreadySubscribed';
3302 }3486 }
33033487
3304 /** @name CumulusPalletXcmError (371) */3488 /** @name CumulusPalletXcmError (394) */
3305 type CumulusPalletXcmError = Null;3489 type CumulusPalletXcmError = Null;
33063490
3307 /** @name CumulusPalletDmpQueueConfigData (372) */3491 /** @name CumulusPalletDmpQueueConfigData (395) */
3308 interface CumulusPalletDmpQueueConfigData extends Struct {3492 interface CumulusPalletDmpQueueConfigData extends Struct {
3309 readonly maxIndividual: SpWeightsWeightV2Weight;3493 readonly maxIndividual: SpWeightsWeightV2Weight;
3310 }3494 }
33113495
3312 /** @name CumulusPalletDmpQueuePageIndexData (373) */3496 /** @name CumulusPalletDmpQueuePageIndexData (396) */
3313 interface CumulusPalletDmpQueuePageIndexData extends Struct {3497 interface CumulusPalletDmpQueuePageIndexData extends Struct {
3314 readonly beginUsed: u32;3498 readonly beginUsed: u32;
3315 readonly endUsed: u32;3499 readonly endUsed: u32;
3316 readonly overweightCount: u64;3500 readonly overweightCount: u64;
3317 }3501 }
33183502
3319 /** @name CumulusPalletDmpQueueError (376) */3503 /** @name CumulusPalletDmpQueueError (399) */
3320 interface CumulusPalletDmpQueueError extends Enum {3504 interface CumulusPalletDmpQueueError extends Enum {
3321 readonly isUnknown: boolean;3505 readonly isUnknown: boolean;
3322 readonly isOverLimit: boolean;3506 readonly isOverLimit: boolean;
3323 readonly type: 'Unknown' | 'OverLimit';3507 readonly type: 'Unknown' | 'OverLimit';
3324 }3508 }
33253509
3326 /** @name PalletUniqueError (380) */3510 /** @name PalletUniqueError (403) */
3327 interface PalletUniqueError extends Enum {3511 interface PalletUniqueError extends Enum {
3328 readonly isCollectionDecimalPointLimitExceeded: boolean;3512 readonly isCollectionDecimalPointLimitExceeded: boolean;
3329 readonly isEmptyArgument: boolean;3513 readonly isEmptyArgument: boolean;
3330 readonly isRepartitionCalledOnNonRefungibleCollection: boolean;3514 readonly isRepartitionCalledOnNonRefungibleCollection: boolean;
3331 readonly type: 'CollectionDecimalPointLimitExceeded' | 'EmptyArgument' | 'RepartitionCalledOnNonRefungibleCollection';3515 readonly type: 'CollectionDecimalPointLimitExceeded' | 'EmptyArgument' | 'RepartitionCalledOnNonRefungibleCollection';
3332 }3516 }
33333517
3334 /** @name PalletConfigurationError (381) */3518 /** @name PalletConfigurationError (404) */
3335 interface PalletConfigurationError extends Enum {3519 interface PalletConfigurationError extends Enum {
3336 readonly isInconsistentConfiguration: boolean;3520 readonly isInconsistentConfiguration: boolean;
3337 readonly type: 'InconsistentConfiguration';3521 readonly type: 'InconsistentConfiguration';
3338 }3522 }
33393523
3340 /** @name UpDataStructsCollection (382) */3524 /** @name UpDataStructsCollection (405) */
3341 interface UpDataStructsCollection extends Struct {3525 interface UpDataStructsCollection extends Struct {
3342 readonly owner: AccountId32;3526 readonly owner: AccountId32;
3343 readonly mode: UpDataStructsCollectionMode;3527 readonly mode: UpDataStructsCollectionMode;
3350 readonly flags: U8aFixed;3534 readonly flags: U8aFixed;
3351 }3535 }
33523536
3353 /** @name UpDataStructsSponsorshipStateAccountId32 (383) */3537 /** @name UpDataStructsSponsorshipStateAccountId32 (406) */
3354 interface UpDataStructsSponsorshipStateAccountId32 extends Enum {3538 interface UpDataStructsSponsorshipStateAccountId32 extends Enum {
3355 readonly isDisabled: boolean;3539 readonly isDisabled: boolean;
3356 readonly isUnconfirmed: boolean;3540 readonly isUnconfirmed: boolean;
3360 readonly type: 'Disabled' | 'Unconfirmed' | 'Confirmed';3544 readonly type: 'Disabled' | 'Unconfirmed' | 'Confirmed';
3361 }3545 }
33623546
3363 /** @name UpDataStructsProperties (385) */3547 /** @name UpDataStructsProperties (408) */
3364 interface UpDataStructsProperties extends Struct {3548 interface UpDataStructsProperties extends Struct {
3365 readonly map: UpDataStructsPropertiesMapBoundedVec;3549 readonly map: UpDataStructsPropertiesMapBoundedVec;
3366 readonly consumedSpace: u32;3550 readonly consumedSpace: u32;
3367 readonly spaceLimit: u32;3551 readonly spaceLimit: u32;
3368 }3552 }
33693553
3370 /** @name UpDataStructsPropertiesMapBoundedVec (386) */3554 /** @name UpDataStructsPropertiesMapBoundedVec (409) */
3371 interface UpDataStructsPropertiesMapBoundedVec extends BTreeMap<Bytes, Bytes> {}3555 interface UpDataStructsPropertiesMapBoundedVec extends BTreeMap<Bytes, Bytes> {}
33723556
3373 /** @name UpDataStructsPropertiesMapPropertyPermission (391) */3557 /** @name UpDataStructsPropertiesMapPropertyPermission (414) */
3374 interface UpDataStructsPropertiesMapPropertyPermission extends BTreeMap<Bytes, UpDataStructsPropertyPermission> {}3558 interface UpDataStructsPropertiesMapPropertyPermission extends BTreeMap<Bytes, UpDataStructsPropertyPermission> {}
33753559
3376 /** @name UpDataStructsCollectionStats (398) */3560 /** @name UpDataStructsCollectionStats (421) */
3377 interface UpDataStructsCollectionStats extends Struct {3561 interface UpDataStructsCollectionStats extends Struct {
3378 readonly created: u32;3562 readonly created: u32;
3379 readonly destroyed: u32;3563 readonly destroyed: u32;
3380 readonly alive: u32;3564 readonly alive: u32;
3381 }3565 }
33823566
3383 /** @name UpDataStructsTokenChild (399) */3567 /** @name UpDataStructsTokenChild (422) */
3384 interface UpDataStructsTokenChild extends Struct {3568 interface UpDataStructsTokenChild extends Struct {
3385 readonly token: u32;3569 readonly token: u32;
3386 readonly collection: u32;3570 readonly collection: u32;
3387 }3571 }
33883572
3389 /** @name PhantomTypeUpDataStructs (400) */3573 /** @name PhantomTypeUpDataStructs (423) */
3390 interface PhantomTypeUpDataStructs extends Vec<ITuple<[UpDataStructsTokenData, UpDataStructsRpcCollection, RmrkTraitsCollectionCollectionInfo, RmrkTraitsNftNftInfo, RmrkTraitsResourceResourceInfo, RmrkTraitsPropertyPropertyInfo, RmrkTraitsBaseBaseInfo, RmrkTraitsPartPartType, RmrkTraitsTheme, RmrkTraitsNftNftChild]>> {}3574 interface PhantomTypeUpDataStructs extends Vec<ITuple<[UpDataStructsTokenData, UpDataStructsRpcCollection, RmrkTraitsCollectionCollectionInfo, RmrkTraitsNftNftInfo, RmrkTraitsResourceResourceInfo, RmrkTraitsPropertyPropertyInfo, RmrkTraitsBaseBaseInfo, RmrkTraitsPartPartType, RmrkTraitsTheme, RmrkTraitsNftNftChild]>> {}
33913575
3392 /** @name UpDataStructsTokenData (402) */3576 /** @name UpDataStructsTokenData (425) */
3393 interface UpDataStructsTokenData extends Struct {3577 interface UpDataStructsTokenData extends Struct {
3394 readonly properties: Vec<UpDataStructsProperty>;3578 readonly properties: Vec<UpDataStructsProperty>;
3395 readonly owner: Option<PalletEvmAccountBasicCrossAccountIdRepr>;3579 readonly owner: Option<PalletEvmAccountBasicCrossAccountIdRepr>;
3396 readonly pieces: u128;3580 readonly pieces: u128;
3397 }3581 }
33983582
3399 /** @name UpDataStructsRpcCollection (404) */3583 /** @name UpDataStructsRpcCollection (427) */
3400 interface UpDataStructsRpcCollection extends Struct {3584 interface UpDataStructsRpcCollection extends Struct {
3401 readonly owner: AccountId32;3585 readonly owner: AccountId32;
3402 readonly mode: UpDataStructsCollectionMode;3586 readonly mode: UpDataStructsCollectionMode;
3412 readonly flags: UpDataStructsRpcCollectionFlags;3596 readonly flags: UpDataStructsRpcCollectionFlags;
3413 }3597 }
34143598
3415 /** @name UpDataStructsRpcCollectionFlags (405) */3599 /** @name UpDataStructsRpcCollectionFlags (428) */
3416 interface UpDataStructsRpcCollectionFlags extends Struct {3600 interface UpDataStructsRpcCollectionFlags extends Struct {
3417 readonly foreign: bool;3601 readonly foreign: bool;
3418 readonly erc721metadata: bool;3602 readonly erc721metadata: bool;
3419 }3603 }
34203604
3421 /** @name RmrkTraitsCollectionCollectionInfo (406) */3605 /** @name RmrkTraitsCollectionCollectionInfo (429) */
3422 interface RmrkTraitsCollectionCollectionInfo extends Struct {3606 interface RmrkTraitsCollectionCollectionInfo extends Struct {
3423 readonly issuer: AccountId32;3607 readonly issuer: AccountId32;
3424 readonly metadata: Bytes;3608 readonly metadata: Bytes;
3427 readonly nftsCount: u32;3611 readonly nftsCount: u32;
3428 }3612 }
34293613
3430 /** @name RmrkTraitsNftNftInfo (407) */3614 /** @name RmrkTraitsNftNftInfo (430) */
3431 interface RmrkTraitsNftNftInfo extends Struct {3615 interface RmrkTraitsNftNftInfo extends Struct {
3432 readonly owner: RmrkTraitsNftAccountIdOrCollectionNftTuple;3616 readonly owner: RmrkTraitsNftAccountIdOrCollectionNftTuple;
3433 readonly royalty: Option<RmrkTraitsNftRoyaltyInfo>;3617 readonly royalty: Option<RmrkTraitsNftRoyaltyInfo>;
3436 readonly pending: bool;3620 readonly pending: bool;
3437 }3621 }
34383622
3439 /** @name RmrkTraitsNftRoyaltyInfo (409) */3623 /** @name RmrkTraitsNftRoyaltyInfo (432) */
3440 interface RmrkTraitsNftRoyaltyInfo extends Struct {3624 interface RmrkTraitsNftRoyaltyInfo extends Struct {
3441 readonly recipient: AccountId32;3625 readonly recipient: AccountId32;
3442 readonly amount: Permill;3626 readonly amount: Permill;
3443 }3627 }
34443628
3445 /** @name RmrkTraitsResourceResourceInfo (410) */3629 /** @name RmrkTraitsResourceResourceInfo (433) */
3446 interface RmrkTraitsResourceResourceInfo extends Struct {3630 interface RmrkTraitsResourceResourceInfo extends Struct {
3447 readonly id: u32;3631 readonly id: u32;
3448 readonly resource: RmrkTraitsResourceResourceTypes;3632 readonly resource: RmrkTraitsResourceResourceTypes;
3449 readonly pending: bool;3633 readonly pending: bool;
3450 readonly pendingRemoval: bool;3634 readonly pendingRemoval: bool;
3451 }3635 }
34523636
3453 /** @name RmrkTraitsPropertyPropertyInfo (411) */3637 /** @name RmrkTraitsPropertyPropertyInfo (434) */
3454 interface RmrkTraitsPropertyPropertyInfo extends Struct {3638 interface RmrkTraitsPropertyPropertyInfo extends Struct {
3455 readonly key: Bytes;3639 readonly key: Bytes;
3456 readonly value: Bytes;3640 readonly value: Bytes;
3457 }3641 }
34583642
3459 /** @name RmrkTraitsBaseBaseInfo (412) */3643 /** @name RmrkTraitsBaseBaseInfo (435) */
3460 interface RmrkTraitsBaseBaseInfo extends Struct {3644 interface RmrkTraitsBaseBaseInfo extends Struct {
3461 readonly issuer: AccountId32;3645 readonly issuer: AccountId32;
3462 readonly baseType: Bytes;3646 readonly baseType: Bytes;
3463 readonly symbol: Bytes;3647 readonly symbol: Bytes;
3464 }3648 }
34653649
3466 /** @name RmrkTraitsNftNftChild (413) */3650 /** @name RmrkTraitsNftNftChild (436) */
3467 interface RmrkTraitsNftNftChild extends Struct {3651 interface RmrkTraitsNftNftChild extends Struct {
3468 readonly collectionId: u32;3652 readonly collectionId: u32;
3469 readonly nftId: u32;3653 readonly nftId: u32;
3470 }3654 }
34713655
3472 /** @name PalletCommonError (415) */3656 /** @name PalletCommonError (438) */
3473 interface PalletCommonError extends Enum {3657 interface PalletCommonError extends Enum {
3474 readonly isCollectionNotFound: boolean;3658 readonly isCollectionNotFound: boolean;
3475 readonly isMustBeTokenOwner: boolean;3659 readonly isMustBeTokenOwner: boolean;
3510 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';3694 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';
3511 }3695 }
35123696
3513 /** @name PalletFungibleError (417) */3697 /** @name PalletFungibleError (440) */
3514 interface PalletFungibleError extends Enum {3698 interface PalletFungibleError extends Enum {
3515 readonly isNotFungibleDataUsedToMintFungibleCollectionToken: boolean;3699 readonly isNotFungibleDataUsedToMintFungibleCollectionToken: boolean;
3516 readonly isFungibleItemsHaveNoId: boolean;3700 readonly isFungibleItemsHaveNoId: boolean;
3522 readonly type: 'NotFungibleDataUsedToMintFungibleCollectionToken' | 'FungibleItemsHaveNoId' | 'FungibleItemsDontHaveData' | 'FungibleDisallowsNesting' | 'SettingPropertiesNotAllowed' | 'SettingAllowanceForAllNotAllowed' | 'FungibleTokensAreAlwaysValid';3706 readonly type: 'NotFungibleDataUsedToMintFungibleCollectionToken' | 'FungibleItemsHaveNoId' | 'FungibleItemsDontHaveData' | 'FungibleDisallowsNesting' | 'SettingPropertiesNotAllowed' | 'SettingAllowanceForAllNotAllowed' | 'FungibleTokensAreAlwaysValid';
3523 }3707 }
35243708
3525 /** @name PalletRefungibleItemData (418) */3709 /** @name PalletRefungibleItemData (441) */
3526 interface PalletRefungibleItemData extends Struct {3710 interface PalletRefungibleItemData extends Struct {
3527 readonly constData: Bytes;3711 readonly constData: Bytes;
3528 }3712 }
35293713
3530 /** @name PalletRefungibleError (423) */3714 /** @name PalletRefungibleError (446) */
3531 interface PalletRefungibleError extends Enum {3715 interface PalletRefungibleError extends Enum {
3532 readonly isNotRefungibleDataUsedToMintFungibleCollectionToken: boolean;3716 readonly isNotRefungibleDataUsedToMintFungibleCollectionToken: boolean;
3533 readonly isWrongRefungiblePieces: boolean;3717 readonly isWrongRefungiblePieces: boolean;
3537 readonly type: 'NotRefungibleDataUsedToMintFungibleCollectionToken' | 'WrongRefungiblePieces' | 'RepartitionWhileNotOwningAllPieces' | 'RefungibleDisallowsNesting' | 'SettingPropertiesNotAllowed';3721 readonly type: 'NotRefungibleDataUsedToMintFungibleCollectionToken' | 'WrongRefungiblePieces' | 'RepartitionWhileNotOwningAllPieces' | 'RefungibleDisallowsNesting' | 'SettingPropertiesNotAllowed';
3538 }3722 }
35393723
3540 /** @name PalletNonfungibleItemData (424) */3724 /** @name PalletNonfungibleItemData (447) */
3541 interface PalletNonfungibleItemData extends Struct {3725 interface PalletNonfungibleItemData extends Struct {
3542 readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;3726 readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;
3543 }3727 }
35443728
3545 /** @name UpDataStructsPropertyScope (426) */3729 /** @name UpDataStructsPropertyScope (449) */
3546 interface UpDataStructsPropertyScope extends Enum {3730 interface UpDataStructsPropertyScope extends Enum {
3547 readonly isNone: boolean;3731 readonly isNone: boolean;
3548 readonly isRmrk: boolean;3732 readonly isRmrk: boolean;
3549 readonly type: 'None' | 'Rmrk';3733 readonly type: 'None' | 'Rmrk';
3550 }3734 }
35513735
3552 /** @name PalletNonfungibleError (428) */3736 /** @name PalletNonfungibleError (451) */
3553 interface PalletNonfungibleError extends Enum {3737 interface PalletNonfungibleError extends Enum {
3554 readonly isNotNonfungibleDataUsedToMintFungibleCollectionToken: boolean;3738 readonly isNotNonfungibleDataUsedToMintFungibleCollectionToken: boolean;
3555 readonly isNonfungibleItemsHaveNoAmount: boolean;3739 readonly isNonfungibleItemsHaveNoAmount: boolean;
3556 readonly isCantBurnNftWithChildren: boolean;3740 readonly isCantBurnNftWithChildren: boolean;
3557 readonly type: 'NotNonfungibleDataUsedToMintFungibleCollectionToken' | 'NonfungibleItemsHaveNoAmount' | 'CantBurnNftWithChildren';3741 readonly type: 'NotNonfungibleDataUsedToMintFungibleCollectionToken' | 'NonfungibleItemsHaveNoAmount' | 'CantBurnNftWithChildren';
3558 }3742 }
35593743
3560 /** @name PalletStructureError (429) */3744 /** @name PalletStructureError (452) */
3561 interface PalletStructureError extends Enum {3745 interface PalletStructureError extends Enum {
3562 readonly isOuroborosDetected: boolean;3746 readonly isOuroborosDetected: boolean;
3563 readonly isDepthLimit: boolean;3747 readonly isDepthLimit: boolean;
3566 readonly type: 'OuroborosDetected' | 'DepthLimit' | 'BreadthLimit' | 'TokenNotFound';3750 readonly type: 'OuroborosDetected' | 'DepthLimit' | 'BreadthLimit' | 'TokenNotFound';
3567 }3751 }
35683752
3569 /** @name PalletRmrkCoreError (430) */3753 /** @name PalletRmrkCoreError (453) */
3570 interface PalletRmrkCoreError extends Enum {3754 interface PalletRmrkCoreError extends Enum {
3571 readonly isCorruptedCollectionType: boolean;3755 readonly isCorruptedCollectionType: boolean;
3572 readonly isRmrkPropertyKeyIsTooLong: boolean;3756 readonly isRmrkPropertyKeyIsTooLong: boolean;
3590 readonly type: 'CorruptedCollectionType' | 'RmrkPropertyKeyIsTooLong' | 'RmrkPropertyValueIsTooLong' | 'RmrkPropertyIsNotFound' | 'UnableToDecodeRmrkData' | 'CollectionNotEmpty' | 'NoAvailableCollectionId' | 'NoAvailableNftId' | 'CollectionUnknown' | 'NoPermission' | 'NonTransferable' | 'CollectionFullOrLocked' | 'ResourceDoesntExist' | 'CannotSendToDescendentOrSelf' | 'CannotAcceptNonOwnedNft' | 'CannotRejectNonOwnedNft' | 'CannotRejectNonPendingNft' | 'ResourceNotPending' | 'NoAvailableResourceId';3774 readonly type: 'CorruptedCollectionType' | 'RmrkPropertyKeyIsTooLong' | 'RmrkPropertyValueIsTooLong' | 'RmrkPropertyIsNotFound' | 'UnableToDecodeRmrkData' | 'CollectionNotEmpty' | 'NoAvailableCollectionId' | 'NoAvailableNftId' | 'CollectionUnknown' | 'NoPermission' | 'NonTransferable' | 'CollectionFullOrLocked' | 'ResourceDoesntExist' | 'CannotSendToDescendentOrSelf' | 'CannotAcceptNonOwnedNft' | 'CannotRejectNonOwnedNft' | 'CannotRejectNonPendingNft' | 'ResourceNotPending' | 'NoAvailableResourceId';
3591 }3775 }
35923776
3593 /** @name PalletRmrkEquipError (432) */3777 /** @name PalletRmrkEquipError (455) */
3594 interface PalletRmrkEquipError extends Enum {3778 interface PalletRmrkEquipError extends Enum {
3595 readonly isPermissionError: boolean;3779 readonly isPermissionError: boolean;
3596 readonly isNoAvailableBaseId: boolean;3780 readonly isNoAvailableBaseId: boolean;
3602 readonly type: 'PermissionError' | 'NoAvailableBaseId' | 'NoAvailablePartId' | 'BaseDoesntExist' | 'NeedsDefaultThemeFirst' | 'PartDoesntExist' | 'NoEquippableOnFixedPart';3786 readonly type: 'PermissionError' | 'NoAvailableBaseId' | 'NoAvailablePartId' | 'BaseDoesntExist' | 'NeedsDefaultThemeFirst' | 'PartDoesntExist' | 'NoEquippableOnFixedPart';
3603 }3787 }
36043788
3605 /** @name PalletAppPromotionError (438) */3789 /** @name PalletAppPromotionError (461) */
3606 interface PalletAppPromotionError extends Enum {3790 interface PalletAppPromotionError extends Enum {
3607 readonly isAdminNotSet: boolean;3791 readonly isAdminNotSet: boolean;
3608 readonly isNoPermission: boolean;3792 readonly isNoPermission: boolean;
3613 readonly type: 'AdminNotSet' | 'NoPermission' | 'NotSufficientFunds' | 'PendingForBlockOverflow' | 'SponsorNotSet' | 'IncorrectLockedBalanceOperation';3797 readonly type: 'AdminNotSet' | 'NoPermission' | 'NotSufficientFunds' | 'PendingForBlockOverflow' | 'SponsorNotSet' | 'IncorrectLockedBalanceOperation';
3614 }3798 }
36153799
3616 /** @name PalletForeignAssetsModuleError (439) */3800 /** @name PalletForeignAssetsModuleError (462) */
3617 interface PalletForeignAssetsModuleError extends Enum {3801 interface PalletForeignAssetsModuleError extends Enum {
3618 readonly isBadLocation: boolean;3802 readonly isBadLocation: boolean;
3619 readonly isMultiLocationExisted: boolean;3803 readonly isMultiLocationExisted: boolean;
3622 readonly type: 'BadLocation' | 'MultiLocationExisted' | 'AssetIdNotExists' | 'AssetIdExisted';3806 readonly type: 'BadLocation' | 'MultiLocationExisted' | 'AssetIdNotExists' | 'AssetIdExisted';
3623 }3807 }
36243808
3625 /** @name PalletEvmError (441) */3809 /** @name PalletEvmError (464) */
3626 interface PalletEvmError extends Enum {3810 interface PalletEvmError extends Enum {
3627 readonly isBalanceLow: boolean;3811 readonly isBalanceLow: boolean;
3628 readonly isFeeOverflow: boolean;3812 readonly isFeeOverflow: boolean;
3637 readonly type: 'BalanceLow' | 'FeeOverflow' | 'PaymentOverflow' | 'WithdrawFailed' | 'GasPriceTooLow' | 'InvalidNonce' | 'GasLimitTooLow' | 'GasLimitTooHigh' | 'Undefined' | 'Reentrancy';3821 readonly type: 'BalanceLow' | 'FeeOverflow' | 'PaymentOverflow' | 'WithdrawFailed' | 'GasPriceTooLow' | 'InvalidNonce' | 'GasLimitTooLow' | 'GasLimitTooHigh' | 'Undefined' | 'Reentrancy';
3638 }3822 }
36393823
3640 /** @name FpRpcTransactionStatus (444) */3824 /** @name FpRpcTransactionStatus (467) */
3641 interface FpRpcTransactionStatus extends Struct {3825 interface FpRpcTransactionStatus extends Struct {
3642 readonly transactionHash: H256;3826 readonly transactionHash: H256;
3643 readonly transactionIndex: u32;3827 readonly transactionIndex: u32;
3648 readonly logsBloom: EthbloomBloom;3832 readonly logsBloom: EthbloomBloom;
3649 }3833 }
36503834
3651 /** @name EthbloomBloom (446) */3835 /** @name EthbloomBloom (469) */
3652 interface EthbloomBloom extends U8aFixed {}3836 interface EthbloomBloom extends U8aFixed {}
36533837
3654 /** @name EthereumReceiptReceiptV3 (448) */3838 /** @name EthereumReceiptReceiptV3 (471) */
3655 interface EthereumReceiptReceiptV3 extends Enum {3839 interface EthereumReceiptReceiptV3 extends Enum {
3656 readonly isLegacy: boolean;3840 readonly isLegacy: boolean;
3657 readonly asLegacy: EthereumReceiptEip658ReceiptData;3841 readonly asLegacy: EthereumReceiptEip658ReceiptData;
3662 readonly type: 'Legacy' | 'Eip2930' | 'Eip1559';3846 readonly type: 'Legacy' | 'Eip2930' | 'Eip1559';
3663 }3847 }
36643848
3665 /** @name EthereumReceiptEip658ReceiptData (449) */3849 /** @name EthereumReceiptEip658ReceiptData (472) */
3666 interface EthereumReceiptEip658ReceiptData extends Struct {3850 interface EthereumReceiptEip658ReceiptData extends Struct {
3667 readonly statusCode: u8;3851 readonly statusCode: u8;
3668 readonly usedGas: U256;3852 readonly usedGas: U256;
3669 readonly logsBloom: EthbloomBloom;3853 readonly logsBloom: EthbloomBloom;
3670 readonly logs: Vec<EthereumLog>;3854 readonly logs: Vec<EthereumLog>;
3671 }3855 }
36723856
3673 /** @name EthereumBlock (450) */3857 /** @name EthereumBlock (473) */
3674 interface EthereumBlock extends Struct {3858 interface EthereumBlock extends Struct {
3675 readonly header: EthereumHeader;3859 readonly header: EthereumHeader;
3676 readonly transactions: Vec<EthereumTransactionTransactionV2>;3860 readonly transactions: Vec<EthereumTransactionTransactionV2>;
3677 readonly ommers: Vec<EthereumHeader>;3861 readonly ommers: Vec<EthereumHeader>;
3678 }3862 }
36793863
3680 /** @name EthereumHeader (451) */3864 /** @name EthereumHeader (474) */
3681 interface EthereumHeader extends Struct {3865 interface EthereumHeader extends Struct {
3682 readonly parentHash: H256;3866 readonly parentHash: H256;
3683 readonly ommersHash: H256;3867 readonly ommersHash: H256;
3696 readonly nonce: EthereumTypesHashH64;3880 readonly nonce: EthereumTypesHashH64;
3697 }3881 }
36983882
3699 /** @name EthereumTypesHashH64 (452) */3883 /** @name EthereumTypesHashH64 (475) */
3700 interface EthereumTypesHashH64 extends U8aFixed {}3884 interface EthereumTypesHashH64 extends U8aFixed {}
37013885
3702 /** @name PalletEthereumError (457) */3886 /** @name PalletEthereumError (480) */
3703 interface PalletEthereumError extends Enum {3887 interface PalletEthereumError extends Enum {
3704 readonly isInvalidSignature: boolean;3888 readonly isInvalidSignature: boolean;
3705 readonly isPreLogExists: boolean;3889 readonly isPreLogExists: boolean;
3706 readonly type: 'InvalidSignature' | 'PreLogExists';3890 readonly type: 'InvalidSignature' | 'PreLogExists';
3707 }3891 }
37083892
3709 /** @name PalletEvmCoderSubstrateError (458) */3893 /** @name PalletEvmCoderSubstrateError (481) */
3710 interface PalletEvmCoderSubstrateError extends Enum {3894 interface PalletEvmCoderSubstrateError extends Enum {
3711 readonly isOutOfGas: boolean;3895 readonly isOutOfGas: boolean;
3712 readonly isOutOfFund: boolean;3896 readonly isOutOfFund: boolean;
3713 readonly type: 'OutOfGas' | 'OutOfFund';3897 readonly type: 'OutOfGas' | 'OutOfFund';
3714 }3898 }
37153899
3716 /** @name UpDataStructsSponsorshipStateBasicCrossAccountIdRepr (459) */3900 /** @name UpDataStructsSponsorshipStateBasicCrossAccountIdRepr (482) */
3717 interface UpDataStructsSponsorshipStateBasicCrossAccountIdRepr extends Enum {3901 interface UpDataStructsSponsorshipStateBasicCrossAccountIdRepr extends Enum {
3718 readonly isDisabled: boolean;3902 readonly isDisabled: boolean;
3719 readonly isUnconfirmed: boolean;3903 readonly isUnconfirmed: boolean;
3723 readonly type: 'Disabled' | 'Unconfirmed' | 'Confirmed';3907 readonly type: 'Disabled' | 'Unconfirmed' | 'Confirmed';
3724 }3908 }
37253909
3726 /** @name PalletEvmContractHelpersSponsoringModeT (460) */3910 /** @name PalletEvmContractHelpersSponsoringModeT (483) */
3727 interface PalletEvmContractHelpersSponsoringModeT extends Enum {3911 interface PalletEvmContractHelpersSponsoringModeT extends Enum {
3728 readonly isDisabled: boolean;3912 readonly isDisabled: boolean;
3729 readonly isAllowlisted: boolean;3913 readonly isAllowlisted: boolean;
3730 readonly isGenerous: boolean;3914 readonly isGenerous: boolean;
3731 readonly type: 'Disabled' | 'Allowlisted' | 'Generous';3915 readonly type: 'Disabled' | 'Allowlisted' | 'Generous';
3732 }3916 }
37333917
3734 /** @name PalletEvmContractHelpersError (466) */3918 /** @name PalletEvmContractHelpersError (489) */
3735 interface PalletEvmContractHelpersError extends Enum {3919 interface PalletEvmContractHelpersError extends Enum {
3736 readonly isNoPermission: boolean;3920 readonly isNoPermission: boolean;
3737 readonly isNoPendingSponsor: boolean;3921 readonly isNoPendingSponsor: boolean;
3738 readonly isTooManyMethodsHaveSponsoredLimit: boolean;3922 readonly isTooManyMethodsHaveSponsoredLimit: boolean;
3739 readonly type: 'NoPermission' | 'NoPendingSponsor' | 'TooManyMethodsHaveSponsoredLimit';3923 readonly type: 'NoPermission' | 'NoPendingSponsor' | 'TooManyMethodsHaveSponsoredLimit';
3740 }3924 }
37413925
3742 /** @name PalletEvmMigrationError (467) */3926 /** @name PalletEvmMigrationError (490) */
3743 interface PalletEvmMigrationError extends Enum {3927 interface PalletEvmMigrationError extends Enum {
3744 readonly isAccountNotEmpty: boolean;3928 readonly isAccountNotEmpty: boolean;
3745 readonly isAccountIsNotMigrating: boolean;3929 readonly isAccountIsNotMigrating: boolean;
3746 readonly isBadEvent: boolean;3930 readonly isBadEvent: boolean;
3747 readonly type: 'AccountNotEmpty' | 'AccountIsNotMigrating' | 'BadEvent';3931 readonly type: 'AccountNotEmpty' | 'AccountIsNotMigrating' | 'BadEvent';
3748 }3932 }
37493933
3750 /** @name PalletMaintenanceError (468) */3934 /** @name PalletMaintenanceError (491) */
3751 type PalletMaintenanceError = Null;3935 type PalletMaintenanceError = Null;
37523936
3753 /** @name PalletTestUtilsError (469) */3937 /** @name PalletTestUtilsError (492) */
3754 interface PalletTestUtilsError extends Enum {3938 interface PalletTestUtilsError extends Enum {
3755 readonly isTestPalletDisabled: boolean;3939 readonly isTestPalletDisabled: boolean;
3756 readonly isTriggerRollback: boolean;3940 readonly isTriggerRollback: boolean;
3757 readonly type: 'TestPalletDisabled' | 'TriggerRollback';3941 readonly type: 'TestPalletDisabled' | 'TriggerRollback';
3758 }3942 }
37593943
3760 /** @name SpRuntimeMultiSignature (471) */3944 /** @name SpRuntimeMultiSignature (494) */
3761 interface SpRuntimeMultiSignature extends Enum {3945 interface SpRuntimeMultiSignature extends Enum {
3762 readonly isEd25519: boolean;3946 readonly isEd25519: boolean;
3763 readonly asEd25519: SpCoreEd25519Signature;3947 readonly asEd25519: SpCoreEd25519Signature;
3768 readonly type: 'Ed25519' | 'Sr25519' | 'Ecdsa';3952 readonly type: 'Ed25519' | 'Sr25519' | 'Ecdsa';
3769 }3953 }
37703954
3771 /** @name SpCoreEd25519Signature (472) */3955 /** @name SpCoreEd25519Signature (495) */
3772 interface SpCoreEd25519Signature extends U8aFixed {}3956 interface SpCoreEd25519Signature extends U8aFixed {}
37733957
3774 /** @name SpCoreSr25519Signature (474) */3958 /** @name SpCoreSr25519Signature (497) */
3775 interface SpCoreSr25519Signature extends U8aFixed {}3959 interface SpCoreSr25519Signature extends U8aFixed {}
37763960
3777 /** @name SpCoreEcdsaSignature (475) */3961 /** @name SpCoreEcdsaSignature (498) */
3778 interface SpCoreEcdsaSignature extends U8aFixed {}3962 interface SpCoreEcdsaSignature extends U8aFixed {}
37793963
3780 /** @name FrameSystemExtensionsCheckSpecVersion (478) */3964 /** @name FrameSystemExtensionsCheckSpecVersion (501) */
3781 type FrameSystemExtensionsCheckSpecVersion = Null;3965 type FrameSystemExtensionsCheckSpecVersion = Null;
37823966
3783 /** @name FrameSystemExtensionsCheckTxVersion (479) */3967 /** @name FrameSystemExtensionsCheckTxVersion (502) */
3784 type FrameSystemExtensionsCheckTxVersion = Null;3968 type FrameSystemExtensionsCheckTxVersion = Null;
37853969
3786 /** @name FrameSystemExtensionsCheckGenesis (480) */3970 /** @name FrameSystemExtensionsCheckGenesis (503) */
3787 type FrameSystemExtensionsCheckGenesis = Null;3971 type FrameSystemExtensionsCheckGenesis = Null;
37883972
3789 /** @name FrameSystemExtensionsCheckNonce (483) */3973 /** @name FrameSystemExtensionsCheckNonce (506) */
3790 interface FrameSystemExtensionsCheckNonce extends Compact<u32> {}3974 interface FrameSystemExtensionsCheckNonce extends Compact<u32> {}
37913975
3792 /** @name FrameSystemExtensionsCheckWeight (484) */3976 /** @name FrameSystemExtensionsCheckWeight (507) */
3793 type FrameSystemExtensionsCheckWeight = Null;3977 type FrameSystemExtensionsCheckWeight = Null;
37943978
3795 /** @name OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance (485) */3979 /** @name OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance (508) */
3796 type OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance = Null;3980 type OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance = Null;
37973981
3798 /** @name PalletTemplateTransactionPaymentChargeTransactionPayment (486) */3982 /** @name PalletTemplateTransactionPaymentChargeTransactionPayment (509) */
3799 interface PalletTemplateTransactionPaymentChargeTransactionPayment extends Compact<u128> {}3983 interface PalletTemplateTransactionPaymentChargeTransactionPayment extends Compact<u128> {}
38003984
3801 /** @name OpalRuntimeRuntime (487) */3985 /** @name OpalRuntimeRuntime (510) */
3802 type OpalRuntimeRuntime = Null;3986 type OpalRuntimeRuntime = Null;
38033987
3804 /** @name PalletEthereumFakeTransactionFinalizer (488) */3988 /** @name PalletEthereumFakeTransactionFinalizer (511) */
3805 type PalletEthereumFakeTransactionFinalizer = Null;3989 type PalletEthereumFakeTransactionFinalizer = Null;
38063990
3807} // declare module3991} // 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;
     }