git.delta.rocks / unique-network / refs/commits / 9d0f344e127b

difftreelog

fixup generate ts types

PraetorP2022-08-26parent: #a06730e.patch.diff
in: master

11 files changed

modifiedCargo.lockdiffbeforeafterboth
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -5306,6 +5306,7 @@
  "pallet-balances",
  "pallet-common",
  "pallet-evm",
+ "pallet-evm-contract-helpers",
  "pallet-randomness-collective-flip",
  "pallet-timestamp",
  "pallet-unique",
modifiedpallets/app-promotion/Cargo.tomldiffbeforeafterboth
--- a/pallets/app-promotion/Cargo.toml
+++ b/pallets/app-promotion/Cargo.toml
@@ -118,6 +118,9 @@
 default-features = false
 path =  "../unique"
 
+[dependencies.pallet-evm-contract-helpers]
+default-features = false
+path =  "../evm-contract-helpers"
 ################################################################################
 
 [dependencies]
modifiedpallets/app-promotion/src/types.rsdiffbeforeafterboth
--- a/pallets/app-promotion/src/types.rs
+++ b/pallets/app-promotion/src/types.rs
@@ -2,7 +2,7 @@
 use frame_support::{
 	traits::LockableCurrency, WeakBoundedVec, Parameter, dispatch::DispatchResult, ensure,
 };
-use frame_system::Config;
+
 use pallet_balances::{BalanceLock, Config as BalancesConfig, Pallet as PalletBalances};
 use pallet_common::CollectionHandle;
 use pallet_unique::{Event as UniqueEvent, Error as UniqueError};
@@ -10,6 +10,7 @@
 use up_data_structs::{CollectionId, SponsorshipState};
 use sp_std::borrow::ToOwned;
 
