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
183 }183 }
184 }184 }
185 },185 },
186 /**
187 * Lookup30: pallet_collator_selection::pallet::Event<T>
188 **/
189 PalletCollatorSelectionEvent: {
190 _enum: {
191 NewDesiredCollators: {
192 desiredCollators: 'u32',
193 },
194 NewLicenseBond: {
195 bondAmount: 'u128',
196 },
197 NewKickThreshold: {
198 lengthInBlocks: 'u32',
199 },
200 InvulnerableAdded: {
201 invulnerable: 'AccountId32',
202 },
203 InvulnerableRemoved: {
204 invulnerable: 'AccountId32',
205 },
206 LicenseObtained: {
207 accountId: 'AccountId32',
208 deposit: 'u128',
209 },
210 LicenseForfeited: {
211 accountId: 'AccountId32',
212 depositReturned: 'u128',
213 },
214 CandidateAdded: {
215 accountId: 'AccountId32',
216 },
217 CandidateRemoved: {
218 accountId: 'AccountId32'
219 }
220 }
221 },
222 /**
223 * Lookup31: pallet_session::pallet::Event
224 **/
225 PalletSessionEvent: {
226 _enum: {
227 NewSession: {
228 sessionIndex: 'u32'
229 }
230 }
231 },
186 /**232 /**
187 * Lookup30: pallet_balances::pallet::Event<T, I>233 * Lookup32: pallet_balances::pallet::Event<T, I>
188 **/234 **/
189 PalletBalancesEvent: {235 PalletBalancesEvent: {
190 _enum: {236 _enum: {
191 Endowed: {237 Endowed: {
234 }280 }
235 }281 }
236 },282 },
237 /**283 /**
238 * Lookup31: frame_support::traits::tokens::misc::BalanceStatus284 * Lookup33: frame_support::traits::tokens::misc::BalanceStatus
239 **/285 **/
240 FrameSupportTokensMiscBalanceStatus: {286 FrameSupportTokensMiscBalanceStatus: {
241 _enum: ['Free', 'Reserved']287 _enum: ['Free', 'Reserved']
242 },288 },
243 /**289 /**
244 * Lookup32: pallet_transaction_payment::pallet::Event<T>290 * Lookup34: pallet_transaction_payment::pallet::Event<T>
245 **/291 **/
246 PalletTransactionPaymentEvent: {292 PalletTransactionPaymentEvent: {
247 _enum: {293 _enum: {
248 TransactionFeePaid: {294 TransactionFeePaid: {
252 }298 }
253 }299 }
254 },300 },
255 /**301 /**
256 * Lookup33: pallet_treasury::pallet::Event<T, I>302 * Lookup35: pallet_treasury::pallet::Event<T, I>
257 **/303 **/
258 PalletTreasuryEvent: {304 PalletTreasuryEvent: {
259 _enum: {305 _enum: {
260 Proposed: {306 Proposed: {
288 }334 }
289 }335 }
290 },336 },
291 /**337 /**
292 * Lookup34: pallet_sudo::pallet::Event<T>338 * Lookup36: pallet_sudo::pallet::Event<T>
293 **/339 **/
294 PalletSudoEvent: {340 PalletSudoEvent: {
295 _enum: {341 _enum: {
296 Sudid: {342 Sudid: {
304 }350 }
305 }351 }
306 },352 },
307 /**353 /**
308 * Lookup38: orml_vesting::module::Event<T>354 * Lookup40: orml_vesting::module::Event<T>
309 **/355 **/
310 OrmlVestingModuleEvent: {356 OrmlVestingModuleEvent: {
311 _enum: {357 _enum: {
312 VestingScheduleAdded: {358 VestingScheduleAdded: {
323 }369 }
324 }370 }
325 },371 },
326 /**372 /**
327 * Lookup39: orml_vesting::VestingSchedule<BlockNumber, Balance>373 * Lookup41: orml_vesting::VestingSchedule<BlockNumber, Balance>
328 **/374 **/
329 OrmlVestingVestingSchedule: {375 OrmlVestingVestingSchedule: {
330 start: 'u32',376 start: 'u32',
331 period: 'u32',377 period: 'u32',
332 periodCount: 'u32',378 periodCount: 'u32',
333 perPeriod: 'Compact<u128>'379 perPeriod: 'Compact<u128>'
334 },380 },
335 /**381 /**
336 * Lookup41: orml_xtokens::module::Event<T>382 * Lookup43: orml_xtokens::module::Event<T>
337 **/383 **/
338 OrmlXtokensModuleEvent: {384 OrmlXtokensModuleEvent: {
339 _enum: {385 _enum: {
340 TransferredMultiAssets: {386 TransferredMultiAssets: {
345 }391 }
346 }392 }
347 },393 },
348 /**394 /**
349 * Lookup42: xcm::v1::multiasset::MultiAssets395 * Lookup44: xcm::v1::multiasset::MultiAssets
350 **/396 **/
351 XcmV1MultiassetMultiAssets: 'Vec<XcmV1MultiAsset>',397 XcmV1MultiassetMultiAssets: 'Vec<XcmV1MultiAsset>',
352 /**398 /**
353 * Lookup44: xcm::v1::multiasset::MultiAsset399 * Lookup46: xcm::v1::multiasset::MultiAsset
354 **/400 **/
355 XcmV1MultiAsset: {401 XcmV1MultiAsset: {
356 id: 'XcmV1MultiassetAssetId',402 id: 'XcmV1MultiassetAssetId',
357 fun: 'XcmV1MultiassetFungibility'403 fun: 'XcmV1MultiassetFungibility'
358 },404 },
359 /**405 /**
360 * Lookup45: xcm::v1::multiasset::AssetId406 * Lookup47: xcm::v1::multiasset::AssetId
361 **/407 **/
362 XcmV1MultiassetAssetId: {408 XcmV1MultiassetAssetId: {
363 _enum: {409 _enum: {
364 Concrete: 'XcmV1MultiLocation',410 Concrete: 'XcmV1MultiLocation',
365 Abstract: 'Bytes'411 Abstract: 'Bytes'
366 }412 }
367 },413 },
368 /**414 /**
369 * Lookup46: xcm::v1::multilocation::MultiLocation415 * Lookup48: xcm::v1::multilocation::MultiLocation
370 **/416 **/
371 XcmV1MultiLocation: {417 XcmV1MultiLocation: {
372 parents: 'u8',418 parents: 'u8',
373 interior: 'XcmV1MultilocationJunctions'419 interior: 'XcmV1MultilocationJunctions'
374 },420 },
375 /**421 /**
376 * Lookup47: xcm::v1::multilocation::Junctions422 * Lookup49: xcm::v1::multilocation::Junctions
377 **/423 **/
378 XcmV1MultilocationJunctions: {424 XcmV1MultilocationJunctions: {
379 _enum: {425 _enum: {
380 Here: 'Null',426 Here: 'Null',
388 X8: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)'434 X8: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)'
389 }435 }
390 },436 },
391 /**437 /**
392 * Lookup48: xcm::v1::junction::Junction438 * Lookup50: xcm::v1::junction::Junction
393 **/439 **/
394 XcmV1Junction: {440 XcmV1Junction: {
395 _enum: {441 _enum: {
396 Parachain: 'Compact<u32>',442 Parachain: 'Compact<u32>',
416 }462 }
417 }463 }
418 },464 },
419 /**465 /**
420 * Lookup50: xcm::v0::junction::NetworkId466 * Lookup52: xcm::v0::junction::NetworkId
421 **/467 **/
422 XcmV0JunctionNetworkId: {468 XcmV0JunctionNetworkId: {
423 _enum: {469 _enum: {
424 Any: 'Null',470 Any: 'Null',
427 Kusama: 'Null'473 Kusama: 'Null'
428 }474 }
429 },475 },
430 /**476 /**
431 * Lookup53: xcm::v0::junction::BodyId477 * Lookup55: xcm::v0::junction::BodyId
432 **/478 **/
433 XcmV0JunctionBodyId: {479 XcmV0JunctionBodyId: {
434 _enum: {480 _enum: {
435 Unit: 'Null',481 Unit: 'Null',
441 Judicial: 'Null'487 Judicial: 'Null'
442 }488 }
443 },489 },
444 /**490 /**
445 * Lookup54: xcm::v0::junction::BodyPart491 * Lookup56: xcm::v0::junction::BodyPart
446 **/492 **/
447 XcmV0JunctionBodyPart: {493 XcmV0JunctionBodyPart: {
448 _enum: {494 _enum: {
449 Voice: 'Null',495 Voice: 'Null',
464 }510 }
465 }511 }
466 },512 },
467 /**513 /**
468 * Lookup55: xcm::v1::multiasset::Fungibility514 * Lookup57: xcm::v1::multiasset::Fungibility
469 **/515 **/
470 XcmV1MultiassetFungibility: {516 XcmV1MultiassetFungibility: {
471 _enum: {517 _enum: {
472 Fungible: 'Compact<u128>',518 Fungible: 'Compact<u128>',
473 NonFungible: 'XcmV1MultiassetAssetInstance'519 NonFungible: 'XcmV1MultiassetAssetInstance'
474 }520 }
475 },521 },
476 /**522 /**
477 * Lookup56: xcm::v1::multiasset::AssetInstance523 * Lookup58: xcm::v1::multiasset::AssetInstance
478 **/524 **/
479 XcmV1MultiassetAssetInstance: {525 XcmV1MultiassetAssetInstance: {
480 _enum: {526 _enum: {
481 Undefined: 'Null',527 Undefined: 'Null',
487 Blob: 'Bytes'533 Blob: 'Bytes'
488 }534 }
489 },535 },
490 /**536 /**
491 * Lookup59: orml_tokens::module::Event<T>537 * Lookup61: orml_tokens::module::Event<T>
492 **/538 **/
493 OrmlTokensModuleEvent: {539 OrmlTokensModuleEvent: {
494 _enum: {540 _enum: {
495 Endowed: {541 Endowed: {
564 }610 }
565 }611 }
566 },612 },
567 /**613 /**
568 * Lookup60: pallet_foreign_assets::AssetIds614 * Lookup62: pallet_foreign_assets::AssetIds
569 **/615 **/
570 PalletForeignAssetsAssetIds: {616 PalletForeignAssetsAssetIds: {
571 _enum: {617 _enum: {
572 ForeignAssetId: 'u32',618 ForeignAssetId: 'u32',
573 NativeAssetId: 'PalletForeignAssetsNativeCurrency'619 NativeAssetId: 'PalletForeignAssetsNativeCurrency'
574 }620 }
575 },621 },
576 /**622 /**
577 * Lookup61: pallet_foreign_assets::NativeCurrency623 * Lookup63: pallet_foreign_assets::NativeCurrency
578 **/624 **/
579 PalletForeignAssetsNativeCurrency: {625 PalletForeignAssetsNativeCurrency: {
580 _enum: ['Here', 'Parent']626 _enum: ['Here', 'Parent']
581 },627 },
582 /**628 /**
583 * Lookup62: cumulus_pallet_xcmp_queue::pallet::Event<T>629 * Lookup64: cumulus_pallet_xcmp_queue::pallet::Event<T>
584 **/630 **/
585 CumulusPalletXcmpQueueEvent: {631 CumulusPalletXcmpQueueEvent: {
586 _enum: {632 _enum: {
587 Success: {633 Success: {
617 }663 }
618 }664 }
619 },665 },
620 /**666 /**
621 * Lookup64: xcm::v2::traits::Error667 * Lookup66: xcm::v2::traits::Error
622 **/668 **/
623 XcmV2TraitsError: {669 XcmV2TraitsError: {
624 _enum: {670 _enum: {
625 Overflow: 'Null',671 Overflow: 'Null',
650 WeightNotComputable: 'Null'696 WeightNotComputable: 'Null'
651 }697 }
652 },698 },
653 /**699 /**
654 * Lookup66: pallet_xcm::pallet::Event<T>700 * Lookup68: pallet_xcm::pallet::Event<T>
655 **/701 **/
656 PalletXcmEvent: {702 PalletXcmEvent: {
657 _enum: {703 _enum: {
658 Attempted: 'XcmV2TraitsOutcome',704 Attempted: 'XcmV2TraitsOutcome',
674 AssetsClaimed: '(H256,XcmV1MultiLocation,XcmVersionedMultiAssets)'720 AssetsClaimed: '(H256,XcmV1MultiLocation,XcmVersionedMultiAssets)'
675 }721 }
676 },722 },
677 /**723 /**
678 * Lookup67: xcm::v2::traits::Outcome724 * Lookup69: xcm::v2::traits::Outcome
679 **/725 **/
680 XcmV2TraitsOutcome: {726 XcmV2TraitsOutcome: {
681 _enum: {727 _enum: {
682 Complete: 'u64',728 Complete: 'u64',
683 Incomplete: '(u64,XcmV2TraitsError)',729 Incomplete: '(u64,XcmV2TraitsError)',
684 Error: 'XcmV2TraitsError'730 Error: 'XcmV2TraitsError'
685 }731 }
686 },732 },
687 /**733 /**
688 * Lookup68: xcm::v2::Xcm<RuntimeCall>734 * Lookup70: xcm::v2::Xcm<RuntimeCall>
689 **/735 **/
690 XcmV2Xcm: 'Vec<XcmV2Instruction>',736 XcmV2Xcm: 'Vec<XcmV2Instruction>',
691 /**737 /**
692 * Lookup70: xcm::v2::Instruction<RuntimeCall>738 * Lookup72: xcm::v2::Instruction<RuntimeCall>
693 **/739 **/
694 XcmV2Instruction: {740 XcmV2Instruction: {
695 _enum: {741 _enum: {
696 WithdrawAsset: 'XcmV1MultiassetMultiAssets',742 WithdrawAsset: 'XcmV1MultiassetMultiAssets',
786 UnsubscribeVersion: 'Null'832 UnsubscribeVersion: 'Null'
787 }833 }
788 },834 },
789 /**835 /**
790 * Lookup71: xcm::v2::Response836 * Lookup73: xcm::v2::Response
791 **/837 **/
792 XcmV2Response: {838 XcmV2Response: {
793 _enum: {839 _enum: {
794 Null: 'Null',840 Null: 'Null',
797 Version: 'u32'843 Version: 'u32'
798 }844 }
799 },845 },
800 /**846 /**
801 * Lookup74: xcm::v0::OriginKind847 * Lookup76: xcm::v0::OriginKind
802 **/848 **/
803 XcmV0OriginKind: {849 XcmV0OriginKind: {
804 _enum: ['Native', 'SovereignAccount', 'Superuser', 'Xcm']850 _enum: ['Native', 'SovereignAccount', 'Superuser', 'Xcm']
805 },851 },
806 /**852 /**
807 * Lookup75: xcm::double_encoded::DoubleEncoded<T>853 * Lookup77: xcm::double_encoded::DoubleEncoded<T>
808 **/854 **/
809 XcmDoubleEncoded: {855 XcmDoubleEncoded: {
810 encoded: 'Bytes'856 encoded: 'Bytes'
811 },857 },
812 /**858 /**
813 * Lookup76: xcm::v1::multiasset::MultiAssetFilter859 * Lookup78: xcm::v1::multiasset::MultiAssetFilter
814 **/860 **/
815 XcmV1MultiassetMultiAssetFilter: {861 XcmV1MultiassetMultiAssetFilter: {
816 _enum: {862 _enum: {
817 Definite: 'XcmV1MultiassetMultiAssets',863 Definite: 'XcmV1MultiassetMultiAssets',
818 Wild: 'XcmV1MultiassetWildMultiAsset'864 Wild: 'XcmV1MultiassetWildMultiAsset'
819 }865 }
820 },866 },
821 /**867 /**
822 * Lookup77: xcm::v1::multiasset::WildMultiAsset868 * Lookup79: xcm::v1::multiasset::WildMultiAsset
823 **/869 **/
824 XcmV1MultiassetWildMultiAsset: {870 XcmV1MultiassetWildMultiAsset: {
825 _enum: {871 _enum: {
826 All: 'Null',872 All: 'Null',
830 }876 }
831 }877 }
832 },878 },
833 /**879 /**
834 * Lookup78: xcm::v1::multiasset::WildFungibility880 * Lookup80: xcm::v1::multiasset::WildFungibility
835 **/881 **/
836 XcmV1MultiassetWildFungibility: {882 XcmV1MultiassetWildFungibility: {
837 _enum: ['Fungible', 'NonFungible']883 _enum: ['Fungible', 'NonFungible']
838 },884 },
839 /**885 /**
840 * Lookup79: xcm::v2::WeightLimit886 * Lookup81: xcm::v2::WeightLimit
841 **/887 **/
842 XcmV2WeightLimit: {888 XcmV2WeightLimit: {
843 _enum: {889 _enum: {
844 Unlimited: 'Null',890 Unlimited: 'Null',
845 Limited: 'Compact<u64>'891 Limited: 'Compact<u64>'
846 }892 }
847 },893 },
848 /**894 /**
849 * Lookup81: xcm::VersionedMultiAssets895 * Lookup83: xcm::VersionedMultiAssets
850 **/896 **/
851 XcmVersionedMultiAssets: {897 XcmVersionedMultiAssets: {
852 _enum: {898 _enum: {
853 V0: 'Vec<XcmV0MultiAsset>',899 V0: 'Vec<XcmV0MultiAsset>',
854 V1: 'XcmV1MultiassetMultiAssets'900 V1: 'XcmV1MultiassetMultiAssets'
855 }901 }
856 },902 },
857 /**903 /**
858 * Lookup83: xcm::v0::multi_asset::MultiAsset904 * Lookup85: xcm::v0::multi_asset::MultiAsset
859 **/905 **/
860 XcmV0MultiAsset: {906 XcmV0MultiAsset: {
861 _enum: {907 _enum: {
862 None: 'Null',908 None: 'Null',
893 }939 }
894 }940 }
895 },941 },
896 /**942 /**
897 * Lookup84: xcm::v0::multi_location::MultiLocation943 * Lookup86: xcm::v0::multi_location::MultiLocation
898 **/944 **/
899 XcmV0MultiLocation: {945 XcmV0MultiLocation: {
900 _enum: {946 _enum: {
901 Null: 'Null',947 Null: 'Null',
909 X8: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)'955 X8: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)'
910 }956 }
911 },957 },
912 /**958 /**
913 * Lookup85: xcm::v0::junction::Junction959 * Lookup87: xcm::v0::junction::Junction
914 **/960 **/
915 XcmV0Junction: {961 XcmV0Junction: {
916 _enum: {962 _enum: {
917 Parent: 'Null',963 Parent: 'Null',
938 }984 }
939 }985 }
940 },986 },
941 /**987 /**
942 * Lookup86: xcm::VersionedMultiLocation988 * Lookup88: xcm::VersionedMultiLocation
943 **/989 **/
944 XcmVersionedMultiLocation: {990 XcmVersionedMultiLocation: {
945 _enum: {991 _enum: {
946 V0: 'XcmV0MultiLocation',992 V0: 'XcmV0MultiLocation',
947 V1: 'XcmV1MultiLocation'993 V1: 'XcmV1MultiLocation'
948 }994 }
949 },995 },
950 /**996 /**
951 * Lookup87: cumulus_pallet_xcm::pallet::Event<T>997 * Lookup89: cumulus_pallet_xcm::pallet::Event<T>
952 **/998 **/
953 CumulusPalletXcmEvent: {999 CumulusPalletXcmEvent: {
954 _enum: {1000 _enum: {
955 InvalidFormat: '[u8;8]',1001 InvalidFormat: '[u8;8]',
956 UnsupportedVersion: '[u8;8]',1002 UnsupportedVersion: '[u8;8]',
957 ExecutedDownward: '([u8;8],XcmV2TraitsOutcome)'1003 ExecutedDownward: '([u8;8],XcmV2TraitsOutcome)'
958 }1004 }
959 },1005 },
960 /**1006 /**
961 * Lookup88: cumulus_pallet_dmp_queue::pallet::Event<T>1007 * Lookup90: cumulus_pallet_dmp_queue::pallet::Event<T>
962 **/1008 **/
963 CumulusPalletDmpQueueEvent: {1009 CumulusPalletDmpQueueEvent: {
964 _enum: {1010 _enum: {
965 InvalidFormat: {1011 InvalidFormat: {
988 }1034 }
989 }1035 }
990 },1036 },
991 /**1037 /**
992 * Lookup89: pallet_common::pallet::Event<T>1038 * Lookup91: pallet_common::pallet::Event<T>
993 **/1039 **/
994 PalletCommonEvent: {1040 PalletCommonEvent: {
995 _enum: {1041 _enum: {
996 CollectionCreated: '(u32,u8,AccountId32)',1042 CollectionCreated: '(u32,u8,AccountId32)',
1017 CollectionSponsorRemoved: 'u32'1063 CollectionSponsorRemoved: 'u32'
1018 }1064 }
1019 },1065 },
1020 /**1066 /**
1021 * Lookup92: pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>1067 * Lookup94: pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>
1022 **/1068 **/
1023 PalletEvmAccountBasicCrossAccountIdRepr: {1069 PalletEvmAccountBasicCrossAccountIdRepr: {
1024 _enum: {1070 _enum: {
1025 Substrate: 'AccountId32',1071 Substrate: 'AccountId32',
1026 Ethereum: 'H160'1072 Ethereum: 'H160'
1027 }1073 }
1028 },1074 },
1029 /**1075 /**
1030 * Lookup96: pallet_structure::pallet::Event<T>1076 * Lookup98: pallet_structure::pallet::Event<T>
1031 **/1077 **/
1032 PalletStructureEvent: {1078 PalletStructureEvent: {
1033 _enum: {1079 _enum: {
1034 Executed: 'Result<Null, SpRuntimeDispatchError>'1080 Executed: 'Result<Null, SpRuntimeDispatchError>'
1035 }1081 }
1036 },1082 },
1037 /**1083 /**
1038 * Lookup97: pallet_rmrk_core::pallet::Event<T>1084 * Lookup99: pallet_rmrk_core::pallet::Event<T>
1039 **/1085 **/
1040 PalletRmrkCoreEvent: {1086 PalletRmrkCoreEvent: {
1041 _enum: {1087 _enum: {
1042 CollectionCreated: {1088 CollectionCreated: {
1111 }1157 }
1112 }1158 }
1113 },1159 },
1114 /**1160 /**
1115 * Lookup98: rmrk_traits::nft::AccountIdOrCollectionNftTuple<sp_core::crypto::AccountId32>1161 * Lookup100: rmrk_traits::nft::AccountIdOrCollectionNftTuple<sp_core::crypto::AccountId32>
1116 **/1162 **/
1117 RmrkTraitsNftAccountIdOrCollectionNftTuple: {1163 RmrkTraitsNftAccountIdOrCollectionNftTuple: {
1118 _enum: {1164 _enum: {
1119 AccountId: 'AccountId32',1165 AccountId: 'AccountId32',
1120 CollectionAndNftTuple: '(u32,u32)'1166 CollectionAndNftTuple: '(u32,u32)'
1121 }1167 }
1122 },1168 },
1123 /**1169 /**
1124 * Lookup102: pallet_rmrk_equip::pallet::Event<T>1170 * Lookup104: pallet_rmrk_equip::pallet::Event<T>
1125 **/1171 **/
1126 PalletRmrkEquipEvent: {1172 PalletRmrkEquipEvent: {
1127 _enum: {1173 _enum: {
1128 BaseCreated: {1174 BaseCreated: {
1135 }1181 }
1136 }1182 }
1137 },1183 },
1138 /**1184 /**
1139 * Lookup103: pallet_app_promotion::pallet::Event<T>1185 * Lookup105: pallet_app_promotion::pallet::Event<T>
1140 **/1186 **/
1141 PalletAppPromotionEvent: {1187 PalletAppPromotionEvent: {
1142 _enum: {1188 _enum: {
1143 StakingRecalculation: '(AccountId32,u128,u128)',1189 StakingRecalculation: '(AccountId32,u128,u128)',
1146 SetAdmin: 'AccountId32'1192 SetAdmin: 'AccountId32'
1147 }1193 }
1148 },1194 },
1149 /**1195 /**
1150 * Lookup104: pallet_foreign_assets::module::Event<T>1196 * Lookup106: pallet_foreign_assets::module::Event<T>
1151 **/1197 **/
1152 PalletForeignAssetsModuleEvent: {1198 PalletForeignAssetsModuleEvent: {
1153 _enum: {1199 _enum: {
1154 ForeignAssetRegistered: {1200 ForeignAssetRegistered: {
1171 }1217 }
1172 }1218 }
1173 },1219 },
1174 /**1220 /**
1175 * Lookup105: pallet_foreign_assets::module::AssetMetadata<Balance>1221 * Lookup107: pallet_foreign_assets::module::AssetMetadata<Balance>
1176 **/1222 **/
1177 PalletForeignAssetsModuleAssetMetadata: {1223 PalletForeignAssetsModuleAssetMetadata: {
1178 name: 'Bytes',1224 name: 'Bytes',
1179 symbol: 'Bytes',1225 symbol: 'Bytes',
1180 decimals: 'u8',1226 decimals: 'u8',
1181 minimalBalance: 'u128'1227 minimalBalance: 'u128'
1182 },1228 },
1183 /**1229 /**
1184 * Lookup106: pallet_evm::pallet::Event<T>1230 * Lookup108: pallet_evm::pallet::Event<T>
1185 **/1231 **/
1186 PalletEvmEvent: {1232 PalletEvmEvent: {
1187 _enum: {1233 _enum: {
1188 Log: {1234 Log: {
1202 }1248 }
1203 }1249 }
1204 },1250 },
1205 /**1251 /**
1206 * Lookup107: ethereum::log::Log1252 * Lookup109: ethereum::log::Log
1207 **/1253 **/
1208 EthereumLog: {1254 EthereumLog: {
1209 address: 'H160',1255 address: 'H160',
1210 topics: 'Vec<H256>',1256 topics: 'Vec<H256>',
1211 data: 'Bytes'1257 data: 'Bytes'
1212 },1258 },
1213 /**1259 /**
1214 * Lookup109: pallet_ethereum::pallet::Event1260 * Lookup111: pallet_ethereum::pallet::Event
1215 **/1261 **/
1216 PalletEthereumEvent: {1262 PalletEthereumEvent: {
1217 _enum: {1263 _enum: {
1218 Executed: {1264 Executed: {
1223 }1269 }
1224 }1270 }
1225 },1271 },
1226 /**1272 /**
1227 * Lookup110: evm_core::error::ExitReason1273 * Lookup112: evm_core::error::ExitReason
1228 **/1274 **/
1229 EvmCoreErrorExitReason: {1275 EvmCoreErrorExitReason: {
1230 _enum: {1276 _enum: {
1231 Succeed: 'EvmCoreErrorExitSucceed',1277 Succeed: 'EvmCoreErrorExitSucceed',
1234 Fatal: 'EvmCoreErrorExitFatal'1280 Fatal: 'EvmCoreErrorExitFatal'
1235 }1281 }
1236 },1282 },
1237 /**1283 /**
1238 * Lookup111: evm_core::error::ExitSucceed1284 * Lookup113: evm_core::error::ExitSucceed
1239 **/1285 **/
1240 EvmCoreErrorExitSucceed: {1286 EvmCoreErrorExitSucceed: {
1241 _enum: ['Stopped', 'Returned', 'Suicided']1287 _enum: ['Stopped', 'Returned', 'Suicided']
1242 },1288 },
1243 /**1289 /**
1244 * Lookup112: evm_core::error::ExitError1290 * Lookup114: evm_core::error::ExitError
1245 **/1291 **/
1246 EvmCoreErrorExitError: {1292 EvmCoreErrorExitError: {
1247 _enum: {1293 _enum: {
1248 StackUnderflow: 'Null',1294 StackUnderflow: 'Null',
1262 InvalidCode: 'Null'1308 InvalidCode: 'Null'
1263 }1309 }
1264 },1310 },
1265 /**1311 /**
1266 * Lookup115: evm_core::error::ExitRevert1312 * Lookup117: evm_core::error::ExitRevert
1267 **/1313 **/
1268 EvmCoreErrorExitRevert: {1314 EvmCoreErrorExitRevert: {
1269 _enum: ['Reverted']1315 _enum: ['Reverted']
1270 },1316 },
1271 /**1317 /**
1272 * Lookup116: evm_core::error::ExitFatal1318 * Lookup118: evm_core::error::ExitFatal
1273 **/1319 **/
1274 EvmCoreErrorExitFatal: {1320 EvmCoreErrorExitFatal: {
1275 _enum: {1321 _enum: {
1276 NotSupported: 'Null',1322 NotSupported: 'Null',
1279 Other: 'Text'1325 Other: 'Text'
1280 }1326 }
1281 },1327 },
1282 /**1328 /**
1283 * Lookup117: pallet_evm_contract_helpers::pallet::Event<T>1329 * Lookup119: pallet_evm_contract_helpers::pallet::Event<T>
1284 **/1330 **/
1285 PalletEvmContractHelpersEvent: {1331 PalletEvmContractHelpersEvent: {
1286 _enum: {1332 _enum: {
1287 ContractSponsorSet: '(H160,AccountId32)',1333 ContractSponsorSet: '(H160,AccountId32)',
1288 ContractSponsorshipConfirmed: '(H160,AccountId32)',1334 ContractSponsorshipConfirmed: '(H160,AccountId32)',
1289 ContractSponsorRemoved: 'H160'1335 ContractSponsorRemoved: 'H160'
1290 }1336 }
1291 },1337 },
1292 /**1338 /**
1293 * Lookup118: pallet_evm_migration::pallet::Event<T>1339 * Lookup120: pallet_evm_migration::pallet::Event<T>
1294 **/1340 **/
1295 PalletEvmMigrationEvent: {1341 PalletEvmMigrationEvent: {
1296 _enum: ['TestEvent']1342 _enum: ['TestEvent']
1297 },1343 },
1298 /**1344 /**
1299 * Lookup119: pallet_maintenance::pallet::Event<T>1345 * Lookup121: pallet_maintenance::pallet::Event<T>
1300 **/1346 **/
1301 PalletMaintenanceEvent: {1347 PalletMaintenanceEvent: {
1302 _enum: ['MaintenanceEnabled', 'MaintenanceDisabled']1348 _enum: ['MaintenanceEnabled', 'MaintenanceDisabled']
1303 },1349 },
1304 /**1350 /**
1305 * Lookup120: pallet_test_utils::pallet::Event<T>1351 * Lookup122: pallet_test_utils::pallet::Event<T>
1306 **/1352 **/
1307 PalletTestUtilsEvent: {1353 PalletTestUtilsEvent: {
1308 _enum: ['ValueIsSet', 'ShouldRollback', 'BatchCompleted']1354 _enum: ['ValueIsSet', 'ShouldRollback', 'BatchCompleted']
1309 },1355 },
1310 /**1356 /**
1311 * Lookup121: frame_system::Phase1357 * Lookup123: frame_system::Phase
1312 **/1358 **/
1313 FrameSystemPhase: {1359 FrameSystemPhase: {
1314 _enum: {1360 _enum: {
1315 ApplyExtrinsic: 'u32',1361 ApplyExtrinsic: 'u32',
1316 Finalization: 'Null',1362 Finalization: 'Null',
1317 Initialization: 'Null'1363 Initialization: 'Null'
1318 }1364 }
1319 },1365 },
1320 /**1366 /**
1321 * Lookup124: frame_system::LastRuntimeUpgradeInfo1367 * Lookup126: frame_system::LastRuntimeUpgradeInfo
1322 **/1368 **/
1323 FrameSystemLastRuntimeUpgradeInfo: {1369 FrameSystemLastRuntimeUpgradeInfo: {
1324 specVersion: 'Compact<u32>',1370 specVersion: 'Compact<u32>',
1325 specName: 'Text'1371 specName: 'Text'
1326 },1372 },
1327 /**1373 /**
1328 * Lookup125: frame_system::pallet::Call<T>1374 * Lookup127: frame_system::pallet::Call<T>
1329 **/1375 **/
1330 FrameSystemCall: {1376 FrameSystemCall: {
1331 _enum: {1377 _enum: {
1332 fill_block: {1378 fill_block: {
1362 }1408 }
1363 }1409 }
1364 },1410 },
1365 /**1411 /**
1366 * Lookup130: frame_system::limits::BlockWeights1412 * Lookup132: frame_system::limits::BlockWeights
1367 **/1413 **/
1368 FrameSystemLimitsBlockWeights: {1414 FrameSystemLimitsBlockWeights: {
1369 baseBlock: 'SpWeightsWeightV2Weight',1415 baseBlock: 'SpWeightsWeightV2Weight',
1370 maxBlock: 'SpWeightsWeightV2Weight',1416 maxBlock: 'SpWeightsWeightV2Weight',
1371 perClass: 'FrameSupportDispatchPerDispatchClassWeightsPerClass'1417 perClass: 'FrameSupportDispatchPerDispatchClassWeightsPerClass'
1372 },1418 },
1373 /**1419 /**
1374 * Lookup131: frame_support::dispatch::PerDispatchClass<frame_system::limits::WeightsPerClass>1420 * Lookup133: frame_support::dispatch::PerDispatchClass<frame_system::limits::WeightsPerClass>
1375 **/1421 **/
1376 FrameSupportDispatchPerDispatchClassWeightsPerClass: {1422 FrameSupportDispatchPerDispatchClassWeightsPerClass: {
1377 normal: 'FrameSystemLimitsWeightsPerClass',1423 normal: 'FrameSystemLimitsWeightsPerClass',
1378 operational: 'FrameSystemLimitsWeightsPerClass',1424 operational: 'FrameSystemLimitsWeightsPerClass',
1379 mandatory: 'FrameSystemLimitsWeightsPerClass'1425 mandatory: 'FrameSystemLimitsWeightsPerClass'
1380 },1426 },
1381 /**1427 /**
1382 * Lookup132: frame_system::limits::WeightsPerClass1428 * Lookup134: frame_system::limits::WeightsPerClass
1383 **/1429 **/
1384 FrameSystemLimitsWeightsPerClass: {1430 FrameSystemLimitsWeightsPerClass: {
1385 baseExtrinsic: 'SpWeightsWeightV2Weight',1431 baseExtrinsic: 'SpWeightsWeightV2Weight',
1386 maxExtrinsic: 'Option<SpWeightsWeightV2Weight>',1432 maxExtrinsic: 'Option<SpWeightsWeightV2Weight>',
1387 maxTotal: 'Option<SpWeightsWeightV2Weight>',1433 maxTotal: 'Option<SpWeightsWeightV2Weight>',
1388 reserved: 'Option<SpWeightsWeightV2Weight>'1434 reserved: 'Option<SpWeightsWeightV2Weight>'
1389 },1435 },
1390 /**1436 /**
1391 * Lookup134: frame_system::limits::BlockLength1437 * Lookup136: frame_system::limits::BlockLength
1392 **/1438 **/
1393 FrameSystemLimitsBlockLength: {1439 FrameSystemLimitsBlockLength: {
1394 max: 'FrameSupportDispatchPerDispatchClassU32'1440 max: 'FrameSupportDispatchPerDispatchClassU32'
1395 },1441 },
1396 /**1442 /**
1397 * Lookup135: frame_support::dispatch::PerDispatchClass<T>1443 * Lookup137: frame_support::dispatch::PerDispatchClass<T>
1398 **/1444 **/
1399 FrameSupportDispatchPerDispatchClassU32: {1445 FrameSupportDispatchPerDispatchClassU32: {
1400 normal: 'u32',1446 normal: 'u32',
1401 operational: 'u32',1447 operational: 'u32',
1402 mandatory: 'u32'1448 mandatory: 'u32'
1403 },1449 },
1404 /**1450 /**
1405 * Lookup136: sp_weights::RuntimeDbWeight1451 * Lookup138: sp_weights::RuntimeDbWeight
1406 **/1452 **/
1407 SpWeightsRuntimeDbWeight: {1453 SpWeightsRuntimeDbWeight: {
1408 read: 'u64',1454 read: 'u64',
1409 write: 'u64'1455 write: 'u64'
1410 },1456 },
1411 /**1457 /**
1412 * Lookup137: sp_version::RuntimeVersion1458 * Lookup139: sp_version::RuntimeVersion
1413 **/1459 **/
1414 SpVersionRuntimeVersion: {1460 SpVersionRuntimeVersion: {
1415 specName: 'Text',1461 specName: 'Text',
1416 implName: 'Text',1462 implName: 'Text',
1421 transactionVersion: 'u32',1467 transactionVersion: 'u32',
1422 stateVersion: 'u8'1468 stateVersion: 'u8'
1423 },1469 },
1424 /**1470 /**
1425 * Lookup142: frame_system::pallet::Error<T>1471 * Lookup144: frame_system::pallet::Error<T>
1426 **/1472 **/
1427 FrameSystemError: {1473 FrameSystemError: {
1428 _enum: ['InvalidSpecName', 'SpecVersionNeedsToIncrease', 'FailedToExtractRuntimeVersion', 'NonDefaultComposite', 'NonZeroRefCount', 'CallFiltered']1474 _enum: ['InvalidSpecName', 'SpecVersionNeedsToIncrease', 'FailedToExtractRuntimeVersion', 'NonDefaultComposite', 'NonZeroRefCount', 'CallFiltered']
1429 },1475 },
1430 /**1476 /**
1431 * Lookup143: polkadot_primitives::v2::PersistedValidationData<primitive_types::H256, N>1477 * Lookup145: polkadot_primitives::v2::PersistedValidationData<primitive_types::H256, N>
1432 **/1478 **/
1433 PolkadotPrimitivesV2PersistedValidationData: {1479 PolkadotPrimitivesV2PersistedValidationData: {
1434 parentHead: 'Bytes',1480 parentHead: 'Bytes',
1435 relayParentNumber: 'u32',1481 relayParentNumber: 'u32',
1436 relayParentStorageRoot: 'H256',1482 relayParentStorageRoot: 'H256',
1437 maxPovSize: 'u32'1483 maxPovSize: 'u32'
1438 },1484 },
1439 /**1485 /**
1440 * Lookup146: polkadot_primitives::v2::UpgradeRestriction1486 * Lookup148: polkadot_primitives::v2::UpgradeRestriction
1441 **/1487 **/
1442 PolkadotPrimitivesV2UpgradeRestriction: {1488 PolkadotPrimitivesV2UpgradeRestriction: {
1443 _enum: ['Present']1489 _enum: ['Present']
1444 },1490 },
1445 /**1491 /**
1446 * Lookup147: sp_trie::storage_proof::StorageProof1492 * Lookup149: sp_trie::storage_proof::StorageProof
1447 **/1493 **/
1448 SpTrieStorageProof: {1494 SpTrieStorageProof: {
1449 trieNodes: 'BTreeSet<Bytes>'1495 trieNodes: 'BTreeSet<Bytes>'
1450 },1496 },
1451 /**1497 /**
1452 * Lookup149: cumulus_pallet_parachain_system::relay_state_snapshot::MessagingStateSnapshot1498 * Lookup151: cumulus_pallet_parachain_system::relay_state_snapshot::MessagingStateSnapshot
1453 **/1499 **/
1454 CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot: {1500 CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot: {
1455 dmqMqcHead: 'H256',1501 dmqMqcHead: 'H256',
1456 relayDispatchQueueSize: '(u32,u32)',1502 relayDispatchQueueSize: '(u32,u32)',
1457 ingressChannels: 'Vec<(u32,PolkadotPrimitivesV2AbridgedHrmpChannel)>',1503 ingressChannels: 'Vec<(u32,PolkadotPrimitivesV2AbridgedHrmpChannel)>',
1458 egressChannels: 'Vec<(u32,PolkadotPrimitivesV2AbridgedHrmpChannel)>'1504 egressChannels: 'Vec<(u32,PolkadotPrimitivesV2AbridgedHrmpChannel)>'
1459 },1505 },
1460 /**1506 /**
1461 * Lookup152: polkadot_primitives::v2::AbridgedHrmpChannel1507 * Lookup154: polkadot_primitives::v2::AbridgedHrmpChannel
1462 **/1508 **/
1463 PolkadotPrimitivesV2AbridgedHrmpChannel: {1509 PolkadotPrimitivesV2AbridgedHrmpChannel: {
1464 maxCapacity: 'u32',1510 maxCapacity: 'u32',
1465 maxTotalSize: 'u32',1511 maxTotalSize: 'u32',
1468 totalSize: 'u32',1514 totalSize: 'u32',
1469 mqcHead: 'Option<H256>'1515 mqcHead: 'Option<H256>'
1470 },1516 },
1471 /**1517 /**
1472 * Lookup153: polkadot_primitives::v2::AbridgedHostConfiguration1518 * Lookup155: polkadot_primitives::v2::AbridgedHostConfiguration
1473 **/1519 **/
1474 PolkadotPrimitivesV2AbridgedHostConfiguration: {1520 PolkadotPrimitivesV2AbridgedHostConfiguration: {
1475 maxCodeSize: 'u32',1521 maxCodeSize: 'u32',
1476 maxHeadDataSize: 'u32',1522 maxHeadDataSize: 'u32',
1482 validationUpgradeCooldown: 'u32',1528 validationUpgradeCooldown: 'u32',
1483 validationUpgradeDelay: 'u32'1529 validationUpgradeDelay: 'u32'
1484 },1530 },
1485 /**1531 /**
1486 * Lookup159: polkadot_core_primitives::OutboundHrmpMessage<polkadot_parachain::primitives::Id>1532 * Lookup161: polkadot_core_primitives::OutboundHrmpMessage<polkadot_parachain::primitives::Id>
1487 **/1533 **/
1488 PolkadotCorePrimitivesOutboundHrmpMessage: {1534 PolkadotCorePrimitivesOutboundHrmpMessage: {
1489 recipient: 'u32',1535 recipient: 'u32',
1490 data: 'Bytes'1536 data: 'Bytes'
1491 },1537 },
1492 /**1538 /**
1493 * Lookup160: cumulus_pallet_parachain_system::pallet::Call<T>1539 * Lookup162: cumulus_pallet_parachain_system::pallet::Call<T>
1494 **/1540 **/
1495 CumulusPalletParachainSystemCall: {1541 CumulusPalletParachainSystemCall: {
1496 _enum: {1542 _enum: {
1497 set_validation_data: {1543 set_validation_data: {
1508 }1554 }
1509 }1555 }
1510 },1556 },
1511 /**1557 /**
1512 * Lookup161: cumulus_primitives_parachain_inherent::ParachainInherentData1558 * Lookup163: cumulus_primitives_parachain_inherent::ParachainInherentData
1513 **/1559 **/
1514 CumulusPrimitivesParachainInherentParachainInherentData: {1560 CumulusPrimitivesParachainInherentParachainInherentData: {
1515 validationData: 'PolkadotPrimitivesV2PersistedValidationData',1561 validationData: 'PolkadotPrimitivesV2PersistedValidationData',
1516 relayChainState: 'SpTrieStorageProof',1562 relayChainState: 'SpTrieStorageProof',
1517 downwardMessages: 'Vec<PolkadotCorePrimitivesInboundDownwardMessage>',1563 downwardMessages: 'Vec<PolkadotCorePrimitivesInboundDownwardMessage>',
1518 horizontalMessages: 'BTreeMap<u32, Vec<PolkadotCorePrimitivesInboundHrmpMessage>>'1564 horizontalMessages: 'BTreeMap<u32, Vec<PolkadotCorePrimitivesInboundHrmpMessage>>'
1519 },1565 },
1520 /**1566 /**
1521 * Lookup163: polkadot_core_primitives::InboundDownwardMessage<BlockNumber>1567 * Lookup165: polkadot_core_primitives::InboundDownwardMessage<BlockNumber>
1522 **/1568 **/
1523 PolkadotCorePrimitivesInboundDownwardMessage: {1569 PolkadotCorePrimitivesInboundDownwardMessage: {
1524 sentAt: 'u32',1570 sentAt: 'u32',
1525 msg: 'Bytes'1571 msg: 'Bytes'
1526 },1572 },
1527 /**1573 /**
1528 * Lookup166: polkadot_core_primitives::InboundHrmpMessage<BlockNumber>1574 * Lookup168: polkadot_core_primitives::InboundHrmpMessage<BlockNumber>
1529 **/1575 **/
1530 PolkadotCorePrimitivesInboundHrmpMessage: {1576 PolkadotCorePrimitivesInboundHrmpMessage: {
1531 sentAt: 'u32',1577 sentAt: 'u32',
1532 data: 'Bytes'1578 data: 'Bytes'
1533 },1579 },
1534 /**1580 /**
1535 * Lookup169: cumulus_pallet_parachain_system::pallet::Error<T>1581 * Lookup171: cumulus_pallet_parachain_system::pallet::Error<T>
1536 **/1582 **/
1537 CumulusPalletParachainSystemError: {1583 CumulusPalletParachainSystemError: {
1538 _enum: ['OverlappingUpgrades', 'ProhibitedByPolkadot', 'TooBig', 'ValidationDataNotAvailable', 'HostConfigurationNotAvailable', 'NotScheduled', 'NothingAuthorized', 'Unauthorized']1584 _enum: ['OverlappingUpgrades', 'ProhibitedByPolkadot', 'TooBig', 'ValidationDataNotAvailable', 'HostConfigurationNotAvailable', 'NotScheduled', 'NothingAuthorized', 'Unauthorized']
1539 },1585 },
1586 /**
1587 * Lookup173: pallet_authorship::UncleEntryItem<BlockNumber, primitive_types::H256, sp_core::crypto::AccountId32>
1588 **/
1589 PalletAuthorshipUncleEntryItem: {
1590 _enum: {
1591 InclusionHeight: 'u32',
1592 Uncle: '(H256,Option<AccountId32>)'
1593 }
1594 },
1595 /**
1596 * Lookup175: pallet_authorship::pallet::Call<T>
1597 **/
1598 PalletAuthorshipCall: {
1599 _enum: {
1600 set_uncles: {
1601 newUncles: 'Vec<SpRuntimeHeader>'
1602 }
1603 }
1604 },
1605 /**
1606 * Lookup177: sp_runtime::generic::header::Header<Number, sp_runtime::traits::BlakeTwo256>
1607 **/
1608 SpRuntimeHeader: {
1609 parentHash: 'H256',
1610 number: 'Compact<u32>',
1611 stateRoot: 'H256',
1612 extrinsicsRoot: 'H256',
1613 digest: 'SpRuntimeDigest'
1614 },
1615 /**
1616 * Lookup178: sp_runtime::traits::BlakeTwo256
1617 **/
1618 SpRuntimeBlakeTwo256: 'Null',
1619 /**
1620 * Lookup179: pallet_authorship::pallet::Error<T>
1621 **/
1622 PalletAuthorshipError: {
1623 _enum: ['InvalidUncleParent', 'UnclesAlreadySet', 'TooManyUncles', 'GenesisUncle', 'TooHighUncle', 'UncleAlreadyIncluded', 'OldUncle']
1624 },
1625 /**
1626 * Lookup182: pallet_collator_selection::pallet::Call<T>
1627 **/
1628 PalletCollatorSelectionCall: {
1629 _enum: {
1630 add_invulnerable: {
1631 _alias: {
1632 new_: 'new',
1633 },
1634 new_: 'AccountId32',
1635 },
1636 remove_invulnerable: {
1637 who: 'AccountId32',
1638 },
1639 set_desired_collators: {
1640 max: 'u32',
1641 },
1642 set_license_bond: {
1643 bond: 'u128',
1644 },
1645 set_kick_threshold: {
1646 kickThreshold: 'u32',
1647 },
1648 get_license: 'Null',
1649 onboard: 'Null',
1650 offboard: 'Null',
1651 release_license: 'Null',
1652 force_revoke_license: {
1653 who: 'AccountId32'
1654 }
1655 }
1656 },
1657 /**
1658 * Lookup183: pallet_collator_selection::pallet::Error<T>
1659 **/
1660 PalletCollatorSelectionError: {
1661 _enum: ['TooManyCandidates', 'Unknown', 'Permission', 'AlreadyHoldingLicense', 'NoLicense', 'AlreadyCandidate', 'NotCandidate', 'TooManyInvulnerables', 'TooFewInvulnerables', 'AlreadyInvulnerable', 'NotInvulnerable', 'NoAssociatedValidatorId', 'ValidatorNotRegistered']
1662 },
1663 /**
1664 * Lookup186: opal_runtime::runtime_common::SessionKeys
1665 **/
1666 OpalRuntimeRuntimeCommonSessionKeys: {
1667 aura: 'SpConsensusAuraSr25519AppSr25519Public'
1668 },
1669 /**
1670 * Lookup187: sp_consensus_aura::sr25519::app_sr25519::Public
1671 **/
1672 SpConsensusAuraSr25519AppSr25519Public: 'SpCoreSr25519Public',
1673 /**
1674 * Lookup188: sp_core::sr25519::Public
1675 **/
1676 SpCoreSr25519Public: '[u8;32]',
1677 /**
1678 * Lookup191: sp_core::crypto::KeyTypeId
1679 **/
1680 SpCoreCryptoKeyTypeId: '[u8;4]',
1681 /**
1682 * Lookup192: pallet_session::pallet::Call<T>
1683 **/
1684 PalletSessionCall: {
1685 _enum: {
1686 set_keys: {
1687 _alias: {
1688 keys_: 'keys',
1689 },
1690 keys_: 'OpalRuntimeRuntimeCommonSessionKeys',
1691 proof: 'Bytes',
1692 },
1693 purge_keys: 'Null'
1694 }
1695 },
1696 /**
1697 * Lookup193: pallet_session::pallet::Error<T>
1698 **/
1699 PalletSessionError: {
1700 _enum: ['InvalidProof', 'NoAssociatedValidatorId', 'DuplicatedKey', 'NoKeys', 'NoAccount']
1701 },
1540 /**1702 /**
1541 * Lookup171: pallet_balances::BalanceLock<Balance>1703 * Lookup195: pallet_balances::BalanceLock<Balance>
1542 **/1704 **/
1543 PalletBalancesBalanceLock: {1705 PalletBalancesBalanceLock: {
1544 id: '[u8;8]',1706 id: '[u8;8]',
1545 amount: 'u128',1707 amount: 'u128',
1546 reasons: 'PalletBalancesReasons'1708 reasons: 'PalletBalancesReasons'
1547 },1709 },
1548 /**1710 /**
1549 * Lookup172: pallet_balances::Reasons1711 * Lookup196: pallet_balances::Reasons
1550 **/1712 **/
1551 PalletBalancesReasons: {1713 PalletBalancesReasons: {
1552 _enum: ['Fee', 'Misc', 'All']1714 _enum: ['Fee', 'Misc', 'All']
1553 },1715 },
1554 /**1716 /**
1555 * Lookup175: pallet_balances::ReserveData<ReserveIdentifier, Balance>1717 * Lookup199: pallet_balances::ReserveData<ReserveIdentifier, Balance>
1556 **/1718 **/
1557 PalletBalancesReserveData: {1719 PalletBalancesReserveData: {
1558 id: '[u8;16]',1720 id: '[u8;16]',
1559 amount: 'u128'1721 amount: 'u128'
1560 },1722 },
1561 /**1723 /**
1562 * Lookup177: pallet_balances::Releases1724 * Lookup201: pallet_balances::Releases
1563 **/1725 **/
1564 PalletBalancesReleases: {1726 PalletBalancesReleases: {
1565 _enum: ['V1_0_0', 'V2_0_0']1727 _enum: ['V1_0_0', 'V2_0_0']
1566 },1728 },
1567 /**1729 /**
1568 * Lookup178: pallet_balances::pallet::Call<T, I>1730 * Lookup202: pallet_balances::pallet::Call<T, I>
1569 **/1731 **/
1570 PalletBalancesCall: {1732 PalletBalancesCall: {
1571 _enum: {1733 _enum: {
1572 transfer: {1734 transfer: {
1597 }1759 }
1598 }1760 }
1599 },1761 },
1600 /**1762 /**
1601 * Lookup181: pallet_balances::pallet::Error<T, I>1763 * Lookup205: pallet_balances::pallet::Error<T, I>
1602 **/1764 **/
1603 PalletBalancesError: {1765 PalletBalancesError: {
1604 _enum: ['VestingBalance', 'LiquidityRestrictions', 'InsufficientBalance', 'ExistentialDeposit', 'KeepAlive', 'ExistingVestingSchedule', 'DeadAccount', 'TooManyReserves']1766 _enum: ['VestingBalance', 'LiquidityRestrictions', 'InsufficientBalance', 'ExistentialDeposit', 'KeepAlive', 'ExistingVestingSchedule', 'DeadAccount', 'TooManyReserves']
1605 },1767 },
1606 /**1768 /**
1607 * Lookup183: pallet_timestamp::pallet::Call<T>1769 * Lookup207: pallet_timestamp::pallet::Call<T>
1608 **/1770 **/
1609 PalletTimestampCall: {1771 PalletTimestampCall: {
1610 _enum: {1772 _enum: {
1611 set: {1773 set: {
1612 now: 'Compact<u64>'1774 now: 'Compact<u64>'
1613 }1775 }
1614 }1776 }
1615 },1777 },
1616 /**1778 /**
1617 * Lookup185: pallet_transaction_payment::Releases1779 * Lookup209: pallet_transaction_payment::Releases
1618 **/1780 **/
1619 PalletTransactionPaymentReleases: {1781 PalletTransactionPaymentReleases: {
1620 _enum: ['V1Ancient', 'V2']1782 _enum: ['V1Ancient', 'V2']
1621 },1783 },
1622 /**1784 /**
1623 * Lookup186: pallet_treasury::Proposal<sp_core::crypto::AccountId32, Balance>1785 * Lookup210: pallet_treasury::Proposal<sp_core::crypto::AccountId32, Balance>
1624 **/1786 **/
1625 PalletTreasuryProposal: {1787 PalletTreasuryProposal: {
1626 proposer: 'AccountId32',1788 proposer: 'AccountId32',
1627 value: 'u128',1789 value: 'u128',
1628 beneficiary: 'AccountId32',1790 beneficiary: 'AccountId32',
1629 bond: 'u128'1791 bond: 'u128'
1630 },1792 },
1631 /**1793 /**
1632 * Lookup189: pallet_treasury::pallet::Call<T, I>1794 * Lookup212: pallet_treasury::pallet::Call<T, I>
1633 **/1795 **/
1634 PalletTreasuryCall: {1796 PalletTreasuryCall: {
1635 _enum: {1797 _enum: {
1636 propose_spend: {1798 propose_spend: {
1652 }1814 }
1653 }1815 }
1654 },1816 },
1655 /**1817 /**
1656 * Lookup192: frame_support::PalletId1818 * Lookup215: frame_support::PalletId
1657 **/1819 **/
1658 FrameSupportPalletId: '[u8;8]',1820 FrameSupportPalletId: '[u8;8]',
1659 /**1821 /**
1660 * Lookup193: pallet_treasury::pallet::Error<T, I>1822 * Lookup216: pallet_treasury::pallet::Error<T, I>
1661 **/1823 **/
1662 PalletTreasuryError: {1824 PalletTreasuryError: {
1663 _enum: ['InsufficientProposersBalance', 'InvalidIndex', 'TooManyApprovals', 'InsufficientPermission', 'ProposalNotApproved']1825 _enum: ['InsufficientProposersBalance', 'InvalidIndex', 'TooManyApprovals', 'InsufficientPermission', 'ProposalNotApproved']
1664 },1826 },
1665 /**1827 /**
1666 * Lookup194: pallet_sudo::pallet::Call<T>1828 * Lookup217: pallet_sudo::pallet::Call<T>
1667 **/1829 **/
1668 PalletSudoCall: {1830 PalletSudoCall: {
1669 _enum: {1831 _enum: {
1670 sudo: {1832 sudo: {
1686 }1848 }
1687 }1849 }
1688 },1850 },
1689 /**1851 /**
1690 * Lookup196: orml_vesting::module::Call<T>1852 * Lookup219: orml_vesting::module::Call<T>
1691 **/1853 **/
1692 OrmlVestingModuleCall: {1854 OrmlVestingModuleCall: {
1693 _enum: {1855 _enum: {
1694 claim: 'Null',1856 claim: 'Null',
1705 }1867 }
1706 }1868 }
1707 },1869 },
1708 /**1870 /**
1709 * Lookup198: orml_xtokens::module::Call<T>1871 * Lookup221: orml_xtokens::module::Call<T>
1710 **/1872 **/
1711 OrmlXtokensModuleCall: {1873 OrmlXtokensModuleCall: {
1712 _enum: {1874 _enum: {
1713 transfer: {1875 transfer: {
1748 }1910 }
1749 }1911 }
1750 },1912 },
1751 /**1913 /**
1752 * Lookup199: xcm::VersionedMultiAsset1914 * Lookup222: xcm::VersionedMultiAsset
1753 **/1915 **/
1754 XcmVersionedMultiAsset: {1916 XcmVersionedMultiAsset: {
1755 _enum: {1917 _enum: {
1756 V0: 'XcmV0MultiAsset',1918 V0: 'XcmV0MultiAsset',
1757 V1: 'XcmV1MultiAsset'1919 V1: 'XcmV1MultiAsset'
1758 }1920 }
1759 },1921 },
1760 /**1922 /**
1761 * Lookup202: orml_tokens::module::Call<T>1923 * Lookup225: orml_tokens::module::Call<T>
1762 **/1924 **/
1763 OrmlTokensModuleCall: {1925 OrmlTokensModuleCall: {
1764 _enum: {1926 _enum: {
1765 transfer: {1927 transfer: {
1791 }1953 }
1792 }1954 }
1793 },1955 },
1794 /**1956 /**
1795 * Lookup203: cumulus_pallet_xcmp_queue::pallet::Call<T>1957 * Lookup226: cumulus_pallet_xcmp_queue::pallet::Call<T>
1796 **/1958 **/
1797 CumulusPalletXcmpQueueCall: {1959 CumulusPalletXcmpQueueCall: {
1798 _enum: {1960 _enum: {
1799 service_overweight: {1961 service_overweight: {
1840 }2002 }
1841 }2003 }
1842 },2004 },
1843 /**2005 /**
1844 * Lookup204: pallet_xcm::pallet::Call<T>2006 * Lookup227: pallet_xcm::pallet::Call<T>
1845 **/2007 **/
1846 PalletXcmCall: {2008 PalletXcmCall: {
1847 _enum: {2009 _enum: {
1848 send: {2010 send: {
1894 }2056 }
1895 }2057 }
1896 },2058 },
1897 /**2059 /**
1898 * Lookup205: xcm::VersionedXcm<RuntimeCall>2060 * Lookup228: xcm::VersionedXcm<RuntimeCall>
1899 **/2061 **/
1900 XcmVersionedXcm: {2062 XcmVersionedXcm: {
1901 _enum: {2063 _enum: {
1902 V0: 'XcmV0Xcm',2064 V0: 'XcmV0Xcm',
1903 V1: 'XcmV1Xcm',2065 V1: 'XcmV1Xcm',
1904 V2: 'XcmV2Xcm'2066 V2: 'XcmV2Xcm'
1905 }2067 }
1906 },2068 },
1907 /**2069 /**
1908 * Lookup206: xcm::v0::Xcm<RuntimeCall>2070 * Lookup229: xcm::v0::Xcm<RuntimeCall>
1909 **/2071 **/
1910 XcmV0Xcm: {2072 XcmV0Xcm: {
1911 _enum: {2073 _enum: {
1912 WithdrawAsset: {2074 WithdrawAsset: {
1958 }2120 }
1959 }2121 }
1960 },2122 },
1961 /**2123 /**
1962 * Lookup208: xcm::v0::order::Order<RuntimeCall>2124 * Lookup231: xcm::v0::order::Order<RuntimeCall>
1963 **/2125 **/
1964 XcmV0Order: {2126 XcmV0Order: {
1965 _enum: {2127 _enum: {
1966 Null: 'Null',2128 Null: 'Null',
2001 }2163 }
2002 }2164 }
2003 },2165 },
2004 /**2166 /**
2005 * Lookup210: xcm::v0::Response2167 * Lookup233: xcm::v0::Response
2006 **/2168 **/
2007 XcmV0Response: {2169 XcmV0Response: {
2008 _enum: {2170 _enum: {
2009 Assets: 'Vec<XcmV0MultiAsset>'2171 Assets: 'Vec<XcmV0MultiAsset>'
2010 }2172 }
2011 },2173 },
2012 /**2174 /**
2013 * Lookup211: xcm::v1::Xcm<RuntimeCall>2175 * Lookup234: xcm::v1::Xcm<RuntimeCall>
2014 **/2176 **/
2015 XcmV1Xcm: {2177 XcmV1Xcm: {
2016 _enum: {2178 _enum: {
2017 WithdrawAsset: {2179 WithdrawAsset: {
2068 UnsubscribeVersion: 'Null'2230 UnsubscribeVersion: 'Null'
2069 }2231 }
2070 },2232 },
2071 /**2233 /**
2072 * Lookup213: xcm::v1::order::Order<RuntimeCall>2234 * Lookup236: xcm::v1::order::Order<RuntimeCall>
2073 **/2235 **/
2074 XcmV1Order: {2236 XcmV1Order: {
2075 _enum: {2237 _enum: {
2076 Noop: 'Null',2238 Noop: 'Null',
2113 }2275 }
2114 }2276 }
2115 },2277 },
2116 /**2278 /**
2117 * Lookup215: xcm::v1::Response2279 * Lookup238: xcm::v1::Response
2118 **/2280 **/
2119 XcmV1Response: {2281 XcmV1Response: {
2120 _enum: {2282 _enum: {
2121 Assets: 'XcmV1MultiassetMultiAssets',2283 Assets: 'XcmV1MultiassetMultiAssets',
2122 Version: 'u32'2284 Version: 'u32'
2123 }2285 }
2124 },2286 },
2125 /**2287 /**
2126 * Lookup229: cumulus_pallet_xcm::pallet::Call<T>2288 * Lookup252: cumulus_pallet_xcm::pallet::Call<T>
2127 **/2289 **/
2128 CumulusPalletXcmCall: 'Null',2290 CumulusPalletXcmCall: 'Null',
2129 /**2291 /**
2130 * Lookup230: cumulus_pallet_dmp_queue::pallet::Call<T>2292 * Lookup253: cumulus_pallet_dmp_queue::pallet::Call<T>
2131 **/2293 **/
2132 CumulusPalletDmpQueueCall: {2294 CumulusPalletDmpQueueCall: {
2133 _enum: {2295 _enum: {
2134 service_overweight: {2296 service_overweight: {
2137 }2299 }
2138 }2300 }
2139 },2301 },
2140 /**2302 /**
2141 * Lookup231: pallet_inflation::pallet::Call<T>2303 * Lookup254: pallet_inflation::pallet::Call<T>
2142 **/2304 **/
2143 PalletInflationCall: {2305 PalletInflationCall: {
2144 _enum: {2306 _enum: {
2145 start_inflation: {2307 start_inflation: {
2146 inflationStartRelayBlock: 'u32'2308 inflationStartRelayBlock: 'u32'
2147 }2309 }
2148 }2310 }
2149 },2311 },
2150 /**2312 /**
2151 * Lookup232: pallet_unique::Call<T>2313 * Lookup255: pallet_unique::Call<T>
2152 **/2314 **/
2153 PalletUniqueCall: {2315 PalletUniqueCall: {
2154 _enum: {2316 _enum: {
2155 create_collection: {2317 create_collection: {
2282 operator: 'PalletEvmAccountBasicCrossAccountIdRepr',2444 operator: 'PalletEvmAccountBasicCrossAccountIdRepr',
2283 approve: 'bool',2445 approve: 'bool',
2284 },2446 },
2447 force_repair_collection: {
2448 collectionId: 'u32',
2449 },
2285 repair_item: {2450 force_repair_item: {
2286 collectionId: 'u32',2451 collectionId: 'u32',
2287 itemId: 'u32'2452 itemId: 'u32'
2288 }2453 }
2289 }2454 }
2290 },2455 },
2291 /**2456 /**
2292 * Lookup237: up_data_structs::CollectionMode2457 * Lookup260: up_data_structs::CollectionMode
2293 **/2458 **/
2294 UpDataStructsCollectionMode: {2459 UpDataStructsCollectionMode: {
2295 _enum: {2460 _enum: {
2296 NFT: 'Null',2461 NFT: 'Null',
2297 Fungible: 'u8',2462 Fungible: 'u8',
2298 ReFungible: 'Null'2463 ReFungible: 'Null'
2299 }2464 }
2300 },2465 },
2301 /**2466 /**
2302 * Lookup238: up_data_structs::CreateCollectionData<sp_core::crypto::AccountId32>2467 * Lookup261: up_data_structs::CreateCollectionData<sp_core::crypto::AccountId32>
2303 **/2468 **/
2304 UpDataStructsCreateCollectionData: {2469 UpDataStructsCreateCollectionData: {
2305 mode: 'UpDataStructsCollectionMode',2470 mode: 'UpDataStructsCollectionMode',
2306 access: 'Option<UpDataStructsAccessMode>',2471 access: 'Option<UpDataStructsAccessMode>',
2313 tokenPropertyPermissions: 'Vec<UpDataStructsPropertyKeyPermission>',2478 tokenPropertyPermissions: 'Vec<UpDataStructsPropertyKeyPermission>',
2314 properties: 'Vec<UpDataStructsProperty>'2479 properties: 'Vec<UpDataStructsProperty>'
2315 },2480 },
2316 /**2481 /**
2317 * Lookup240: up_data_structs::AccessMode2482 * Lookup263: up_data_structs::AccessMode
2318 **/2483 **/
2319 UpDataStructsAccessMode: {2484 UpDataStructsAccessMode: {
2320 _enum: ['Normal', 'AllowList']2485 _enum: ['Normal', 'AllowList']
2321 },2486 },
2322 /**2487 /**
2323 * Lookup242: up_data_structs::CollectionLimits2488 * Lookup265: up_data_structs::CollectionLimits
2324 **/2489 **/
2325 UpDataStructsCollectionLimits: {2490 UpDataStructsCollectionLimits: {
2326 accountTokenOwnershipLimit: 'Option<u32>',2491 accountTokenOwnershipLimit: 'Option<u32>',
2327 sponsoredDataSize: 'Option<u32>',2492 sponsoredDataSize: 'Option<u32>',
2333 ownerCanDestroy: 'Option<bool>',2498 ownerCanDestroy: 'Option<bool>',
2334 transfersEnabled: 'Option<bool>'2499 transfersEnabled: 'Option<bool>'
2335 },2500 },
2336 /**2501 /**
2337 * Lookup244: up_data_structs::SponsoringRateLimit2502 * Lookup267: up_data_structs::SponsoringRateLimit
2338 **/2503 **/
2339 UpDataStructsSponsoringRateLimit: {2504 UpDataStructsSponsoringRateLimit: {
2340 _enum: {2505 _enum: {
2341 SponsoringDisabled: 'Null',2506 SponsoringDisabled: 'Null',
2342 Blocks: 'u32'2507 Blocks: 'u32'
2343 }2508 }
2344 },2509 },
2345 /**2510 /**
2346 * Lookup247: up_data_structs::CollectionPermissions2511 * Lookup270: up_data_structs::CollectionPermissions
2347 **/2512 **/
2348 UpDataStructsCollectionPermissions: {2513 UpDataStructsCollectionPermissions: {
2349 access: 'Option<UpDataStructsAccessMode>',2514 access: 'Option<UpDataStructsAccessMode>',
2350 mintMode: 'Option<bool>',2515 mintMode: 'Option<bool>',
2351 nesting: 'Option<UpDataStructsNestingPermissions>'2516 nesting: 'Option<UpDataStructsNestingPermissions>'
2352 },2517 },
2353 /**2518 /**
2354 * Lookup249: up_data_structs::NestingPermissions2519 * Lookup272: up_data_structs::NestingPermissions
2355 **/2520 **/
2356 UpDataStructsNestingPermissions: {2521 UpDataStructsNestingPermissions: {
2357 tokenOwner: 'bool',2522 tokenOwner: 'bool',
2358 collectionAdmin: 'bool',2523 collectionAdmin: 'bool',
2359 restricted: 'Option<UpDataStructsOwnerRestrictedSet>'2524 restricted: 'Option<UpDataStructsOwnerRestrictedSet>'
2360 },2525 },
2361 /**2526 /**
2362 * Lookup251: up_data_structs::OwnerRestrictedSet2527 * Lookup274: up_data_structs::OwnerRestrictedSet
2363 **/2528 **/
2364 UpDataStructsOwnerRestrictedSet: 'BTreeSet<u32>',2529 UpDataStructsOwnerRestrictedSet: 'BTreeSet<u32>',
2365 /**2530 /**
2366 * Lookup256: up_data_structs::PropertyKeyPermission2531 * Lookup279: up_data_structs::PropertyKeyPermission
2367 **/2532 **/
2368 UpDataStructsPropertyKeyPermission: {2533 UpDataStructsPropertyKeyPermission: {
2369 key: 'Bytes',2534 key: 'Bytes',
2370 permission: 'UpDataStructsPropertyPermission'2535 permission: 'UpDataStructsPropertyPermission'
2371 },2536 },
2372 /**2537 /**
2373 * Lookup257: up_data_structs::PropertyPermission2538 * Lookup280: up_data_structs::PropertyPermission
2374 **/2539 **/
2375 UpDataStructsPropertyPermission: {2540 UpDataStructsPropertyPermission: {
2376 mutable: 'bool',2541 mutable: 'bool',
2377 collectionAdmin: 'bool',2542 collectionAdmin: 'bool',
2378 tokenOwner: 'bool'2543 tokenOwner: 'bool'
2379 },2544 },
2380 /**2545 /**
2381 * Lookup260: up_data_structs::Property2546 * Lookup283: up_data_structs::Property
2382 **/2547 **/
2383 UpDataStructsProperty: {2548 UpDataStructsProperty: {
2384 key: 'Bytes',2549 key: 'Bytes',
2385 value: 'Bytes'2550 value: 'Bytes'
2386 },2551 },
2387 /**2552 /**
2388 * Lookup263: up_data_structs::CreateItemData2553 * Lookup286: up_data_structs::CreateItemData
2389 **/2554 **/
2390 UpDataStructsCreateItemData: {2555 UpDataStructsCreateItemData: {
2391 _enum: {2556 _enum: {
2392 NFT: 'UpDataStructsCreateNftData',2557 NFT: 'UpDataStructsCreateNftData',
2393 Fungible: 'UpDataStructsCreateFungibleData',2558 Fungible: 'UpDataStructsCreateFungibleData',
2394 ReFungible: 'UpDataStructsCreateReFungibleData'2559 ReFungible: 'UpDataStructsCreateReFungibleData'
2395 }2560 }
2396 },2561 },
2397 /**2562 /**
2398 * Lookup264: up_data_structs::CreateNftData2563 * Lookup287: up_data_structs::CreateNftData
2399 **/2564 **/
2400 UpDataStructsCreateNftData: {2565 UpDataStructsCreateNftData: {
2401 properties: 'Vec<UpDataStructsProperty>'2566 properties: 'Vec<UpDataStructsProperty>'
2402 },2567 },
2403 /**2568 /**
2404 * Lookup265: up_data_structs::CreateFungibleData2569 * Lookup288: up_data_structs::CreateFungibleData
2405 **/2570 **/
2406 UpDataStructsCreateFungibleData: {2571 UpDataStructsCreateFungibleData: {
2407 value: 'u128'2572 value: 'u128'
2408 },2573 },
2409 /**2574 /**
2410 * Lookup266: up_data_structs::CreateReFungibleData2575 * Lookup289: up_data_structs::CreateReFungibleData
2411 **/2576 **/
2412 UpDataStructsCreateReFungibleData: {2577 UpDataStructsCreateReFungibleData: {
2413 pieces: 'u128',2578 pieces: 'u128',
2414 properties: 'Vec<UpDataStructsProperty>'2579 properties: 'Vec<UpDataStructsProperty>'
2415 },2580 },
2416 /**2581 /**
2417 * Lookup269: up_data_structs::CreateItemExData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>2582 * Lookup292: up_data_structs::CreateItemExData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
2418 **/2583 **/
2419 UpDataStructsCreateItemExData: {2584 UpDataStructsCreateItemExData: {
2420 _enum: {2585 _enum: {
2421 NFT: 'Vec<UpDataStructsCreateNftExData>',2586 NFT: 'Vec<UpDataStructsCreateNftExData>',
2424 RefungibleMultipleOwners: 'UpDataStructsCreateRefungibleExMultipleOwners'2589 RefungibleMultipleOwners: 'UpDataStructsCreateRefungibleExMultipleOwners'
2425 }2590 }
2426 },2591 },
2427 /**2592 /**
2428 * Lookup271: up_data_structs::CreateNftExData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>2593 * Lookup294: up_data_structs::CreateNftExData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
2429 **/2594 **/
2430 UpDataStructsCreateNftExData: {2595 UpDataStructsCreateNftExData: {
2431 properties: 'Vec<UpDataStructsProperty>',2596 properties: 'Vec<UpDataStructsProperty>',
2432 owner: 'PalletEvmAccountBasicCrossAccountIdRepr'2597 owner: 'PalletEvmAccountBasicCrossAccountIdRepr'
2433 },2598 },
2434 /**2599 /**
2435 * Lookup278: up_data_structs::CreateRefungibleExSingleOwner<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>2600 * Lookup301: up_data_structs::CreateRefungibleExSingleOwner<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
2436 **/2601 **/
2437 UpDataStructsCreateRefungibleExSingleOwner: {2602 UpDataStructsCreateRefungibleExSingleOwner: {
2438 user: 'PalletEvmAccountBasicCrossAccountIdRepr',2603 user: 'PalletEvmAccountBasicCrossAccountIdRepr',
2439 pieces: 'u128',2604 pieces: 'u128',
2440 properties: 'Vec<UpDataStructsProperty>'2605 properties: 'Vec<UpDataStructsProperty>'
2441 },2606 },
2442 /**2607 /**
2443 * Lookup280: up_data_structs::CreateRefungibleExMultipleOwners<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>2608 * Lookup303: up_data_structs::CreateRefungibleExMultipleOwners<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
2444 **/2609 **/
2445 UpDataStructsCreateRefungibleExMultipleOwners: {2610 UpDataStructsCreateRefungibleExMultipleOwners: {
2446 users: 'BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>',2611 users: 'BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>',
2447 properties: 'Vec<UpDataStructsProperty>'2612 properties: 'Vec<UpDataStructsProperty>'
2448 },2613 },
2449 /**2614 /**
2450 * Lookup281: pallet_configuration::pallet::Call<T>2615 * Lookup304: pallet_configuration::pallet::Call<T>
2451 **/2616 **/
2452 PalletConfigurationCall: {2617 PalletConfigurationCall: {
2453 _enum: {2618 _enum: {
2454 set_weight_to_fee_coefficient_override: {2619 set_weight_to_fee_coefficient_override: {
2465 }2630 }
2466 }2631 }
2467 },2632 },
2468 /**2633 /**
2469 * Lookup286: pallet_configuration::AppPromotionConfiguration<BlockNumber>2634 * Lookup309: pallet_configuration::AppPromotionConfiguration<BlockNumber>
2470 **/2635 **/
2471 PalletConfigurationAppPromotionConfiguration: {2636 PalletConfigurationAppPromotionConfiguration: {
2472 recalculationInterval: 'Option<u32>',2637 recalculationInterval: 'Option<u32>',
2473 pendingInterval: 'Option<u32>',2638 pendingInterval: 'Option<u32>',
2474 intervalIncome: 'Option<Perbill>',2639 intervalIncome: 'Option<Perbill>',
2475 maxStakersPerCalculation: 'Option<u8>'2640 maxStakersPerCalculation: 'Option<u8>'
2476 },2641 },
2477 /**2642 /**
2478 * Lookup289: pallet_template_transaction_payment::Call<T>2643 * Lookup312: pallet_template_transaction_payment::Call<T>
2479 **/2644 **/
2480 PalletTemplateTransactionPaymentCall: 'Null',2645 PalletTemplateTransactionPaymentCall: 'Null',
2481 /**2646 /**
2482 * Lookup290: pallet_structure::pallet::Call<T>2647 * Lookup313: pallet_structure::pallet::Call<T>
2483 **/2648 **/
2484 PalletStructureCall: 'Null',2649 PalletStructureCall: 'Null',
2485 /**2650 /**
2486 * Lookup291: pallet_rmrk_core::pallet::Call<T>2651 * Lookup314: pallet_rmrk_core::pallet::Call<T>
2487 **/2652 **/
2488 PalletRmrkCoreCall: {2653 PalletRmrkCoreCall: {
2489 _enum: {2654 _enum: {
2490 create_collection: {2655 create_collection: {
2573 }2738 }
2574 }2739 }
2575 },2740 },
2576 /**2741 /**
2577 * Lookup297: rmrk_traits::resource::ResourceTypes<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>>2742 * Lookup320: rmrk_traits::resource::ResourceTypes<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>>
2578 **/2743 **/
2579 RmrkTraitsResourceResourceTypes: {2744 RmrkTraitsResourceResourceTypes: {
2580 _enum: {2745 _enum: {
2581 Basic: 'RmrkTraitsResourceBasicResource',2746 Basic: 'RmrkTraitsResourceBasicResource',
2582 Composable: 'RmrkTraitsResourceComposableResource',2747 Composable: 'RmrkTraitsResourceComposableResource',
2583 Slot: 'RmrkTraitsResourceSlotResource'2748 Slot: 'RmrkTraitsResourceSlotResource'
2584 }2749 }
2585 },2750 },
2586 /**2751 /**
2587 * Lookup299: rmrk_traits::resource::BasicResource<sp_core::bounded::bounded_vec::BoundedVec<T, S>>2752 * Lookup322: rmrk_traits::resource::BasicResource<sp_core::bounded::bounded_vec::BoundedVec<T, S>>
2588 **/2753 **/
2589 RmrkTraitsResourceBasicResource: {2754 RmrkTraitsResourceBasicResource: {
2590 src: 'Option<Bytes>',2755 src: 'Option<Bytes>',
2591 metadata: 'Option<Bytes>',2756 metadata: 'Option<Bytes>',
2592 license: 'Option<Bytes>',2757 license: 'Option<Bytes>',
2593 thumb: 'Option<Bytes>'2758 thumb: 'Option<Bytes>'
2594 },2759 },
2595 /**2760 /**
2596 * Lookup301: rmrk_traits::resource::ComposableResource<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>>2761 * Lookup324: rmrk_traits::resource::ComposableResource<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>>
2597 **/2762 **/
2598 RmrkTraitsResourceComposableResource: {2763 RmrkTraitsResourceComposableResource: {
2599 parts: 'Vec<u32>',2764 parts: 'Vec<u32>',
2600 base: 'u32',2765 base: 'u32',
2603 license: 'Option<Bytes>',2768 license: 'Option<Bytes>',
2604 thumb: 'Option<Bytes>'2769 thumb: 'Option<Bytes>'
2605 },2770 },
2606 /**2771 /**
2607 * Lookup302: rmrk_traits::resource::SlotResource<sp_core::bounded::bounded_vec::BoundedVec<T, S>>2772 * Lookup325: rmrk_traits::resource::SlotResource<sp_core::bounded::bounded_vec::BoundedVec<T, S>>
2608 **/2773 **/
2609 RmrkTraitsResourceSlotResource: {2774 RmrkTraitsResourceSlotResource: {
2610 base: 'u32',2775 base: 'u32',
2611 src: 'Option<Bytes>',2776 src: 'Option<Bytes>',
2614 license: 'Option<Bytes>',2779 license: 'Option<Bytes>',
2615 thumb: 'Option<Bytes>'2780 thumb: 'Option<Bytes>'
2616 },2781 },
2617 /**2782 /**
2618 * Lookup305: pallet_rmrk_equip::pallet::Call<T>2783 * Lookup328: pallet_rmrk_equip::pallet::Call<T>
2619 **/2784 **/
2620 PalletRmrkEquipCall: {2785 PalletRmrkEquipCall: {
2621 _enum: {2786 _enum: {
2622 create_base: {2787 create_base: {
2635 }2800 }
2636 }2801 }
2637 },2802 },
2638 /**2803 /**
2639 * Lookup308: rmrk_traits::part::PartType<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>>2804 * Lookup331: rmrk_traits::part::PartType<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>>
2640 **/2805 **/
2641 RmrkTraitsPartPartType: {2806 RmrkTraitsPartPartType: {
2642 _enum: {2807 _enum: {
2643 FixedPart: 'RmrkTraitsPartFixedPart',2808 FixedPart: 'RmrkTraitsPartFixedPart',
2644 SlotPart: 'RmrkTraitsPartSlotPart'2809 SlotPart: 'RmrkTraitsPartSlotPart'
2645 }2810 }
2646 },2811 },
2647 /**2812 /**
2648 * Lookup310: rmrk_traits::part::FixedPart<sp_core::bounded::bounded_vec::BoundedVec<T, S>>2813 * Lookup333: rmrk_traits::part::FixedPart<sp_core::bounded::bounded_vec::BoundedVec<T, S>>
2649 **/2814 **/
2650 RmrkTraitsPartFixedPart: {2815 RmrkTraitsPartFixedPart: {
2651 id: 'u32',2816 id: 'u32',
2652 z: 'u32',2817 z: 'u32',
2653 src: 'Bytes'2818 src: 'Bytes'
2654 },2819 },
2655 /**2820 /**
2656 * Lookup311: rmrk_traits::part::SlotPart<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>>2821 * Lookup334: rmrk_traits::part::SlotPart<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>>
2657 **/2822 **/
2658 RmrkTraitsPartSlotPart: {2823 RmrkTraitsPartSlotPart: {
2659 id: 'u32',2824 id: 'u32',
2660 equippable: 'RmrkTraitsPartEquippableList',2825 equippable: 'RmrkTraitsPartEquippableList',
2661 src: 'Bytes',2826 src: 'Bytes',
2662 z: 'u32'2827 z: 'u32'
2663 },2828 },
2664 /**2829 /**
2665 * Lookup312: rmrk_traits::part::EquippableList<sp_core::bounded::bounded_vec::BoundedVec<T, S>>2830 * Lookup335: rmrk_traits::part::EquippableList<sp_core::bounded::bounded_vec::BoundedVec<T, S>>
2666 **/2831 **/
2667 RmrkTraitsPartEquippableList: {2832 RmrkTraitsPartEquippableList: {
2668 _enum: {2833 _enum: {
2669 All: 'Null',2834 All: 'Null',
2670 Empty: 'Null',2835 Empty: 'Null',
2671 Custom: 'Vec<u32>'2836 Custom: 'Vec<u32>'
2672 }2837 }
2673 },2838 },
2674 /**2839 /**
2675 * 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>>2840 * 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>>
2676 **/2841 **/
2677 RmrkTraitsTheme: {2842 RmrkTraitsTheme: {
2678 name: 'Bytes',2843 name: 'Bytes',
2679 properties: 'Vec<RmrkTraitsThemeThemeProperty>',2844 properties: 'Vec<RmrkTraitsThemeThemeProperty>',
2680 inherit: 'bool'2845 inherit: 'bool'
2681 },2846 },
2682 /**2847 /**
2683 * Lookup316: rmrk_traits::theme::ThemeProperty<sp_core::bounded::bounded_vec::BoundedVec<T, S>>2848 * Lookup339: rmrk_traits::theme::ThemeProperty<sp_core::bounded::bounded_vec::BoundedVec<T, S>>
2684 **/2849 **/
2685 RmrkTraitsThemeThemeProperty: {2850 RmrkTraitsThemeThemeProperty: {
2686 key: 'Bytes',2851 key: 'Bytes',
2687 value: 'Bytes'2852 value: 'Bytes'
2688 },2853 },
2689 /**2854 /**
2690 * Lookup318: pallet_app_promotion::pallet::Call<T>2855 * Lookup341: pallet_app_promotion::pallet::Call<T>
2691 **/2856 **/
2692 PalletAppPromotionCall: {2857 PalletAppPromotionCall: {
2693 _enum: {2858 _enum: {
2694 set_admin_address: {2859 set_admin_address: {
2715 }2880 }
2716 }2881 }
2717 },2882 },
2718 /**2883 /**
2719 * Lookup319: pallet_foreign_assets::module::Call<T>2884 * Lookup342: pallet_foreign_assets::module::Call<T>
2720 **/2885 **/
2721 PalletForeignAssetsModuleCall: {2886 PalletForeignAssetsModuleCall: {
2722 _enum: {2887 _enum: {
2723 register_foreign_asset: {2888 register_foreign_asset: {
2732 }2897 }
2733 }2898 }
2734 },2899 },
2735 /**2900 /**
2736 * Lookup320: pallet_evm::pallet::Call<T>2901 * Lookup343: pallet_evm::pallet::Call<T>
2737 **/2902 **/
2738 PalletEvmCall: {2903 PalletEvmCall: {
2739 _enum: {2904 _enum: {
2740 withdraw: {2905 withdraw: {
2775 }2940 }
2776 }2941 }
2777 },2942 },
2778 /**2943 /**
2779 * Lookup326: pallet_ethereum::pallet::Call<T>2944 * Lookup349: pallet_ethereum::pallet::Call<T>
2780 **/2945 **/
2781 PalletEthereumCall: {2946 PalletEthereumCall: {
2782 _enum: {2947 _enum: {
2783 transact: {2948 transact: {
2784 transaction: 'EthereumTransactionTransactionV2'2949 transaction: 'EthereumTransactionTransactionV2'
2785 }2950 }
2786 }2951 }
2787 },2952 },
2788 /**2953 /**
2789 * Lookup327: ethereum::transaction::TransactionV22954 * Lookup350: ethereum::transaction::TransactionV2
2790 **/2955 **/
2791 EthereumTransactionTransactionV2: {2956 EthereumTransactionTransactionV2: {
2792 _enum: {2957 _enum: {
2793 Legacy: 'EthereumTransactionLegacyTransaction',2958 Legacy: 'EthereumTransactionLegacyTransaction',
2794 EIP2930: 'EthereumTransactionEip2930Transaction',2959 EIP2930: 'EthereumTransactionEip2930Transaction',
2795 EIP1559: 'EthereumTransactionEip1559Transaction'2960 EIP1559: 'EthereumTransactionEip1559Transaction'
2796 }2961 }
2797 },2962 },
2798 /**2963 /**
2799 * Lookup328: ethereum::transaction::LegacyTransaction2964 * Lookup351: ethereum::transaction::LegacyTransaction
2800 **/2965 **/
2801 EthereumTransactionLegacyTransaction: {2966 EthereumTransactionLegacyTransaction: {
2802 nonce: 'U256',2967 nonce: 'U256',
2803 gasPrice: 'U256',2968 gasPrice: 'U256',
2807 input: 'Bytes',2972 input: 'Bytes',
2808 signature: 'EthereumTransactionTransactionSignature'2973 signature: 'EthereumTransactionTransactionSignature'
2809 },2974 },
2810 /**2975 /**
2811 * Lookup329: ethereum::transaction::TransactionAction2976 * Lookup352: ethereum::transaction::TransactionAction
2812 **/2977 **/
2813 EthereumTransactionTransactionAction: {2978 EthereumTransactionTransactionAction: {
2814 _enum: {2979 _enum: {
2815 Call: 'H160',2980 Call: 'H160',
2816 Create: 'Null'2981 Create: 'Null'
2817 }2982 }
2818 },2983 },
2819 /**2984 /**
2820 * Lookup330: ethereum::transaction::TransactionSignature2985 * Lookup353: ethereum::transaction::TransactionSignature
2821 **/2986 **/
2822 EthereumTransactionTransactionSignature: {2987 EthereumTransactionTransactionSignature: {
2823 v: 'u64',2988 v: 'u64',
2824 r: 'H256',2989 r: 'H256',
2825 s: 'H256'2990 s: 'H256'
2826 },2991 },
2827 /**2992 /**
2828 * Lookup332: ethereum::transaction::EIP2930Transaction2993 * Lookup355: ethereum::transaction::EIP2930Transaction
2829 **/2994 **/
2830 EthereumTransactionEip2930Transaction: {2995 EthereumTransactionEip2930Transaction: {
2831 chainId: 'u64',2996 chainId: 'u64',
2832 nonce: 'U256',2997 nonce: 'U256',
2840 r: 'H256',3005 r: 'H256',
2841 s: 'H256'3006 s: 'H256'
2842 },3007 },
2843 /**3008 /**
2844 * Lookup334: ethereum::transaction::AccessListItem3009 * Lookup357: ethereum::transaction::AccessListItem
2845 **/3010 **/
2846 EthereumTransactionAccessListItem: {3011 EthereumTransactionAccessListItem: {
2847 address: 'H160',3012 address: 'H160',
2848 storageKeys: 'Vec<H256>'3013 storageKeys: 'Vec<H256>'
2849 },3014 },
2850 /**3015 /**
2851 * Lookup335: ethereum::transaction::EIP1559Transaction3016 * Lookup358: ethereum::transaction::EIP1559Transaction
2852 **/3017 **/
2853 EthereumTransactionEip1559Transaction: {3018 EthereumTransactionEip1559Transaction: {
2854 chainId: 'u64',3019 chainId: 'u64',
2855 nonce: 'U256',3020 nonce: 'U256',
2864 r: 'H256',3029 r: 'H256',
2865 s: 'H256'3030 s: 'H256'
2866 },3031 },
2867 /**3032 /**
2868 * Lookup336: pallet_evm_migration::pallet::Call<T>3033 * Lookup359: pallet_evm_migration::pallet::Call<T>
2869 **/3034 **/
2870 PalletEvmMigrationCall: {3035 PalletEvmMigrationCall: {
2871 _enum: {3036 _enum: {
2872 begin: {3037 begin: {
2888 }3053 }
2889 }3054 }
2890 },3055 },
2891 /**3056 /**
2892 * Lookup340: pallet_maintenance::pallet::Call<T>3057 * Lookup363: pallet_maintenance::pallet::Call<T>
2893 **/3058 **/
2894 PalletMaintenanceCall: {3059 PalletMaintenanceCall: {
2895 _enum: ['enable', 'disable']3060 _enum: ['enable', 'disable']
2896 },3061 },
2897 /**3062 /**
2898 * Lookup341: pallet_test_utils::pallet::Call<T>3063 * Lookup364: pallet_test_utils::pallet::Call<T>
2899 **/3064 **/
2900 PalletTestUtilsCall: {3065 PalletTestUtilsCall: {
2901 _enum: {3066 _enum: {
2902 enable: 'Null',3067 enable: 'Null',
2913 }3078 }
2914 }3079 }
2915 },3080 },
2916 /**3081 /**
2917 * Lookup343: pallet_sudo::pallet::Error<T>3082 * Lookup366: pallet_sudo::pallet::Error<T>
2918 **/3083 **/
2919 PalletSudoError: {3084 PalletSudoError: {
2920 _enum: ['RequireSudo']3085 _enum: ['RequireSudo']
2921 },3086 },
2922 /**3087 /**
2923 * Lookup345: orml_vesting::module::Error<T>3088 * Lookup368: orml_vesting::module::Error<T>
2924 **/3089 **/
2925 OrmlVestingModuleError: {3090 OrmlVestingModuleError: {
2926 _enum: ['ZeroVestingPeriod', 'ZeroVestingPeriodCount', 'InsufficientBalanceToLock', 'TooManyVestingSchedules', 'AmountLow', 'MaxVestingSchedulesExceeded']3091 _enum: ['ZeroVestingPeriod', 'ZeroVestingPeriodCount', 'InsufficientBalanceToLock', 'TooManyVestingSchedules', 'AmountLow', 'MaxVestingSchedulesExceeded']
2927 },3092 },
2928 /**3093 /**
2929 * Lookup346: orml_xtokens::module::Error<T>3094 * Lookup369: orml_xtokens::module::Error<T>
2930 **/3095 **/
2931 OrmlXtokensModuleError: {3096 OrmlXtokensModuleError: {
2932 _enum: ['AssetHasNoReserve', 'NotCrossChainTransfer', 'InvalidDest', 'NotCrossChainTransferableCurrency', 'UnweighableMessage', 'XcmExecutionFailed', 'CannotReanchor', 'InvalidAncestry', 'InvalidAsset', 'DestinationNotInvertible', 'BadVersion', 'DistinctReserveForAssetAndFee', 'ZeroFee', 'ZeroAmount', 'TooManyAssetsBeingSent', 'AssetIndexNonExistent', 'FeeNotEnough', 'NotSupportedMultiLocation', 'MinXcmFeeNotDefined']3097 _enum: ['AssetHasNoReserve', 'NotCrossChainTransfer', 'InvalidDest', 'NotCrossChainTransferableCurrency', 'UnweighableMessage', 'XcmExecutionFailed', 'CannotReanchor', 'InvalidAncestry', 'InvalidAsset', 'DestinationNotInvertible', 'BadVersion', 'DistinctReserveForAssetAndFee', 'ZeroFee', 'ZeroAmount', 'TooManyAssetsBeingSent', 'AssetIndexNonExistent', 'FeeNotEnough', 'NotSupportedMultiLocation', 'MinXcmFeeNotDefined']
2933 },3098 },
2934 /**3099 /**
2935 * Lookup349: orml_tokens::BalanceLock<Balance>3100 * Lookup372: orml_tokens::BalanceLock<Balance>
2936 **/3101 **/
2937 OrmlTokensBalanceLock: {3102 OrmlTokensBalanceLock: {
2938 id: '[u8;8]',3103 id: '[u8;8]',
2939 amount: 'u128'3104 amount: 'u128'
2940 },3105 },
2941 /**3106 /**
2942 * Lookup351: orml_tokens::AccountData<Balance>3107 * Lookup374: orml_tokens::AccountData<Balance>
2943 **/3108 **/
2944 OrmlTokensAccountData: {3109 OrmlTokensAccountData: {
2945 free: 'u128',3110 free: 'u128',
2946 reserved: 'u128',3111 reserved: 'u128',
2947 frozen: 'u128'3112 frozen: 'u128'
2948 },3113 },
2949 /**3114 /**
2950 * Lookup353: orml_tokens::ReserveData<ReserveIdentifier, Balance>3115 * Lookup376: orml_tokens::ReserveData<ReserveIdentifier, Balance>
2951 **/3116 **/
2952 OrmlTokensReserveData: {3117 OrmlTokensReserveData: {
2953 id: 'Null',3118 id: 'Null',
2954 amount: 'u128'3119 amount: 'u128'
2955 },3120 },
2956 /**3121 /**
2957 * Lookup355: orml_tokens::module::Error<T>3122 * Lookup378: orml_tokens::module::Error<T>
2958 **/3123 **/
2959 OrmlTokensModuleError: {3124 OrmlTokensModuleError: {
2960 _enum: ['BalanceTooLow', 'AmountIntoBalanceFailed', 'LiquidityRestrictions', 'MaxLocksExceeded', 'KeepAlive', 'ExistentialDeposit', 'DeadAccount', 'TooManyReserves']3125 _enum: ['BalanceTooLow', 'AmountIntoBalanceFailed', 'LiquidityRestrictions', 'MaxLocksExceeded', 'KeepAlive', 'ExistentialDeposit', 'DeadAccount', 'TooManyReserves']
2961 },3126 },
2962 /**3127 /**
2963 * Lookup357: cumulus_pallet_xcmp_queue::InboundChannelDetails3128 * Lookup380: cumulus_pallet_xcmp_queue::InboundChannelDetails
2964 **/3129 **/
2965 CumulusPalletXcmpQueueInboundChannelDetails: {3130 CumulusPalletXcmpQueueInboundChannelDetails: {
2966 sender: 'u32',3131 sender: 'u32',
2967 state: 'CumulusPalletXcmpQueueInboundState',3132 state: 'CumulusPalletXcmpQueueInboundState',
2968 messageMetadata: 'Vec<(u32,PolkadotParachainPrimitivesXcmpMessageFormat)>'3133 messageMetadata: 'Vec<(u32,PolkadotParachainPrimitivesXcmpMessageFormat)>'
2969 },3134 },
2970 /**3135 /**
2971 * Lookup358: cumulus_pallet_xcmp_queue::InboundState3136 * Lookup381: cumulus_pallet_xcmp_queue::InboundState
2972 **/3137 **/
2973 CumulusPalletXcmpQueueInboundState: {3138 CumulusPalletXcmpQueueInboundState: {
2974 _enum: ['Ok', 'Suspended']3139 _enum: ['Ok', 'Suspended']
2975 },3140 },
2976 /**3141 /**
2977 * Lookup361: polkadot_parachain::primitives::XcmpMessageFormat3142 * Lookup384: polkadot_parachain::primitives::XcmpMessageFormat
2978 **/3143 **/
2979 PolkadotParachainPrimitivesXcmpMessageFormat: {3144 PolkadotParachainPrimitivesXcmpMessageFormat: {
2980 _enum: ['ConcatenatedVersionedXcm', 'ConcatenatedEncodedBlob', 'Signals']3145 _enum: ['ConcatenatedVersionedXcm', 'ConcatenatedEncodedBlob', 'Signals']
2981 },3146 },
2982 /**3147 /**
2983 * Lookup364: cumulus_pallet_xcmp_queue::OutboundChannelDetails3148 * Lookup387: cumulus_pallet_xcmp_queue::OutboundChannelDetails
2984 **/3149 **/
2985 CumulusPalletXcmpQueueOutboundChannelDetails: {3150 CumulusPalletXcmpQueueOutboundChannelDetails: {
2986 recipient: 'u32',3151 recipient: 'u32',
2987 state: 'CumulusPalletXcmpQueueOutboundState',3152 state: 'CumulusPalletXcmpQueueOutboundState',
2988 signalsExist: 'bool',3153 signalsExist: 'bool',
2989 firstIndex: 'u16',3154 firstIndex: 'u16',
2990 lastIndex: 'u16'3155 lastIndex: 'u16'
2991 },3156 },
2992 /**3157 /**
2993 * Lookup365: cumulus_pallet_xcmp_queue::OutboundState3158 * Lookup388: cumulus_pallet_xcmp_queue::OutboundState
2994 **/3159 **/
2995 CumulusPalletXcmpQueueOutboundState: {3160 CumulusPalletXcmpQueueOutboundState: {
2996 _enum: ['Ok', 'Suspended']3161 _enum: ['Ok', 'Suspended']
2997 },3162 },
2998 /**3163 /**
2999 * Lookup367: cumulus_pallet_xcmp_queue::QueueConfigData3164 * Lookup390: cumulus_pallet_xcmp_queue::QueueConfigData
3000 **/3165 **/
3001 CumulusPalletXcmpQueueQueueConfigData: {3166 CumulusPalletXcmpQueueQueueConfigData: {
3002 suspendThreshold: 'u32',3167 suspendThreshold: 'u32',
3003 dropThreshold: 'u32',3168 dropThreshold: 'u32',
3006 weightRestrictDecay: 'SpWeightsWeightV2Weight',3171 weightRestrictDecay: 'SpWeightsWeightV2Weight',
3007 xcmpMaxIndividualWeight: 'SpWeightsWeightV2Weight'3172 xcmpMaxIndividualWeight: 'SpWeightsWeightV2Weight'
3008 },3173 },
3009 /**3174 /**
3010 * Lookup369: cumulus_pallet_xcmp_queue::pallet::Error<T>3175 * Lookup392: cumulus_pallet_xcmp_queue::pallet::Error<T>
3011 **/3176 **/
3012 CumulusPalletXcmpQueueError: {3177 CumulusPalletXcmpQueueError: {
3013 _enum: ['FailedToSend', 'BadXcmOrigin', 'BadXcm', 'BadOverweightIndex', 'WeightOverLimit']3178 _enum: ['FailedToSend', 'BadXcmOrigin', 'BadXcm', 'BadOverweightIndex', 'WeightOverLimit']
3014 },3179 },
3015 /**3180 /**
3016 * Lookup370: pallet_xcm::pallet::Error<T>3181 * Lookup393: pallet_xcm::pallet::Error<T>
3017 **/3182 **/
3018 PalletXcmError: {3183 PalletXcmError: {
3019 _enum: ['Unreachable', 'SendFailure', 'Filtered', 'UnweighableMessage', 'DestinationNotInvertible', 'Empty', 'CannotReanchor', 'TooManyAssets', 'InvalidOrigin', 'BadVersion', 'BadLocation', 'NoSubscription', 'AlreadySubscribed']3184 _enum: ['Unreachable', 'SendFailure', 'Filtered', 'UnweighableMessage', 'DestinationNotInvertible', 'Empty', 'CannotReanchor', 'TooManyAssets', 'InvalidOrigin', 'BadVersion', 'BadLocation', 'NoSubscription', 'AlreadySubscribed']
3020 },3185 },
3021 /**3186 /**
3022 * Lookup371: cumulus_pallet_xcm::pallet::Error<T>3187 * Lookup394: cumulus_pallet_xcm::pallet::Error<T>
3023 **/3188 **/
3024 CumulusPalletXcmError: 'Null',3189 CumulusPalletXcmError: 'Null',
3025 /**3190 /**
3026 * Lookup372: cumulus_pallet_dmp_queue::ConfigData3191 * Lookup395: cumulus_pallet_dmp_queue::ConfigData
3027 **/3192 **/
3028 CumulusPalletDmpQueueConfigData: {3193 CumulusPalletDmpQueueConfigData: {
3029 maxIndividual: 'SpWeightsWeightV2Weight'3194 maxIndividual: 'SpWeightsWeightV2Weight'
3030 },3195 },
3031 /**3196 /**
3032 * Lookup373: cumulus_pallet_dmp_queue::PageIndexData3197 * Lookup396: cumulus_pallet_dmp_queue::PageIndexData
3033 **/3198 **/
3034 CumulusPalletDmpQueuePageIndexData: {3199 CumulusPalletDmpQueuePageIndexData: {
3035 beginUsed: 'u32',3200 beginUsed: 'u32',
3036 endUsed: 'u32',3201 endUsed: 'u32',
3037 overweightCount: 'u64'3202 overweightCount: 'u64'
3038 },3203 },
3039 /**3204 /**
3040 * Lookup376: cumulus_pallet_dmp_queue::pallet::Error<T>3205 * Lookup399: cumulus_pallet_dmp_queue::pallet::Error<T>
3041 **/3206 **/
3042 CumulusPalletDmpQueueError: {3207 CumulusPalletDmpQueueError: {
3043 _enum: ['Unknown', 'OverLimit']3208 _enum: ['Unknown', 'OverLimit']
3044 },3209 },
3045 /**3210 /**
3046 * Lookup380: pallet_unique::Error<T>3211 * Lookup403: pallet_unique::Error<T>
3047 **/3212 **/
3048 PalletUniqueError: {3213 PalletUniqueError: {
3049 _enum: ['CollectionDecimalPointLimitExceeded', 'EmptyArgument', 'RepartitionCalledOnNonRefungibleCollection']3214 _enum: ['CollectionDecimalPointLimitExceeded', 'EmptyArgument', 'RepartitionCalledOnNonRefungibleCollection']
3050 },3215 },
3051 /**3216 /**
3052 * Lookup381: pallet_configuration::pallet::Error<T>3217 * Lookup404: pallet_configuration::pallet::Error<T>
3053 **/3218 **/
3054 PalletConfigurationError: {3219 PalletConfigurationError: {
3055 _enum: ['InconsistentConfiguration']3220 _enum: ['InconsistentConfiguration']
3056 },3221 },
3057 /**3222 /**
3058 * Lookup382: up_data_structs::Collection<sp_core::crypto::AccountId32>3223 * Lookup405: up_data_structs::Collection<sp_core::crypto::AccountId32>
3059 **/3224 **/
3060 UpDataStructsCollection: {3225 UpDataStructsCollection: {
3061 owner: 'AccountId32',3226 owner: 'AccountId32',
3062 mode: 'UpDataStructsCollectionMode',3227 mode: 'UpDataStructsCollectionMode',
3068 permissions: 'UpDataStructsCollectionPermissions',3233 permissions: 'UpDataStructsCollectionPermissions',
3069 flags: '[u8;1]'3234 flags: '[u8;1]'
3070 },3235 },
3071 /**3236 /**
3072 * Lookup383: up_data_structs::SponsorshipState<sp_core::crypto::AccountId32>3237 * Lookup406: up_data_structs::SponsorshipState<sp_core::crypto::AccountId32>
3073 **/3238 **/
3074 UpDataStructsSponsorshipStateAccountId32: {3239 UpDataStructsSponsorshipStateAccountId32: {
3075 _enum: {3240 _enum: {
3076 Disabled: 'Null',3241 Disabled: 'Null',
3077 Unconfirmed: 'AccountId32',3242 Unconfirmed: 'AccountId32',
3078 Confirmed: 'AccountId32'3243 Confirmed: 'AccountId32'
3079 }3244 }
3080 },3245 },
3081 /**3246 /**
3082 * Lookup385: up_data_structs::Properties3247 * Lookup408: up_data_structs::Properties
3083 **/3248 **/
3084 UpDataStructsProperties: {3249 UpDataStructsProperties: {
3085 map: 'UpDataStructsPropertiesMapBoundedVec',3250 map: 'UpDataStructsPropertiesMapBoundedVec',
3086 consumedSpace: 'u32',3251 consumedSpace: 'u32',
3087 spaceLimit: 'u32'3252 spaceLimit: 'u32'
3088 },3253 },
3089 /**3254 /**
3090 * Lookup386: up_data_structs::PropertiesMap<sp_core::bounded::bounded_vec::BoundedVec<T, S>>3255 * Lookup409: up_data_structs::PropertiesMap<sp_core::bounded::bounded_vec::BoundedVec<T, S>>
3091 **/3256 **/
3092 UpDataStructsPropertiesMapBoundedVec: 'BTreeMap<Bytes, Bytes>',3257 UpDataStructsPropertiesMapBoundedVec: 'BTreeMap<Bytes, Bytes>',
3093 /**3258 /**
3094 * Lookup391: up_data_structs::PropertiesMap<up_data_structs::PropertyPermission>3259 * Lookup414: up_data_structs::PropertiesMap<up_data_structs::PropertyPermission>
3095 **/3260 **/
3096 UpDataStructsPropertiesMapPropertyPermission: 'BTreeMap<Bytes, UpDataStructsPropertyPermission>',3261 UpDataStructsPropertiesMapPropertyPermission: 'BTreeMap<Bytes, UpDataStructsPropertyPermission>',
3097 /**3262 /**
3098 * Lookup398: up_data_structs::CollectionStats3263 * Lookup421: up_data_structs::CollectionStats
3099 **/3264 **/
3100 UpDataStructsCollectionStats: {3265 UpDataStructsCollectionStats: {
3101 created: 'u32',3266 created: 'u32',
3102 destroyed: 'u32',3267 destroyed: 'u32',
3103 alive: 'u32'3268 alive: 'u32'
3104 },3269 },
3105 /**3270 /**
3106 * Lookup399: up_data_structs::TokenChild3271 * Lookup422: up_data_structs::TokenChild
3107 **/3272 **/
3108 UpDataStructsTokenChild: {3273 UpDataStructsTokenChild: {
3109 token: 'u32',3274 token: 'u32',
3110 collection: 'u32'3275 collection: 'u32'
3111 },3276 },
3112 /**3277 /**
3113 * Lookup400: PhantomType::up_data_structs<T>3278 * Lookup423: PhantomType::up_data_structs<T>
3114 **/3279 **/
3115 PhantomTypeUpDataStructs: '[(UpDataStructsTokenData,UpDataStructsRpcCollection,RmrkTraitsCollectionCollectionInfo,RmrkTraitsNftNftInfo,RmrkTraitsResourceResourceInfo,RmrkTraitsPropertyPropertyInfo,RmrkTraitsBaseBaseInfo,RmrkTraitsPartPartType,RmrkTraitsTheme,RmrkTraitsNftNftChild);0]',3280 PhantomTypeUpDataStructs: '[(UpDataStructsTokenData,UpDataStructsRpcCollection,RmrkTraitsCollectionCollectionInfo,RmrkTraitsNftNftInfo,RmrkTraitsResourceResourceInfo,RmrkTraitsPropertyPropertyInfo,RmrkTraitsBaseBaseInfo,RmrkTraitsPartPartType,RmrkTraitsTheme,RmrkTraitsNftNftChild);0]',
3116 /**3281 /**
3117 * Lookup402: up_data_structs::TokenData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>3282 * Lookup425: up_data_structs::TokenData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
3118 **/3283 **/
3119 UpDataStructsTokenData: {3284 UpDataStructsTokenData: {
3120 properties: 'Vec<UpDataStructsProperty>',3285 properties: 'Vec<UpDataStructsProperty>',
3121 owner: 'Option<PalletEvmAccountBasicCrossAccountIdRepr>',3286 owner: 'Option<PalletEvmAccountBasicCrossAccountIdRepr>',
3122 pieces: 'u128'3287 pieces: 'u128'
3123 },3288 },
3124 /**3289 /**
3125 * Lookup404: up_data_structs::RpcCollection<sp_core::crypto::AccountId32>3290 * Lookup427: up_data_structs::RpcCollection<sp_core::crypto::AccountId32>
3126 **/3291 **/
3127 UpDataStructsRpcCollection: {3292 UpDataStructsRpcCollection: {
3128 owner: 'AccountId32',3293 owner: 'AccountId32',
3129 mode: 'UpDataStructsCollectionMode',3294 mode: 'UpDataStructsCollectionMode',
3138 readOnly: 'bool',3303 readOnly: 'bool',
3139 flags: 'UpDataStructsRpcCollectionFlags'3304 flags: 'UpDataStructsRpcCollectionFlags'
3140 },3305 },
3141 /**3306 /**
3142 * Lookup405: up_data_structs::RpcCollectionFlags3307 * Lookup428: up_data_structs::RpcCollectionFlags
3143 **/3308 **/
3144 UpDataStructsRpcCollectionFlags: {3309 UpDataStructsRpcCollectionFlags: {
3145 foreign: 'bool',3310 foreign: 'bool',
3146 erc721metadata: 'bool'3311 erc721metadata: 'bool'
3147 },3312 },
3148 /**3313 /**
3149 * 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>3314 * 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>
3150 **/3315 **/
3151 RmrkTraitsCollectionCollectionInfo: {3316 RmrkTraitsCollectionCollectionInfo: {
3152 issuer: 'AccountId32',3317 issuer: 'AccountId32',
3153 metadata: 'Bytes',3318 metadata: 'Bytes',
3154 max: 'Option<u32>',3319 max: 'Option<u32>',
3155 symbol: 'Bytes',3320 symbol: 'Bytes',
3156 nftsCount: 'u32'3321 nftsCount: 'u32'
3157 },3322 },
3158 /**3323 /**
3159 * Lookup407: rmrk_traits::nft::NftInfo<sp_core::crypto::AccountId32, sp_arithmetic::per_things::Permill, sp_core::bounded::bounded_vec::BoundedVec<T, S>>3324 * Lookup430: rmrk_traits::nft::NftInfo<sp_core::crypto::AccountId32, sp_arithmetic::per_things::Permill, sp_core::bounded::bounded_vec::BoundedVec<T, S>>
3160 **/3325 **/
3161 RmrkTraitsNftNftInfo: {3326 RmrkTraitsNftNftInfo: {
3162 owner: 'RmrkTraitsNftAccountIdOrCollectionNftTuple',3327 owner: 'RmrkTraitsNftAccountIdOrCollectionNftTuple',
3163 royalty: 'Option<RmrkTraitsNftRoyaltyInfo>',3328 royalty: 'Option<RmrkTraitsNftRoyaltyInfo>',
3164 metadata: 'Bytes',3329 metadata: 'Bytes',
3165 equipped: 'bool',3330 equipped: 'bool',
3166 pending: 'bool'3331 pending: 'bool'
3167 },3332 },
3168 /**3333 /**
3169 * Lookup409: rmrk_traits::nft::RoyaltyInfo<sp_core::crypto::AccountId32, sp_arithmetic::per_things::Permill>3334 * Lookup432: rmrk_traits::nft::RoyaltyInfo<sp_core::crypto::AccountId32, sp_arithmetic::per_things::Permill>
3170 **/3335 **/
3171 RmrkTraitsNftRoyaltyInfo: {3336 RmrkTraitsNftRoyaltyInfo: {
3172 recipient: 'AccountId32',3337 recipient: 'AccountId32',
3173 amount: 'Permill'3338 amount: 'Permill'
3174 },3339 },
3175 /**3340 /**
3176 * Lookup410: rmrk_traits::resource::ResourceInfo<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>>3341 * Lookup433: rmrk_traits::resource::ResourceInfo<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>>
3177 **/3342 **/
3178 RmrkTraitsResourceResourceInfo: {3343 RmrkTraitsResourceResourceInfo: {
3179 id: 'u32',3344 id: 'u32',
3180 resource: 'RmrkTraitsResourceResourceTypes',3345 resource: 'RmrkTraitsResourceResourceTypes',
3181 pending: 'bool',3346 pending: 'bool',
3182 pendingRemoval: 'bool'3347 pendingRemoval: 'bool'
3183 },3348 },
3184 /**3349 /**
3185 * Lookup411: rmrk_traits::property::PropertyInfo<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>>3350 * Lookup434: rmrk_traits::property::PropertyInfo<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>>
3186 **/3351 **/
3187 RmrkTraitsPropertyPropertyInfo: {3352 RmrkTraitsPropertyPropertyInfo: {
3188 key: 'Bytes',3353 key: 'Bytes',
3189 value: 'Bytes'3354 value: 'Bytes'
3190 },3355 },
3191 /**3356 /**
3192 * Lookup412: rmrk_traits::base::BaseInfo<sp_core::crypto::AccountId32, sp_core::bounded::bounded_vec::BoundedVec<T, S>>3357 * Lookup435: rmrk_traits::base::BaseInfo<sp_core::crypto::AccountId32, sp_core::bounded::bounded_vec::BoundedVec<T, S>>
3193 **/3358 **/
3194 RmrkTraitsBaseBaseInfo: {3359 RmrkTraitsBaseBaseInfo: {
3195 issuer: 'AccountId32',3360 issuer: 'AccountId32',
3196 baseType: 'Bytes',3361 baseType: 'Bytes',
3197 symbol: 'Bytes'3362 symbol: 'Bytes'
3198 },3363 },
3199 /**3364 /**
3200 * Lookup413: rmrk_traits::nft::NftChild3365 * Lookup436: rmrk_traits::nft::NftChild
3201 **/3366 **/
3202 RmrkTraitsNftNftChild: {3367 RmrkTraitsNftNftChild: {
3203 collectionId: 'u32',3368 collectionId: 'u32',
3204 nftId: 'u32'3369 nftId: 'u32'
3205 },3370 },
3206 /**3371 /**
3207 * Lookup415: pallet_common::pallet::Error<T>3372 * Lookup438: pallet_common::pallet::Error<T>
3208 **/3373 **/
3209 PalletCommonError: {3374 PalletCommonError: {
3210 _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']3375 _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']
3211 },3376 },
3212 /**3377 /**
3213 * Lookup417: pallet_fungible::pallet::Error<T>3378 * Lookup440: pallet_fungible::pallet::Error<T>
3214 **/3379 **/
3215 PalletFungibleError: {3380 PalletFungibleError: {
3216 _enum: ['NotFungibleDataUsedToMintFungibleCollectionToken', 'FungibleItemsHaveNoId', 'FungibleItemsDontHaveData', 'FungibleDisallowsNesting', 'SettingPropertiesNotAllowed', 'SettingAllowanceForAllNotAllowed', 'FungibleTokensAreAlwaysValid']3381 _enum: ['NotFungibleDataUsedToMintFungibleCollectionToken', 'FungibleItemsHaveNoId', 'FungibleItemsDontHaveData', 'FungibleDisallowsNesting', 'SettingPropertiesNotAllowed', 'SettingAllowanceForAllNotAllowed', 'FungibleTokensAreAlwaysValid']
3217 },3382 },
3218 /**3383 /**
3219 * Lookup418: pallet_refungible::ItemData3384 * Lookup441: pallet_refungible::ItemData
3220 **/3385 **/
3221 PalletRefungibleItemData: {3386 PalletRefungibleItemData: {
3222 constData: 'Bytes'3387 constData: 'Bytes'
3223 },3388 },
3224 /**3389 /**
3225 * Lookup423: pallet_refungible::pallet::Error<T>3390 * Lookup446: pallet_refungible::pallet::Error<T>
3226 **/3391 **/
3227 PalletRefungibleError: {3392 PalletRefungibleError: {
3228 _enum: ['NotRefungibleDataUsedToMintFungibleCollectionToken', 'WrongRefungiblePieces', 'RepartitionWhileNotOwningAllPieces', 'RefungibleDisallowsNesting', 'SettingPropertiesNotAllowed']3393 _enum: ['NotRefungibleDataUsedToMintFungibleCollectionToken', 'WrongRefungiblePieces', 'RepartitionWhileNotOwningAllPieces', 'RefungibleDisallowsNesting', 'SettingPropertiesNotAllowed']
3229 },3394 },
3230 /**3395 /**
3231 * Lookup424: pallet_nonfungible::ItemData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>3396 * Lookup447: pallet_nonfungible::ItemData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
3232 **/3397 **/
3233 PalletNonfungibleItemData: {3398 PalletNonfungibleItemData: {
3234 owner: 'PalletEvmAccountBasicCrossAccountIdRepr'3399 owner: 'PalletEvmAccountBasicCrossAccountIdRepr'
3235 },3400 },
3236 /**3401 /**
3237 * Lookup426: up_data_structs::PropertyScope3402 * Lookup449: up_data_structs::PropertyScope
3238 **/3403 **/
3239 UpDataStructsPropertyScope: {3404 UpDataStructsPropertyScope: {
3240 _enum: ['None', 'Rmrk']3405 _enum: ['None', 'Rmrk']
3241 },3406 },
3242 /**3407 /**
3243 * Lookup428: pallet_nonfungible::pallet::Error<T>3408 * Lookup451: pallet_nonfungible::pallet::Error<T>
3244 **/3409 **/
3245 PalletNonfungibleError: {3410 PalletNonfungibleError: {
3246 _enum: ['NotNonfungibleDataUsedToMintFungibleCollectionToken', 'NonfungibleItemsHaveNoAmount', 'CantBurnNftWithChildren']3411 _enum: ['NotNonfungibleDataUsedToMintFungibleCollectionToken', 'NonfungibleItemsHaveNoAmount', 'CantBurnNftWithChildren']
3247 },3412 },
3248 /**3413 /**
3249 * Lookup429: pallet_structure::pallet::Error<T>3414 * Lookup452: pallet_structure::pallet::Error<T>
3250 **/3415 **/
3251 PalletStructureError: {3416 PalletStructureError: {
3252 _enum: ['OuroborosDetected', 'DepthLimit', 'BreadthLimit', 'TokenNotFound']3417 _enum: ['OuroborosDetected', 'DepthLimit', 'BreadthLimit', 'TokenNotFound']
3253 },3418 },
3254 /**3419 /**
3255 * Lookup430: pallet_rmrk_core::pallet::Error<T>3420 * Lookup453: pallet_rmrk_core::pallet::Error<T>
3256 **/3421 **/
3257 PalletRmrkCoreError: {3422 PalletRmrkCoreError: {
3258 _enum: ['CorruptedCollectionType', 'RmrkPropertyKeyIsTooLong', 'RmrkPropertyValueIsTooLong', 'RmrkPropertyIsNotFound', 'UnableToDecodeRmrkData', 'CollectionNotEmpty', 'NoAvailableCollectionId', 'NoAvailableNftId', 'CollectionUnknown', 'NoPermission', 'NonTransferable', 'CollectionFullOrLocked', 'ResourceDoesntExist', 'CannotSendToDescendentOrSelf', 'CannotAcceptNonOwnedNft', 'CannotRejectNonOwnedNft', 'CannotRejectNonPendingNft', 'ResourceNotPending', 'NoAvailableResourceId']3423 _enum: ['CorruptedCollectionType', 'RmrkPropertyKeyIsTooLong', 'RmrkPropertyValueIsTooLong', 'RmrkPropertyIsNotFound', 'UnableToDecodeRmrkData', 'CollectionNotEmpty', 'NoAvailableCollectionId', 'NoAvailableNftId', 'CollectionUnknown', 'NoPermission', 'NonTransferable', 'CollectionFullOrLocked', 'ResourceDoesntExist', 'CannotSendToDescendentOrSelf', 'CannotAcceptNonOwnedNft', 'CannotRejectNonOwnedNft', 'CannotRejectNonPendingNft', 'ResourceNotPending', 'NoAvailableResourceId']
3259 },3424 },
3260 /**3425 /**
3261 * Lookup432: pallet_rmrk_equip::pallet::Error<T>3426 * Lookup455: pallet_rmrk_equip::pallet::Error<T>
3262 **/3427 **/
3263 PalletRmrkEquipError: {3428 PalletRmrkEquipError: {
3264 _enum: ['PermissionError', 'NoAvailableBaseId', 'NoAvailablePartId', 'BaseDoesntExist', 'NeedsDefaultThemeFirst', 'PartDoesntExist', 'NoEquippableOnFixedPart']3429 _enum: ['PermissionError', 'NoAvailableBaseId', 'NoAvailablePartId', 'BaseDoesntExist', 'NeedsDefaultThemeFirst', 'PartDoesntExist', 'NoEquippableOnFixedPart']
3265 },3430 },
3266 /**3431 /**
3267 * Lookup438: pallet_app_promotion::pallet::Error<T>3432 * Lookup461: pallet_app_promotion::pallet::Error<T>
3268 **/3433 **/
3269 PalletAppPromotionError: {3434 PalletAppPromotionError: {
3270 _enum: ['AdminNotSet', 'NoPermission', 'NotSufficientFunds', 'PendingForBlockOverflow', 'SponsorNotSet', 'IncorrectLockedBalanceOperation']3435 _enum: ['AdminNotSet', 'NoPermission', 'NotSufficientFunds', 'PendingForBlockOverflow', 'SponsorNotSet', 'IncorrectLockedBalanceOperation']
3271 },3436 },
3272 /**3437 /**
3273 * Lookup439: pallet_foreign_assets::module::Error<T>3438 * Lookup462: pallet_foreign_assets::module::Error<T>
3274 **/3439 **/
3275 PalletForeignAssetsModuleError: {3440 PalletForeignAssetsModuleError: {
3276 _enum: ['BadLocation', 'MultiLocationExisted', 'AssetIdNotExists', 'AssetIdExisted']3441 _enum: ['BadLocation', 'MultiLocationExisted', 'AssetIdNotExists', 'AssetIdExisted']
3277 },3442 },
3278 /**3443 /**
3279 * Lookup441: pallet_evm::pallet::Error<T>3444 * Lookup464: pallet_evm::pallet::Error<T>
3280 **/3445 **/
3281 PalletEvmError: {3446 PalletEvmError: {
3282 _enum: ['BalanceLow', 'FeeOverflow', 'PaymentOverflow', 'WithdrawFailed', 'GasPriceTooLow', 'InvalidNonce', 'GasLimitTooLow', 'GasLimitTooHigh', 'Undefined', 'Reentrancy']3447 _enum: ['BalanceLow', 'FeeOverflow', 'PaymentOverflow', 'WithdrawFailed', 'GasPriceTooLow', 'InvalidNonce', 'GasLimitTooLow', 'GasLimitTooHigh', 'Undefined', 'Reentrancy']
3283 },3448 },
3284 /**3449 /**
3285 * Lookup444: fp_rpc::TransactionStatus3450 * Lookup467: fp_rpc::TransactionStatus
3286 **/3451 **/
3287 FpRpcTransactionStatus: {3452 FpRpcTransactionStatus: {
3288 transactionHash: 'H256',3453 transactionHash: 'H256',
3289 transactionIndex: 'u32',3454 transactionIndex: 'u32',
3293 logs: 'Vec<EthereumLog>',3458 logs: 'Vec<EthereumLog>',
3294 logsBloom: 'EthbloomBloom'3459 logsBloom: 'EthbloomBloom'
3295 },3460 },
3296 /**3461 /**
3297 * Lookup446: ethbloom::Bloom3462 * Lookup469: ethbloom::Bloom
3298 **/3463 **/
3299 EthbloomBloom: '[u8;256]',3464 EthbloomBloom: '[u8;256]',
3300 /**3465 /**
3301 * Lookup448: ethereum::receipt::ReceiptV33466 * Lookup471: ethereum::receipt::ReceiptV3
3302 **/3467 **/
3303 EthereumReceiptReceiptV3: {3468 EthereumReceiptReceiptV3: {
3304 _enum: {3469 _enum: {
3305 Legacy: 'EthereumReceiptEip658ReceiptData',3470 Legacy: 'EthereumReceiptEip658ReceiptData',
3306 EIP2930: 'EthereumReceiptEip658ReceiptData',3471 EIP2930: 'EthereumReceiptEip658ReceiptData',
3307 EIP1559: 'EthereumReceiptEip658ReceiptData'3472 EIP1559: 'EthereumReceiptEip658ReceiptData'
3308 }3473 }
3309 },3474 },
3310 /**3475 /**
3311 * Lookup449: ethereum::receipt::EIP658ReceiptData3476 * Lookup472: ethereum::receipt::EIP658ReceiptData
3312 **/3477 **/
3313 EthereumReceiptEip658ReceiptData: {3478 EthereumReceiptEip658ReceiptData: {
3314 statusCode: 'u8',3479 statusCode: 'u8',
3315 usedGas: 'U256',3480 usedGas: 'U256',
3316 logsBloom: 'EthbloomBloom',3481 logsBloom: 'EthbloomBloom',
3317 logs: 'Vec<EthereumLog>'3482 logs: 'Vec<EthereumLog>'
3318 },3483 },
3319 /**3484 /**
3320 * Lookup450: ethereum::block::Block<ethereum::transaction::TransactionV2>3485 * Lookup473: ethereum::block::Block<ethereum::transaction::TransactionV2>
3321 **/3486 **/
3322 EthereumBlock: {3487 EthereumBlock: {
3323 header: 'EthereumHeader',3488 header: 'EthereumHeader',
3324 transactions: 'Vec<EthereumTransactionTransactionV2>',3489 transactions: 'Vec<EthereumTransactionTransactionV2>',
3325 ommers: 'Vec<EthereumHeader>'3490 ommers: 'Vec<EthereumHeader>'
3326 },3491 },
3327 /**3492 /**
3328 * Lookup451: ethereum::header::Header3493 * Lookup474: ethereum::header::Header
3329 **/3494 **/
3330 EthereumHeader: {3495 EthereumHeader: {
3331 parentHash: 'H256',3496 parentHash: 'H256',
3332 ommersHash: 'H256',3497 ommersHash: 'H256',
3344 mixHash: 'H256',3509 mixHash: 'H256',
3345 nonce: 'EthereumTypesHashH64'3510 nonce: 'EthereumTypesHashH64'
3346 },3511 },
3347 /**3512 /**
3348 * Lookup452: ethereum_types::hash::H643513 * Lookup475: ethereum_types::hash::H64
3349 **/3514 **/
3350 EthereumTypesHashH64: '[u8;8]',3515 EthereumTypesHashH64: '[u8;8]',
3351 /**3516 /**
3352 * Lookup457: pallet_ethereum::pallet::Error<T>3517 * Lookup480: pallet_ethereum::pallet::Error<T>
3353 **/3518 **/
3354 PalletEthereumError: {3519 PalletEthereumError: {
3355 _enum: ['InvalidSignature', 'PreLogExists']3520 _enum: ['InvalidSignature', 'PreLogExists']
3356 },3521 },
3357 /**3522 /**
3358 * Lookup458: pallet_evm_coder_substrate::pallet::Error<T>3523 * Lookup481: pallet_evm_coder_substrate::pallet::Error<T>
3359 **/3524 **/
3360 PalletEvmCoderSubstrateError: {3525 PalletEvmCoderSubstrateError: {
3361 _enum: ['OutOfGas', 'OutOfFund']3526 _enum: ['OutOfGas', 'OutOfFund']
3362 },3527 },
3363 /**3528 /**
3364 * Lookup459: up_data_structs::SponsorshipState<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>3529 * Lookup482: up_data_structs::SponsorshipState<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
3365 **/3530 **/
3366 UpDataStructsSponsorshipStateBasicCrossAccountIdRepr: {3531 UpDataStructsSponsorshipStateBasicCrossAccountIdRepr: {
3367 _enum: {3532 _enum: {
3368 Disabled: 'Null',3533 Disabled: 'Null',
3369 Unconfirmed: 'PalletEvmAccountBasicCrossAccountIdRepr',3534 Unconfirmed: 'PalletEvmAccountBasicCrossAccountIdRepr',
3370 Confirmed: 'PalletEvmAccountBasicCrossAccountIdRepr'3535 Confirmed: 'PalletEvmAccountBasicCrossAccountIdRepr'
3371 }3536 }
3372 },3537 },
3373 /**3538 /**
3374 * Lookup460: pallet_evm_contract_helpers::SponsoringModeT3539 * Lookup483: pallet_evm_contract_helpers::SponsoringModeT
3375 **/3540 **/
3376 PalletEvmContractHelpersSponsoringModeT: {3541 PalletEvmContractHelpersSponsoringModeT: {
3377 _enum: ['Disabled', 'Allowlisted', 'Generous']3542 _enum: ['Disabled', 'Allowlisted', 'Generous']
3378 },3543 },
3379 /**3544 /**
3380 * Lookup466: pallet_evm_contract_helpers::pallet::Error<T>3545 * Lookup489: pallet_evm_contract_helpers::pallet::Error<T>
3381 **/3546 **/
3382 PalletEvmContractHelpersError: {3547 PalletEvmContractHelpersError: {
3383 _enum: ['NoPermission', 'NoPendingSponsor', 'TooManyMethodsHaveSponsoredLimit']3548 _enum: ['NoPermission', 'NoPendingSponsor', 'TooManyMethodsHaveSponsoredLimit']
3384 },3549 },
3385 /**3550 /**
3386 * Lookup467: pallet_evm_migration::pallet::Error<T>3551 * Lookup490: pallet_evm_migration::pallet::Error<T>
3387 **/3552 **/
3388 PalletEvmMigrationError: {3553 PalletEvmMigrationError: {
3389 _enum: ['AccountNotEmpty', 'AccountIsNotMigrating', 'BadEvent']3554 _enum: ['AccountNotEmpty', 'AccountIsNotMigrating', 'BadEvent']
3390 },3555 },
3391 /**3556 /**
3392 * Lookup468: pallet_maintenance::pallet::Error<T>3557 * Lookup491: pallet_maintenance::pallet::Error<T>
3393 **/3558 **/
3394 PalletMaintenanceError: 'Null',3559 PalletMaintenanceError: 'Null',
3395 /**3560 /**
3396 * Lookup469: pallet_test_utils::pallet::Error<T>3561 * Lookup492: pallet_test_utils::pallet::Error<T>
3397 **/3562 **/
3398 PalletTestUtilsError: {3563 PalletTestUtilsError: {
3399 _enum: ['TestPalletDisabled', 'TriggerRollback']3564 _enum: ['TestPalletDisabled', 'TriggerRollback']
3400 },3565 },
3401 /**3566 /**
3402 * Lookup471: sp_runtime::MultiSignature3567 * Lookup494: sp_runtime::MultiSignature
3403 **/3568 **/
3404 SpRuntimeMultiSignature: {3569 SpRuntimeMultiSignature: {
3405 _enum: {3570 _enum: {
3406 Ed25519: 'SpCoreEd25519Signature',3571 Ed25519: 'SpCoreEd25519Signature',
3407 Sr25519: 'SpCoreSr25519Signature',3572 Sr25519: 'SpCoreSr25519Signature',
3408 Ecdsa: 'SpCoreEcdsaSignature'3573 Ecdsa: 'SpCoreEcdsaSignature'
3409 }3574 }
3410 },3575 },
3411 /**3576 /**
3412 * Lookup472: sp_core::ed25519::Signature3577 * Lookup495: sp_core::ed25519::Signature
3413 **/3578 **/
3414 SpCoreEd25519Signature: '[u8;64]',3579 SpCoreEd25519Signature: '[u8;64]',
3415 /**3580 /**
3416 * Lookup474: sp_core::sr25519::Signature3581 * Lookup497: sp_core::sr25519::Signature
3417 **/3582 **/
3418 SpCoreSr25519Signature: '[u8;64]',3583 SpCoreSr25519Signature: '[u8;64]',
3419 /**3584 /**
3420 * Lookup475: sp_core::ecdsa::Signature3585 * Lookup498: sp_core::ecdsa::Signature
3421 **/3586 **/
3422 SpCoreEcdsaSignature: '[u8;65]',3587 SpCoreEcdsaSignature: '[u8;65]',
3423 /**3588 /**
3424 * Lookup478: frame_system::extensions::check_spec_version::CheckSpecVersion<T>3589 * Lookup501: frame_system::extensions::check_spec_version::CheckSpecVersion<T>
3425 **/3590 **/
3426 FrameSystemExtensionsCheckSpecVersion: 'Null',3591 FrameSystemExtensionsCheckSpecVersion: 'Null',
3427 /**3592 /**
3428 * Lookup479: frame_system::extensions::check_tx_version::CheckTxVersion<T>3593 * Lookup502: frame_system::extensions::check_tx_version::CheckTxVersion<T>
3429 **/3594 **/
3430 FrameSystemExtensionsCheckTxVersion: 'Null',3595 FrameSystemExtensionsCheckTxVersion: 'Null',
3431 /**3596 /**
3432 * Lookup480: frame_system::extensions::check_genesis::CheckGenesis<T>3597 * Lookup503: frame_system::extensions::check_genesis::CheckGenesis<T>
3433 **/3598 **/
3434 FrameSystemExtensionsCheckGenesis: 'Null',3599 FrameSystemExtensionsCheckGenesis: 'Null',
3435 /**3600 /**
3436 * Lookup483: frame_system::extensions::check_nonce::CheckNonce<T>3601 * Lookup506: frame_system::extensions::check_nonce::CheckNonce<T>
3437 **/3602 **/
3438 FrameSystemExtensionsCheckNonce: 'Compact<u32>',3603 FrameSystemExtensionsCheckNonce: 'Compact<u32>',
3439 /**3604 /**
3440 * Lookup484: frame_system::extensions::check_weight::CheckWeight<T>3605 * Lookup507: frame_system::extensions::check_weight::CheckWeight<T>
3441 **/3606 **/
3442 FrameSystemExtensionsCheckWeight: 'Null',3607 FrameSystemExtensionsCheckWeight: 'Null',
3443 /**3608 /**
3444 * Lookup485: opal_runtime::runtime_common::maintenance::CheckMaintenance3609 * Lookup508: opal_runtime::runtime_common::maintenance::CheckMaintenance
3445 **/3610 **/
3446 OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance: 'Null',3611 OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance: 'Null',
3447 /**3612 /**
3448 * Lookup486: pallet_template_transaction_payment::ChargeTransactionPayment<opal_runtime::Runtime>3613 * Lookup509: pallet_template_transaction_payment::ChargeTransactionPayment<opal_runtime::Runtime>
3449 **/3614 **/
3450 PalletTemplateTransactionPaymentChargeTransactionPayment: 'Compact<u128>',3615 PalletTemplateTransactionPaymentChargeTransactionPayment: 'Compact<u128>',
3451 /**3616 /**
3452 * Lookup487: opal_runtime::Runtime3617 * Lookup510: opal_runtime::Runtime
3453 **/3618 **/
3454 OpalRuntimeRuntime: 'Null',3619 OpalRuntimeRuntime: 'Null',
3455 /**3620 /**
3456 * Lookup488: pallet_ethereum::FakeTransactionFinalizer<opal_runtime::Runtime>3621 * Lookup511: pallet_ethereum::FakeTransactionFinalizer<opal_runtime::Runtime>
3457 **/3622 **/
3458 PalletEthereumFakeTransactionFinalizer: 'Null'3623 PalletEthereumFakeTransactionFinalizer: 'Null'
3459};3624};
34603625
modifiedtests/src/interfaces/registry.tsdiffbeforeafterboth
--- a/tests/src/interfaces/registry.ts
+++ b/tests/src/interfaces/registry.ts
@@ -5,7 +5,7 @@
 // this is required to allow for ambient/previous definitions
 import '@polkadot/types/types/registry';
 