+
 pub trait ExtendedLockableCurrency<AccountId: Parameter>: LockableCurrency<AccountId> {
 	fn locks<KArg>(who: KArg) -> WeakBoundedVec<BalanceLock<Self::Balance>, Self::MaxLocks>
 	where
modifiedtests/src/interfaces/augment-api-errors.tsdiffbeforeafterboth
before · tests/src/interfaces/augment-api-errors.ts
1// Auto-generated via `yarn polkadot-types-from-chain`, do not edit2/* eslint-disable */34// import type lookup before we augment - in some environments5// this is required to allow for ambient/previous definitions6import '@polkadot/api-base/types/errors';78import type { ApiTypes, AugmentedError } from '@polkadot/api-base/types';910export type __AugmentedError<ApiType extends ApiTypes> = AugmentedError<ApiType>;1112declare module '@polkadot/api-base/types/errors' {13  interface AugmentedErrors<ApiType extends ApiTypes> {14    balances: {15      /**16       * Beneficiary account must pre-exist17       **/18      DeadAccount: AugmentedError<ApiType>;19      /**20       * Value too low to create account due to existential deposit21       **/22      ExistentialDeposit: AugmentedError<ApiType>;23      /**24       * A vesting schedule already exists for this account25       **/26      ExistingVestingSchedule: AugmentedError<ApiType>;27      /**28       * Balance too low to send value29       **/30      InsufficientBalance: AugmentedError<ApiType>;31      /**32       * Transfer/payment would kill account33       **/34      KeepAlive: AugmentedError<ApiType>;35      /**36       * Account liquidity restrictions prevent withdrawal37       **/38      LiquidityRestrictions: AugmentedError<ApiType>;39      /**40       * Number of named reserves exceed MaxReserves41       **/42      TooManyReserves: AugmentedError<ApiType>;43      /**44       * Vesting balance too high to send value45       **/46      VestingBalance: AugmentedError<ApiType>;47      /**48       * Generic error49       **/50      [key: string]: AugmentedError<ApiType>;51    };52    common: {53      /**54       * Account token limit exceeded per collection55       **/56      AccountTokenLimitExceeded: AugmentedError<ApiType>;57      /**58       * Can't transfer tokens to ethereum zero address59       **/60      AddressIsZero: AugmentedError<ApiType>;61      /**62       * Address is not in allow list.63       **/64      AddressNotInAllowlist: AugmentedError<ApiType>;65      /**66       * Requested value is more than the approved67       **/68      ApprovedValueTooLow: AugmentedError<ApiType>;69      /**70       * Tried to approve more than owned71       **/72      CantApproveMoreThanOwned: AugmentedError<ApiType>;73      /**74       * Destroying only empty collections is allowed75       **/76      CantDestroyNotEmptyCollection: AugmentedError<ApiType>;77      /**78       * Exceeded max admin count79       **/80      CollectionAdminCountExceeded: AugmentedError<ApiType>;81      /**82       * Collection description can not be longer than 255 char.83       **/84      CollectionDescriptionLimitExceeded: AugmentedError<ApiType>;85      /**86       * Tried to store more data than allowed in collection field87       **/88      CollectionFieldSizeExceeded: AugmentedError<ApiType>;89      /**90       * Tried to access an external collection with an internal API91       **/92      CollectionIsExternal: AugmentedError<ApiType>;93      /**94       * Tried to access an internal collection with an external API95       **/96      CollectionIsInternal: AugmentedError<ApiType>;97      /**98       * Collection limit bounds per collection exceeded99       **/100      CollectionLimitBoundsExceeded: AugmentedError<ApiType>;101      /**102       * Collection name can not be longer than 63 char.103       **/104      CollectionNameLimitExceeded: AugmentedError<ApiType>;105      /**106       * This collection does not exist.107       **/108      CollectionNotFound: AugmentedError<ApiType>;109      /**110       * Collection token limit exceeded111       **/112      CollectionTokenLimitExceeded: AugmentedError<ApiType>;113      /**114       * Token prefix can not be longer than 15 char.115       **/116      CollectionTokenPrefixLimitExceeded: AugmentedError<ApiType>;117      /**118       * Empty property keys are forbidden119       **/120      EmptyPropertyKey: AugmentedError<ApiType>;121      /**122       * Only ASCII letters, digits, and symbols `_`, `-`, and `.` are allowed123       **/124      InvalidCharacterInPropertyKey: AugmentedError<ApiType>;125      /**126       * Metadata flag frozen127       **/128      MetadataFlagFrozen: AugmentedError<ApiType>;129      /**130       * Sender parameter and item owner must be equal.131       **/132      MustBeTokenOwner: AugmentedError<ApiType>;133      /**134       * No permission to perform action135       **/136      NoPermission: AugmentedError<ApiType>;137      /**138       * Tried to store more property data than allowed139       **/140      NoSpaceForProperty: AugmentedError<ApiType>;141      /**142       * Insufficient funds to perform an action143       **/144      NotSufficientFounds: AugmentedError<ApiType>;145      /**146       * Tried to enable permissions which are only permitted to be disabled147       **/148      OwnerPermissionsCantBeReverted: AugmentedError<ApiType>;149      /**150       * Property key is too long151       **/152      PropertyKeyIsTooLong: AugmentedError<ApiType>;153      /**154       * Tried to store more property keys than allowed155       **/156      PropertyLimitReached: AugmentedError<ApiType>;157      /**158       * Collection is not in mint mode.159       **/160      PublicMintingNotAllowed: AugmentedError<ApiType>;161      /**162       * Only tokens from specific collections may nest tokens under this one163       **/164      SourceCollectionIsNotAllowedToNest: AugmentedError<ApiType>;165      /**166       * Item does not exist167       **/168      TokenNotFound: AugmentedError<ApiType>;169      /**170       * Item is balance not enough171       **/172      TokenValueTooLow: AugmentedError<ApiType>;173      /**174       * Total collections bound exceeded.175       **/176      TotalCollectionsLimitExceeded: AugmentedError<ApiType>;177      /**178       * Collection settings not allowing items transferring179       **/180      TransferNotAllowed: AugmentedError<ApiType>;181      /**182       * The operation is not supported183       **/184      UnsupportedOperation: AugmentedError<ApiType>;185      /**186       * User does not satisfy the nesting rule187       **/188      UserIsNotAllowedToNest: AugmentedError<ApiType>;189      /**190       * Generic error191       **/192      [key: string]: AugmentedError<ApiType>;193    };194    cumulusXcm: {195      /**196       * Generic error197       **/198      [key: string]: AugmentedError<ApiType>;199    };200    dmpQueue: {201      /**202       * The amount of weight given is possibly not enough for executing the message.203       **/204      OverLimit: AugmentedError<ApiType>;205      /**206       * The message index given is unknown.207       **/208      Unknown: AugmentedError<ApiType>;209      /**210       * Generic error211       **/212      [key: string]: AugmentedError<ApiType>;213    };214    ethereum: {215      /**216       * Signature is invalid.217       **/218      InvalidSignature: AugmentedError<ApiType>;219      /**220       * Pre-log is present, therefore transact is not allowed.221       **/222      PreLogExists: AugmentedError<ApiType>;223      /**224       * Generic error225       **/226      [key: string]: AugmentedError<ApiType>;227    };228    evm: {229      /**230       * Not enough balance to perform action231       **/232      BalanceLow: AugmentedError<ApiType>;233      /**234       * Calculating total fee overflowed235       **/236      FeeOverflow: AugmentedError<ApiType>;237      /**238       * Gas price is too low.239       **/240      GasPriceTooLow: AugmentedError<ApiType>;241      /**242       * Nonce is invalid243       **/244      InvalidNonce: AugmentedError<ApiType>;245      /**246       * Calculating total payment overflowed247       **/248      PaymentOverflow: AugmentedError<ApiType>;249      /**250       * Withdraw fee failed251       **/252      WithdrawFailed: AugmentedError<ApiType>;253      /**254       * Generic error255       **/256      [key: string]: AugmentedError<ApiType>;257    };258    evmCoderSubstrate: {259      OutOfFund: AugmentedError<ApiType>;260      OutOfGas: AugmentedError<ApiType>;261      /**262       * Generic error263       **/264      [key: string]: AugmentedError<ApiType>;265    };266    evmContractHelpers: {267      /**268       * This method is only executable by owner269       **/270      NoPermission: AugmentedError<ApiType>;271      /**272       * Generic error273       **/274      [key: string]: AugmentedError<ApiType>;275    };276    evmMigration: {277      AccountIsNotMigrating: AugmentedError<ApiType>;278      AccountNotEmpty: AugmentedError<ApiType>;279      /**280       * Generic error281       **/282      [key: string]: AugmentedError<ApiType>;283    };284    fungible: {285      /**286       * Fungible token does not support nesting.287       **/288      FungibleDisallowsNesting: AugmentedError<ApiType>;289      /**290       * Tried to set data for fungible item.291       **/292      FungibleItemsDontHaveData: AugmentedError<ApiType>;293      /**294       * Fungible tokens hold no ID, and the default value of TokenId for Fungible collection is 0.295       **/296      FungibleItemsHaveNoId: AugmentedError<ApiType>;297      /**298       * Not Fungible item data used to mint in Fungible collection.299       **/300      NotFungibleDataUsedToMintFungibleCollectionToken: AugmentedError<ApiType>;301      /**302       * Setting item properties is not allowed.303       **/304      SettingPropertiesNotAllowed: AugmentedError<ApiType>;305      /**306       * Generic error307       **/308      [key: string]: AugmentedError<ApiType>;309    };310    nonfungible: {311      /**312       * Unable to burn NFT with children313       **/314      CantBurnNftWithChildren: AugmentedError<ApiType>;315      /**316       * Used amount > 1 with NFT317       **/318      NonfungibleItemsHaveNoAmount: AugmentedError<ApiType>;319      /**320       * Not Nonfungible item data used to mint in Nonfungible collection.321       **/322      NotNonfungibleDataUsedToMintFungibleCollectionToken: AugmentedError<ApiType>;323      /**324       * Generic error325       **/326      [key: string]: AugmentedError<ApiType>;327    };328    parachainSystem: {329      /**330       * The inherent which supplies the host configuration did not run this block331       **/332      HostConfigurationNotAvailable: AugmentedError<ApiType>;333      /**334       * No code upgrade has been authorized.335       **/336      NothingAuthorized: AugmentedError<ApiType>;337      /**338       * No validation function upgrade is currently scheduled.339       **/340      NotScheduled: AugmentedError<ApiType>;341      /**342       * Attempt to upgrade validation function while existing upgrade pending343       **/344      OverlappingUpgrades: AugmentedError<ApiType>;345      /**346       * Polkadot currently prohibits this parachain from upgrading its validation function347       **/348      ProhibitedByPolkadot: AugmentedError<ApiType>;349      /**350       * The supplied validation function has compiled into a blob larger than Polkadot is351       * willing to run352       **/353      TooBig: AugmentedError<ApiType>;354      /**355       * The given code upgrade has not been authorized.356       **/357      Unauthorized: AugmentedError<ApiType>;358      /**359       * The inherent which supplies the validation data did not run this block360       **/361      ValidationDataNotAvailable: AugmentedError<ApiType>;362      /**363       * Generic error364       **/365      [key: string]: AugmentedError<ApiType>;366    };367    polkadotXcm: {368      /**369       * The location is invalid since it already has a subscription from us.370       **/371      AlreadySubscribed: AugmentedError<ApiType>;372      /**373       * The given location could not be used (e.g. because it cannot be expressed in the374       * desired version of XCM).375       **/376      BadLocation: AugmentedError<ApiType>;377      /**378       * The version of the `Versioned` value used is not able to be interpreted.379       **/380      BadVersion: AugmentedError<ApiType>;381      /**382       * Could not re-anchor the assets to declare the fees for the destination chain.383       **/384      CannotReanchor: AugmentedError<ApiType>;385      /**386       * The destination `MultiLocation` provided cannot be inverted.387       **/388      DestinationNotInvertible: AugmentedError<ApiType>;389      /**390       * The assets to be sent are empty.391       **/392      Empty: AugmentedError<ApiType>;393      /**394       * The message execution fails the filter.395       **/396      Filtered: AugmentedError<ApiType>;397      /**398       * Origin is invalid for sending.399       **/400      InvalidOrigin: AugmentedError<ApiType>;401      /**402       * The referenced subscription could not be found.403       **/404      NoSubscription: AugmentedError<ApiType>;405      /**406       * There was some other issue (i.e. not to do with routing) in sending the message. Perhaps407       * a lack of space for buffering the message.408       **/409      SendFailure: AugmentedError<ApiType>;410      /**411       * Too many assets have been attempted for transfer.412       **/413      TooManyAssets: AugmentedError<ApiType>;414      /**415       * The desired destination was unreachable, generally because there is a no way of routing416       * to it.417       **/418      Unreachable: AugmentedError<ApiType>;419      /**420       * The message's weight could not be determined.421       **/422      UnweighableMessage: AugmentedError<ApiType>;423      /**424       * Generic error425       **/426      [key: string]: AugmentedError<ApiType>;427    };428    promotion: {429      AdminNotSet: AugmentedError<ApiType>;430      AlreadySponsored: AugmentedError<ApiType>;431      InvalidArgument: AugmentedError<ApiType>;432      /**433       * No permission to perform action434       **/435      NoPermission: AugmentedError<ApiType>;436      /**437       * Insufficient funds to perform an action438       **/439      NotSufficientFounds: AugmentedError<ApiType>;440      /**441       * Generic error442       **/443      [key: string]: AugmentedError<ApiType>;444    };445    refungible: {446      /**447       * Not Refungible item data used to mint in Refungible collection.448       **/449      NotRefungibleDataUsedToMintFungibleCollectionToken: AugmentedError<ApiType>;450      /**451       * Refungible token can't nest other tokens.452       **/453      RefungibleDisallowsNesting: AugmentedError<ApiType>;454      /**455       * Refungible token can't be repartitioned by user who isn't owns all pieces.456       **/457      RepartitionWhileNotOwningAllPieces: AugmentedError<ApiType>;458      /**459       * Setting item properties is not allowed.460       **/461      SettingPropertiesNotAllowed: AugmentedError<ApiType>;462      /**463       * Maximum refungibility exceeded.464       **/465      WrongRefungiblePieces: AugmentedError<ApiType>;466      /**467       * Generic error468       **/469      [key: string]: AugmentedError<ApiType>;470    };471    rmrkCore: {472      /**473       * Not the target owner of the sent NFT.474       **/475      CannotAcceptNonOwnedNft: AugmentedError<ApiType>;476      /**477       * Not the target owner of the sent NFT.478       **/479      CannotRejectNonOwnedNft: AugmentedError<ApiType>;480      /**481       * NFT was not sent and is not pending.482       **/483      CannotRejectNonPendingNft: AugmentedError<ApiType>;484      /**485       * If an NFT is sent to a descendant, that would form a nesting loop, an ouroboros.486       * Sending to self is redundant.487       **/488      CannotSendToDescendentOrSelf: AugmentedError<ApiType>;489      /**490       * Too many tokens created in the collection, no new ones are allowed.491       **/492      CollectionFullOrLocked: AugmentedError<ApiType>;493      /**494       * Only destroying collections without tokens is allowed.495       **/496      CollectionNotEmpty: AugmentedError<ApiType>;497      /**498       * Collection does not exist, has a wrong type, or does not map to a Unique ID.499       **/500      CollectionUnknown: AugmentedError<ApiType>;501      /**502       * Property of the type of RMRK collection could not be read successfully.503       **/504      CorruptedCollectionType: AugmentedError<ApiType>;505      /**506       * Could not find an ID for a collection. It is likely there were too many collections created on the chain, causing an overflow.507       **/508      NoAvailableCollectionId: AugmentedError<ApiType>;509      /**510       * Token does not exist, or there is no suitable ID for it, likely too many tokens were created in a collection, causing an overflow.511       **/512      NoAvailableNftId: AugmentedError<ApiType>;513      /**514       * Could not find an ID for the resource. It is likely there were too many resources created on an NFT, causing an overflow.515       **/516      NoAvailableResourceId: AugmentedError<ApiType>;517      /**518       * Token is marked as non-transferable, and thus cannot be transferred.519       **/520      NonTransferable: AugmentedError<ApiType>;521      /**522       * No permission to perform action.523       **/524      NoPermission: AugmentedError<ApiType>;525      /**526       * No such resource found.527       **/528      ResourceDoesntExist: AugmentedError<ApiType>;529      /**530       * Resource is not pending for the operation.531       **/532      ResourceNotPending: AugmentedError<ApiType>;533      /**534       * Could not find a property by the supplied key.535       **/536      RmrkPropertyIsNotFound: AugmentedError<ApiType>;537      /**538       * Too many symbols supplied as the property key. The maximum is [256](up_data_structs::MAX_PROPERTY_KEY_LENGTH).539       **/540      RmrkPropertyKeyIsTooLong: AugmentedError<ApiType>;541      /**542       * Too many bytes supplied as the property value. The maximum is [32768](up_data_structs::MAX_PROPERTY_VALUE_LENGTH).543       **/544      RmrkPropertyValueIsTooLong: AugmentedError<ApiType>;545      /**546       * Something went wrong when decoding encoded data from the storage.547       * Perhaps, there was a wrong key supplied for the type, or the data was improperly stored.548       **/549      UnableToDecodeRmrkData: AugmentedError<ApiType>;550      /**551       * Generic error552       **/553      [key: string]: AugmentedError<ApiType>;554    };555    rmrkEquip: {556      /**557       * Base collection linked to this ID does not exist.558       **/559      BaseDoesntExist: AugmentedError<ApiType>;560      /**561       * No Theme named "default" is associated with the Base.562       **/563      NeedsDefaultThemeFirst: AugmentedError<ApiType>;564      /**565       * Could not find an ID for a Base collection. It is likely there were too many collections created on the chain, causing an overflow.566       **/567      NoAvailableBaseId: AugmentedError<ApiType>;568      /**569       * Could not find a suitable ID for a Part, likely too many Part tokens were created in the Base, causing an overflow570       **/571      NoAvailablePartId: AugmentedError<ApiType>;572      /**573       * Cannot assign equippables to a fixed Part.574       **/575      NoEquippableOnFixedPart: AugmentedError<ApiType>;576      /**577       * Part linked to this ID does not exist.578       **/579      PartDoesntExist: AugmentedError<ApiType>;580      /**581       * No permission to perform action.582       **/583      PermissionError: AugmentedError<ApiType>;584      /**585       * Generic error586       **/587      [key: string]: AugmentedError<ApiType>;588    };589    scheduler: {590      /**591       * Failed to schedule a call592       **/593      FailedToSchedule: AugmentedError<ApiType>;594      /**595       * Cannot find the scheduled call.596       **/597      NotFound: AugmentedError<ApiType>;598      /**599       * Reschedule failed because it does not change scheduled time.600       **/601      RescheduleNoChange: AugmentedError<ApiType>;602      /**603       * Given target block number is in the past.604       **/605      TargetBlockNumberInPast: AugmentedError<ApiType>;606      /**607       * Generic error608       **/609      [key: string]: AugmentedError<ApiType>;610    };611    structure: {612      /**613       * While nesting, reached the breadth limit of nesting, exceeding the provided budget.614       **/615      BreadthLimit: AugmentedError<ApiType>;616      /**617       * While nesting, reached the depth limit of nesting, exceeding the provided budget.618       **/619      DepthLimit: AugmentedError<ApiType>;620      /**621       * While nesting, encountered an already checked account, detecting a loop.622       **/623      OuroborosDetected: AugmentedError<ApiType>;624      /**625       * Couldn't find the token owner that is itself a token.626       **/627      TokenNotFound: AugmentedError<ApiType>;628      /**629       * Generic error630       **/631      [key: string]: AugmentedError<ApiType>;632    };633    sudo: {634      /**635       * Sender must be the Sudo account636       **/637      RequireSudo: AugmentedError<ApiType>;638      /**639       * Generic error640       **/641      [key: string]: AugmentedError<ApiType>;642    };643    system: {644      /**645       * The origin filter prevent the call to be dispatched.646       **/647      CallFiltered: AugmentedError<ApiType>;648      /**649       * Failed to extract the runtime version from the new runtime.650       * 651       * Either calling `Core_version` or decoding `RuntimeVersion` failed.652       **/653      FailedToExtractRuntimeVersion: AugmentedError<ApiType>;654      /**655       * The name of specification does not match between the current runtime656       * and the new runtime.657       **/658      InvalidSpecName: AugmentedError<ApiType>;659      /**660       * Suicide called when the account has non-default composite data.661       **/662      NonDefaultComposite: AugmentedError<ApiType>;663      /**664       * There is a non-zero reference count preventing the account from being purged.665       **/666      NonZeroRefCount: AugmentedError<ApiType>;667      /**668       * The specification version is not allowed to decrease between the current runtime669       * and the new runtime.670       **/671      SpecVersionNeedsToIncrease: AugmentedError<ApiType>;672      /**673       * Generic error674       **/675      [key: string]: AugmentedError<ApiType>;676    };677    treasury: {678      /**679       * The spend origin is valid but the amount it is allowed to spend is lower than the680       * amount to be spent.681       **/682      InsufficientPermission: AugmentedError<ApiType>;683      /**684       * Proposer's balance is too low.685       **/686      InsufficientProposersBalance: AugmentedError<ApiType>;687      /**688       * No proposal or bounty at that index.689       **/690      InvalidIndex: AugmentedError<ApiType>;691      /**692       * Proposal has not been approved.693       **/694      ProposalNotApproved: AugmentedError<ApiType>;695      /**696       * Too many approvals in the queue.697       **/698      TooManyApprovals: AugmentedError<ApiType>;699      /**700       * Generic error701       **/702      [key: string]: AugmentedError<ApiType>;703    };704    unique: {705      /**706       * Decimal_points parameter must be lower than [`up_data_structs::MAX_DECIMAL_POINTS`].707       **/708      CollectionDecimalPointLimitExceeded: AugmentedError<ApiType>;709      /**710       * This address is not set as sponsor, use setCollectionSponsor first.711       **/712      ConfirmUnsetSponsorFail: AugmentedError<ApiType>;713      /**714       * Length of items properties must be greater than 0.715       **/716      EmptyArgument: AugmentedError<ApiType>;717      /**718       * Repertition is only supported by refungible collection.719       **/720      RepartitionCalledOnNonRefungibleCollection: AugmentedError<ApiType>;721      /**722       * Generic error723       **/724      [key: string]: AugmentedError<ApiType>;725    };726    vesting: {727      /**728       * The vested transfer amount is too low729       **/730      AmountLow: AugmentedError<ApiType>;731      /**732       * Insufficient amount of balance to lock733       **/734      InsufficientBalanceToLock: AugmentedError<ApiType>;735      /**736       * Failed because the maximum vesting schedules was exceeded737       **/738      MaxVestingSchedulesExceeded: AugmentedError<ApiType>;739      /**740       * This account have too many vesting schedules741       **/742      TooManyVestingSchedules: AugmentedError<ApiType>;743      /**744       * Vesting period is zero745       **/746      ZeroVestingPeriod: AugmentedError<ApiType>;747      /**748       * Number of vests is zero749       **/750      ZeroVestingPeriodCount: AugmentedError<ApiType>;751      /**752       * Generic error753       **/754      [key: string]: AugmentedError<ApiType>;755    };756    xcmpQueue: {757      /**758       * Bad overweight index.759       **/760      BadOverweightIndex: AugmentedError<ApiType>;761      /**762       * Bad XCM data.763       **/764      BadXcm: AugmentedError<ApiType>;765      /**766       * Bad XCM origin.767       **/768      BadXcmOrigin: AugmentedError<ApiType>;769      /**770       * Failed to send XCM message.771       **/772      FailedToSend: AugmentedError<ApiType>;773      /**774       * Provided weight is possibly not enough to execute the message.775       **/776      WeightOverLimit: AugmentedError<ApiType>;777      /**778       * Generic error779       **/780      [key: string]: AugmentedError<ApiType>;781    };782  } // AugmentedErrors783} // declare module
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, U8aFixed, Vec, bool, u128, u16, u32, u64 } 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, FrameSupportWeightsPerDispatchClassU64, FrameSystemAccountInfo, FrameSystemEventRecord, FrameSystemLastRuntimeUpgradeInfo, FrameSystemPhase, OrmlVestingVestingSchedule, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesReleases, PalletBalancesReserveData, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmContractHelpersSponsoringModeT, PalletNonfungibleItemData, PalletRefungibleItemData, PalletTransactionPaymentReleases, PalletTreasuryProposal, PalletUniqueSchedulerScheduledV3, PhantomTypeUpDataStructs, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, SpRuntimeDigest, SpTrieStorageProof, UpDataStructsCollection, UpDataStructsCollectionStats, UpDataStructsProperties, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsPropertyPermission, UpDataStructsPropertyScope, UpDataStructsTokenChild } from '@polkadot/types/lookup';
+import type { CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueQueueConfigData, EthereumBlock, EthereumLog, EthereumReceiptReceiptV3, EthereumTransactionTransactionV2, FpRpcTransactionStatus, FrameSupportWeightsPerDispatchClassU64, FrameSystemAccountInfo, FrameSystemEventRecord, FrameSystemLastRuntimeUpgradeInfo, FrameSystemPhase, OrmlVestingVestingSchedule, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesReleases, PalletBalancesReserveData, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmContractHelpersSponsoringModeT, PalletNonfungibleItemData, PalletRefungibleItemData, PalletTransactionPaymentReleases, PalletTreasuryProposal, PalletUniqueSchedulerScheduledV3, PhantomTypeUpDataStructs, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, SpRuntimeDigest, SpTrieStorageProof, UpDataStructsCollection, UpDataStructsCollectionStats, UpDataStructsProperties, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsPropertyPermission, UpDataStructsPropertyScope, UpDataStructsSponsorshipStateBasicCrossAccountIdRepr, UpDataStructsTokenChild } from '@polkadot/types/lookup';
 import type { Observable } from '@polkadot/types/types';
 
 export type __AugmentedQuery<ApiType extends ApiTypes> = AugmentedQuery<ApiType, () => unknown>;
@@ -194,12 +194,66 @@
       [key: string]: QueryableStorageEntry<ApiType>;
     };
     evmContractHelpers: {
+      /**
+       * Storage for users that allowed for sponsorship.
+       * 
+       * ### Usage
+       * Prefer to delete record from storage if user no more allowed for sponsorship.
+       * 
+       * * **Key1** - contract address.
+       * * **Key2** - user that allowed for sponsorship.
+       * * **Value** - allowance for sponsorship.
+       **/
       allowlist: AugmentedQuery<ApiType, (arg1: H160 | string | Uint8Array, arg2: H160 | string | Uint8Array) => Observable<bool>, [H160, H160]> & QueryableStorageEntry<ApiType, [H160, H160]>;
+      /**
+       * Storege for contracts with [`Allowlisted`](SponsoringModeT::Allowlisted) sponsoring mode.
+       * 
+       * ### Usage
+       * Prefer to delete collection from storage if mode chaged to non `Allowlisted`, than set **Value** to **false**.
+       * 
+       * * **Key** - contract address.
+       * * **Value** - is contract in [`Allowlisted`](SponsoringModeT::Allowlisted) mode.
+       **/
       allowlistEnabled: AugmentedQuery<ApiType, (arg: H160 | string | Uint8Array) => Observable<bool>, [H160]> & QueryableStorageEntry<ApiType, [H160]>;
+      /**
+       * Store owner for contract.
+       * 
+       * * **Key** - contract address.
+       * * **Value** - owner for contract.
+       **/
       owner: AugmentedQuery<ApiType, (arg: H160 | string | Uint8Array) => Observable<H160>, [H160]> & QueryableStorageEntry<ApiType, [H160]>;
       selfSponsoring: AugmentedQuery<ApiType, (arg: H160 | string | Uint8Array) => Observable<bool>, [H160]> & QueryableStorageEntry<ApiType, [H160]>;
+      /**
+       * Storage for last sponsored block.
+       * 
+       * * **Key1** - contract address.
+       * * **Key2** - sponsored user address.
+       * * **Value** - last sponsored block number.
+       **/
       sponsorBasket: AugmentedQuery<ApiType, (arg1: H160 | string | Uint8Array, arg2: H160 | string | Uint8Array) => Observable<Option<u32>>, [H160, H160]> & QueryableStorageEntry<ApiType, [H160, H160]>;
+      /**
+       * Store for contract sponsorship state.
+       * 
+       * * **Key** - contract address.
+       * * **Value** - sponsorship state.
+       **/
+      sponsoring: AugmentedQuery<ApiType, (arg: H160 | string | Uint8Array) => Observable<UpDataStructsSponsorshipStateBasicCrossAccountIdRepr>, [H160]> & QueryableStorageEntry<ApiType, [H160]>;
+      /**
+       * Store for sponsoring mode.
+       * 
+       * ### Usage
+       * Prefer to delete collection from storage if mode chaged to [`Disabled`](SponsoringModeT::Disabled).
+       * 
+       * * **Key** - contract address.
+       * * **Value** - [`sponsoring mode`](SponsoringModeT).
+       **/
       sponsoringMode: AugmentedQuery<ApiType, (arg: H160 | string | Uint8Array) => Observable<Option<PalletEvmContractHelpersSponsoringModeT>>, [H160]> & QueryableStorageEntry<ApiType, [H160]>;
+      /**
+       * Storage for sponsoring rate limit in blocks.
+       * 
+       * * **Key** - contract address.
+       * * **Value** - amount of sponsored blocks.
+       **/
       sponsoringRateLimit: AugmentedQuery<ApiType, (arg: H160 | string | Uint8Array) => Observable<u32>, [H160]> & QueryableStorageEntry<ApiType, [H160]>;
       /**
        * Generic query
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, CumulusPalletXcmOrigin, 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, FrameSupportDispatchRawOrigin, FrameSupportPalletId, FrameSupportScheduleLookupError, FrameSupportScheduleMaybeHashed, FrameSupportTokensMiscBalanceStatus, FrameSupportWeightsDispatchClass, FrameSupportWeightsDispatchInfo, FrameSupportWeightsPays, FrameSupportWeightsPerDispatchClassU32, FrameSupportWeightsPerDispatchClassU64, FrameSupportWeightsPerDispatchClassWeightsPerClass, FrameSupportWeightsRuntimeDbWeight, FrameSystemAccountInfo, FrameSystemCall, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckNonce, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, OpalRuntimeOriginCaller, OpalRuntimeRuntime, OrmlVestingModuleCall, OrmlVestingModuleError, OrmlVestingModuleEvent, OrmlVestingVestingSchedule, PalletAppPromotionCall, PalletAppPromotionError, PalletAppPromotionEvent, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesReasons, PalletBalancesReleases, PalletBalancesReserveData, PalletCommonError, PalletCommonEvent, PalletConfigurationCall, PalletEthereumCall, PalletEthereumError, PalletEthereumEvent, PalletEthereumFakeTransactionFinalizer, PalletEthereumRawOrigin, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmCall, PalletEvmCoderSubstrateError, PalletEvmContractHelpersError, PalletEvmContractHelpersSponsoringModeT, PalletEvmError, PalletEvmEvent, PalletEvmMigrationCall, PalletEvmMigrationError, PalletFungibleError, PalletInflationCall, PalletNonfungibleError, PalletNonfungibleItemData, PalletRefungibleError, PalletRefungibleItemData, PalletRmrkCoreCall, PalletRmrkCoreError, PalletRmrkCoreEvent, PalletRmrkEquipCall, PalletRmrkEquipError, PalletRmrkEquipEvent, PalletStructureCall, PalletStructureError, PalletStructureEvent, PalletSudoCall, PalletSudoError, PalletSudoEvent, PalletTemplateTransactionPaymentCall, PalletTemplateTransactionPaymentChargeTransactionPayment, PalletTimestampCall, PalletTransactionPaymentEvent, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUniqueCall, PalletUniqueError, PalletUniqueRawEvent, PalletUniqueSchedulerCall, PalletUniqueSchedulerError, PalletUniqueSchedulerEvent, PalletUniqueSchedulerScheduledV3, PalletXcmCall, PalletXcmError, PalletXcmEvent, PalletXcmOrigin, 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, SpCoreVoid, SpRuntimeArithmeticError, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpRuntimeTransactionalError, SpTrieStorageProof, SpVersionRuntimeVersion, 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, UpDataStructsSponsoringRateLimit, UpDataStructsSponsorshipState, 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, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from './default';
+import type { CumulusPalletDmpQueueCall, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueueError, CumulusPalletDmpQueueEvent, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCall, CumulusPalletParachainSystemError, CumulusPalletParachainSystemEvent, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmCall, CumulusPalletXcmError, CumulusPalletXcmEvent, CumulusPalletXcmOrigin, 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, FrameSupportDispatchRawOrigin, FrameSupportPalletId, FrameSupportScheduleLookupError, FrameSupportScheduleMaybeHashed, FrameSupportTokensMiscBalanceStatus, FrameSupportWeightsDispatchClass, FrameSupportWeightsDispatchInfo, FrameSupportWeightsPays, FrameSupportWeightsPerDispatchClassU32, FrameSupportWeightsPerDispatchClassU64, FrameSupportWeightsPerDispatchClassWeightsPerClass, FrameSupportWeightsRuntimeDbWeight, FrameSystemAccountInfo, FrameSystemCall, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckNonce, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, OpalRuntimeOriginCaller, OpalRuntimeRuntime, OrmlVestingModuleCall, OrmlVestingModuleError, OrmlVestingModuleEvent, OrmlVestingVestingSchedule, PalletAppPromotionCall, PalletAppPromotionError, PalletAppPromotionEvent, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesReasons, PalletBalancesReleases, PalletBalancesReserveData, PalletCommonError, PalletCommonEvent, PalletConfigurationCall, PalletEthereumCall, PalletEthereumError, PalletEthereumEvent, PalletEthereumFakeTransactionFinalizer, PalletEthereumRawOrigin, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmCall, PalletEvmCoderSubstrateError, PalletEvmContractHelpersError, PalletEvmContractHelpersSponsoringModeT, PalletEvmError, PalletEvmEvent, PalletEvmMigrationCall, PalletEvmMigrationError, PalletFungibleError, PalletInflationCall, PalletNonfungibleError, PalletNonfungibleItemData, PalletRefungibleError, PalletRefungibleItemData, PalletRmrkCoreCall, PalletRmrkCoreError, PalletRmrkCoreEvent, PalletRmrkEquipCall, PalletRmrkEquipError, PalletRmrkEquipEvent, PalletStructureCall, PalletStructureError, PalletStructureEvent, PalletSudoCall, PalletSudoError, PalletSudoEvent, PalletTemplateTransactionPaymentCall, PalletTemplateTransactionPaymentChargeTransactionPayment, PalletTimestampCall, PalletTransactionPaymentEvent, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUniqueCall, PalletUniqueError, PalletUniqueRawEvent, PalletUniqueSchedulerCall, PalletUniqueSchedulerError, PalletUniqueSchedulerEvent, PalletUniqueSchedulerScheduledV3, PalletXcmCall, PalletXcmError, PalletXcmEvent, PalletXcmOrigin, 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, SpCoreVoid, SpRuntimeArithmeticError, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpRuntimeTransactionalError, SpTrieStorageProof, SpVersionRuntimeVersion, 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, 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, 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';
@@ -1298,7 +1298,8 @@
     UpDataStructsPropertyScope: UpDataStructsPropertyScope;
     UpDataStructsRpcCollection: UpDataStructsRpcCollection;
     UpDataStructsSponsoringRateLimit: UpDataStructsSponsoringRateLimit;
-    UpDataStructsSponsorshipState: UpDataStructsSponsorshipState;
+    UpDataStructsSponsorshipStateAccountId32: UpDataStructsSponsorshipStateAccountId32;
+    UpDataStructsSponsorshipStateBasicCrossAccountIdRepr: UpDataStructsSponsorshipStateBasicCrossAccountIdRepr;
     UpDataStructsTokenChild: UpDataStructsTokenChild;
     UpDataStructsTokenData: UpDataStructsTokenData;
     UpgradeGoAhead: UpgradeGoAhead;
modifiedtests/src/interfaces/default/types.tsdiffbeforeafterboth
--- a/tests/src/interfaces/default/types.ts
+++ b/tests/src/interfaces/default/types.ts
@@ -1173,7 +1173,8 @@
 /** @name PalletEvmContractHelpersError */
 export interface PalletEvmContractHelpersError extends Enum {
   readonly isNoPermission: boolean;
-  readonly type: 'NoPermission';
+  readonly isNoPendingSponsor: boolean;
+  readonly type: 'NoPermission' | 'NoPendingSponsor';
 }
 
 /** @name PalletEvmContractHelpersSponsoringModeT */
@@ -2465,7 +2466,7 @@
   readonly name: Vec<u16>;
   readonly description: Vec<u16>;
   readonly tokenPrefix: Bytes;
-  readonly sponsorship: UpDataStructsSponsorshipState;
+  readonly sponsorship: UpDataStructsSponsorshipStateAccountId32;
   readonly limits: UpDataStructsCollectionLimits;
   readonly permissions: UpDataStructsCollectionPermissions;
   readonly externalCollection: bool;
@@ -2637,7 +2638,7 @@
   readonly name: Vec<u16>;
   readonly description: Vec<u16>;
   readonly tokenPrefix: Bytes;
-  readonly sponsorship: UpDataStructsSponsorshipState;
+  readonly sponsorship: UpDataStructsSponsorshipStateAccountId32;
   readonly limits: UpDataStructsCollectionLimits;
   readonly permissions: UpDataStructsCollectionPermissions;
   readonly tokenPropertyPermissions: Vec<UpDataStructsPropertyKeyPermission>;
@@ -2653,8 +2654,8 @@
   readonly type: 'SponsoringDisabled' | 'Blocks';
 }
 