-import type { CumulusPalletDmpQueueCall, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueueError, CumulusPalletDmpQueueEvent, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCall, CumulusPalletParachainSystemError, CumulusPalletParachainSystemEvent, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmCall, CumulusPalletXcmError, CumulusPalletXcmEvent, CumulusPalletXcmpQueueCall, CumulusPalletXcmpQueueError, CumulusPalletXcmpQueueEvent, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueInboundState, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueOutboundState, CumulusPalletXcmpQueueQueueConfigData, CumulusPrimitivesParachainInherentParachainInherentData, EthbloomBloom, EthereumBlock, EthereumHeader, EthereumLog, EthereumReceiptEip658ReceiptData, EthereumReceiptReceiptV3, EthereumTransactionAccessListItem, EthereumTransactionEip1559Transaction, EthereumTransactionEip2930Transaction, EthereumTransactionLegacyTransaction, EthereumTransactionTransactionAction, EthereumTransactionTransactionSignature, EthereumTransactionTransactionV2, EthereumTypesHashH64, EvmCoreErrorExitError, EvmCoreErrorExitFatal, EvmCoreErrorExitReason, EvmCoreErrorExitRevert, EvmCoreErrorExitSucceed, FpRpcTransactionStatus, FrameSupportDispatchDispatchClass, FrameSupportDispatchDispatchInfo, FrameSupportDispatchPays, FrameSupportDispatchPerDispatchClassU32, FrameSupportDispatchPerDispatchClassWeight, FrameSupportDispatchPerDispatchClassWeightsPerClass, FrameSupportPalletId, FrameSupportTokensMiscBalanceStatus, FrameSystemAccountInfo, FrameSystemCall, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckNonce, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckTxVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, OpalRuntimeRuntime, OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance, OrmlTokensAccountData, OrmlTokensBalanceLock, OrmlTokensModuleCall, OrmlTokensModuleError, OrmlTokensModuleEvent, OrmlTokensReserveData, OrmlVestingModuleCall, OrmlVestingModuleError, OrmlVestingModuleEvent, OrmlVestingVestingSchedule, OrmlXtokensModuleCall, OrmlXtokensModuleError, OrmlXtokensModuleEvent, PalletAppPromotionCall, PalletAppPromotionError, PalletAppPromotionEvent, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesReasons, PalletBalancesReleases, PalletBalancesReserveData, PalletCommonError, PalletCommonEvent, PalletConfigurationAppPromotionConfiguration, PalletConfigurationCall, PalletConfigurationError, PalletEthereumCall, PalletEthereumError, PalletEthereumEvent, PalletEthereumFakeTransactionFinalizer, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmCall, PalletEvmCoderSubstrateError, PalletEvmContractHelpersError, PalletEvmContractHelpersEvent, PalletEvmContractHelpersSponsoringModeT, PalletEvmError, PalletEvmEvent, PalletEvmMigrationCall, PalletEvmMigrationError, PalletEvmMigrationEvent, PalletForeignAssetsAssetIds, PalletForeignAssetsModuleAssetMetadata, PalletForeignAssetsModuleCall, PalletForeignAssetsModuleError, PalletForeignAssetsModuleEvent, PalletForeignAssetsNativeCurrency, PalletFungibleError, PalletInflationCall, PalletMaintenanceCall, PalletMaintenanceError, PalletMaintenanceEvent, PalletNonfungibleError, PalletNonfungibleItemData, PalletRefungibleError, PalletRefungibleItemData, PalletRmrkCoreCall, PalletRmrkCoreError, PalletRmrkCoreEvent, PalletRmrkEquipCall, PalletRmrkEquipError, PalletRmrkEquipEvent, PalletStructureCall, PalletStructureError, PalletStructureEvent, PalletSudoCall, PalletSudoError, PalletSudoEvent, PalletTemplateTransactionPaymentCall, PalletTemplateTransactionPaymentChargeTransactionPayment, PalletTestUtilsCall, PalletTestUtilsError, PalletTestUtilsEvent, PalletTimestampCall, PalletTransactionPaymentEvent, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUniqueCall, PalletUniqueError, PalletXcmCall, PalletXcmError, PalletXcmEvent, PhantomTypeUpDataStructs, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2AbridgedHrmpChannel, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, RmrkTraitsBaseBaseInfo, RmrkTraitsCollectionCollectionInfo, RmrkTraitsNftAccountIdOrCollectionNftTuple, RmrkTraitsNftNftChild, RmrkTraitsNftNftInfo, RmrkTraitsNftRoyaltyInfo, RmrkTraitsPartEquippableList, RmrkTraitsPartFixedPart, RmrkTraitsPartPartType, RmrkTraitsPartSlotPart, RmrkTraitsPropertyPropertyInfo, RmrkTraitsResourceBasicResource, RmrkTraitsResourceComposableResource, RmrkTraitsResourceResourceInfo, RmrkTraitsResourceResourceTypes, RmrkTraitsResourceSlotResource, RmrkTraitsTheme, RmrkTraitsThemeThemeProperty, SpCoreEcdsaSignature, SpCoreEd25519Signature, SpCoreSr25519Signature, SpRuntimeArithmeticError, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpRuntimeTransactionalError, SpTrieStorageProof, SpVersionRuntimeVersion, SpWeightsRuntimeDbWeight, SpWeightsWeightV2Weight, UpDataStructsAccessMode, UpDataStructsCollection, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionPermissions, UpDataStructsCollectionStats, UpDataStructsCreateCollectionData, UpDataStructsCreateFungibleData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsCreateNftData, UpDataStructsCreateNftExData, UpDataStructsCreateReFungibleData, UpDataStructsCreateRefungibleExMultipleOwners, UpDataStructsCreateRefungibleExSingleOwner, UpDataStructsNestingPermissions, UpDataStructsOwnerRestrictedSet, UpDataStructsProperties, UpDataStructsPropertiesMapBoundedVec, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, UpDataStructsPropertyPermission, UpDataStructsPropertyScope, UpDataStructsRpcCollection, UpDataStructsRpcCollectionFlags, UpDataStructsSponsoringRateLimit, UpDataStructsSponsorshipStateAccountId32, UpDataStructsSponsorshipStateBasicCrossAccountIdRepr, UpDataStructsTokenChild, UpDataStructsTokenData, XcmDoubleEncoded, XcmV0Junction, XcmV0JunctionBodyId, XcmV0JunctionBodyPart, XcmV0JunctionNetworkId, XcmV0MultiAsset, XcmV0MultiLocation, XcmV0Order, XcmV0OriginKind, XcmV0Response, XcmV0Xcm, XcmV1Junction, XcmV1MultiAsset, XcmV1MultiLocation, XcmV1MultiassetAssetId, XcmV1MultiassetAssetInstance, XcmV1MultiassetFungibility, XcmV1MultiassetMultiAssetFilter, XcmV1MultiassetMultiAssets, XcmV1MultiassetWildFungibility, XcmV1MultiassetWildMultiAsset, XcmV1MultilocationJunctions, XcmV1Order, XcmV1Response, XcmV1Xcm, XcmV2Instruction, XcmV2Response, XcmV2TraitsError, XcmV2TraitsOutcome, XcmV2WeightLimit, XcmV2Xcm, XcmVersionedMultiAsset, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from '@polkadot/types/lookup';
+import type { CumulusPalletDmpQueueCall, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueueError, CumulusPalletDmpQueueEvent, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCall, CumulusPalletParachainSystemError, CumulusPalletParachainSystemEvent, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmCall, CumulusPalletXcmError, CumulusPalletXcmEvent, CumulusPalletXcmpQueueCall, CumulusPalletXcmpQueueError, CumulusPalletXcmpQueueEvent, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueInboundState, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueOutboundState, CumulusPalletXcmpQueueQueueConfigData, CumulusPrimitivesParachainInherentParachainInherentData, EthbloomBloom, EthereumBlock, EthereumHeader, EthereumLog, EthereumReceiptEip658ReceiptData, EthereumReceiptReceiptV3, EthereumTransactionAccessListItem, EthereumTransactionEip1559Transaction, EthereumTransactionEip2930Transaction, EthereumTransactionLegacyTransaction, EthereumTransactionTransactionAction, EthereumTransactionTransactionSignature, EthereumTransactionTransactionV2, EthereumTypesHashH64, EvmCoreErrorExitError, EvmCoreErrorExitFatal, EvmCoreErrorExitReason, EvmCoreErrorExitRevert, EvmCoreErrorExitSucceed, FpRpcTransactionStatus, FrameSupportDispatchDispatchClass, FrameSupportDispatchDispatchInfo, FrameSupportDispatchPays, FrameSupportDispatchPerDispatchClassU32, FrameSupportDispatchPerDispatchClassWeight, FrameSupportDispatchPerDispatchClassWeightsPerClass, FrameSupportPalletId, FrameSupportTokensMiscBalanceStatus, FrameSystemAccountInfo, FrameSystemCall, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckNonce, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckTxVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, OpalRuntimeRuntime, OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance, OpalRuntimeRuntimeCommonSessionKeys, OrmlTokensAccountData, OrmlTokensBalanceLock, OrmlTokensModuleCall, OrmlTokensModuleError, OrmlTokensModuleEvent, OrmlTokensReserveData, OrmlVestingModuleCall, OrmlVestingModuleError, OrmlVestingModuleEvent, OrmlVestingVestingSchedule, OrmlXtokensModuleCall, OrmlXtokensModuleError, OrmlXtokensModuleEvent, PalletAppPromotionCall, PalletAppPromotionError, PalletAppPromotionEvent, PalletAuthorshipCall, PalletAuthorshipError, PalletAuthorshipUncleEntryItem, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesReasons, PalletBalancesReleases, PalletBalancesReserveData, PalletCollatorSelectionCall, PalletCollatorSelectionError, PalletCollatorSelectionEvent, PalletCommonError, PalletCommonEvent, PalletConfigurationAppPromotionConfiguration, PalletConfigurationCall, PalletConfigurationError, PalletEthereumCall, PalletEthereumError, PalletEthereumEvent, PalletEthereumFakeTransactionFinalizer, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmCall, PalletEvmCoderSubstrateError, PalletEvmContractHelpersError, PalletEvmContractHelpersEvent, PalletEvmContractHelpersSponsoringModeT, PalletEvmError, PalletEvmEvent, PalletEvmMigrationCall, PalletEvmMigrationError, PalletEvmMigrationEvent, PalletForeignAssetsAssetIds, PalletForeignAssetsModuleAssetMetadata, PalletForeignAssetsModuleCall, PalletForeignAssetsModuleError, PalletForeignAssetsModuleEvent, PalletForeignAssetsNativeCurrency, PalletFungibleError, PalletInflationCall, PalletMaintenanceCall, PalletMaintenanceError, PalletMaintenanceEvent, PalletNonfungibleError, PalletNonfungibleItemData, PalletRefungibleError, PalletRefungibleItemData, PalletRmrkCoreCall, PalletRmrkCoreError, PalletRmrkCoreEvent, PalletRmrkEquipCall, PalletRmrkEquipError, PalletRmrkEquipEvent, PalletSessionCall, PalletSessionError, PalletSessionEvent, PalletStructureCall, PalletStructureError, PalletStructureEvent, PalletSudoCall, PalletSudoError, PalletSudoEvent, PalletTemplateTransactionPaymentCall, PalletTemplateTransactionPaymentChargeTransactionPayment, PalletTestUtilsCall, PalletTestUtilsError, PalletTestUtilsEvent, PalletTimestampCall, PalletTransactionPaymentEvent, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUniqueCall, PalletUniqueError, PalletXcmCall, PalletXcmError, PalletXcmEvent, PhantomTypeUpDataStructs, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2AbridgedHrmpChannel, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, RmrkTraitsBaseBaseInfo, RmrkTraitsCollectionCollectionInfo, RmrkTraitsNftAccountIdOrCollectionNftTuple, RmrkTraitsNftNftChild, RmrkTraitsNftNftInfo, RmrkTraitsNftRoyaltyInfo, RmrkTraitsPartEquippableList, RmrkTraitsPartFixedPart, RmrkTraitsPartPartType, RmrkTraitsPartSlotPart, RmrkTraitsPropertyPropertyInfo, RmrkTraitsResourceBasicResource, RmrkTraitsResourceComposableResource, RmrkTraitsResourceResourceInfo, RmrkTraitsResourceResourceTypes, RmrkTraitsResourceSlotResource, RmrkTraitsTheme, RmrkTraitsThemeThemeProperty, SpConsensusAuraSr25519AppSr25519Public, SpCoreCryptoKeyTypeId, SpCoreEcdsaSignature, SpCoreEd25519Signature, SpCoreSr25519Public, SpCoreSr25519Signature, SpRuntimeArithmeticError, SpRuntimeBlakeTwo256, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeHeader, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpRuntimeTransactionalError, SpTrieStorageProof, SpVersionRuntimeVersion, SpWeightsRuntimeDbWeight, SpWeightsWeightV2Weight, UpDataStructsAccessMode, UpDataStructsCollection, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionPermissions, UpDataStructsCollectionStats, UpDataStructsCreateCollectionData, UpDataStructsCreateFungibleData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsCreateNftData, UpDataStructsCreateNftExData, UpDataStructsCreateReFungibleData, UpDataStructsCreateRefungibleExMultipleOwners, UpDataStructsCreateRefungibleExSingleOwner, UpDataStructsNestingPermissions, UpDataStructsOwnerRestrictedSet, UpDataStructsProperties, UpDataStructsPropertiesMapBoundedVec, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, UpDataStructsPropertyPermission, UpDataStructsPropertyScope, UpDataStructsRpcCollection, UpDataStructsRpcCollectionFlags, UpDataStructsSponsoringRateLimit, UpDataStructsSponsorshipStateAccountId32, UpDataStructsSponsorshipStateBasicCrossAccountIdRepr, UpDataStructsTokenChild, UpDataStructsTokenData, XcmDoubleEncoded, XcmV0Junction, XcmV0JunctionBodyId, XcmV0JunctionBodyPart, XcmV0JunctionNetworkId, XcmV0MultiAsset, XcmV0MultiLocation, XcmV0Order, XcmV0OriginKind, XcmV0Response, XcmV0Xcm, XcmV1Junction, XcmV1MultiAsset, XcmV1MultiLocation, XcmV1MultiassetAssetId, XcmV1MultiassetAssetInstance, XcmV1MultiassetFungibility, XcmV1MultiassetMultiAssetFilter, XcmV1MultiassetMultiAssets, XcmV1MultiassetWildFungibility, XcmV1MultiassetWildMultiAsset, XcmV1MultilocationJunctions, XcmV1Order, XcmV1Response, XcmV1Xcm, XcmV2Instruction, XcmV2Response, XcmV2TraitsError, XcmV2TraitsOutcome, XcmV2WeightLimit, XcmV2Xcm, XcmVersionedMultiAsset, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from '@polkadot/types/lookup';
 
 declare module '@polkadot/types/types/registry' {
   interface InterfaceTypes {
@@ -75,6 +75,7 @@
     FrameSystemPhase: FrameSystemPhase;
     OpalRuntimeRuntime: OpalRuntimeRuntime;
     OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance: OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance;
+    OpalRuntimeRuntimeCommonSessionKeys: OpalRuntimeRuntimeCommonSessionKeys;
     OrmlTokensAccountData: OrmlTokensAccountData;
     OrmlTokensBalanceLock: OrmlTokensBalanceLock;
     OrmlTokensModuleCall: OrmlTokensModuleCall;
@@ -91,6 +92,9 @@
     PalletAppPromotionCall: PalletAppPromotionCall;
     PalletAppPromotionError: PalletAppPromotionError;
     PalletAppPromotionEvent: PalletAppPromotionEvent;
+    PalletAuthorshipCall: PalletAuthorshipCall;
+    PalletAuthorshipError: PalletAuthorshipError;
+    PalletAuthorshipUncleEntryItem: PalletAuthorshipUncleEntryItem;
     PalletBalancesAccountData: PalletBalancesAccountData;
     PalletBalancesBalanceLock: PalletBalancesBalanceLock;
     PalletBalancesCall: PalletBalancesCall;
@@ -99,6 +103,9 @@
     PalletBalancesReasons: PalletBalancesReasons;
     PalletBalancesReleases: PalletBalancesReleases;
     PalletBalancesReserveData: PalletBalancesReserveData;
+    PalletCollatorSelectionCall: PalletCollatorSelectionCall;
+    PalletCollatorSelectionError: PalletCollatorSelectionError;
+    PalletCollatorSelectionEvent: PalletCollatorSelectionEvent;
     PalletCommonError: PalletCommonError;
     PalletCommonEvent: PalletCommonEvent;
     PalletConfigurationAppPromotionConfiguration: PalletConfigurationAppPromotionConfiguration;
@@ -140,6 +147,9 @@
     PalletRmrkEquipCall: PalletRmrkEquipCall;
     PalletRmrkEquipError: PalletRmrkEquipError;
     PalletRmrkEquipEvent: PalletRmrkEquipEvent;
+    PalletSessionCall: PalletSessionCall;
+    PalletSessionError: PalletSessionError;
+    PalletSessionEvent: PalletSessionEvent;
     PalletStructureCall: PalletStructureCall;
     PalletStructureError: PalletStructureError;
     PalletStructureEvent: PalletStructureEvent;
@@ -190,13 +200,18 @@
     RmrkTraitsResourceSlotResource: RmrkTraitsResourceSlotResource;
     RmrkTraitsTheme: RmrkTraitsTheme;
     RmrkTraitsThemeThemeProperty: RmrkTraitsThemeThemeProperty;
+    SpConsensusAuraSr25519AppSr25519Public: SpConsensusAuraSr25519AppSr25519Public;
+    SpCoreCryptoKeyTypeId: SpCoreCryptoKeyTypeId;
     SpCoreEcdsaSignature: SpCoreEcdsaSignature;
     SpCoreEd25519Signature: SpCoreEd25519Signature;
+    SpCoreSr25519Public: SpCoreSr25519Public;
     SpCoreSr25519Signature: SpCoreSr25519Signature;
     SpRuntimeArithmeticError: SpRuntimeArithmeticError;
+    SpRuntimeBlakeTwo256: SpRuntimeBlakeTwo256;
     SpRuntimeDigest: SpRuntimeDigest;
     SpRuntimeDigestDigestItem: SpRuntimeDigestDigestItem;
     SpRuntimeDispatchError: SpRuntimeDispatchError;
+    SpRuntimeHeader: SpRuntimeHeader;
     SpRuntimeModuleError: SpRuntimeModuleError;
     SpRuntimeMultiSignature: SpRuntimeMultiSignature;
     SpRuntimeTokenError: SpRuntimeTokenError;
modifiedtests/src/interfaces/types-lookup.tsdiffbeforeafterboth
--- a/tests/src/interfaces/types-lookup.ts
+++ b/tests/src/interfaces/types-lookup.ts
@@ -196,7 +196,59 @@
     readonly type: 'ValidationFunctionStored' | 'ValidationFunctionApplied' | 'ValidationFunctionDiscarded' | 'UpgradeAuthorized' | 'DownwardMessagesReceived' | 'DownwardMessagesProcessed';
   }
 
-  /** @name PalletBalancesEvent (30) */
+  /** @name PalletCollatorSelectionEvent (30) */
+  interface PalletCollatorSelectionEvent extends Enum {
+    readonly isNewDesiredCollators: boolean;
+    readonly asNewDesiredCollators: {
+      readonly desiredCollators: u32;
+    } & Struct;
+    readonly isNewLicenseBond: boolean;
+    readonly asNewLicenseBond: {
+      readonly bondAmount: u128;
+    } & Struct;
+    readonly isNewKickThreshold: boolean;
+    readonly asNewKickThreshold: {
+      readonly lengthInBlocks: u32;
+    } & Struct;
+    readonly isInvulnerableAdded: boolean;
+    readonly asInvulnerableAdded: {
+      readonly invulnerable: AccountId32;
+    } & Struct;
+    readonly isInvulnerableRemoved: boolean;
+    readonly asInvulnerableRemoved: {
+      readonly invulnerable: AccountId32;
+    } & Struct;
+    readonly isLicenseObtained: boolean;
+    readonly asLicenseObtained: {
+      readonly accountId: AccountId32;
+      readonly deposit: u128;
+    } & Struct;
+    readonly isLicenseForfeited: boolean;
+    readonly asLicenseForfeited: {
+      readonly accountId: AccountId32;
+      readonly depositReturned: u128;
+    } & Struct;
+    readonly isCandidateAdded: boolean;
+    readonly asCandidateAdded: {
+      readonly accountId: AccountId32;
+    } & Struct;
+    readonly isCandidateRemoved: boolean;
+    readonly asCandidateRemoved: {
+      readonly accountId: AccountId32;
+    } & Struct;
+    readonly type: 'NewDesiredCollators' | 'NewLicenseBond' | 'NewKickThreshold' | 'InvulnerableAdded' | 'InvulnerableRemoved' | 'LicenseObtained' | 'LicenseForfeited' | 'CandidateAdded' | 'CandidateRemoved';
+  }
+
+  /** @name PalletSessionEvent (31) */
+  interface PalletSessionEvent extends Enum {
+    readonly isNewSession: boolean;
+    readonly asNewSession: {
+      readonly sessionIndex: u32;
+    } & Struct;
+    readonly type: 'NewSession';
+  }
+
+  /** @name PalletBalancesEvent (32) */
   interface PalletBalancesEvent extends Enum {
     readonly isEndowed: boolean;
     readonly asEndowed: {
@@ -255,14 +307,14 @@
     readonly type: 'Endowed' | 'DustLost' | 'Transfer' | 'BalanceSet' | 'Reserved' | 'Unreserved' | 'ReserveRepatriated' | 'Deposit' | 'Withdraw' | 'Slashed';
   }
 
-  /** @name FrameSupportTokensMiscBalanceStatus (31) */
+  /** @name FrameSupportTokensMiscBalanceStatus (33) */
   interface FrameSupportTokensMiscBalanceStatus extends Enum {
     readonly isFree: boolean;
     readonly isReserved: boolean;
     readonly type: 'Free' | 'Reserved';
   }
 
-  /** @name PalletTransactionPaymentEvent (32) */
+  /** @name PalletTransactionPaymentEvent (34) */
   interface PalletTransactionPaymentEvent extends Enum {
     readonly isTransactionFeePaid: boolean;
     readonly asTransactionFeePaid: {
@@ -273,7 +325,7 @@
     readonly type: 'TransactionFeePaid';
   }
 
-  /** @name PalletTreasuryEvent (33) */
+  /** @name PalletTreasuryEvent (35) */
   interface PalletTreasuryEvent extends Enum {
     readonly isProposed: boolean;
     readonly asProposed: {
@@ -315,7 +367,7 @@
     readonly type: 'Proposed' | 'Spending' | 'Awarded' | 'Rejected' | 'Burnt' | 'Rollover' | 'Deposit' | 'SpendApproved';
   }
 
-  /** @name PalletSudoEvent (34) */
+  /** @name PalletSudoEvent (36) */
   interface PalletSudoEvent extends Enum {
     readonly isSudid: boolean;
     readonly asSudid: {
@@ -332,7 +384,7 @@
     readonly type: 'Sudid' | 'KeyChanged' | 'SudoAsDone';
   }
 
-  /** @name OrmlVestingModuleEvent (38) */
+  /** @name OrmlVestingModuleEvent (40) */
   interface OrmlVestingModuleEvent extends Enum {
     readonly isVestingScheduleAdded: boolean;
     readonly asVestingScheduleAdded: {
@@ -352,7 +404,7 @@
     readonly type: 'VestingScheduleAdded' | 'Claimed' | 'VestingSchedulesUpdated';
   }
 
-  /** @name OrmlVestingVestingSchedule (39) */
+  /** @name OrmlVestingVestingSchedule (41) */
   interface OrmlVestingVestingSchedule extends Struct {
     readonly start: u32;
     readonly period: u32;
@@ -360,7 +412,7 @@
     readonly perPeriod: Compact<u128>;
   }
 
-  /** @name OrmlXtokensModuleEvent (41) */
+  /** @name OrmlXtokensModuleEvent (43) */
   interface OrmlXtokensModuleEvent extends Enum {
     readonly isTransferredMultiAssets: boolean;
     readonly asTransferredMultiAssets: {
@@ -372,16 +424,16 @@
     readonly type: 'TransferredMultiAssets';
   }
 
-  /** @name XcmV1MultiassetMultiAssets (42) */
+  /** @name XcmV1MultiassetMultiAssets (44) */
   interface XcmV1MultiassetMultiAssets extends Vec<XcmV1MultiAsset> {}
 
-  /** @name XcmV1MultiAsset (44) */
+  /** @name XcmV1MultiAsset (46) */
   interface XcmV1MultiAsset extends Struct {
     readonly id: XcmV1MultiassetAssetId;
     readonly fun: XcmV1MultiassetFungibility;
   }
 
-  /** @name XcmV1MultiassetAssetId (45) */
+  /** @name XcmV1MultiassetAssetId (47) */
   interface XcmV1MultiassetAssetId extends Enum {
     readonly isConcrete: boolean;
     readonly asConcrete: XcmV1MultiLocation;
@@ -390,13 +442,13 @@
     readonly type: 'Concrete' | 'Abstract';
   }
 
-  /** @name XcmV1MultiLocation (46) */
+  /** @name XcmV1MultiLocation (48) */
   interface XcmV1MultiLocation extends Struct {
     readonly parents: u8;
     readonly interior: XcmV1MultilocationJunctions;
   }
 
-  /** @name XcmV1MultilocationJunctions (47) */
+  /** @name XcmV1MultilocationJunctions (49) */
   interface XcmV1MultilocationJunctions extends Enum {
     readonly isHere: boolean;
     readonly isX1: boolean;
@@ -418,7 +470,7 @@
     readonly type: 'Here' | 'X1' | 'X2' | 'X3' | 'X4' | 'X5' | 'X6' | 'X7' | 'X8';
   }
 
-  /** @name XcmV1Junction (48) */
+  /** @name XcmV1Junction (50) */
   interface XcmV1Junction extends Enum {
     readonly isParachain: boolean;
     readonly asParachain: Compact<u32>;
@@ -452,7 +504,7 @@
     readonly type: 'Parachain' | 'AccountId32' | 'AccountIndex64' | 'AccountKey20' | 'PalletInstance' | 'GeneralIndex' | 'GeneralKey' | 'OnlyChild' | 'Plurality';
   }
 
-  /** @name XcmV0JunctionNetworkId (50) */
+  /** @name XcmV0JunctionNetworkId (52) */
   interface XcmV0JunctionNetworkId extends Enum {
     readonly isAny: boolean;
     readonly isNamed: boolean;
@@ -462,7 +514,7 @@
     readonly type: 'Any' | 'Named' | 'Polkadot' | 'Kusama';
   }
 
-  /** @name XcmV0JunctionBodyId (53) */
+  /** @name XcmV0JunctionBodyId (55) */
   interface XcmV0JunctionBodyId extends Enum {
     readonly isUnit: boolean;
     readonly isNamed: boolean;
@@ -476,7 +528,7 @@
     readonly type: 'Unit' | 'Named' | 'Index' | 'Executive' | 'Technical' | 'Legislative' | 'Judicial';
   }
 
-  /** @name XcmV0JunctionBodyPart (54) */
+  /** @name XcmV0JunctionBodyPart (56) */
   interface XcmV0JunctionBodyPart extends Enum {
     readonly isVoice: boolean;
     readonly isMembers: boolean;
@@ -501,7 +553,7 @@
     readonly type: 'Voice' | 'Members' | 'Fraction' | 'AtLeastProportion' | 'MoreThanProportion';
   }
 
-  /** @name XcmV1MultiassetFungibility (55) */
+  /** @name XcmV1MultiassetFungibility (57) */
   interface XcmV1MultiassetFungibility extends Enum {
     readonly isFungible: boolean;
     readonly asFungible: Compact<u128>;
@@ -510,7 +562,7 @@
     readonly type: 'Fungible' | 'NonFungible';
   }
 
-  /** @name XcmV1MultiassetAssetInstance (56) */
+  /** @name XcmV1MultiassetAssetInstance (58) */
   interface XcmV1MultiassetAssetInstance extends Enum {
     readonly isUndefined: boolean;
     readonly isIndex: boolean;
@@ -528,7 +580,7 @@
     readonly type: 'Undefined' | 'Index' | 'Array4' | 'Array8' | 'Array16' | 'Array32' | 'Blob';
   }
 
-  /** @name OrmlTokensModuleEvent (59) */
+  /** @name OrmlTokensModuleEvent (61) */
   interface OrmlTokensModuleEvent extends Enum {
     readonly isEndowed: boolean;
     readonly asEndowed: {
@@ -616,7 +668,7 @@
     readonly type: 'Endowed' | 'DustLost' | 'Transfer' | 'Reserved' | 'Unreserved' | 'ReserveRepatriated' | 'BalanceSet' | 'TotalIssuanceSet' | 'Withdrawn' | 'Slashed' | 'Deposited' | 'LockSet' | 'LockRemoved';
   }
 
-  /** @name PalletForeignAssetsAssetIds (60) */
+  /** @name PalletForeignAssetsAssetIds (62) */
   interface PalletForeignAssetsAssetIds extends Enum {
     readonly isForeignAssetId: boolean;
     readonly asForeignAssetId: u32;
@@ -625,14 +677,14 @@
     readonly type: 'ForeignAssetId' | 'NativeAssetId';
   }
 
-  /** @name PalletForeignAssetsNativeCurrency (61) */
+  /** @name PalletForeignAssetsNativeCurrency (63) */
   interface PalletForeignAssetsNativeCurrency extends Enum {
     readonly isHere: boolean;
     readonly isParent: boolean;
     readonly type: 'Here' | 'Parent';
   }
 
-  /** @name CumulusPalletXcmpQueueEvent (62) */
+  /** @name CumulusPalletXcmpQueueEvent (64) */
   interface CumulusPalletXcmpQueueEvent extends Enum {
     readonly isSuccess: boolean;
     readonly asSuccess: {
@@ -676,7 +728,7 @@
     readonly type: 'Success' | 'Fail' | 'BadVersion' | 'BadFormat' | 'UpwardMessageSent' | 'XcmpMessageSent' | 'OverweightEnqueued' | 'OverweightServiced';
   }
 
-  /** @name XcmV2TraitsError (64) */
+  /** @name XcmV2TraitsError (66) */
   interface XcmV2TraitsError extends Enum {
     readonly isOverflow: boolean;
     readonly isUnimplemented: boolean;
@@ -709,7 +761,7 @@
     readonly type: 'Overflow' | 'Unimplemented' | 'UntrustedReserveLocation' | 'UntrustedTeleportLocation' | 'MultiLocationFull' | 'MultiLocationNotInvertible' | 'BadOrigin' | 'InvalidLocation' | 'AssetNotFound' | 'FailedToTransactAsset' | 'NotWithdrawable' | 'LocationCannotHold' | 'ExceedsMaxMessageSize' | 'DestinationUnsupported' | 'Transport' | 'Unroutable' | 'UnknownClaim' | 'FailedToDecode' | 'MaxWeightInvalid' | 'NotHoldingFees' | 'TooExpensive' | 'Trap' | 'UnhandledXcmVersion' | 'WeightLimitReached' | 'Barrier' | 'WeightNotComputable';
   }
 
-  /** @name PalletXcmEvent (66) */
+  /** @name PalletXcmEvent (68) */
   interface PalletXcmEvent extends Enum {
     readonly isAttempted: boolean;
     readonly asAttempted: XcmV2TraitsOutcome;
@@ -748,7 +800,7 @@
     readonly type: 'Attempted' | 'Sent' | 'UnexpectedResponse' | 'ResponseReady' | 'Notified' | 'NotifyOverweight' | 'NotifyDispatchError' | 'NotifyDecodeFailed' | 'InvalidResponder' | 'InvalidResponderVersion' | 'ResponseTaken' | 'AssetsTrapped' | 'VersionChangeNotified' | 'SupportedVersionChanged' | 'NotifyTargetSendFail' | 'NotifyTargetMigrationFail' | 'AssetsClaimed';
   }
 
-  /** @name XcmV2TraitsOutcome (67) */
+  /** @name XcmV2TraitsOutcome (69) */
   interface XcmV2TraitsOutcome extends Enum {
     readonly isComplete: boolean;
     readonly asComplete: u64;
@@ -759,10 +811,10 @@
     readonly type: 'Complete' | 'Incomplete' | 'Error';
   }
 
-  /** @name XcmV2Xcm (68) */
+  /** @name XcmV2Xcm (70) */
   interface XcmV2Xcm extends Vec<XcmV2Instruction> {}
 
-  /** @name XcmV2Instruction (70) */
+  /** @name XcmV2Instruction (72) */
   interface XcmV2Instruction extends Enum {
     readonly isWithdrawAsset: boolean;
     readonly asWithdrawAsset: XcmV1MultiassetMultiAssets;
@@ -882,7 +934,7 @@
     readonly type: 'WithdrawAsset' | 'ReserveAssetDeposited' | 'ReceiveTeleportedAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'ClearOrigin' | 'DescendOrigin' | 'ReportError' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution' | 'RefundSurplus' | 'SetErrorHandler' | 'SetAppendix' | 'ClearError' | 'ClaimAsset' | 'Trap' | 'SubscribeVersion' | 'UnsubscribeVersion';
   }
 
-  /** @name XcmV2Response (71) */
+  /** @name XcmV2Response (73) */
   interface XcmV2Response extends Enum {
     readonly isNull: boolean;
     readonly isAssets: boolean;
@@ -894,7 +946,7 @@
     readonly type: 'Null' | 'Assets' | 'ExecutionResult' | 'Version';
   }
 
-  /** @name XcmV0OriginKind (74) */
+  /** @name XcmV0OriginKind (76) */
   interface XcmV0OriginKind extends Enum {
     readonly isNative: boolean;
     readonly isSovereignAccount: boolean;
@@ -903,12 +955,12 @@
     readonly type: 'Native' | 'SovereignAccount' | 'Superuser' | 'Xcm';
   }
 
-  /** @name XcmDoubleEncoded (75) */
+  /** @name XcmDoubleEncoded (77) */
   interface XcmDoubleEncoded extends Struct {
     readonly encoded: Bytes;
   }
 
-  /** @name XcmV1MultiassetMultiAssetFilter (76) */
+  /** @name XcmV1MultiassetMultiAssetFilter (78) */
   interface XcmV1MultiassetMultiAssetFilter extends Enum {
     readonly isDefinite: boolean;
     readonly asDefinite: XcmV1MultiassetMultiAssets;
@@ -917,7 +969,7 @@
     readonly type: 'Definite' | 'Wild';
   }
 
-  /** @name XcmV1MultiassetWildMultiAsset (77) */
+  /** @name XcmV1MultiassetWildMultiAsset (79) */
   interface XcmV1MultiassetWildMultiAsset extends Enum {
     readonly isAll: boolean;
     readonly isAllOf: boolean;
@@ -928,14 +980,14 @@
     readonly type: 'All' | 'AllOf';
   }
 
-  /** @name XcmV1MultiassetWildFungibility (78) */
+  /** @name XcmV1MultiassetWildFungibility (80) */
   interface XcmV1MultiassetWildFungibility extends Enum {
     readonly isFungible: boolean;
     readonly isNonFungible: boolean;
     readonly type: 'Fungible' | 'NonFungible';
   }
 
-  /** @name XcmV2WeightLimit (79) */
+  /** @name XcmV2WeightLimit (81) */
   interface XcmV2WeightLimit extends Enum {
     readonly isUnlimited: boolean;
     readonly isLimited: boolean;
@@ -943,7 +995,7 @@
     readonly type: 'Unlimited' | 'Limited';
   }
 
-  /** @name XcmVersionedMultiAssets (81) */
+  /** @name XcmVersionedMultiAssets (83) */
   interface XcmVersionedMultiAssets extends Enum {
     readonly isV0: boolean;
     readonly asV0: Vec<XcmV0MultiAsset>;
@@ -952,7 +1004,7 @@
     readonly type: 'V0' | 'V1';
   }
 
-  /** @name XcmV0MultiAsset (83) */
+  /** @name XcmV0MultiAsset (85) */
   interface XcmV0MultiAsset extends Enum {
     readonly isNone: boolean;
     readonly isAll: boolean;
@@ -997,7 +1049,7 @@
     readonly type: 'None' | 'All' | 'AllFungible' | 'AllNonFungible' | 'AllAbstractFungible' | 'AllAbstractNonFungible' | 'AllConcreteFungible' | 'AllConcreteNonFungible' | 'AbstractFungible' | 'AbstractNonFungible' | 'ConcreteFungible' | 'ConcreteNonFungible';
   }
 
-  /** @name XcmV0MultiLocation (84) */
+  /** @name XcmV0MultiLocation (86) */
   interface XcmV0MultiLocation extends Enum {
     readonly isNull: boolean;
     readonly isX1: boolean;
@@ -1019,7 +1071,7 @@
     readonly type: 'Null' | 'X1' | 'X2' | 'X3' | 'X4' | 'X5' | 'X6' | 'X7' | 'X8';
   }
 
-  /** @name XcmV0Junction (85) */
+  /** @name XcmV0Junction (87) */
   interface XcmV0Junction extends Enum {
     readonly isParent: boolean;
     readonly isParachain: boolean;
@@ -1054,7 +1106,7 @@
     readonly type: 'Parent' | 'Parachain' | 'AccountId32' | 'AccountIndex64' | 'AccountKey20' | 'PalletInstance' | 'GeneralIndex' | 'GeneralKey' | 'OnlyChild' | 'Plurality';
   }
 
-  /** @name XcmVersionedMultiLocation (86) */
+  /** @name XcmVersionedMultiLocation (88) */
   interface XcmVersionedMultiLocation extends Enum {
     readonly isV0: boolean;
     readonly asV0: XcmV0MultiLocation;
@@ -1063,7 +1115,7 @@
     readonly type: 'V0' | 'V1';
   }
 
-  /** @name CumulusPalletXcmEvent (87) */
+  /** @name CumulusPalletXcmEvent (89) */
   interface CumulusPalletXcmEvent extends Enum {
     readonly isInvalidFormat: boolean;
     readonly asInvalidFormat: U8aFixed;
@@ -1074,7 +1126,7 @@
     readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward';
   }
 
-  /** @name CumulusPalletDmpQueueEvent (88) */
+  /** @name CumulusPalletDmpQueueEvent (90) */
   interface CumulusPalletDmpQueueEvent extends Enum {
     readonly isInvalidFormat: boolean;
     readonly asInvalidFormat: {
@@ -1109,7 +1161,7 @@
     readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward' | 'WeightExhausted' | 'OverweightEnqueued' | 'OverweightServiced';
   }
 
-  /** @name PalletCommonEvent (89) */
+  /** @name PalletCommonEvent (91) */
   interface PalletCommonEvent extends Enum {
     readonly isCollectionCreated: boolean;
     readonly asCollectionCreated: ITuple<[u32, u8, AccountId32]>;
@@ -1158,7 +1210,7 @@
     readonly type: 'CollectionCreated' | 'CollectionDestroyed' | 'ItemCreated' | 'ItemDestroyed' | 'Transfer' | 'Approved' | 'ApprovedForAll' | 'CollectionPropertySet' | 'CollectionPropertyDeleted' | 'TokenPropertySet' | 'TokenPropertyDeleted' | 'PropertyPermissionSet' | 'AllowListAddressAdded' | 'AllowListAddressRemoved' | 'CollectionAdminAdded' | 'CollectionAdminRemoved' | 'CollectionLimitSet' | 'CollectionOwnerChanged' | 'CollectionPermissionSet' | 'CollectionSponsorSet' | 'SponsorshipConfirmed' | 'CollectionSponsorRemoved';
   }
 
-  /** @name PalletEvmAccountBasicCrossAccountIdRepr (92) */
+  /** @name PalletEvmAccountBasicCrossAccountIdRepr (94) */
   interface PalletEvmAccountBasicCrossAccountIdRepr extends Enum {
     readonly isSubstrate: boolean;
     readonly asSubstrate: AccountId32;
@@ -1167,14 +1219,14 @@
     readonly type: 'Substrate' | 'Ethereum';
   }
 
-  /** @name PalletStructureEvent (96) */
+  /** @name PalletStructureEvent (98) */
   interface PalletStructureEvent extends Enum {
     readonly isExecuted: boolean;
     readonly asExecuted: Result<Null, SpRuntimeDispatchError>;
     readonly type: 'Executed';
   }
 
-  /** @name PalletRmrkCoreEvent (97) */
+  /** @name PalletRmrkCoreEvent (99) */
   interface PalletRmrkCoreEvent extends Enum {
     readonly isCollectionCreated: boolean;
     readonly asCollectionCreated: {
@@ -1264,7 +1316,7 @@
     readonly type: 'CollectionCreated' | 'CollectionDestroyed' | 'IssuerChanged' | 'CollectionLocked' | 'NftMinted' | 'NftBurned' | 'NftSent' | 'NftAccepted' | 'NftRejected' | 'PropertySet' | 'ResourceAdded' | 'ResourceRemoval' | 'ResourceAccepted' | 'ResourceRemovalAccepted' | 'PrioritySet';
   }
 
-  /** @name RmrkTraitsNftAccountIdOrCollectionNftTuple (98) */
+  /** @name RmrkTraitsNftAccountIdOrCollectionNftTuple (100) */
   interface RmrkTraitsNftAccountIdOrCollectionNftTuple extends Enum {
     readonly isAccountId: boolean;
     readonly asAccountId: AccountId32;
@@ -1273,7 +1325,7 @@
     readonly type: 'AccountId' | 'CollectionAndNftTuple';
   }
 
-  /** @name PalletRmrkEquipEvent (102) */
+  /** @name PalletRmrkEquipEvent (104) */
   interface PalletRmrkEquipEvent extends Enum {
     readonly isBaseCreated: boolean;
     readonly asBaseCreated: {
@@ -1288,7 +1340,7 @@
     readonly type: 'BaseCreated' | 'EquippablesUpdated';
   }
 
-  /** @name PalletAppPromotionEvent (103) */
+  /** @name PalletAppPromotionEvent (105) */
   interface PalletAppPromotionEvent extends Enum {
     readonly isStakingRecalculation: boolean;
     readonly asStakingRecalculation: ITuple<[AccountId32, u128, u128]>;
@@ -1301,7 +1353,7 @@
     readonly type: 'StakingRecalculation' | 'Stake' | 'Unstake' | 'SetAdmin';
   }
 
-  /** @name PalletForeignAssetsModuleEvent (104) */
+  /** @name PalletForeignAssetsModuleEvent (106) */
   interface PalletForeignAssetsModuleEvent extends Enum {
     readonly isForeignAssetRegistered: boolean;
     readonly asForeignAssetRegistered: {
@@ -1328,7 +1380,7 @@
     readonly type: 'ForeignAssetRegistered' | 'ForeignAssetUpdated' | 'AssetRegistered' | 'AssetUpdated';
   }
 
-  /** @name PalletForeignAssetsModuleAssetMetadata (105) */
+  /** @name PalletForeignAssetsModuleAssetMetadata (107) */
   interface PalletForeignAssetsModuleAssetMetadata extends Struct {
     readonly name: Bytes;
     readonly symbol: Bytes;
@@ -1336,7 +1388,7 @@
     readonly minimalBalance: u128;
   }
 
-  /** @name PalletEvmEvent (106) */
+  /** @name PalletEvmEvent (108) */
   interface PalletEvmEvent extends Enum {
     readonly isLog: boolean;
     readonly asLog: {
@@ -1361,14 +1413,14 @@
     readonly type: 'Log' | 'Created' | 'CreatedFailed' | 'Executed' | 'ExecutedFailed';
   }
 
-  /** @name EthereumLog (107) */
+  /** @name EthereumLog (109) */
   interface EthereumLog extends Struct {
     readonly address: H160;
     readonly topics: Vec<H256>;
     readonly data: Bytes;
   }
 
-  /** @name PalletEthereumEvent (109) */
+  /** @name PalletEthereumEvent (111) */
   interface PalletEthereumEvent extends Enum {
     readonly isExecuted: boolean;
     readonly asExecuted: {
@@ -1380,7 +1432,7 @@
     readonly type: 'Executed';
   }
 
-  /** @name EvmCoreErrorExitReason (110) */
+  /** @name EvmCoreErrorExitReason (112) */
   interface EvmCoreErrorExitReason extends Enum {
     readonly isSucceed: boolean;
     readonly asSucceed: EvmCoreErrorExitSucceed;
@@ -1393,7 +1445,7 @@
     readonly type: 'Succeed' | 'Error' | 'Revert' | 'Fatal';
   }
 
-  /** @name EvmCoreErrorExitSucceed (111) */
+  /** @name EvmCoreErrorExitSucceed (113) */
   interface EvmCoreErrorExitSucceed extends Enum {
     readonly isStopped: boolean;
     readonly isReturned: boolean;
@@ -1401,7 +1453,7 @@
     readonly type: 'Stopped' | 'Returned' | 'Suicided';
   }
 
-  /** @name EvmCoreErrorExitError (112) */
+  /** @name EvmCoreErrorExitError (114) */
   interface EvmCoreErrorExitError extends Enum {
     readonly isStackUnderflow: boolean;
     readonly isStackOverflow: boolean;
@@ -1422,13 +1474,13 @@
     readonly type: 'StackUnderflow' | 'StackOverflow' | 'InvalidJump' | 'InvalidRange' | 'DesignatedInvalid' | 'CallTooDeep' | 'CreateCollision' | 'CreateContractLimit' | 'OutOfOffset' | 'OutOfGas' | 'OutOfFund' | 'PcUnderflow' | 'CreateEmpty' | 'Other' | 'InvalidCode';
   }
 
-  /** @name EvmCoreErrorExitRevert (115) */
+  /** @name EvmCoreErrorExitRevert (117) */
   interface EvmCoreErrorExitRevert extends Enum {
     readonly isReverted: boolean;
     readonly type: 'Reverted';
   }
 
-  /** @name EvmCoreErrorExitFatal (116) */
+  /** @name EvmCoreErrorExitFatal (118) */
   interface EvmCoreErrorExitFatal extends Enum {
     readonly isNotSupported: boolean;
     readonly isUnhandledInterrupt: boolean;
@@ -1439,7 +1491,7 @@
     readonly type: 'NotSupported' | 'UnhandledInterrupt' | 'CallErrorAsFatal' | 'Other';
   }
 
-  /** @name PalletEvmContractHelpersEvent (117) */
+  /** @name PalletEvmContractHelpersEvent (119) */
   interface PalletEvmContractHelpersEvent extends Enum {
     readonly isContractSponsorSet: boolean;
     readonly asContractSponsorSet: ITuple<[H160, AccountId32]>;
@@ -1450,20 +1502,20 @@
     readonly type: 'ContractSponsorSet' | 'ContractSponsorshipConfirmed' | 'ContractSponsorRemoved';
   }
 
-  /** @name PalletEvmMigrationEvent (118) */
+  /** @name PalletEvmMigrationEvent (120) */
   interface PalletEvmMigrationEvent extends Enum {
     readonly isTestEvent: boolean;
     readonly type: 'TestEvent';
   }
 
-  /** @name PalletMaintenanceEvent (119) */
+  /** @name PalletMaintenanceEvent (121) */
   interface PalletMaintenanceEvent extends Enum {
     readonly isMaintenanceEnabled: boolean;
     readonly isMaintenanceDisabled: boolean;
     readonly type: 'MaintenanceEnabled' | 'MaintenanceDisabled';
   }
 
-  /** @name PalletTestUtilsEvent (120) */
+  /** @name PalletTestUtilsEvent (122) */
   interface PalletTestUtilsEvent extends Enum {
     readonly isValueIsSet: boolean;
     readonly isShouldRollback: boolean;
@@ -1471,7 +1523,7 @@
     readonly type: 'ValueIsSet' | 'ShouldRollback' | 'BatchCompleted';
   }
 
-  /** @name FrameSystemPhase (121) */
+  /** @name FrameSystemPhase (123) */
   interface FrameSystemPhase extends Enum {
     readonly isApplyExtrinsic: boolean;
     readonly asApplyExtrinsic: u32;
@@ -1480,13 +1532,13 @@
     readonly type: 'ApplyExtrinsic' | 'Finalization' | 'Initialization';
   }
 
-  /** @name FrameSystemLastRuntimeUpgradeInfo (124) */
+  /** @name FrameSystemLastRuntimeUpgradeInfo (126) */
   interface FrameSystemLastRuntimeUpgradeInfo extends Struct {
     readonly specVersion: Compact<u32>;
     readonly specName: Text;
   }
 
-  /** @name FrameSystemCall (125) */
+  /** @name FrameSystemCall (127) */
   interface FrameSystemCall extends Enum {
     readonly isFillBlock: boolean;
     readonly asFillBlock: {
@@ -1528,21 +1580,21 @@
     readonly type: 'FillBlock' | 'Remark' | 'SetHeapPages' | 'SetCode' | 'SetCodeWithoutChecks' | 'SetStorage' | 'KillStorage' | 'KillPrefix' | 'RemarkWithEvent';
   }
 
-  /** @name FrameSystemLimitsBlockWeights (130) */
+  /** @name FrameSystemLimitsBlockWeights (132) */
   interface FrameSystemLimitsBlockWeights extends Struct {
     readonly baseBlock: SpWeightsWeightV2Weight;
     readonly maxBlock: SpWeightsWeightV2Weight;
     readonly perClass: FrameSupportDispatchPerDispatchClassWeightsPerClass;
   }
 
-  /** @name FrameSupportDispatchPerDispatchClassWeightsPerClass (131) */
+  /** @name FrameSupportDispatchPerDispatchClassWeightsPerClass (133) */
   interface FrameSupportDispatchPerDispatchClassWeightsPerClass extends Struct {
     readonly normal: FrameSystemLimitsWeightsPerClass;
     readonly operational: FrameSystemLimitsWeightsPerClass;
     readonly mandatory: FrameSystemLimitsWeightsPerClass;
   }
 
-  /** @name FrameSystemLimitsWeightsPerClass (132) */
+  /** @name FrameSystemLimitsWeightsPerClass (134) */
   interface FrameSystemLimitsWeightsPerClass extends Struct {
     readonly baseExtrinsic: SpWeightsWeightV2Weight;
     readonly maxExtrinsic: Option<SpWeightsWeightV2Weight>;
@@ -1550,25 +1602,25 @@
     readonly reserved: Option<SpWeightsWeightV2Weight>;
   }
 
-  /** @name FrameSystemLimitsBlockLength (134) */
+  /** @name FrameSystemLimitsBlockLength (136) */
   interface FrameSystemLimitsBlockLength extends Struct {
     readonly max: FrameSupportDispatchPerDispatchClassU32;
   }
 
-  /** @name FrameSupportDispatchPerDispatchClassU32 (135) */
+  /** @name FrameSupportDispatchPerDispatchClassU32 (137) */
   interface FrameSupportDispatchPerDispatchClassU32 extends Struct {
     readonly normal: u32;
     readonly operational: u32;
     readonly mandatory: u32;
   }
 
-  /** @name SpWeightsRuntimeDbWeight (136) */
+  /** @name SpWeightsRuntimeDbWeight (138) */
   interface SpWeightsRuntimeDbWeight extends Struct {
     readonly read: u64;
     readonly write: u64;
   }
 
-  /** @name SpVersionRuntimeVersion (137) */
+  /** @name SpVersionRuntimeVersion (139) */
   interface SpVersionRuntimeVersion extends Struct {
     readonly specName: Text;
     readonly implName: Text;
@@ -1580,7 +1632,7 @@
     readonly stateVersion: u8;
   }
 
-  /** @name FrameSystemError (142) */
+  /** @name FrameSystemError (144) */
   interface FrameSystemError extends Enum {
     readonly isInvalidSpecName: boolean;
     readonly isSpecVersionNeedsToIncrease: boolean;
@@ -1591,7 +1643,7 @@
     readonly type: 'InvalidSpecName' | 'SpecVersionNeedsToIncrease' | 'FailedToExtractRuntimeVersion' | 'NonDefaultComposite' | 'NonZeroRefCount' | 'CallFiltered';
   }
 
-  /** @name PolkadotPrimitivesV2PersistedValidationData (143) */
+  /** @name PolkadotPrimitivesV2PersistedValidationData (145) */
   interface PolkadotPrimitivesV2PersistedValidationData extends Struct {
     readonly parentHead: Bytes;
     readonly relayParentNumber: u32;
@@ -1599,18 +1651,18 @@
     readonly maxPovSize: u32;
   }
 
-  /** @name PolkadotPrimitivesV2UpgradeRestriction (146) */
+  /** @name PolkadotPrimitivesV2UpgradeRestriction (148) */
   interface PolkadotPrimitivesV2UpgradeRestriction extends Enum {
     readonly isPresent: boolean;
     readonly type: 'Present';
   }
 
-  /** @name SpTrieStorageProof (147) */
+  /** @name SpTrieStorageProof (149) */
   interface SpTrieStorageProof extends Struct {
     readonly trieNodes: BTreeSet<Bytes>;
   }
 
-  /** @name CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot (149) */
+  /** @name CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot (151) */
   interface CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot extends Struct {
     readonly dmqMqcHead: H256;
     readonly relayDispatchQueueSize: ITuple<[u32, u32]>;
@@ -1618,7 +1670,7 @@
     readonly egressChannels: Vec<ITuple<[u32, PolkadotPrimitivesV2AbridgedHrmpChannel]>>;
   }
 
-  /** @name PolkadotPrimitivesV2AbridgedHrmpChannel (152) */
+  /** @name PolkadotPrimitivesV2AbridgedHrmpChannel (154) */
   interface PolkadotPrimitivesV2AbridgedHrmpChannel extends Struct {
     readonly maxCapacity: u32;
     readonly maxTotalSize: u32;
@@ -1628,7 +1680,7 @@
     readonly mqcHead: Option<H256>;
   }
 
-  /** @name PolkadotPrimitivesV2AbridgedHostConfiguration (153) */
+  /** @name PolkadotPrimitivesV2AbridgedHostConfiguration (155) */
   interface PolkadotPrimitivesV2AbridgedHostConfiguration extends Struct {
     readonly maxCodeSize: u32;
     readonly maxHeadDataSize: u32;
@@ -1641,13 +1693,13 @@
     readonly validationUpgradeDelay: u32;
   }
 
-  /** @name PolkadotCorePrimitivesOutboundHrmpMessage (159) */
+  /** @name PolkadotCorePrimitivesOutboundHrmpMessage (161) */
   interface PolkadotCorePrimitivesOutboundHrmpMessage extends Struct {
     readonly recipient: u32;
     readonly data: Bytes;
   }
 
-  /** @name CumulusPalletParachainSystemCall (160) */
+  /** @name CumulusPalletParachainSystemCall (162) */
   interface CumulusPalletParachainSystemCall extends Enum {
     readonly isSetValidationData: boolean;
     readonly asSetValidationData: {
@@ -1668,7 +1720,7 @@
     readonly type: 'SetValidationData' | 'SudoSendUpwardMessage' | 'AuthorizeUpgrade' | 'EnactAuthorizedUpgrade';
   }
 
-  /** @name CumulusPrimitivesParachainInherentParachainInherentData (161) */
+  /** @name CumulusPrimitivesParachainInherentParachainInherentData (163) */
   interface CumulusPrimitivesParachainInherentParachainInherentData extends Struct {
     readonly validationData: PolkadotPrimitivesV2PersistedValidationData;
     readonly relayChainState: SpTrieStorageProof;
@@ -1676,19 +1728,19 @@
     readonly horizontalMessages: BTreeMap<u32, Vec<PolkadotCorePrimitivesInboundHrmpMessage>>;
   }
 
-  /** @name PolkadotCorePrimitivesInboundDownwardMessage (163) */
+  /** @name PolkadotCorePrimitivesInboundDownwardMessage (165) */
   interface PolkadotCorePrimitivesInboundDownwardMessage extends Struct {
     readonly sentAt: u32;
     readonly msg: Bytes;
   }
 
-  /** @name PolkadotCorePrimitivesInboundHrmpMessage (166) */
+  /** @name PolkadotCorePrimitivesInboundHrmpMessage (168) */
   interface PolkadotCorePrimitivesInboundHrmpMessage extends Struct {
     readonly sentAt: u32;
     readonly data: Bytes;
   }
 
-  /** @name CumulusPalletParachainSystemError (169) */
+  /** @name CumulusPalletParachainSystemError (171) */
   interface CumulusPalletParachainSystemError extends Enum {
     readonly isOverlappingUpgrades: boolean;
     readonly isProhibitedByPolkadot: boolean;
@@ -1701,14 +1753,142 @@
     readonly type: 'OverlappingUpgrades' | 'ProhibitedByPolkadot' | 'TooBig' | 'ValidationDataNotAvailable' | 'HostConfigurationNotAvailable' | 'NotScheduled' | 'NothingAuthorized' | 'Unauthorized';
   }
 
-  /** @name PalletBalancesBalanceLock (171) */
+  /** @name PalletAuthorshipUncleEntryItem (173) */
+  interface PalletAuthorshipUncleEntryItem extends Enum {
+    readonly isInclusionHeight: boolean;
+    readonly asInclusionHeight: u32;
+    readonly isUncle: boolean;
+    readonly asUncle: ITuple<[H256, Option<AccountId32>]>;
+    readonly type: 'InclusionHeight' | 'Uncle';
+  }
+
+  /** @name PalletAuthorshipCall (175) */
+  interface PalletAuthorshipCall extends Enum {
+    readonly isSetUncles: boolean;
+    readonly asSetUncles: {
+      readonly newUncles: Vec<SpRuntimeHeader>;
+    } & Struct;
+    readonly type: 'SetUncles';
+  }
+
+  /** @name SpRuntimeHeader (177) */
+  interface SpRuntimeHeader extends Struct {
+    readonly parentHash: H256;
+    readonly number: Compact<u32>;
+    readonly stateRoot: H256;
+    readonly extrinsicsRoot: H256;
+    readonly digest: SpRuntimeDigest;
+  }
+
+  /** @name SpRuntimeBlakeTwo256 (178) */
+  type SpRuntimeBlakeTwo256 = Null;
+
+  /** @name PalletAuthorshipError (179) */
+  interface PalletAuthorshipError extends Enum {
+    readonly isInvalidUncleParent: boolean;
+    readonly isUnclesAlreadySet: boolean;
+    readonly isTooManyUncles: boolean;
+    readonly isGenesisUncle: boolean;
+    readonly isTooHighUncle: boolean;
+    readonly isUncleAlreadyIncluded: boolean;
+    readonly isOldUncle: boolean;
+    readonly type: 'InvalidUncleParent' | 'UnclesAlreadySet' | 'TooManyUncles' | 'GenesisUncle' | 'TooHighUncle' | 'UncleAlreadyIncluded' | 'OldUncle';
+  }
+
+  /** @name PalletCollatorSelectionCall (182) */
+  interface PalletCollatorSelectionCall extends Enum {
+    readonly isAddInvulnerable: boolean;
+    readonly asAddInvulnerable: {
+      readonly new_: AccountId32;
+    } & Struct;
+    readonly isRemoveInvulnerable: boolean;
+    readonly asRemoveInvulnerable: {
+      readonly who: AccountId32;
+    } & Struct;
+    readonly isSetDesiredCollators: boolean;
+    readonly asSetDesiredCollators: {
+      readonly max: u32;
+    } & Struct;
+    readonly isSetLicenseBond: boolean;
+    readonly asSetLicenseBond: {
+      readonly bond: u128;
+    } & Struct;
+    readonly isSetKickThreshold: boolean;
+    readonly asSetKickThreshold: {
+      readonly kickThreshold: u32;
+    } & Struct;
+    readonly isGetLicense: boolean;
+    readonly isOnboard: boolean;
+    readonly isOffboard: boolean;
+    readonly isReleaseLicense: boolean;
+    readonly isForceRevokeLicense: boolean;
+    readonly asForceRevokeLicense: {
+      readonly who: AccountId32;
+    } & Struct;
+    readonly type: 'AddInvulnerable' | 'RemoveInvulnerable' | 'SetDesiredCollators' | 'SetLicenseBond' | 'SetKickThreshold' | 'GetLicense' | 'Onboard' | 'Offboard' | 'ReleaseLicense' | 'ForceRevokeLicense';
+  }
+
+  /** @name PalletCollatorSelectionError (183) */
+  interface PalletCollatorSelectionError extends Enum {
+    readonly isTooManyCandidates: boolean;
+    readonly isUnknown: boolean;
+    readonly isPermission: boolean;
+    readonly isAlreadyHoldingLicense: boolean;
+    readonly isNoLicense: boolean;
+    readonly isAlreadyCandidate: boolean;
+    readonly isNotCandidate: boolean;
+    readonly isTooManyInvulnerables: boolean;
+    readonly isTooFewInvulnerables: boolean;
+    readonly isAlreadyInvulnerable: boolean;
+    readonly isNotInvulnerable: boolean;
+    readonly isNoAssociatedValidatorId: boolean;
+    readonly isValidatorNotRegistered: boolean;
+    readonly type: 'TooManyCandidates' | 'Unknown' | 'Permission' | 'AlreadyHoldingLicense' | 'NoLicense' | 'AlreadyCandidate' | 'NotCandidate' | 'TooManyInvulnerables' | 'TooFewInvulnerables' | 'AlreadyInvulnerable' | 'NotInvulnerable' | 'NoAssociatedValidatorId' | 'ValidatorNotRegistered';
+  }
+
+  /** @name OpalRuntimeRuntimeCommonSessionKeys (186) */
+  interface OpalRuntimeRuntimeCommonSessionKeys extends Struct {
+    readonly aura: SpConsensusAuraSr25519AppSr25519Public;
+  }
+
+  /** @name SpConsensusAuraSr25519AppSr25519Public (187) */
+  interface SpConsensusAuraSr25519AppSr25519Public extends SpCoreSr25519Public {}
+
+  /** @name SpCoreSr25519Public (188) */
+  interface SpCoreSr25519Public extends U8aFixed {}
+
+  /** @name SpCoreCryptoKeyTypeId (191) */
+  interface SpCoreCryptoKeyTypeId extends U8aFixed {}
+
+  /** @name PalletSessionCall (192) */
+  interface PalletSessionCall extends Enum {
+    readonly isSetKeys: boolean;
+    readonly asSetKeys: {
+      readonly keys_: OpalRuntimeRuntimeCommonSessionKeys;
+      readonly proof: Bytes;
+    } & Struct;
+    readonly isPurgeKeys: boolean;
+    readonly type: 'SetKeys' | 'PurgeKeys';
+  }
+
+  /** @name PalletSessionError (193) */
+  interface PalletSessionError extends Enum {
+    readonly isInvalidProof: boolean;
+    readonly isNoAssociatedValidatorId: boolean;
+    readonly isDuplicatedKey: boolean;
+    readonly isNoKeys: boolean;
+    readonly isNoAccount: boolean;
+    readonly type: 'InvalidProof' | 'NoAssociatedValidatorId' | 'DuplicatedKey' | 'NoKeys' | 'NoAccount';
+  }
+
+  /** @name PalletBalancesBalanceLock (195) */
   interface PalletBalancesBalanceLock extends Struct {
     readonly id: U8aFixed;
     readonly amount: u128;
     readonly reasons: PalletBalancesReasons;
   }
 
-  /** @name PalletBalancesReasons (172) */
+  /** @name PalletBalancesReasons (196) */
   interface PalletBalancesReasons extends Enum {
     readonly isFee: boolean;
     readonly isMisc: boolean;
@@ -1716,20 +1896,20 @@
     readonly type: 'Fee' | 'Misc' | 'All';
   }
 
-  /** @name PalletBalancesReserveData (175) */
+  /** @name PalletBalancesReserveData (199) */
   interface PalletBalancesReserveData extends Struct {
     readonly id: U8aFixed;
     readonly amount: u128;
   }
 
-  /** @name PalletBalancesReleases (177) */
+  /** @name PalletBalancesReleases (201) */
   interface PalletBalancesReleases extends Enum {
     readonly isV100: boolean;
     readonly isV200: boolean;
     readonly type: 'V100' | 'V200';
   }
 
-  /** @name PalletBalancesCall (178) */
+  /** @name PalletBalancesCall (202) */
   interface PalletBalancesCall extends Enum {
     readonly isTransfer: boolean;
     readonly asTransfer: {
@@ -1766,7 +1946,7 @@
     readonly type: 'Transfer' | 'SetBalance' | 'ForceTransfer' | 'TransferKeepAlive' | 'TransferAll' | 'ForceUnreserve';
   }
 
-  /** @name PalletBalancesError (181) */
+  /** @name PalletBalancesError (205) */
   interface PalletBalancesError extends Enum {
     readonly isVestingBalance: boolean;
     readonly isLiquidityRestrictions: boolean;
@@ -1779,7 +1959,7 @@
     readonly type: 'VestingBalance' | 'LiquidityRestrictions' | 'InsufficientBalance' | 'ExistentialDeposit' | 'KeepAlive' | 'ExistingVestingSchedule' | 'DeadAccount' | 'TooManyReserves';
   }
 
-  /** @name PalletTimestampCall (183) */
+  /** @name PalletTimestampCall (207) */
   interface PalletTimestampCall extends Enum {
     readonly isSet: boolean;
     readonly asSet: {
@@ -1788,14 +1968,14 @@
     readonly type: 'Set';
   }
 
-  /** @name PalletTransactionPaymentReleases (185) */
+  /** @name PalletTransactionPaymentReleases (209) */
   interface PalletTransactionPaymentReleases extends Enum {
     readonly isV1Ancient: boolean;
     readonly isV2: boolean;
     readonly type: 'V1Ancient' | 'V2';
   }
 
-  /** @name PalletTreasuryProposal (186) */
+  /** @name PalletTreasuryProposal (210) */
   interface PalletTreasuryProposal extends Struct {
     readonly proposer: AccountId32;
     readonly value: u128;
@@ -1803,7 +1983,7 @@
     readonly bond: u128;
   }
 
-  /** @name PalletTreasuryCall (189) */
+  /** @name PalletTreasuryCall (212) */
   interface PalletTreasuryCall extends Enum {
     readonly isProposeSpend: boolean;
     readonly asProposeSpend: {
@@ -1830,10 +2010,10 @@
     readonly type: 'ProposeSpend' | 'RejectProposal' | 'ApproveProposal' | 'Spend' | 'RemoveApproval';
   }
 
-  /** @name FrameSupportPalletId (192) */
+  /** @name FrameSupportPalletId (215) */
   interface FrameSupportPalletId extends U8aFixed {}
 
-  /** @name PalletTreasuryError (193) */
+  /** @name PalletTreasuryError (216) */
   interface PalletTreasuryError extends Enum {
     readonly isInsufficientProposersBalance: boolean;
     readonly isInvalidIndex: boolean;
@@ -1843,7 +2023,7 @@
     readonly type: 'InsufficientProposersBalance' | 'InvalidIndex' | 'TooManyApprovals' | 'InsufficientPermission' | 'ProposalNotApproved';
   }
 
-  /** @name PalletSudoCall (194) */
+  /** @name PalletSudoCall (217) */
   interface PalletSudoCall extends Enum {
     readonly isSudo: boolean;
     readonly asSudo: {
@@ -1866,7 +2046,7 @@
     readonly type: 'Sudo' | 'SudoUncheckedWeight' | 'SetKey' | 'SudoAs';
   }
 
-  /** @name OrmlVestingModuleCall (196) */
+  /** @name OrmlVestingModuleCall (219) */
   interface OrmlVestingModuleCall extends Enum {
     readonly isClaim: boolean;
     readonly isVestedTransfer: boolean;
@@ -1886,7 +2066,7 @@
     readonly type: 'Claim' | 'VestedTransfer' | 'UpdateVestingSchedules' | 'ClaimFor';
   }
 
-  /** @name OrmlXtokensModuleCall (198) */
+  /** @name OrmlXtokensModuleCall (221) */
   interface OrmlXtokensModuleCall extends Enum {
     readonly isTransfer: boolean;
     readonly asTransfer: {
@@ -1933,7 +2113,7 @@
     readonly type: 'Transfer' | 'TransferMultiasset' | 'TransferWithFee' | 'TransferMultiassetWithFee' | 'TransferMulticurrencies' | 'TransferMultiassets';
   }
 
-  /** @name XcmVersionedMultiAsset (199) */
+  /** @name XcmVersionedMultiAsset (222) */
   interface XcmVersionedMultiAsset extends Enum {
     readonly isV0: boolean;
     readonly asV0: XcmV0MultiAsset;
@@ -1942,7 +2122,7 @@
     readonly type: 'V0' | 'V1';
   }
 
-  /** @name OrmlTokensModuleCall (202) */
+  /** @name OrmlTokensModuleCall (225) */
   interface OrmlTokensModuleCall extends Enum {
     readonly isTransfer: boolean;
     readonly asTransfer: {
@@ -1979,7 +2159,7 @@
     readonly type: 'Transfer' | 'TransferAll' | 'TransferKeepAlive' | 'ForceTransfer' | 'SetBalance';
   }
 
-  /** @name CumulusPalletXcmpQueueCall (203) */
+  /** @name CumulusPalletXcmpQueueCall (226) */
   interface CumulusPalletXcmpQueueCall extends Enum {
     readonly isServiceOverweight: boolean;
     readonly asServiceOverweight: {
@@ -2015,7 +2195,7 @@
     readonly type: 'ServiceOverweight' | 'SuspendXcmExecution' | 'ResumeXcmExecution' | 'UpdateSuspendThreshold' | 'UpdateDropThreshold' | 'UpdateResumeThreshold' | 'UpdateThresholdWeight' | 'UpdateWeightRestrictDecay' | 'UpdateXcmpMaxIndividualWeight';
   }
 
-  /** @name PalletXcmCall (204) */
+  /** @name PalletXcmCall (227) */
   interface PalletXcmCall extends Enum {
     readonly isSend: boolean;
     readonly asSend: {
@@ -2077,7 +2257,7 @@
     readonly type: 'Send' | 'TeleportAssets' | 'ReserveTransferAssets' | 'Execute' | 'ForceXcmVersion' | 'ForceDefaultXcmVersion' | 'ForceSubscribeVersionNotify' | 'ForceUnsubscribeVersionNotify' | 'LimitedReserveTransferAssets' | 'LimitedTeleportAssets';
   }
 
-  /** @name XcmVersionedXcm (205) */
+  /** @name XcmVersionedXcm (228) */
   interface XcmVersionedXcm extends Enum {
     readonly isV0: boolean;
     readonly asV0: XcmV0Xcm;
@@ -2088,7 +2268,7 @@
     readonly type: 'V0' | 'V1' | 'V2';
   }
 
-  /** @name XcmV0Xcm (206) */
+  /** @name XcmV0Xcm (229) */
   interface XcmV0Xcm extends Enum {
     readonly isWithdrawAsset: boolean;
     readonly asWithdrawAsset: {
@@ -2151,7 +2331,7 @@
     readonly type: 'WithdrawAsset' | 'ReserveAssetDeposit' | 'TeleportAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'RelayedFrom';
   }
 
-  /** @name XcmV0Order (208) */
+  /** @name XcmV0Order (231) */
   interface XcmV0Order extends Enum {
     readonly isNull: boolean;
     readonly isDepositAsset: boolean;
@@ -2199,14 +2379,14 @@
     readonly type: 'Null' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution';
   }
 
-  /** @name XcmV0Response (210) */
+  /** @name XcmV0Response (233) */
   interface XcmV0Response extends Enum {
     readonly isAssets: boolean;
     readonly asAssets: Vec<XcmV0MultiAsset>;
     readonly type: 'Assets';
   }
 
-  /** @name XcmV1Xcm (211) */
+  /** @name XcmV1Xcm (234) */
   interface XcmV1Xcm extends Enum {
     readonly isWithdrawAsset: boolean;
     readonly asWithdrawAsset: {
@@ -2275,7 +2455,7 @@
     readonly type: 'WithdrawAsset' | 'ReserveAssetDeposited' | 'ReceiveTeleportedAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'RelayedFrom' | 'SubscribeVersion' | 'UnsubscribeVersion';
   }
 
-  /** @name XcmV1Order (213) */
+  /** @name XcmV1Order (236) */
   interface XcmV1Order extends Enum {
     readonly isNoop: boolean;
     readonly isDepositAsset: boolean;
@@ -2325,7 +2505,7 @@
     readonly type: 'Noop' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution';
   }
 
-  /** @name XcmV1Response (215) */
+  /** @name XcmV1Response (238) */
   interface XcmV1Response extends Enum {
     readonly isAssets: boolean;
     readonly asAssets: XcmV1MultiassetMultiAssets;
@@ -2334,10 +2514,10 @@
     readonly type: 'Assets' | 'Version';
   }
 
-  /** @name CumulusPalletXcmCall (229) */
+  /** @name CumulusPalletXcmCall (252) */
   type CumulusPalletXcmCall = Null;
 
-  /** @name CumulusPalletDmpQueueCall (230) */
+  /** @name CumulusPalletDmpQueueCall (253) */
   interface CumulusPalletDmpQueueCall extends Enum {
     readonly isServiceOverweight: boolean;
     readonly asServiceOverweight: {
@@ -2347,7 +2527,7 @@
     readonly type: 'ServiceOverweight';
   }
 
-  /** @name PalletInflationCall (231) */
+  /** @name PalletInflationCall (254) */
   interface PalletInflationCall extends Enum {
     readonly isStartInflation: boolean;
     readonly asStartInflation: {
@@ -2356,7 +2536,7 @@
     readonly type: 'StartInflation';
   }
 
-  /** @name PalletUniqueCall (232) */
+  /** @name PalletUniqueCall (255) */
   interface PalletUniqueCall extends Enum {
     readonly isCreateCollection: boolean;
     readonly asCreateCollection: {
@@ -2517,15 +2697,19 @@
       readonly operator: PalletEvmAccountBasicCrossAccountIdRepr;
       readonly approve: bool;
     } & Struct;
-    readonly isRepairItem: boolean;
-    readonly asRepairItem: {
+    readonly isForceRepairCollection: boolean;
+    readonly asForceRepairCollection: {
+      readonly collectionId: u32;
+    } & Struct;
+    readonly isForceRepairItem: boolean;
+    readonly asForceRepairItem: {
       readonly collectionId: u32;
       readonly itemId: u32;
     } & Struct;
-    readonly type: 'CreateCollection' | 'CreateCollectionEx' | 'DestroyCollection' | 'AddToAllowList' | 'RemoveFromAllowList' | 'ChangeCollectionOwner' | 'AddCollectionAdmin' | 'RemoveCollectionAdmin' | 'SetCollectionSponsor' | 'ConfirmSponsorship' | 'RemoveCollectionSponsor' | 'CreateItem' | 'CreateMultipleItems' | 'SetCollectionProperties' | 'DeleteCollectionProperties' | 'SetTokenProperties' | 'DeleteTokenProperties' | 'SetTokenPropertyPermissions' | 'CreateMultipleItemsEx' | 'SetTransfersEnabledFlag' | 'BurnItem' | 'BurnFrom' | 'Transfer' | 'Approve' | 'TransferFrom' | 'SetCollectionLimits' | 'SetCollectionPermissions' | 'Repartition' | 'SetAllowanceForAll' | 'RepairItem';
+    readonly type: 'CreateCollection' | 'CreateCollectionEx' | 'DestroyCollection' | 'AddToAllowList' | 'RemoveFromAllowList' | 'ChangeCollectionOwner' | 'AddCollectionAdmin' | 'RemoveCollectionAdmin' | 'SetCollectionSponsor' | 'ConfirmSponsorship' | 'RemoveCollectionSponsor' | 'CreateItem' | 'CreateMultipleItems' | 'SetCollectionProperties' | 'DeleteCollectionProperties' | 'SetTokenProperties' | 'DeleteTokenProperties' | 'SetTokenPropertyPermissions' | 'CreateMultipleItemsEx' | 'SetTransfersEnabledFlag' | 'BurnItem' | 'BurnFrom' | 'Transfer' | 'Approve' | 'TransferFrom' | 'SetCollectionLimits' | 'SetCollectionPermissions' | 'Repartition' | 'SetAllowanceForAll' | 'ForceRepairCollection' | 'ForceRepairItem';
   }
 
-  /** @name UpDataStructsCollectionMode (237) */
+  /** @name UpDataStructsCollectionMode (260) */
   interface UpDataStructsCollectionMode extends Enum {
     readonly isNft: boolean;
     readonly isFungible: boolean;
@@ -2534,7 +2718,7 @@
     readonly type: 'Nft' | 'Fungible' | 'ReFungible';
   }
 
-  /** @name UpDataStructsCreateCollectionData (238) */
+  /** @name UpDataStructsCreateCollectionData (261) */
   interface UpDataStructsCreateCollectionData extends Struct {
     readonly mode: UpDataStructsCollectionMode;
     readonly access: Option<UpDataStructsAccessMode>;
@@ -2548,14 +2732,14 @@
     readonly properties: Vec<UpDataStructsProperty>;
   }
 
-  /** @name UpDataStructsAccessMode (240) */
+  /** @name UpDataStructsAccessMode (263) */
   interface UpDataStructsAccessMode extends Enum {
     readonly isNormal: boolean;
     readonly isAllowList: boolean;
     readonly type: 'Normal' | 'AllowList';
   }
 
-  /** @name UpDataStructsCollectionLimits (242) */
+  /** @name UpDataStructsCollectionLimits (265) */
   interface UpDataStructsCollectionLimits extends Struct {
     readonly accountTokenOwnershipLimit: Option<u32>;
     readonly sponsoredDataSize: Option<u32>;
@@ -2568,7 +2752,7 @@
     readonly transfersEnabled: Option<bool>;
   }
 
-  /** @name UpDataStructsSponsoringRateLimit (244) */
+  /** @name UpDataStructsSponsoringRateLimit (267) */
   interface UpDataStructsSponsoringRateLimit extends Enum {
     readonly isSponsoringDisabled: boolean;
     readonly isBlocks: boolean;
@@ -2576,43 +2760,43 @@
     readonly type: 'SponsoringDisabled' | 'Blocks';
   }
 
-  /** @name UpDataStructsCollectionPermissions (247) */
+  /** @name UpDataStructsCollectionPermissions (270) */
   interface UpDataStructsCollectionPermissions extends Struct {
     readonly access: Option<UpDataStructsAccessMode>;
     readonly mintMode: Option<bool>;
     readonly nesting: Option<UpDataStructsNestingPermissions>;
   }
 
-  /** @name UpDataStructsNestingPermissions (249) */
+  /** @name UpDataStructsNestingPermissions (272) */
   interface UpDataStructsNestingPermissions extends Struct {
     readonly tokenOwner: bool;
     readonly collectionAdmin: bool;
     readonly restricted: Option<UpDataStructsOwnerRestrictedSet>;
   }
 
-  /** @name UpDataStructsOwnerRestrictedSet (251) */
+  /** @name UpDataStructsOwnerRestrictedSet (274) */
   interface UpDataStructsOwnerRestrictedSet extends BTreeSet<u32> {}
 
-  /** @name UpDataStructsPropertyKeyPermission (256) */
+  /** @name UpDataStructsPropertyKeyPermission (279) */
   interface UpDataStructsPropertyKeyPermission extends Struct {
     readonly key: Bytes;
     readonly permission: UpDataStructsPropertyPermission;
   }
 
-  /** @name UpDataStructsPropertyPermission (257) */
+  /** @name UpDataStructsPropertyPermission (280) */
   interface UpDataStructsPropertyPermission extends Struct {
     readonly mutable: bool;
     readonly collectionAdmin: bool;
     readonly tokenOwner: bool;
   }
 
-  /** @name UpDataStructsProperty (260) */
+  /** @name UpDataStructsProperty (283) */
   interface UpDataStructsProperty extends Struct {
     readonly key: Bytes;
     readonly value: Bytes;
   }
 
-  /** @name UpDataStructsCreateItemData (263) */
+  /** @name UpDataStructsCreateItemData (286) */
   interface UpDataStructsCreateItemData extends Enum {
     readonly isNft: boolean;
     readonly asNft: UpDataStructsCreateNftData;
@@ -2623,23 +2807,23 @@
     readonly type: 'Nft' | 'Fungible' | 'ReFungible';
   }
 
-  /** @name UpDataStructsCreateNftData (264) */
+  /** @name UpDataStructsCreateNftData (287) */
   interface UpDataStructsCreateNftData extends Struct {
     readonly properties: Vec<UpDataStructsProperty>;
   }
 
-  /** @name UpDataStructsCreateFungibleData (265) */
+  /** @name UpDataStructsCreateFungibleData (288) */
   interface UpDataStructsCreateFungibleData extends Struct {
     readonly value: u128;
   }
 
-  /** @name UpDataStructsCreateReFungibleData (266) */
+  /** @name UpDataStructsCreateReFungibleData (289) */
   interface UpDataStructsCreateReFungibleData extends Struct {
     readonly pieces: u128;
     readonly properties: Vec<UpDataStructsProperty>;
   }
 
-  /** @name UpDataStructsCreateItemExData (269) */
+  /** @name UpDataStructsCreateItemExData (292) */
   interface UpDataStructsCreateItemExData extends Enum {
     readonly isNft: boolean;
     readonly asNft: Vec<UpDataStructsCreateNftExData>;
@@ -2652,26 +2836,26 @@
     readonly type: 'Nft' | 'Fungible' | 'RefungibleMultipleItems' | 'RefungibleMultipleOwners';
   }
 
-  /** @name UpDataStructsCreateNftExData (271) */
+  /** @name UpDataStructsCreateNftExData (294) */
   interface UpDataStructsCreateNftExData extends Struct {
     readonly properties: Vec<UpDataStructsProperty>;
     readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;
   }
 
-  /** @name UpDataStructsCreateRefungibleExSingleOwner (278) */
+  /** @name UpDataStructsCreateRefungibleExSingleOwner (301) */
   interface UpDataStructsCreateRefungibleExSingleOwner extends Struct {
     readonly user: PalletEvmAccountBasicCrossAccountIdRepr;
     readonly pieces: u128;
     readonly properties: Vec<UpDataStructsProperty>;
   }
 
-  /** @name UpDataStructsCreateRefungibleExMultipleOwners (280) */
+  /** @name UpDataStructsCreateRefungibleExMultipleOwners (303) */
   interface UpDataStructsCreateRefungibleExMultipleOwners extends Struct {
     readonly users: BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>;
     readonly properties: Vec<UpDataStructsProperty>;
   }
 
-  /** @name PalletConfigurationCall (281) */
+  /** @name PalletConfigurationCall (304) */
   interface PalletConfigurationCall extends Enum {
     readonly isSetWeightToFeeCoefficientOverride: boolean;
     readonly asSetWeightToFeeCoefficientOverride: {
@@ -2692,7 +2876,7 @@
     readonly type: 'SetWeightToFeeCoefficientOverride' | 'SetMinGasPriceOverride' | 'SetXcmAllowedLocations' | 'SetAppPromotionConfigurationOverride';
   }
 
-  /** @name PalletConfigurationAppPromotionConfiguration (286) */
+  /** @name PalletConfigurationAppPromotionConfiguration (309) */
   interface PalletConfigurationAppPromotionConfiguration extends Struct {
     readonly recalculationInterval: Option<u32>;
     readonly pendingInterval: Option<u32>;
@@ -2700,13 +2884,13 @@
     readonly maxStakersPerCalculation: Option<u8>;
   }
 
-  /** @name PalletTemplateTransactionPaymentCall (289) */
+  /** @name PalletTemplateTransactionPaymentCall (312) */
   type PalletTemplateTransactionPaymentCall = Null;
 
-  /** @name PalletStructureCall (290) */
+  /** @name PalletStructureCall (313) */
   type PalletStructureCall = Null;
 
-  /** @name PalletRmrkCoreCall (291) */
+  /** @name PalletRmrkCoreCall (314) */
   interface PalletRmrkCoreCall extends Enum {
     readonly isCreateCollection: boolean;
     readonly asCreateCollection: {
@@ -2812,7 +2996,7 @@
     readonly type: 'CreateCollection' | 'DestroyCollection' | 'ChangeCollectionIssuer' | 'LockCollection' | 'MintNft' | 'BurnNft' | 'Send' | 'AcceptNft' | 'RejectNft' | 'AcceptResource' | 'AcceptResourceRemoval' | 'SetProperty' | 'SetPriority' | 'AddBasicResource' | 'AddComposableResource' | 'AddSlotResource' | 'RemoveResource';
   }
 
-  /** @name RmrkTraitsResourceResourceTypes (297) */
+  /** @name RmrkTraitsResourceResourceTypes (320) */
   interface RmrkTraitsResourceResourceTypes extends Enum {
     readonly isBasic: boolean;
     readonly asBasic: RmrkTraitsResourceBasicResource;
@@ -2823,7 +3007,7 @@
     readonly type: 'Basic' | 'Composable' | 'Slot';
   }
 
-  /** @name RmrkTraitsResourceBasicResource (299) */
+  /** @name RmrkTraitsResourceBasicResource (322) */
   interface RmrkTraitsResourceBasicResource extends Struct {
     readonly src: Option<Bytes>;
     readonly metadata: Option<Bytes>;
@@ -2831,7 +3015,7 @@
     readonly thumb: Option<Bytes>;
   }
 
-  /** @name RmrkTraitsResourceComposableResource (301) */
+  /** @name RmrkTraitsResourceComposableResource (324) */
   interface RmrkTraitsResourceComposableResource extends Struct {
     readonly parts: Vec<u32>;
     readonly base: u32;
@@ -2841,7 +3025,7 @@
     readonly thumb: Option<Bytes>;
   }
 
-  /** @name RmrkTraitsResourceSlotResource (302) */
+  /** @name RmrkTraitsResourceSlotResource (325) */
   interface RmrkTraitsResourceSlotResource extends Struct {
     readonly base: u32;
     readonly src: Option<Bytes>;
@@ -2851,7 +3035,7 @@
     readonly thumb: Option<Bytes>;
   }
 
-  /** @name PalletRmrkEquipCall (305) */
+  /** @name PalletRmrkEquipCall (328) */
   interface PalletRmrkEquipCall extends Enum {
     readonly isCreateBase: boolean;
     readonly asCreateBase: {
@@ -2873,7 +3057,7 @@
     readonly type: 'CreateBase' | 'ThemeAdd' | 'Equippable';
   }
 
-  /** @name RmrkTraitsPartPartType (308) */
+  /** @name RmrkTraitsPartPartType (331) */
   interface RmrkTraitsPartPartType extends Enum {
     readonly isFixedPart: boolean;
     readonly asFixedPart: RmrkTraitsPartFixedPart;
@@ -2882,14 +3066,14 @@
     readonly type: 'FixedPart' | 'SlotPart';
   }
 
-  /** @name RmrkTraitsPartFixedPart (310) */
+  /** @name RmrkTraitsPartFixedPart (333) */
   interface RmrkTraitsPartFixedPart extends Struct {
     readonly id: u32;
     readonly z: u32;
     readonly src: Bytes;
   }
 
-  /** @name RmrkTraitsPartSlotPart (311) */
+  /** @name RmrkTraitsPartSlotPart (334) */
   interface RmrkTraitsPartSlotPart extends Struct {
     readonly id: u32;
     readonly equippable: RmrkTraitsPartEquippableList;
@@ -2897,7 +3081,7 @@
     readonly z: u32;
   }
 
-  /** @name RmrkTraitsPartEquippableList (312) */
+  /** @name RmrkTraitsPartEquippableList (335) */
   interface RmrkTraitsPartEquippableList extends Enum {
     readonly isAll: boolean;
     readonly isEmpty: boolean;
@@ -2906,20 +3090,20 @@
     readonly type: 'All' | 'Empty' | 'Custom';
   }
 
-  /** @name RmrkTraitsTheme (314) */
+  /** @name RmrkTraitsTheme (337) */
   interface RmrkTraitsTheme extends Struct {
     readonly name: Bytes;
     readonly properties: Vec<RmrkTraitsThemeThemeProperty>;
     readonly inherit: bool;
   }
 
-  /** @name RmrkTraitsThemeThemeProperty (316) */
+  /** @name RmrkTraitsThemeThemeProperty (339) */
   interface RmrkTraitsThemeThemeProperty extends Struct {
     readonly key: Bytes;
     readonly value: Bytes;
   }
 
-  /** @name PalletAppPromotionCall (318) */
+  /** @name PalletAppPromotionCall (341) */
   interface PalletAppPromotionCall extends Enum {
     readonly isSetAdminAddress: boolean;
     readonly asSetAdminAddress: {
@@ -2953,7 +3137,7 @@
     readonly type: 'SetAdminAddress' | 'Stake' | 'Unstake' | 'SponsorCollection' | 'StopSponsoringCollection' | 'SponsorContract' | 'StopSponsoringContract' | 'PayoutStakers';
   }
 
-  /** @name PalletForeignAssetsModuleCall (319) */
+  /** @name PalletForeignAssetsModuleCall (342) */
   interface PalletForeignAssetsModuleCall extends Enum {
     readonly isRegisterForeignAsset: boolean;
     readonly asRegisterForeignAsset: {
@@ -2970,7 +3154,7 @@
     readonly type: 'RegisterForeignAsset' | 'UpdateForeignAsset';
   }
 
-  /** @name PalletEvmCall (320) */
+  /** @name PalletEvmCall (343) */
   interface PalletEvmCall extends Enum {
     readonly isWithdraw: boolean;
     readonly asWithdraw: {
@@ -3015,7 +3199,7 @@
     readonly type: 'Withdraw' | 'Call' | 'Create' | 'Create2';
   }
 
-  /** @name PalletEthereumCall (326) */
+  /** @name PalletEthereumCall (349) */
   interface PalletEthereumCall extends Enum {
     readonly isTransact: boolean;
     readonly asTransact: {
@@ -3024,7 +3208,7 @@
     readonly type: 'Transact';
   }
 
-  /** @name EthereumTransactionTransactionV2 (327) */
+  /** @name EthereumTransactionTransactionV2 (350) */
   interface EthereumTransactionTransactionV2 extends Enum {
     readonly isLegacy: boolean;
     readonly asLegacy: EthereumTransactionLegacyTransaction;
@@ -3035,7 +3219,7 @@
     readonly type: 'Legacy' | 'Eip2930' | 'Eip1559';
   }
 
-  /** @name EthereumTransactionLegacyTransaction (328) */
+  /** @name EthereumTransactionLegacyTransaction (351) */
   interface EthereumTransactionLegacyTransaction extends Struct {
     readonly nonce: U256;
     readonly gasPrice: U256;
@@ -3046,7 +3230,7 @@
     readonly signature: EthereumTransactionTransactionSignature;
   }
 
-  /** @name EthereumTransactionTransactionAction (329) */
+  /** @name EthereumTransactionTransactionAction (352) */
   interface EthereumTransactionTransactionAction extends Enum {
     readonly isCall: boolean;
     readonly asCall: H160;
@@ -3054,14 +3238,14 @@
     readonly type: 'Call' | 'Create';
   }
 
-  /** @name EthereumTransactionTransactionSignature (330) */
+  /** @name EthereumTransactionTransactionSignature (353) */
   interface EthereumTransactionTransactionSignature extends Struct {
     readonly v: u64;
     readonly r: H256;
     readonly s: H256;
   }
 
-  /** @name EthereumTransactionEip2930Transaction (332) */
+  /** @name EthereumTransactionEip2930Transaction (355) */
   interface EthereumTransactionEip2930Transaction extends Struct {
     readonly chainId: u64;
     readonly nonce: U256;
@@ -3076,13 +3260,13 @@
     readonly s: H256;
   }
 
-  /** @name EthereumTransactionAccessListItem (334) */
+  /** @name EthereumTransactionAccessListItem (357) */
   interface EthereumTransactionAccessListItem extends Struct {
     readonly address: H160;
     readonly storageKeys: Vec<H256>;
   }
 
-  /** @name EthereumTransactionEip1559Transaction (335) */
+  /** @name EthereumTransactionEip1559Transaction (358) */
   interface EthereumTransactionEip1559Transaction extends Struct {
     readonly chainId: u64;
     readonly nonce: U256;
@@ -3098,7 +3282,7 @@
     readonly s: H256;
   }
 
-  /** @name PalletEvmMigrationCall (336) */
+  /** @name PalletEvmMigrationCall (359) */
   interface PalletEvmMigrationCall extends Enum {
     readonly isBegin: boolean;
     readonly asBegin: {
@@ -3125,14 +3309,14 @@
     readonly type: 'Begin' | 'SetData' | 'Finish' | 'InsertEthLogs' | 'InsertEvents';
   }
 
-  /** @name PalletMaintenanceCall (340) */
+  /** @name PalletMaintenanceCall (363) */
   interface PalletMaintenanceCall extends Enum {
     readonly isEnable: boolean;
     readonly isDisable: boolean;
     readonly type: 'Enable' | 'Disable';
   }
 
-  /** @name PalletTestUtilsCall (341) */
+  /** @name PalletTestUtilsCall (364) */
   interface PalletTestUtilsCall extends Enum {
     readonly isEnable: boolean;
     readonly isSetTestValue: boolean;
@@ -3152,13 +3336,13 @@
     readonly type: 'Enable' | 'SetTestValue' | 'SetTestValueAndRollback' | 'IncTestValue' | 'JustTakeFee' | 'BatchAll';
   }
 
-  /** @name PalletSudoError (343) */
+  /** @name PalletSudoError (366) */
   interface PalletSudoError extends Enum {
     readonly isRequireSudo: boolean;
     readonly type: 'RequireSudo';
   }
 
-  /** @name OrmlVestingModuleError (345) */
+  /** @name OrmlVestingModuleError (368) */
   interface OrmlVestingModuleError extends Enum {
     readonly isZeroVestingPeriod: boolean;
     readonly isZeroVestingPeriodCount: boolean;
@@ -3169,7 +3353,7 @@
     readonly type: 'ZeroVestingPeriod' | 'ZeroVestingPeriodCount' | 'InsufficientBalanceToLock' | 'TooManyVestingSchedules' | 'AmountLow' | 'MaxVestingSchedulesExceeded';
   }
 
-  /** @name OrmlXtokensModuleError (346) */
+  /** @name OrmlXtokensModuleError (369) */
   interface OrmlXtokensModuleError extends Enum {
     readonly isAssetHasNoReserve: boolean;
     readonly isNotCrossChainTransfer: boolean;
@@ -3193,26 +3377,26 @@
     readonly type: 'AssetHasNoReserve' | 'NotCrossChainTransfer' | 'InvalidDest' | 'NotCrossChainTransferableCurrency' | 'UnweighableMessage' | 'XcmExecutionFailed' | 'CannotReanchor' | 'InvalidAncestry' | 'InvalidAsset' | 'DestinationNotInvertible' | 'BadVersion' | 'DistinctReserveForAssetAndFee' | 'ZeroFee' | 'ZeroAmount' | 'TooManyAssetsBeingSent' | 'AssetIndexNonExistent' | 'FeeNotEnough' | 'NotSupportedMultiLocation' | 'MinXcmFeeNotDefined';
   }
 
-  /** @name OrmlTokensBalanceLock (349) */
+  /** @name OrmlTokensBalanceLock (372) */
   interface OrmlTokensBalanceLock extends Struct {
     readonly id: U8aFixed;
     readonly amount: u128;
   }
 
-  /** @name OrmlTokensAccountData (351) */
+  /** @name OrmlTokensAccountData (374) */
   interface OrmlTokensAccountData extends Struct {
     readonly free: u128;
     readonly reserved: u128;
     readonly frozen: u128;
   }
 
-  /** @name OrmlTokensReserveData (353) */
+  /** @name OrmlTokensReserveData (376) */
   interface OrmlTokensReserveData extends Struct {
     readonly id: Null;
     readonly amount: u128;
   }
 
-  /** @name OrmlTokensModuleError (355) */
+  /** @name OrmlTokensModuleError (378) */
   interface OrmlTokensModuleError extends Enum {
     readonly isBalanceTooLow: boolean;
     readonly isAmountIntoBalanceFailed: boolean;
@@ -3225,21 +3409,21 @@
     readonly type: 'BalanceTooLow' | 'AmountIntoBalanceFailed' | 'LiquidityRestrictions' | 'MaxLocksExceeded' | 'KeepAlive' | 'ExistentialDeposit' | 'DeadAccount' | 'TooManyReserves';
   }
 
-  /** @name CumulusPalletXcmpQueueInboundChannelDetails (357) */
+  /** @name CumulusPalletXcmpQueueInboundChannelDetails (380) */
   interface CumulusPalletXcmpQueueInboundChannelDetails extends Struct {
     readonly sender: u32;
     readonly state: CumulusPalletXcmpQueueInboundState;
     readonly messageMetadata: Vec<ITuple<[u32, PolkadotParachainPrimitivesXcmpMessageFormat]>>;
   }
 
-  /** @name CumulusPalletXcmpQueueInboundState (358) */
+  /** @name CumulusPalletXcmpQueueInboundState (381) */
   interface CumulusPalletXcmpQueueInboundState extends Enum {
     readonly isOk: boolean;
     readonly isSuspended: boolean;
     readonly type: 'Ok' | 'Suspended';
   }
 
-  /** @name PolkadotParachainPrimitivesXcmpMessageFormat (361) */
+  /** @name PolkadotParachainPrimitivesXcmpMessageFormat (384) */
   interface PolkadotParachainPrimitivesXcmpMessageFormat extends Enum {
     readonly isConcatenatedVersionedXcm: boolean;
     readonly isConcatenatedEncodedBlob: boolean;
@@ -3247,7 +3431,7 @@
     readonly type: 'ConcatenatedVersionedXcm' | 'ConcatenatedEncodedBlob' | 'Signals';
   }
 
-  /** @name CumulusPalletXcmpQueueOutboundChannelDetails (364) */
+  /** @name CumulusPalletXcmpQueueOutboundChannelDetails (387) */
   interface CumulusPalletXcmpQueueOutboundChannelDetails extends Struct {
     readonly recipient: u32;
     readonly state: CumulusPalletXcmpQueueOutboundState;
@@ -3256,14 +3440,14 @@
     readonly lastIndex: u16;
   }
 
-  /** @name CumulusPalletXcmpQueueOutboundState (365) */
+  /** @name CumulusPalletXcmpQueueOutboundState (388) */
   interface CumulusPalletXcmpQueueOutboundState extends Enum {
     readonly isOk: boolean;
     readonly isSuspended: boolean;
     readonly type: 'Ok' | 'Suspended';
   }
 
-  /** @name CumulusPalletXcmpQueueQueueConfigData (367) */
+  /** @name CumulusPalletXcmpQueueQueueConfigData (390) */
   interface CumulusPalletXcmpQueueQueueConfigData extends Struct {
     readonly suspendThreshold: u32;
     readonly dropThreshold: u32;
@@ -3273,7 +3457,7 @@
     readonly xcmpMaxIndividualWeight: SpWeightsWeightV2Weight;
   }
 
-  /** @name CumulusPalletXcmpQueueError (369) */
+  /** @name CumulusPalletXcmpQueueError (392) */
   interface CumulusPalletXcmpQueueError extends Enum {
     readonly isFailedToSend: boolean;
     readonly isBadXcmOrigin: boolean;
@@ -3283,7 +3467,7 @@
     readonly type: 'FailedToSend' | 'BadXcmOrigin' | 'BadXcm' | 'BadOverweightIndex' | 'WeightOverLimit';
   }
 
-  /** @name PalletXcmError (370) */
+  /** @name PalletXcmError (393) */
   interface PalletXcmError extends Enum {
     readonly isUnreachable: boolean;
     readonly isSendFailure: boolean;
@@ -3301,29 +3485,29 @@
     readonly type: 'Unreachable' | 'SendFailure' | 'Filtered' | 'UnweighableMessage' | 'DestinationNotInvertible' | 'Empty' | 'CannotReanchor' | 'TooManyAssets' | 'InvalidOrigin' | 'BadVersion' | 'BadLocation' | 'NoSubscription' | 'AlreadySubscribed';
   }
 
-  /** @name CumulusPalletXcmError (371) */
+  /** @name CumulusPalletXcmError (394) */
   type CumulusPalletXcmError = Null;
 
-  /** @name CumulusPalletDmpQueueConfigData (372) */
+  /** @name CumulusPalletDmpQueueConfigData (395) */
   interface CumulusPalletDmpQueueConfigData extends Struct {
     readonly maxIndividual: SpWeightsWeightV2Weight;
   }
 
-  /** @name CumulusPalletDmpQueuePageIndexData (373) */
+  /** @name CumulusPalletDmpQueuePageIndexData (396) */
   interface CumulusPalletDmpQueuePageIndexData extends Struct {
     readonly beginUsed: u32;
     readonly endUsed: u32;
     readonly overweightCount: u64;
   }
 
-  /** @name CumulusPalletDmpQueueError (376) */
+  /** @name CumulusPalletDmpQueueError (399) */
   interface CumulusPalletDmpQueueError extends Enum {
     readonly isUnknown: boolean;
     readonly isOverLimit: boolean;
     readonly type: 'Unknown' | 'OverLimit';
   }
 
-  /** @name PalletUniqueError (380) */
+  /** @name PalletUniqueError (403) */
   interface PalletUniqueError extends Enum {
     readonly isCollectionDecimalPointLimitExceeded: boolean;
     readonly isEmptyArgument: boolean;
@@ -3331,13 +3515,13 @@
     readonly type: 'CollectionDecimalPointLimitExceeded' | 'EmptyArgument' | 'RepartitionCalledOnNonRefungibleCollection';
   }
 
-  /** @name PalletConfigurationError (381) */
+  /** @name PalletConfigurationError (404) */
   interface PalletConfigurationError extends Enum {
     readonly isInconsistentConfiguration: boolean;
     readonly type: 'InconsistentConfiguration';
   }
 
-  /** @name UpDataStructsCollection (382) */
+  /** @name UpDataStructsCollection (405) */
   interface UpDataStructsCollection extends Struct {
     readonly owner: AccountId32;
     readonly mode: UpDataStructsCollectionMode;
@@ -3350,7 +3534,7 @@
     readonly flags: U8aFixed;
   }
 
-  /** @name UpDataStructsSponsorshipStateAccountId32 (383) */
+  /** @name UpDataStructsSponsorshipStateAccountId32 (406) */
   interface UpDataStructsSponsorshipStateAccountId32 extends Enum {
     readonly isDisabled: boolean;
     readonly isUnconfirmed: boolean;
@@ -3360,43 +3544,43 @@
     readonly type: 'Disabled' | 'Unconfirmed' | 'Confirmed';
   }
 
-  /** @name UpDataStructsProperties (385) */
+  /** @name UpDataStructsProperties (408) */
   interface UpDataStructsProperties extends Struct {
     readonly map: UpDataStructsPropertiesMapBoundedVec;
     readonly consumedSpace: u32;
     readonly spaceLimit: u32;
   }
 
-  /** @name UpDataStructsPropertiesMapBoundedVec (386) */
+  /** @name UpDataStructsPropertiesMapBoundedVec (409) */
   interface UpDataStructsPropertiesMapBoundedVec extends BTreeMap<Bytes, Bytes> {}
 
-  /** @name UpDataStructsPropertiesMapPropertyPermission (391) */
+  /** @name UpDataStructsPropertiesMapPropertyPermission (414) */
   interface UpDataStructsPropertiesMapPropertyPermission extends BTreeMap<Bytes, UpDataStructsPropertyPermission> {}
 
-  /** @name UpDataStructsCollectionStats (398) */
+  /** @name UpDataStructsCollectionStats (421) */
   interface UpDataStructsCollectionStats extends Struct {
     readonly created: u32;
     readonly destroyed: u32;
     readonly alive: u32;
   }
 
-  /** @name UpDataStructsTokenChild (399) */
+  /** @name UpDataStructsTokenChild (422) */
   interface UpDataStructsTokenChild extends Struct {
     readonly token: u32;
     readonly collection: u32;
   }
 
-  /** @name PhantomTypeUpDataStructs (400) */
+  /** @name PhantomTypeUpDataStructs (423) */
   interface PhantomTypeUpDataStructs extends Vec<ITuple<[UpDataStructsTokenData, UpDataStructsRpcCollection, RmrkTraitsCollectionCollectionInfo, RmrkTraitsNftNftInfo, RmrkTraitsResourceResourceInfo, RmrkTraitsPropertyPropertyInfo, RmrkTraitsBaseBaseInfo, RmrkTraitsPartPartType, RmrkTraitsTheme, RmrkTraitsNftNftChild]>> {}
 
-  /** @name UpDataStructsTokenData (402) */
+  /** @name UpDataStructsTokenData (425) */
   interface UpDataStructsTokenData extends Struct {
     readonly properties: Vec<UpDataStructsProperty>;
     readonly owner: Option<PalletEvmAccountBasicCrossAccountIdRepr>;
     readonly pieces: u128;
   }
 
-  /** @name UpDataStructsRpcCollection (404) */
+  /** @name UpDataStructsRpcCollection (427) */
   interface UpDataStructsRpcCollection extends Struct {
     readonly owner: AccountId32;
     readonly mode: UpDataStructsCollectionMode;
@@ -3412,13 +3596,13 @@
     readonly flags: UpDataStructsRpcCollectionFlags;
   }
 
-  /** @name UpDataStructsRpcCollectionFlags (405) */
+  /** @name UpDataStructsRpcCollectionFlags (428) */
   interface UpDataStructsRpcCollectionFlags extends Struct {
     readonly foreign: bool;
     readonly erc721metadata: bool;
   }
 
-  /** @name RmrkTraitsCollectionCollectionInfo (406) */
+  /** @name RmrkTraitsCollectionCollectionInfo (429) */
   interface RmrkTraitsCollectionCollectionInfo extends Struct {
     readonly issuer: AccountId32;
     readonly metadata: Bytes;
@@ -3427,7 +3611,7 @@
     readonly nftsCount: u32;
   }
 
-  /** @name RmrkTraitsNftNftInfo (407) */
+  /** @name RmrkTraitsNftNftInfo (430) */
   interface RmrkTraitsNftNftInfo extends Struct {
     readonly owner: RmrkTraitsNftAccountIdOrCollectionNftTuple;
     readonly royalty: Option<RmrkTraitsNftRoyaltyInfo>;
@@ -3436,13 +3620,13 @@
     readonly pending: bool;
   }
 
-  /** @name RmrkTraitsNftRoyaltyInfo (409) */
+  /** @name RmrkTraitsNftRoyaltyInfo (432) */
   interface RmrkTraitsNftRoyaltyInfo extends Struct {
     readonly recipient: AccountId32;
     readonly amount: Permill;
   }
 
-  /** @name RmrkTraitsResourceResourceInfo (410) */
+  /** @name RmrkTraitsResourceResourceInfo (433) */
   interface RmrkTraitsResourceResourceInfo extends Struct {
     readonly id: u32;
     readonly resource: RmrkTraitsResourceResourceTypes;
@@ -3450,26 +3634,26 @@
     readonly pendingRemoval: bool;
   }
 
-  /** @name RmrkTraitsPropertyPropertyInfo (411) */
+  /** @name RmrkTraitsPropertyPropertyInfo (434) */
   interface RmrkTraitsPropertyPropertyInfo extends Struct {
     readonly key: Bytes;
     readonly value: Bytes;
   }
 
-  /** @name RmrkTraitsBaseBaseInfo (412) */
+  /** @name RmrkTraitsBaseBaseInfo (435) */
   interface RmrkTraitsBaseBaseInfo extends Struct {
     readonly issuer: AccountId32;
     readonly baseType: Bytes;
     readonly symbol: Bytes;
   }
 
-  /** @name RmrkTraitsNftNftChild (413) */
+  /** @name RmrkTraitsNftNftChild (436) */
   interface RmrkTraitsNftNftChild extends Struct {
     readonly collectionId: u32;
     readonly nftId: u32;
   }
 
-  /** @name PalletCommonError (415) */
+  /** @name PalletCommonError (438) */
   interface PalletCommonError extends Enum {
     readonly isCollectionNotFound: boolean;
     readonly isMustBeTokenOwner: boolean;
@@ -3510,7 +3694,7 @@
     readonly type: 'CollectionNotFound' | 'MustBeTokenOwner' | 'NoPermission' | 'CantDestroyNotEmptyCollection' | 'PublicMintingNotAllowed' | 'AddressNotInAllowlist' | 'CollectionNameLimitExceeded' | 'CollectionDescriptionLimitExceeded' | 'CollectionTokenPrefixLimitExceeded' | 'TotalCollectionsLimitExceeded' | 'CollectionAdminCountExceeded' | 'CollectionLimitBoundsExceeded' | 'OwnerPermissionsCantBeReverted' | 'TransferNotAllowed' | 'AccountTokenLimitExceeded' | 'CollectionTokenLimitExceeded' | 'MetadataFlagFrozen' | 'TokenNotFound' | 'TokenValueTooLow' | 'ApprovedValueTooLow' | 'CantApproveMoreThanOwned' | 'AddressIsZero' | 'UnsupportedOperation' | 'NotSufficientFounds' | 'UserIsNotAllowedToNest' | 'SourceCollectionIsNotAllowedToNest' | 'CollectionFieldSizeExceeded' | 'NoSpaceForProperty' | 'PropertyLimitReached' | 'PropertyKeyIsTooLong' | 'InvalidCharacterInPropertyKey' | 'EmptyPropertyKey' | 'CollectionIsExternal' | 'CollectionIsInternal' | 'ConfirmSponsorshipFail' | 'UserIsNotCollectionAdmin';
   }
 
-  /** @name PalletFungibleError (417) */
+  /** @name PalletFungibleError (440) */
   interface PalletFungibleError extends Enum {
     readonly isNotFungibleDataUsedToMintFungibleCollectionToken: boolean;
     readonly isFungibleItemsHaveNoId: boolean;
@@ -3522,12 +3706,12 @@
     readonly type: 'NotFungibleDataUsedToMintFungibleCollectionToken' | 'FungibleItemsHaveNoId' | 'FungibleItemsDontHaveData' | 'FungibleDisallowsNesting' | 'SettingPropertiesNotAllowed' | 'SettingAllowanceForAllNotAllowed' | 'FungibleTokensAreAlwaysValid';
   }
 
-  /** @name PalletRefungibleItemData (418) */
+  /** @name PalletRefungibleItemData (441) */
   interface PalletRefungibleItemData extends Struct {
     readonly constData: Bytes;
   }
 
-  /** @name PalletRefungibleError (423) */
+  /** @name PalletRefungibleError (446) */
   interface PalletRefungibleError extends Enum {
     readonly isNotRefungibleDataUsedToMintFungibleCollectionToken: boolean;
     readonly isWrongRefungiblePieces: boolean;
@@ -3537,19 +3721,19 @@
     readonly type: 'NotRefungibleDataUsedToMintFungibleCollectionToken' | 'WrongRefungiblePieces' | 'RepartitionWhileNotOwningAllPieces' | 'RefungibleDisallowsNesting' | 'SettingPropertiesNotAllowed';
   }
 
-  /** @name PalletNonfungibleItemData (424) */
+  /** @name PalletNonfungibleItemData (447) */
   interface PalletNonfungibleItemData extends Struct {
     readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;
   }
 
-  /** @name UpDataStructsPropertyScope (426) */
+  /** @name UpDataStructsPropertyScope (449) */
   interface UpDataStructsPropertyScope extends Enum {
     readonly isNone: boolean;
     readonly isRmrk: boolean;
     readonly type: 'None' | 'Rmrk';
   }
 
-  /** @name PalletNonfungibleError (428) */
+  /** @name PalletNonfungibleError (451) */
   interface PalletNonfungibleError extends Enum {
     readonly isNotNonfungibleDataUsedToMintFungibleCollectionToken: boolean;
     readonly isNonfungibleItemsHaveNoAmount: boolean;
@@ -3557,7 +3741,7 @@
     readonly type: 'NotNonfungibleDataUsedToMintFungibleCollectionToken' | 'NonfungibleItemsHaveNoAmount' | 'CantBurnNftWithChildren';
   }
 
-  /** @name PalletStructureError (429) */
+  /** @name PalletStructureError (452) */
   interface PalletStructureError extends Enum {
     readonly isOuroborosDetected: boolean;
     readonly isDepthLimit: boolean;
@@ -3566,7 +3750,7 @@
     readonly type: 'OuroborosDetected' | 'DepthLimit' | 'BreadthLimit' | 'TokenNotFound';
   }
 
-  /** @name PalletRmrkCoreError (430) */
+  /** @name PalletRmrkCoreError (453) */
   interface PalletRmrkCoreError extends Enum {
     readonly isCorruptedCollectionType: boolean;
     readonly isRmrkPropertyKeyIsTooLong: boolean;
@@ -3590,7 +3774,7 @@
     readonly type: 'CorruptedCollectionType' | 'RmrkPropertyKeyIsTooLong' | 'RmrkPropertyValueIsTooLong' | 'RmrkPropertyIsNotFound' | 'UnableToDecodeRmrkData' | 'CollectionNotEmpty' | 'NoAvailableCollectionId' | 'NoAvailableNftId' | 'CollectionUnknown' | 'NoPermission' | 'NonTransferable' | 'CollectionFullOrLocked' | 'ResourceDoesntExist' | 'CannotSendToDescendentOrSelf' | 'CannotAcceptNonOwnedNft' | 'CannotRejectNonOwnedNft' | 'CannotRejectNonPendingNft' | 'ResourceNotPending' | 'NoAvailableResourceId';
   }
 
-  /** @name PalletRmrkEquipError (432) */
+  /** @name PalletRmrkEquipError (455) */
   interface PalletRmrkEquipError extends Enum {
     readonly isPermissionError: boolean;
     readonly isNoAvailableBaseId: boolean;
@@ -3602,7 +3786,7 @@
     readonly type: 'PermissionError' | 'NoAvailableBaseId' | 'NoAvailablePartId' | 'BaseDoesntExist' | 'NeedsDefaultThemeFirst' | 'PartDoesntExist' | 'NoEquippableOnFixedPart';
   }
 
-  /** @name PalletAppPromotionError (438) */
+  /** @name PalletAppPromotionError (461) */
   interface PalletAppPromotionError extends Enum {
     readonly isAdminNotSet: boolean;
     readonly isNoPermission: boolean;
@@ -3613,7 +3797,7 @@
     readonly type: 'AdminNotSet' | 'NoPermission' | 'NotSufficientFunds' | 'PendingForBlockOverflow' | 'SponsorNotSet' | 'IncorrectLockedBalanceOperation';
   }
 
-  /** @name PalletForeignAssetsModuleError (439) */
+  /** @name PalletForeignAssetsModuleError (462) */
   interface PalletForeignAssetsModuleError extends Enum {
     readonly isBadLocation: boolean;
     readonly isMultiLocationExisted: boolean;
@@ -3622,7 +3806,7 @@
     readonly type: 'BadLocation' | 'MultiLocationExisted' | 'AssetIdNotExists' | 'AssetIdExisted';
   }
 
-  /** @name PalletEvmError (441) */
+  /** @name PalletEvmError (464) */
   interface PalletEvmError extends Enum {
     readonly isBalanceLow: boolean;
     readonly isFeeOverflow: boolean;
@@ -3637,7 +3821,7 @@
     readonly type: 'BalanceLow' | 'FeeOverflow' | 'PaymentOverflow' | 'WithdrawFailed' | 'GasPriceTooLow' | 'InvalidNonce' | 'GasLimitTooLow' | 'GasLimitTooHigh' | 'Undefined' | 'Reentrancy';
   }
 
-  /** @name FpRpcTransactionStatus (444) */
+  /** @name FpRpcTransactionStatus (467) */
   interface FpRpcTransactionStatus extends Struct {
     readonly transactionHash: H256;
     readonly transactionIndex: u32;
@@ -3648,10 +3832,10 @@
     readonly logsBloom: EthbloomBloom;
   }
 
-  /** @name EthbloomBloom (446) */
+  /** @name EthbloomBloom (469) */
   interface EthbloomBloom extends U8aFixed {}
 
-  /** @name EthereumReceiptReceiptV3 (448) */
+  /** @name EthereumReceiptReceiptV3 (471) */
   interface EthereumReceiptReceiptV3 extends Enum {
     readonly isLegacy: boolean;
     readonly asLegacy: EthereumReceiptEip658ReceiptData;
@@ -3662,7 +3846,7 @@
     readonly type: 'Legacy' | 'Eip2930' | 'Eip1559';
   }
 
-  /** @name EthereumReceiptEip658ReceiptData (449) */
+  /** @name EthereumReceiptEip658ReceiptData (472) */
   interface EthereumReceiptEip658ReceiptData extends Struct {
     readonly statusCode: u8;
     readonly usedGas: U256;
@@ -3670,14 +3854,14 @@
     readonly logs: Vec<EthereumLog>;
   }
 
-  /** @name EthereumBlock (450) */
+  /** @name EthereumBlock (473) */
   interface EthereumBlock extends Struct {
     readonly header: EthereumHeader;
     readonly transactions: Vec<EthereumTransactionTransactionV2>;
     readonly ommers: Vec<EthereumHeader>;
   }
 
-  /** @name EthereumHeader (451) */
+  /** @name EthereumHeader (474) */
   interface EthereumHeader extends Struct {
     readonly parentHash: H256;
     readonly ommersHash: H256;
@@ -3696,24 +3880,24 @@
     readonly nonce: EthereumTypesHashH64;
   }
 
-  /** @name EthereumTypesHashH64 (452) */
+  /** @name EthereumTypesHashH64 (475) */
   interface EthereumTypesHashH64 extends U8aFixed {}
 
-  /** @name PalletEthereumError (457) */
+  /** @name PalletEthereumError (480) */
   interface PalletEthereumError extends Enum {
     readonly isInvalidSignature: boolean;
     readonly isPreLogExists: boolean;
     readonly type: 'InvalidSignature' | 'PreLogExists';
   }
 
-  /** @name PalletEvmCoderSubstrateError (458) */
+  /** @name PalletEvmCoderSubstrateError (481) */
   interface PalletEvmCoderSubstrateError extends Enum {
     readonly isOutOfGas: boolean;
     readonly isOutOfFund: boolean;
     readonly type: 'OutOfGas' | 'OutOfFund';
   }
 
-  /** @name UpDataStructsSponsorshipStateBasicCrossAccountIdRepr (459) */
+  /** @name UpDataStructsSponsorshipStateBasicCrossAccountIdRepr (482) */
   interface UpDataStructsSponsorshipStateBasicCrossAccountIdRepr extends Enum {
     readonly isDisabled: boolean;
     readonly isUnconfirmed: boolean;
@@ -3723,7 +3907,7 @@
     readonly type: 'Disabled' | 'Unconfirmed' | 'Confirmed';
   }
 
-  /** @name PalletEvmContractHelpersSponsoringModeT (460) */
+  /** @name PalletEvmContractHelpersSponsoringModeT (483) */
   interface PalletEvmContractHelpersSponsoringModeT extends Enum {
     readonly isDisabled: boolean;
     readonly isAllowlisted: boolean;
@@ -3731,7 +3915,7 @@
     readonly type: 'Disabled' | 'Allowlisted' | 'Generous';
   }
 
-  /** @name PalletEvmContractHelpersError (466) */
+  /** @name PalletEvmContractHelpersError (489) */
   interface PalletEvmContractHelpersError extends Enum {
     readonly isNoPermission: boolean;
     readonly isNoPendingSponsor: boolean;
@@ -3739,7 +3923,7 @@
     readonly type: 'NoPermission' | 'NoPendingSponsor' | 'TooManyMethodsHaveSponsoredLimit';
   }
 
-  /** @name PalletEvmMigrationError (467) */
+  /** @name PalletEvmMigrationError (490) */
   interface PalletEvmMigrationError extends Enum {
     readonly isAccountNotEmpty: boolean;
     readonly isAccountIsNotMigrating: boolean;
@@ -3747,17 +3931,17 @@
     readonly type: 'AccountNotEmpty' | 'AccountIsNotMigrating' | 'BadEvent';
   }
 
-  /** @name PalletMaintenanceError (468) */
+  /** @name PalletMaintenanceError (491) */
   type PalletMaintenanceError = Null;
 
-  /** @name PalletTestUtilsError (469) */
+  /** @name PalletTestUtilsError (492) */
   interface PalletTestUtilsError extends Enum {
     readonly isTestPalletDisabled: boolean;
     readonly isTriggerRollback: boolean;
     readonly type: 'TestPalletDisabled' | 'TriggerRollback';
   }
 
-  /** @name SpRuntimeMultiSignature (471) */
+  /** @name SpRuntimeMultiSignature (494) */
   interface SpRuntimeMultiSignature extends Enum {
     readonly isEd25519: boolean;
     readonly asEd25519: SpCoreEd25519Signature;
@@ -3768,40 +3952,40 @@
     readonly type: 'Ed25519' | 'Sr25519' | 'Ecdsa';
   }
 
-  /** @name SpCoreEd25519Signature (472) */
+  /** @name SpCoreEd25519Signature (495) */
   interface SpCoreEd25519Signature extends U8aFixed {}
 
-  /** @name SpCoreSr25519Signature (474) */
+  /** @name SpCoreSr25519Signature (497) */
   interface SpCoreSr25519Signature extends U8aFixed {}
 
-  /** @name SpCoreEcdsaSignature (475) */
+  /** @name SpCoreEcdsaSignature (498) */
   interface SpCoreEcdsaSignature extends U8aFixed {}
 
-  /** @name FrameSystemExtensionsCheckSpecVersion (478) */
+  /** @name FrameSystemExtensionsCheckSpecVersion (501) */
   type FrameSystemExtensionsCheckSpecVersion = Null;
 
-  /** @name FrameSystemExtensionsCheckTxVersion (479) */
+  /** @name FrameSystemExtensionsCheckTxVersion (502) */
   type FrameSystemExtensionsCheckTxVersion = Null;
 
-  /** @name FrameSystemExtensionsCheckGenesis (480) */
+  /** @name FrameSystemExtensionsCheckGenesis (503) */
   type FrameSystemExtensionsCheckGenesis = Null;
 
-  /** @name FrameSystemExtensionsCheckNonce (483) */
+  /** @name FrameSystemExtensionsCheckNonce (506) */
   interface FrameSystemExtensionsCheckNonce extends Compact<u32> {}
 
-  /** @name FrameSystemExtensionsCheckWeight (484) */
+  /** @name FrameSystemExtensionsCheckWeight (507) */
   type FrameSystemExtensionsCheckWeight = Null;
 
-  /** @name OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance (485) */
+  /** @name OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance (508) */
   type OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance = Null;
 
-  /** @name PalletTemplateTransactionPaymentChargeTransactionPayment (486) */
+  /** @name PalletTemplateTransactionPaymentChargeTransactionPayment (509) */
   interface PalletTemplateTransactionPaymentChargeTransactionPayment extends Compact<u128> {}
 
-  /** @name OpalRuntimeRuntime (487) */
+  /** @name OpalRuntimeRuntime (510) */
   type OpalRuntimeRuntime = Null;
 
-  /** @name PalletEthereumFakeTransactionFinalizer (488) */
+  /** @name PalletEthereumFakeTransactionFinalizer (511) */
   type PalletEthereumFakeTransactionFinalizer = Null;
 
 } // declare module
modifiedtests/src/util/playgrounds/unique.dev.tsdiffbeforeafterboth
--- a/tests/src/util/playgrounds/unique.dev.ts
+++ b/tests/src/util/playgrounds/unique.dev.ts
@@ -445,6 +445,30 @@
     return promise;
   }
 
+  /**
+   * Wait for the specified number of sessions to pass. 
+   * Only applicable if the Session pallet is turned on.
+   * @param sessionCount number of sessions to wait
+   * @param blockTimeout time in ms until panicking that the chain has stopped producing blocks
+   * @returns 
+   */
+  async newSessions(sessionCount = 1, blockTimeout = 60000): Promise<void> {
+    console.log(`Waiting for ${sessionCount} new session${sessionCount > 1 ? 's' : ''}.` 
+      + ' This might take a while -- check SessionPeriod in pallet_session::Config for session time.');
+
+    const expectedSessionIndex = await this.helper.session.getIndex() + sessionCount;
+    let currentSessionIndex = -1;
+
+    while (currentSessionIndex < expectedSessionIndex) {
+      // eslint-disable-next-line no-async-promise-executor
+      currentSessionIndex = await this.withTimeout(new Promise(async (resolve) => {
+        await this.newBlocks(1);
+        const res = this.helper.session.getIndex();
+        resolve(res);
+      }), blockTimeout, 'The chain has stopped producing blocks!');
+    }
+  }
+
   async forParachainBlockNumber(blockNumber: bigint | number, timeout?: number) {
     timeout = timeout ?? 30 * 60 * 1000;
     // eslint-disable-next-line no-async-promise-executor
modifiedtests/src/util/playgrounds/unique.tsdiffbeforeafterboth
--- a/tests/src/util/playgrounds/unique.ts
+++ b/tests/src/util/playgrounds/unique.ts
@@ -11,7 +11,6 @@
 import {IKeyringPair} from '@polkadot/types/types';
 import {hexToU8a} from '@polkadot/util/hex';
 import {u8aConcat} from '@polkadot/util/u8a';
-import {BN} from '@polkadot/util/bn';
 import {
   IApiListeners,
   IBlock,
@@ -46,6 +45,7 @@
 import {RuntimeDispatchInfo} from '@polkadot/types/interfaces';
 import type {Vec} from '@polkadot/types-codec';
 import {FrameSystemEventRecord} from '@polkadot/types/lookup';
+import {DevUniqueHelper} from './unique.dev';
 
 export class CrossAccountId implements ICrossAccountId {
   Substrate?: TSubstrateAccount;
@@ -376,6 +376,7 @@
   children: ChainHelperBase[];
   address: AddressGroup;
   chain: ChainGroup;
+  session: SessionGroup;
 
   constructor(logger?: ILogger, helperBase?: any) {
     this.helperBase = helperBase;
@@ -391,6 +392,7 @@
     this.children = [];
     this.address = new AddressGroup(this);
     this.chain = new ChainGroup(this);
+    this.session = new SessionGroup(this);
   }
 
   clone(helperCls: ChainHelperBaseConstructor, options: {[key: string]: any} = {}) {
@@ -2643,24 +2645,32 @@
   }
 }
 
-class CollatorSelectionGroup extends HelperGroup<UniqueHelper> {
+class SessionGroup extends HelperGroup<ChainHelperBase> {
   //todo:collator documentation
-  setKeys(signer: TSigner, key: string) {
+  async getIndex(): Promise<number> {
+    return (await this.helper.callRpc('api.query.session.currentIndex')).toNumber();
+  }
+
+  newSessions(sessionCount = 1, blockTimeout = 24000): Promise<void> {
+    return (this.helper as DevUniqueHelper).wait.newSessions(sessionCount, blockTimeout);
+  }
+
+  setOwnKeys(signer: TSigner, key: string) {
     return this.helper.executeExtrinsic(
       signer,
       'api.tx.session.setKeys', 
-      [
-        key,
-        '0x0',
-      ],
+      [key, '0x0'],
       true,
     );
   }
 
-  setOwnKeys(signer: TSigner) {
-    return this.setKeys(signer, '0x' + Buffer.from(signer.addressRaw).toString('hex'));
+  setOwnKeysFromAddress(signer: TSigner) {
+    return this.setOwnKeys(signer, '0x' + Buffer.from(signer.addressRaw).toString('hex'));
   }
+}
 
+class CollatorSelectionGroup extends HelperGroup<UniqueHelper> {
+  //todo:collator documentation
   addInvulnerable(signer: TSigner, address: string) {
     return this.helper.executeExtrinsic(signer, 'api.tx.collatorSelection.addInvulnerable', [address]);
   }
@@ -2669,9 +2679,45 @@
     return this.helper.executeExtrinsic(signer, 'api.tx.collatorSelection.removeInvulnerable', [address]);
   }
 
-  async getInvulnerables() {
+  async getInvulnerables(): Promise<string[]> {
     return (await this.helper.callRpc('api.query.collatorSelection.invulnerables')).map((x: any) => x.toHuman());
   }
+
+  setLicenseBond(signer: TSigner, amount: bigint) {
+    return this.helper.executeExtrinsic(signer, 'api.tx.collatorSelection.setLicenseBond', [amount]);
+  }
+
+  async getLicenseBond(): Promise<bigint> {
+    return (await this.helper.callRpc('api.query.collatorSelection.licenseBond')).toBigInt();
+  }
+
+  obtainLicense(signer: TSigner) {
+    return this.helper.executeExtrinsic(signer, 'api.tx.collatorSelection.getLicense', []);
+  }
+
+  releaseLicense(signer: TSigner) {
+    return this.helper.executeExtrinsic(signer, 'api.tx.collatorSelection.releaseLicense', []);
+  }
+
+  forceRevokeLicense(signer: TSigner, released: string) {
+    return this.helper.executeExtrinsic(signer, 'api.tx.collatorSelection.forceRevokeLicense', [released]);
+  }
+
+  async hasLicense(address: string): Promise<bigint> {
+    return (await this.helper.callRpc('api.query.collatorSelection.licenses', [address])).toBigInt();
+  }
+
+  onboard(signer: TSigner) {
+    return this.helper.executeExtrinsic(signer, 'api.tx.collatorSelection.onboard', []);
+  }
+
+  offboard(signer: TSigner) {
+    return this.helper.executeExtrinsic(signer, 'api.tx.collatorSelection.offboard', []);
+  }
+
+  async getCandidates(): Promise<string[]> {
+    return (await this.helper.callRpc('api.query.collatorSelection.candidates')).map((x: any) => x.toHuman());
+  }
 }
 
 class ForeignAssetsGroup extends HelperGroup<UniqueHelper> {
@@ -3040,12 +3086,15 @@
 
       if (result.status === 'Fail') return result;
 
-      const data = this.eventHelper.extractEvents(result.result.events).find(x => x.section == 'sudo')?.data[0];
-      if (data.err) {
-        const error = data.err.module;
-        // todo:collator
-        const metaError = super.getApi()?.registry.findMetaError({index: new BN(error.index), error: new BN(9)});
-        throw new Error(`${data.err.module.error} ${metaError.section}.${metaError.name}`);
+      const data = (result.result.events.find(x => x.event.section == 'sudo' && x.event.method == 'Sudid')?.event.data as any).sudoResult;
+      if (data.isErr) {
+        if (data.asErr.isModule) {
+          const error = (result.result.events[1].event.data as any).sudoResult.asErr.asModule;
+          const metaError = super.getApi()?.registry.findMetaError(error);
+          throw new Error(`${metaError.section}.${metaError.name}`);
+        } else {
+          throw new Error(data.asErr.toHuman());
+        }
       }
       return result;
     }