-/** @name UpDataStructsSponsorshipState */
-export interface UpDataStructsSponsorshipState extends Enum {
+/** @name UpDataStructsSponsorshipStateAccountId32 */
+export interface UpDataStructsSponsorshipStateAccountId32 extends Enum {
   readonly isDisabled: boolean;
   readonly isUnconfirmed: boolean;
   readonly asUnconfirmed: AccountId32;
@@ -2663,6 +2664,16 @@
   readonly type: 'Disabled' | 'Unconfirmed' | 'Confirmed';
 }
 
+/** @name UpDataStructsSponsorshipStateBasicCrossAccountIdRepr */
+export interface UpDataStructsSponsorshipStateBasicCrossAccountIdRepr extends Enum {
+  readonly isDisabled: boolean;
+  readonly isUnconfirmed: boolean;
+  readonly asUnconfirmed: PalletEvmAccountBasicCrossAccountIdRepr;
+  readonly isConfirmed: boolean;
+  readonly asConfirmed: PalletEvmAccountBasicCrossAccountIdRepr;
+  readonly type: 'Disabled' | 'Unconfirmed' | 'Confirmed';
+}
+
 /** @name UpDataStructsTokenChild */
 export interface UpDataStructsTokenChild extends Struct {
   readonly token: u32;
modifiedtests/src/interfaces/lookup.tsdiffbeforeafterboth
--- a/tests/src/interfaces/lookup.ts
+++ b/tests/src/interfaces/lookup.ts
@@ -2902,7 +2902,7 @@
     name: 'Vec<u16>',
     description: 'Vec<u16>',
     tokenPrefix: 'Bytes',
-    sponsorship: 'UpDataStructsSponsorshipState',
+    sponsorship: 'UpDataStructsSponsorshipStateAccountId32',
     limits: 'UpDataStructsCollectionLimits',
     permissions: 'UpDataStructsCollectionPermissions',
     externalCollection: 'bool'
@@ -2910,7 +2910,7 @@
   /**
    * Lookup361: up_data_structs::SponsorshipState<sp_core::crypto::AccountId32>
    **/
-  UpDataStructsSponsorshipState: {
+  UpDataStructsSponsorshipStateAccountId32: {
     _enum: {
       Disabled: 'Null',
       Unconfirmed: 'AccountId32',
@@ -2969,7 +2969,7 @@
     name: 'Vec<u16>',
     description: 'Vec<u16>',
     tokenPrefix: 'Bytes',
-    sponsorship: 'UpDataStructsSponsorshipState',
+    sponsorship: 'UpDataStructsSponsorshipStateAccountId32',
     limits: 'UpDataStructsCollectionLimits',
     permissions: 'UpDataStructsCollectionPermissions',
     tokenPropertyPermissions: 'Vec<UpDataStructsPropertyKeyPermission>',
@@ -3186,25 +3186,35 @@
     _enum: ['OutOfGas', 'OutOfFund']
   },
   /**
-   * Lookup431: pallet_evm_contract_helpers::SponsoringModeT
+   * Lookup431: up_data_structs::SponsorshipState<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
    **/
+  UpDataStructsSponsorshipStateBasicCrossAccountIdRepr: {
+    _enum: {
+      Disabled: 'Null',
+      Unconfirmed: 'PalletEvmAccountBasicCrossAccountIdRepr',
+      Confirmed: 'PalletEvmAccountBasicCrossAccountIdRepr'
+    }
+  },
+  /**
+   * Lookup432: pallet_evm_contract_helpers::SponsoringModeT
+   **/
   PalletEvmContractHelpersSponsoringModeT: {
     _enum: ['Disabled', 'Allowlisted', 'Generous']
   },
   /**
-   * Lookup433: pallet_evm_contract_helpers::pallet::Error<T>
+   * Lookup434: pallet_evm_contract_helpers::pallet::Error<T>
    **/
   PalletEvmContractHelpersError: {
-    _enum: ['NoPermission']
+    _enum: ['NoPermission', 'NoPendingSponsor']
   },
   /**
-   * Lookup434: pallet_evm_migration::pallet::Error<T>
+   * Lookup435: pallet_evm_migration::pallet::Error<T>
    **/
   PalletEvmMigrationError: {
     _enum: ['AccountNotEmpty', 'AccountIsNotMigrating']
   },
   /**
-   * Lookup436: sp_runtime::MultiSignature
+   * Lookup437: sp_runtime::MultiSignature
    **/
   SpRuntimeMultiSignature: {
     _enum: {
@@ -3214,43 +3224,43 @@
     }
   },
   /**
-   * Lookup437: sp_core::ed25519::Signature
+   * Lookup438: sp_core::ed25519::Signature
    **/
   SpCoreEd25519Signature: '[u8;64]',
   /**
-   * Lookup439: sp_core::sr25519::Signature
+   * Lookup440: sp_core::sr25519::Signature
    **/
   SpCoreSr25519Signature: '[u8;64]',
   /**
-   * Lookup440: sp_core::ecdsa::Signature
+   * Lookup441: sp_core::ecdsa::Signature
    **/
   SpCoreEcdsaSignature: '[u8;65]',
   /**
-   * Lookup443: frame_system::extensions::check_spec_version::CheckSpecVersion<T>
+   * Lookup444: frame_system::extensions::check_spec_version::CheckSpecVersion<T>
    **/
   FrameSystemExtensionsCheckSpecVersion: 'Null',
   /**
-   * Lookup444: frame_system::extensions::check_genesis::CheckGenesis<T>
+   * Lookup445: frame_system::extensions::check_genesis::CheckGenesis<T>
    **/
   FrameSystemExtensionsCheckGenesis: 'Null',
   /**
-   * Lookup447: frame_system::extensions::check_nonce::CheckNonce<T>
+   * Lookup448: frame_system::extensions::check_nonce::CheckNonce<T>
    **/
   FrameSystemExtensionsCheckNonce: 'Compact<u32>',
   /**
-   * Lookup448: frame_system::extensions::check_weight::CheckWeight<T>
+   * Lookup449: frame_system::extensions::check_weight::CheckWeight<T>
    **/
   FrameSystemExtensionsCheckWeight: 'Null',
   /**
-   * Lookup449: pallet_template_transaction_payment::ChargeTransactionPayment<opal_runtime::Runtime>
+   * Lookup450: pallet_template_transaction_payment::ChargeTransactionPayment<opal_runtime::Runtime>
    **/
   PalletTemplateTransactionPaymentChargeTransactionPayment: 'Compact<u128>',
   /**
-   * Lookup450: opal_runtime::Runtime
+   * Lookup451: opal_runtime::Runtime
    **/
   OpalRuntimeRuntime: 'Null',
   /**
-   * Lookup451: pallet_ethereum::FakeTransactionFinalizer<opal_runtime::Runtime>
+   * Lookup452: pallet_ethereum::FakeTransactionFinalizer<opal_runtime::Runtime>
    **/
   PalletEthereumFakeTransactionFinalizer: 'Null'
 };
modifiedtests/src/interfaces/registry.tsdiffbeforeafterboth
--- a/tests/src/interfaces/registry.ts
+++ b/tests/src/interfaces/registry.ts
@@ -5,7 +5,7 @@
 // this is required to allow for ambient/previous definitions
 import '@polkadot/types/types/registry';
 
-import type { CumulusPalletDmpQueueCall, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueueError, CumulusPalletDmpQueueEvent, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCall, CumulusPalletParachainSystemError, CumulusPalletParachainSystemEvent, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmCall, CumulusPalletXcmError, CumulusPalletXcmEvent, CumulusPalletXcmOrigin, 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, FrameSupportDispatchRawOrigin, FrameSupportPalletId, FrameSupportScheduleLookupError, FrameSupportScheduleMaybeHashed, FrameSupportTokensMiscBalanceStatus, FrameSupportWeightsDispatchClass, FrameSupportWeightsDispatchInfo, FrameSupportWeightsPays, FrameSupportWeightsPerDispatchClassU32, FrameSupportWeightsPerDispatchClassU64, FrameSupportWeightsPerDispatchClassWeightsPerClass, FrameSupportWeightsRuntimeDbWeight, FrameSystemAccountInfo, FrameSystemCall, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckNonce, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, OpalRuntimeOriginCaller, OpalRuntimeRuntime, OrmlVestingModuleCall, OrmlVestingModuleError, OrmlVestingModuleEvent, OrmlVestingVestingSchedule, PalletAppPromotionCall, PalletAppPromotionError, PalletAppPromotionEvent, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesReasons, PalletBalancesReleases, PalletBalancesReserveData, PalletCommonError, PalletCommonEvent, PalletConfigurationCall, PalletEthereumCall, PalletEthereumError, PalletEthereumEvent, PalletEthereumFakeTransactionFinalizer, PalletEthereumRawOrigin, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmCall, PalletEvmCoderSubstrateError, PalletEvmContractHelpersError, PalletEvmContractHelpersSponsoringModeT, PalletEvmError, PalletEvmEvent, PalletEvmMigrationCall, PalletEvmMigrationError, PalletFungibleError, PalletInflationCall, PalletNonfungibleError, PalletNonfungibleItemData, PalletRefungibleError, PalletRefungibleItemData, PalletRmrkCoreCall, PalletRmrkCoreError, PalletRmrkCoreEvent, PalletRmrkEquipCall, PalletRmrkEquipError, PalletRmrkEquipEvent, PalletStructureCall, PalletStructureError, PalletStructureEvent, PalletSudoCall, PalletSudoError, PalletSudoEvent, PalletTemplateTransactionPaymentCall, PalletTemplateTransactionPaymentChargeTransactionPayment, PalletTimestampCall, PalletTransactionPaymentEvent, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUniqueCall, PalletUniqueError, PalletUniqueRawEvent, PalletUniqueSchedulerCall, PalletUniqueSchedulerError, PalletUniqueSchedulerEvent, PalletUniqueSchedulerScheduledV3, PalletXcmCall, PalletXcmError, PalletXcmEvent, PalletXcmOrigin, 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, SpCoreVoid, SpRuntimeArithmeticError, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpRuntimeTransactionalError, SpTrieStorageProof, SpVersionRuntimeVersion, 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, UpDataStructsSponsoringRateLimit, UpDataStructsSponsorshipState, 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, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from '@polkadot/types/lookup';
+import type { CumulusPalletDmpQueueCall, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueueError, CumulusPalletDmpQueueEvent, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCall, CumulusPalletParachainSystemError, CumulusPalletParachainSystemEvent, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmCall, CumulusPalletXcmError, CumulusPalletXcmEvent, CumulusPalletXcmOrigin, 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, FrameSupportDispatchRawOrigin, FrameSupportPalletId, FrameSupportScheduleLookupError, FrameSupportScheduleMaybeHashed, FrameSupportTokensMiscBalanceStatus, FrameSupportWeightsDispatchClass, FrameSupportWeightsDispatchInfo, FrameSupportWeightsPays, FrameSupportWeightsPerDispatchClassU32, FrameSupportWeightsPerDispatchClassU64, FrameSupportWeightsPerDispatchClassWeightsPerClass, FrameSupportWeightsRuntimeDbWeight, FrameSystemAccountInfo, FrameSystemCall, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckNonce, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, OpalRuntimeOriginCaller, OpalRuntimeRuntime, OrmlVestingModuleCall, OrmlVestingModuleError, OrmlVestingModuleEvent, OrmlVestingVestingSchedule, PalletAppPromotionCall, PalletAppPromotionError, PalletAppPromotionEvent, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesReasons, PalletBalancesReleases, PalletBalancesReserveData, PalletCommonError, PalletCommonEvent, PalletConfigurationCall, PalletEthereumCall, PalletEthereumError, PalletEthereumEvent, PalletEthereumFakeTransactionFinalizer, PalletEthereumRawOrigin, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmCall, PalletEvmCoderSubstrateError, PalletEvmContractHelpersError, PalletEvmContractHelpersSponsoringModeT, PalletEvmError, PalletEvmEvent, PalletEvmMigrationCall, PalletEvmMigrationError, PalletFungibleError, PalletInflationCall, PalletNonfungibleError, PalletNonfungibleItemData, PalletRefungibleError, PalletRefungibleItemData, PalletRmrkCoreCall, PalletRmrkCoreError, PalletRmrkCoreEvent, PalletRmrkEquipCall, PalletRmrkEquipError, PalletRmrkEquipEvent, PalletStructureCall, PalletStructureError, PalletStructureEvent, PalletSudoCall, PalletSudoError, PalletSudoEvent, PalletTemplateTransactionPaymentCall, PalletTemplateTransactionPaymentChargeTransactionPayment, PalletTimestampCall, PalletTransactionPaymentEvent, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUniqueCall, PalletUniqueError, PalletUniqueRawEvent, PalletUniqueSchedulerCall, PalletUniqueSchedulerError, PalletUniqueSchedulerEvent, PalletUniqueSchedulerScheduledV3, PalletXcmCall, PalletXcmError, PalletXcmEvent, PalletXcmOrigin, 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, SpCoreVoid, SpRuntimeArithmeticError, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpRuntimeTransactionalError, SpTrieStorageProof, SpVersionRuntimeVersion, 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, 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, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from '@polkadot/types/lookup';
 
 declare module '@polkadot/types/types/registry' {
   interface InterfaceTypes {
@@ -216,7 +216,8 @@
     UpDataStructsPropertyScope: UpDataStructsPropertyScope;
     UpDataStructsRpcCollection: UpDataStructsRpcCollection;
     UpDataStructsSponsoringRateLimit: UpDataStructsSponsoringRateLimit;
-    UpDataStructsSponsorshipState: UpDataStructsSponsorshipState;
+    UpDataStructsSponsorshipStateAccountId32: UpDataStructsSponsorshipStateAccountId32;
+    UpDataStructsSponsorshipStateBasicCrossAccountIdRepr: UpDataStructsSponsorshipStateBasicCrossAccountIdRepr;
     UpDataStructsTokenChild: UpDataStructsTokenChild;
     UpDataStructsTokenData: UpDataStructsTokenData;
     XcmDoubleEncoded: XcmDoubleEncoded;
modifiedtests/src/interfaces/types-lookup.tsdiffbeforeafterboth
--- a/tests/src/interfaces/types-lookup.ts
+++ b/tests/src/interfaces/types-lookup.ts
@@ -3034,14 +3034,14 @@
     readonly name: Vec<u16>;
     readonly description: Vec<u16>;
     readonly tokenPrefix: Bytes;
-    readonly sponsorship: UpDataStructsSponsorshipState;
+    readonly sponsorship: UpDataStructsSponsorshipStateAccountId32;
     readonly limits: UpDataStructsCollectionLimits;
     readonly permissions: UpDataStructsCollectionPermissions;
     readonly externalCollection: bool;
   }
 
-  /** @name UpDataStructsSponsorshipState (361) */
-  interface UpDataStructsSponsorshipState extends Enum {
+  /** @name UpDataStructsSponsorshipStateAccountId32 (361) */
+  interface UpDataStructsSponsorshipStateAccountId32 extends Enum {
     readonly isDisabled: boolean;
     readonly isUnconfirmed: boolean;
     readonly asUnconfirmed: AccountId32;
@@ -3093,7 +3093,7 @@
     readonly name: Vec<u16>;
     readonly description: Vec<u16>;
     readonly tokenPrefix: Bytes;
-    readonly sponsorship: UpDataStructsSponsorshipState;
+    readonly sponsorship: UpDataStructsSponsorshipStateAccountId32;
     readonly limits: UpDataStructsCollectionLimits;
     readonly permissions: UpDataStructsCollectionPermissions;
     readonly tokenPropertyPermissions: Vec<UpDataStructsPropertyKeyPermission>;
@@ -3379,7 +3379,17 @@
     readonly type: 'OutOfGas' | 'OutOfFund';
   }
 
-  /** @name PalletEvmContractHelpersSponsoringModeT (431) */
+  /** @name UpDataStructsSponsorshipStateBasicCrossAccountIdRepr (431) */
+  interface UpDataStructsSponsorshipStateBasicCrossAccountIdRepr extends Enum {
+    readonly isDisabled: boolean;
+    readonly isUnconfirmed: boolean;
+    readonly asUnconfirmed: PalletEvmAccountBasicCrossAccountIdRepr;
+    readonly isConfirmed: boolean;
+    readonly asConfirmed: PalletEvmAccountBasicCrossAccountIdRepr;
+    readonly type: 'Disabled' | 'Unconfirmed' | 'Confirmed';
+  }
+
+  /** @name PalletEvmContractHelpersSponsoringModeT (432) */
   interface PalletEvmContractHelpersSponsoringModeT extends Enum {
     readonly isDisabled: boolean;
     readonly isAllowlisted: boolean;
@@ -3387,20 +3397,21 @@
     readonly type: 'Disabled' | 'Allowlisted' | 'Generous';
   }
 
-  /** @name PalletEvmContractHelpersError (433) */
+  /** @name PalletEvmContractHelpersError (434) */
   interface PalletEvmContractHelpersError extends Enum {
     readonly isNoPermission: boolean;
-    readonly type: 'NoPermission';
+    readonly isNoPendingSponsor: boolean;
+    readonly type: 'NoPermission' | 'NoPendingSponsor';
   }
 
-  /** @name PalletEvmMigrationError (434) */
+  /** @name PalletEvmMigrationError (435) */
   interface PalletEvmMigrationError extends Enum {
     readonly isAccountNotEmpty: boolean;
     readonly isAccountIsNotMigrating: boolean;
     readonly type: 'AccountNotEmpty' | 'AccountIsNotMigrating';
   }
 
-  /** @name SpRuntimeMultiSignature (436) */
+  /** @name SpRuntimeMultiSignature (437) */
   interface SpRuntimeMultiSignature extends Enum {
     readonly isEd25519: boolean;
     readonly asEd25519: SpCoreEd25519Signature;
@@ -3411,34 +3422,34 @@
     readonly type: 'Ed25519' | 'Sr25519' | 'Ecdsa';
   }
 
-  /** @name SpCoreEd25519Signature (437) */
+  /** @name SpCoreEd25519Signature (438) */
   interface SpCoreEd25519Signature extends U8aFixed {}
 
-  /** @name SpCoreSr25519Signature (439) */
+  /** @name SpCoreSr25519Signature (440) */
   interface SpCoreSr25519Signature extends U8aFixed {}
 
-  /** @name SpCoreEcdsaSignature (440) */
+  /** @name SpCoreEcdsaSignature (441) */
   interface SpCoreEcdsaSignature extends U8aFixed {}
 
-  /** @name FrameSystemExtensionsCheckSpecVersion (443) */
+  /** @name FrameSystemExtensionsCheckSpecVersion (444) */
   type FrameSystemExtensionsCheckSpecVersion = Null;
 
-  /** @name FrameSystemExtensionsCheckGenesis (444) */
+  /** @name FrameSystemExtensionsCheckGenesis (445) */
   type FrameSystemExtensionsCheckGenesis = Null;
 
-  /** @name FrameSystemExtensionsCheckNonce (447) */
+  /** @name FrameSystemExtensionsCheckNonce (448) */
   interface FrameSystemExtensionsCheckNonce extends Compact<u32> {}
 
-  /** @name FrameSystemExtensionsCheckWeight (448) */
+  /** @name FrameSystemExtensionsCheckWeight (449) */
   type FrameSystemExtensionsCheckWeight = Null;
 
-  /** @name PalletTemplateTransactionPaymentChargeTransactionPayment (449) */
+  /** @name PalletTemplateTransactionPaymentChargeTransactionPayment (450) */
   interface PalletTemplateTransactionPaymentChargeTransactionPayment extends Compact<u128> {}
 
-  /** @name OpalRuntimeRuntime (450) */
+  /** @name OpalRuntimeRuntime (451) */
   type OpalRuntimeRuntime = Null;
 
-  /** @name PalletEthereumFakeTransactionFinalizer (451) */
+  /** @name PalletEthereumFakeTransactionFinalizer (452) */
   type PalletEthereumFakeTransactionFinalizer = Null;
 
 } // declare module
modifiedtests/src/util/playgrounds/index.tsdiffbeforeafterboth
--- a/tests/src/util/playgrounds/index.ts
+++ b/tests/src/util/playgrounds/index.ts
@@ -4,9 +4,7 @@
 import {IKeyringPair} from '@polkadot/types/types';
 import config from '../../config';
 import '../../interfaces/augment-api-events';
-import * as defs from '../../interfaces/definitions';
-import {ApiPromise, WsProvider} from '@polkadot/api';
-import { UniqueHelper } from './unique';
+import {DevUniqueHelper} from './unique.dev';
 
 
 class SilentLogger {
@@ -19,45 +17,9 @@
 }
 
 
-class DevUniqueHelper extends UniqueHelper {
-  async connect(wsEndpoint: string, listeners?: any): Promise<void> {
-    const wsProvider = new WsProvider(wsEndpoint);
-    this.api = new ApiPromise({
-      provider: wsProvider, 
-      signedExtensions: {
-        ContractHelpers: {
-          extrinsic: {},
-          payload: {},
-        },
-        FakeTransactionFinalizer: {
-          extrinsic: {},
-          payload: {},
-        },
-      },
-      rpc: {
-        unique: defs.unique.rpc,
-        rmrk: defs.rmrk.rpc,
-        eth: {
-          feeHistory: {
-            description: 'Dummy',
-            params: [],
-            type: 'u8',
-          },
-          maxPriorityFeePerGas: {
-            description: 'Dummy',
-            params: [],
-            type: 'u8',
-          },
-        },
-      },
-    });
-    await this.api.isReadyOrError;
-    this.network = await UniqueHelper.detectNetwork(this.api);
-  }
-}
 
 
-export const usingPlaygrounds = async <T = void> (code: (helper: UniqueHelper, privateKey: (seed: string) => IKeyringPair) => Promise<T>) => {
+export const usingPlaygrounds = async <T = void> (code: (helper: DevUniqueHelper, privateKey: (seed: string) => IKeyringPair) => Promise<T>) => {
   // TODO: Remove, this is temporary: Filter unneeded API output
   // (Jaco promised it will be removed in the next version)
   const consoleErr = console.error;