git.delta.rocks / unique-network / refs/commits / 554134b0f679

difftreelog

Fix after rebase

Trubnikov Sergey2022-05-12parent: #fe6b71b.patch.diff
in: master

15 files changed

modifiedCargo.lockdiffbeforeafterboth
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -989,9 +989,9 @@
 
 [[package]]
 name = "camino"
-version = "1.0.9"
+version = "1.0.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "869119e97797867fd90f5e22af7d0bd274bd4635ebb9eb68c04f3f513ae6c412"
+checksum = "07fd178c5af4d59e83498ef15cf3f154e1a6f9d091270cb86283c65ef44e9ef0"
 dependencies = [
  "serde",
 ]
@@ -6099,6 +6099,29 @@
 ]
 
 [[package]]
+name = "pallet-evm-collection"
+version = "0.1.0"
+dependencies = [
+ "ethereum",
+ "evm-coder",
+ "fp-evm-mapping",
+ "frame-support",
+ "frame-system",
+ "log",
+ "pallet-common",
+ "pallet-evm",
+ "pallet-evm-coder-substrate",
+ "pallet-nonfungible",
+ "parity-scale-codec",
+ "scale-info",
+ "serde_json",
+ "sp-core",
+ "sp-runtime",
+ "sp-std",
+ "up-data-structs",
+]
+
+[[package]]
 name = "pallet-evm-contract-helpers"
 version = "0.1.0"
 dependencies = [
modifiedpallets/evm-collection/src/stubs/Collection.rawdiffbeforeafterboth

binary blob — no preview

modifiedpallets/evm-collection/src/stubs/Collection.soldiffbeforeafterboth
--- a/pallets/evm-collection/src/stubs/Collection.sol
+++ b/pallets/evm-collection/src/stubs/Collection.sol
@@ -56,13 +56,13 @@
 	}
 
 	// Selector: setOffchainSchema(address,string) 2c9d9d70
-	function setOffchainSchema(address collectionAddress, string memory shema)
+	function setOffchainSchema(address collectionAddress, string memory schema)
 		public
 		view
 	{
 		require(false, stub_error);
 		collectionAddress;
-		shema;
+		schema;
 		dummy;
 	}
 
modifiedpallets/evm-contract-helpers/Cargo.tomldiffbeforeafterboth
--- a/pallets/evm-contract-helpers/Cargo.toml
+++ b/pallets/evm-contract-helpers/Cargo.toml
@@ -28,7 +28,7 @@
 pallet-common = { default-features = false, path = '../../pallets/common' }
 pallet-evm-coder-substrate = { default-features = false, path = '../../pallets/evm-coder-substrate' }
 pallet-nonfungible = { default-features = false, path = '../../pallets/nonfungible' }
-up-data-structs = { default-features = false, path = '../../primitives/data-structs' }
+up-data-structs = { default-features = false, path = '../../primitives/data-structs', features = ['serde1'] }
 
 [dependencies.codec]
 default-features = false
modifiedprimitives/rpc/src/lib.rsdiffbeforeafterboth
--- a/primitives/rpc/src/lib.rs
+++ b/primitives/rpc/src/lib.rs
@@ -23,6 +23,7 @@
 use sp_std::vec::Vec;
 use codec::Decode;
 use sp_runtime::DispatchError;
+use sp_core::H160;
 
 type Result<T> = core::result::Result<T, DispatchError>;
 
@@ -71,6 +72,7 @@
 			token: TokenId,
 		) -> Result<u128>;
 
+		fn eth_contract_code(account: H160) -> Option<Vec<u8>>;
 		fn adminlist(collection: CollectionId) -> Result<Vec<CrossAccountId>>;
 		fn allowlist(collection: CollectionId) -> Result<Vec<CrossAccountId>>;
 		fn allowed(collection: CollectionId, user: CrossAccountId) -> Result<bool>;
modifiedruntime/opal/src/lib.rsdiffbeforeafterboth
--- a/runtime/opal/src/lib.rs
+++ b/runtime/opal/src/lib.rs
@@ -79,7 +79,7 @@
 };
 use smallvec::smallvec;
 use codec::{Encode, Decode};
-use pallet_evm::{Account as EVMAccount, FeeCalculator, GasWeightMapping};
+use pallet_evm::{Account as EVMAccount, FeeCalculator, GasWeightMapping, OnMethodCall};
 use fp_rpc::TransactionStatus;
 use sp_runtime::{
 	traits::{BlockNumberProvider, Dispatchable, PostDispatchInfoOf, Saturating},
modifiedruntime/unique/src/lib.rsdiffbeforeafterboth
--- a/runtime/unique/src/lib.rs
+++ b/runtime/unique/src/lib.rs
@@ -84,7 +84,7 @@
 };
 use smallvec::smallvec;
 use codec::{Encode, Decode};
-use pallet_evm::{Account as EVMAccount, FeeCalculator, GasWeightMapping};
+use pallet_evm::{Account as EVMAccount, FeeCalculator, GasWeightMapping, OnMethodCall};
 use fp_rpc::TransactionStatus;
 use sp_runtime::{
 	traits::{BlockNumberProvider, Dispatchable, PostDispatchInfoOf, Saturating},
modifiedtests/src/eth/api/Collection.soldiffbeforeafterboth
--- a/tests/src/eth/api/Collection.sol
+++ b/tests/src/eth/api/Collection.sol
@@ -30,7 +30,7 @@
 	function confirmSponsorship(address collectionAddress) external view;
 
 	// Selector: setOffchainSchema(address,string) 2c9d9d70
-	function setOffchainSchema(address collectionAddress, string memory shema)
+	function setOffchainSchema(address collectionAddress, string memory schema)
 		external
 		view;
 
modifiedtests/src/eth/collectionAbi.jsondiffbeforeafterboth
--- a/tests/src/eth/collectionAbi.json
+++ b/tests/src/eth/collectionAbi.json
@@ -58,7 +58,7 @@
         "name": "collectionAddress",
         "type": "address"
       },
-      { "internalType": "string", "name": "shema", "type": "string" }
+      { "internalType": "string", "name": "schema", "type": "string" }
     ],
     "name": "setOffchainSchema",
     "outputs": [],
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 */34import type { ApiTypes } from '@polkadot/api-base/types';56declare module '@polkadot/api-base/types/errors' {7  export interface AugmentedErrors<ApiType extends ApiTypes> {8    balances: {9      /**10       * Beneficiary account must pre-exist11       **/12      DeadAccount: AugmentedError<ApiType>;13      /**14       * Value too low to create account due to existential deposit15       **/16      ExistentialDeposit: AugmentedError<ApiType>;17      /**18       * A vesting schedule already exists for this account19       **/20      ExistingVestingSchedule: AugmentedError<ApiType>;21      /**22       * Balance too low to send value23       **/24      InsufficientBalance: AugmentedError<ApiType>;25      /**26       * Transfer/payment would kill account27       **/28      KeepAlive: AugmentedError<ApiType>;29      /**30       * Account liquidity restrictions prevent withdrawal31       **/32      LiquidityRestrictions: AugmentedError<ApiType>;33      /**34       * Number of named reserves exceed MaxReserves35       **/36      TooManyReserves: AugmentedError<ApiType>;37      /**38       * Vesting balance too high to send value39       **/40      VestingBalance: AugmentedError<ApiType>;41      /**42       * Generic error43       **/44      [key: string]: AugmentedError<ApiType>;45    };46    common: {47      /**48       * Account token limit exceeded per collection49       **/50      AccountTokenLimitExceeded: AugmentedError<ApiType>;51      /**52       * Can't transfer tokens to ethereum zero address53       **/54      AddressIsZero: AugmentedError<ApiType>;55      /**56       * Address is not in allow list.57       **/58      AddressNotInAllowlist: AugmentedError<ApiType>;59      /**60       * Requested value more than approved.61       **/62      ApprovedValueTooLow: AugmentedError<ApiType>;63      /**64       * Tried to approve more than owned65       **/66      CantApproveMoreThanOwned: AugmentedError<ApiType>;67      /**68       * Exceeded max admin count69       **/70      CollectionAdminCountExceeded: AugmentedError<ApiType>;71      /**72       * Collection description can not be longer than 255 char.73       **/74      CollectionDescriptionLimitExceeded: AugmentedError<ApiType>;75      /**76       * Tried to store more data than allowed in collection field77       **/78      CollectionFieldSizeExceeded: AugmentedError<ApiType>;79      /**80       * Collection limit bounds per collection exceeded81       **/82      CollectionLimitBoundsExceeded: AugmentedError<ApiType>;83      /**84       * Collection name can not be longer than 63 char.85       **/86      CollectionNameLimitExceeded: AugmentedError<ApiType>;87      /**88       * This collection does not exist.89       **/90      CollectionNotFound: AugmentedError<ApiType>;91      /**92       * Collection token limit exceeded93       **/94      CollectionTokenLimitExceeded: AugmentedError<ApiType>;95      /**96       * Token prefix can not be longer than 15 char.97       **/98      CollectionTokenPrefixLimitExceeded: AugmentedError<ApiType>;99      /**100       * Empty property keys are forbidden101       **/102      EmptyPropertyKey: AugmentedError<ApiType>;103      /**104       * Only ASCII letters, digits, and '_', '-' are allowed105       **/106      InvalidCharacterInPropertyKey: AugmentedError<ApiType>;107      /**108       * Metadata flag frozen109       **/110      MetadataFlagFrozen: AugmentedError<ApiType>;111      /**112       * Sender parameter and item owner must be equal.113       **/114      MustBeTokenOwner: AugmentedError<ApiType>;115      /**116       * Collection has nesting disabled117       **/118      NestingIsDisabled: AugmentedError<ApiType>;119      /**120       * No permission to perform action121       **/122      NoPermission: AugmentedError<ApiType>;123      /**124       * Tried to store more property data than allowed125       **/126      NoSpaceForProperty: AugmentedError<ApiType>;127      /**128       * Not sufficient founds to perform action129       **/130      NotSufficientFounds: AugmentedError<ApiType>;131      /**132       * Only owner may nest tokens under this collection133       **/134      OnlyOwnerAllowedToNest: AugmentedError<ApiType>;135      /**136       * Tried to enable permissions which are only permitted to be disabled137       **/138      OwnerPermissionsCantBeReverted: AugmentedError<ApiType>;139      /**140       * Property key is too long141       **/142      PropertyKeyIsTooLong: AugmentedError<ApiType>;143      /**144       * Tried to store more property keys than allowed145       **/146      PropertyLimitReached: AugmentedError<ApiType>;147      /**148       * Collection is not in mint mode.149       **/150      PublicMintingNotAllowed: AugmentedError<ApiType>;151      /**152       * Only tokens from specific collections may nest tokens under this153       **/154      SourceCollectionIsNotAllowedToNest: AugmentedError<ApiType>;155      /**156       * Item not exists.157       **/158      TokenNotFound: AugmentedError<ApiType>;159      /**160       * Item balance not enough.161       **/162      TokenValueTooLow: AugmentedError<ApiType>;163      /**164       * Total collections bound exceeded.165       **/166      TotalCollectionsLimitExceeded: AugmentedError<ApiType>;167      /**168       * Collection settings not allowing items transferring169       **/170      TransferNotAllowed: AugmentedError<ApiType>;171      /**172       * Target collection doesn't supports this operation173       **/174      UnsupportedOperation: AugmentedError<ApiType>;175      /**176       * Generic error177       **/178      [key: string]: AugmentedError<ApiType>;179    };180    cumulusXcm: {181      /**182       * Generic error183       **/184      [key: string]: AugmentedError<ApiType>;185    };186    dmpQueue: {187      /**188       * The amount of weight given is possibly not enough for executing the message.189       **/190      OverLimit: AugmentedError<ApiType>;191      /**192       * The message index given is unknown.193       **/194      Unknown: AugmentedError<ApiType>;195      /**196       * Generic error197       **/198      [key: string]: AugmentedError<ApiType>;199    };200    ethereum: {201      /**202       * Signature is invalid.203       **/204      InvalidSignature: AugmentedError<ApiType>;205      /**206       * Pre-log is present, therefore transact is not allowed.207       **/208      PreLogExists: AugmentedError<ApiType>;209      /**210       * Generic error211       **/212      [key: string]: AugmentedError<ApiType>;213    };214    evm: {215      /**216       * Not enough balance to perform action217       **/218      BalanceLow: AugmentedError<ApiType>;219      /**220       * Calculating total fee overflowed221       **/222      FeeOverflow: AugmentedError<ApiType>;223      /**224       * Gas price is too low.225       **/226      GasPriceTooLow: AugmentedError<ApiType>;227      /**228       * Nonce is invalid229       **/230      InvalidNonce: AugmentedError<ApiType>;231      /**232       * Calculating total payment overflowed233       **/234      PaymentOverflow: AugmentedError<ApiType>;235      /**236       * Withdraw fee failed237       **/238      WithdrawFailed: AugmentedError<ApiType>;239      /**240       * Generic error241       **/242      [key: string]: AugmentedError<ApiType>;243    };244    evmCoderSubstrate: {245      OutOfFund: AugmentedError<ApiType>;246      OutOfGas: AugmentedError<ApiType>;247      /**248       * Generic error249       **/250      [key: string]: AugmentedError<ApiType>;251    };252    evmContractHelpers: {253      /**254       * This method is only executable by owner255       **/256      NoPermission: AugmentedError<ApiType>;257      /**258       * Generic error259       **/260      [key: string]: AugmentedError<ApiType>;261    };262    evmMigration: {263      AccountIsNotMigrating: AugmentedError<ApiType>;264      AccountNotEmpty: AugmentedError<ApiType>;265      /**266       * Generic error267       **/268      [key: string]: AugmentedError<ApiType>;269    };270    fungible: {271      /**272       * Fungible token does not support nested273       **/274      FungibleDisallowsNesting: AugmentedError<ApiType>;275      /**276       * Tried to set data for fungible item277       **/278      FungibleItemsDontHaveData: AugmentedError<ApiType>;279      /**280       * Not default id passed as TokenId argument281       **/282      FungibleItemsHaveNoId: AugmentedError<ApiType>;283      /**284       * Not Fungible item data used to mint in Fungible collection.285       **/286      NotFungibleDataUsedToMintFungibleCollectionToken: AugmentedError<ApiType>;287      /**288       * Setting item properties is not allowed289       **/290      SettingPropertiesNotAllowed: AugmentedError<ApiType>;291      /**292       * Generic error293       **/294      [key: string]: AugmentedError<ApiType>;295    };296    nonfungible: {297      /**298       * Used amount > 1 with NFT299       **/300      NonfungibleItemsHaveNoAmount: AugmentedError<ApiType>;301      /**302       * Not Nonfungible item data used to mint in Nonfungible collection.303       **/304      NotNonfungibleDataUsedToMintFungibleCollectionToken: AugmentedError<ApiType>;305      /**306       * Generic error307       **/308      [key: string]: AugmentedError<ApiType>;309    };310    parachainSystem: {311      /**312       * The inherent which supplies the host configuration did not run this block313       **/314      HostConfigurationNotAvailable: AugmentedError<ApiType>;315      /**316       * No code upgrade has been authorized.317       **/318      NothingAuthorized: AugmentedError<ApiType>;319      /**320       * No validation function upgrade is currently scheduled.321       **/322      NotScheduled: AugmentedError<ApiType>;323      /**324       * Attempt to upgrade validation function while existing upgrade pending325       **/326      OverlappingUpgrades: AugmentedError<ApiType>;327      /**328       * Polkadot currently prohibits this parachain from upgrading its validation function329       **/330      ProhibitedByPolkadot: AugmentedError<ApiType>;331      /**332       * The supplied validation function has compiled into a blob larger than Polkadot is333       * willing to run334       **/335      TooBig: AugmentedError<ApiType>;336      /**337       * The given code upgrade has not been authorized.338       **/339      Unauthorized: AugmentedError<ApiType>;340      /**341       * The inherent which supplies the validation data did not run this block342       **/343      ValidationDataNotAvailable: AugmentedError<ApiType>;344      /**345       * Generic error346       **/347      [key: string]: AugmentedError<ApiType>;348    };349    polkadotXcm: {350      /**351       * The location is invalid since it already has a subscription from us.352       **/353      AlreadySubscribed: AugmentedError<ApiType>;354      /**355       * The given location could not be used (e.g. because it cannot be expressed in the356       * desired version of XCM).357       **/358      BadLocation: AugmentedError<ApiType>;359      /**360       * The version of the `Versioned` value used is not able to be interpreted.361       **/362      BadVersion: AugmentedError<ApiType>;363      /**364       * Could not re-anchor the assets to declare the fees for the destination chain.365       **/366      CannotReanchor: AugmentedError<ApiType>;367      /**368       * The destination `MultiLocation` provided cannot be inverted.369       **/370      DestinationNotInvertible: AugmentedError<ApiType>;371      /**372       * The assets to be sent are empty.373       **/374      Empty: AugmentedError<ApiType>;375      /**376       * The message execution fails the filter.377       **/378      Filtered: AugmentedError<ApiType>;379      /**380       * Origin is invalid for sending.381       **/382      InvalidOrigin: AugmentedError<ApiType>;383      /**384       * The referenced subscription could not be found.385       **/386      NoSubscription: AugmentedError<ApiType>;387      /**388       * There was some other issue (i.e. not to do with routing) in sending the message. Perhaps389       * a lack of space for buffering the message.390       **/391      SendFailure: AugmentedError<ApiType>;392      /**393       * Too many assets have been attempted for transfer.394       **/395      TooManyAssets: AugmentedError<ApiType>;396      /**397       * The desired destination was unreachable, generally because there is a no way of routing398       * to it.399       **/400      Unreachable: AugmentedError<ApiType>;401      /**402       * The message's weight could not be determined.403       **/404      UnweighableMessage: AugmentedError<ApiType>;405      /**406       * Generic error407       **/408      [key: string]: AugmentedError<ApiType>;409    };410    refungible: {411      /**412       * Not Refungible item data used to mint in Refungible collection.413       **/414      NotRefungibleDataUsedToMintFungibleCollectionToken: AugmentedError<ApiType>;415      /**416       * Refungible token can't nest other tokens417       **/418      RefungibleDisallowsNesting: AugmentedError<ApiType>;419      /**420       * Setting item properties is not allowed421       **/422      SettingPropertiesNotAllowed: AugmentedError<ApiType>;423      /**424       * Maximum refungibility exceeded425       **/426      WrongRefungiblePieces: AugmentedError<ApiType>;427      /**428       * Generic error429       **/430      [key: string]: AugmentedError<ApiType>;431    };432    rmrkCore: {433      CollectionFullOrLocked: AugmentedError<ApiType>;434      CollectionNotEmpty: AugmentedError<ApiType>;435      CollectionUnknown: AugmentedError<ApiType>;436      CorruptedCollectionType: AugmentedError<ApiType>;437      NftTypeEncodeError: AugmentedError<ApiType>;438      NoAvailableCollectionId: AugmentedError<ApiType>;439      NoAvailableNftId: AugmentedError<ApiType>;440      NoPermission: AugmentedError<ApiType>;441      RmrkPropertyKeyIsTooLong: AugmentedError<ApiType>;442      RmrkPropertyValueIsTooLong: AugmentedError<ApiType>;443      /**444       * Generic error445       **/446      [key: string]: AugmentedError<ApiType>;447    };448    rmrkEquip: {449      BaseDoesntExist: AugmentedError<ApiType>;450      NeedsDefaultThemeFirst: AugmentedError<ApiType>;451      NoAvailableBaseId: AugmentedError<ApiType>;452      NoAvailablePartId: AugmentedError<ApiType>;453      PermissionError: AugmentedError<ApiType>;454      /**455       * Generic error456       **/457      [key: string]: AugmentedError<ApiType>;458    };459    structure: {460      /**461       * While searched for owner, encountered depth limit462       **/463      DepthLimit: AugmentedError<ApiType>;464      /**465       * While searched for owner, got already checked account466       **/467      OuroborosDetected: AugmentedError<ApiType>;468      /**469       * While searched for owner, found token owner by not-yet-existing token470       **/471      TokenNotFound: AugmentedError<ApiType>;472      /**473       * Generic error474       **/475      [key: string]: AugmentedError<ApiType>;476    };477    sudo: {478      /**479       * Sender must be the Sudo account480       **/481      RequireSudo: AugmentedError<ApiType>;482      /**483       * Generic error484       **/485      [key: string]: AugmentedError<ApiType>;486    };487    system: {488      /**489       * The origin filter prevent the call to be dispatched.490       **/491      CallFiltered: AugmentedError<ApiType>;492      /**493       * Failed to extract the runtime version from the new runtime.494       * 495       * Either calling `Core_version` or decoding `RuntimeVersion` failed.496       **/497      FailedToExtractRuntimeVersion: AugmentedError<ApiType>;498      /**499       * The name of specification does not match between the current runtime500       * and the new runtime.501       **/502      InvalidSpecName: AugmentedError<ApiType>;503      /**504       * Suicide called when the account has non-default composite data.505       **/506      NonDefaultComposite: AugmentedError<ApiType>;507      /**508       * There is a non-zero reference count preventing the account from being purged.509       **/510      NonZeroRefCount: AugmentedError<ApiType>;511      /**512       * The specification version is not allowed to decrease between the current runtime513       * and the new runtime.514       **/515      SpecVersionNeedsToIncrease: AugmentedError<ApiType>;516      /**517       * Generic error518       **/519      [key: string]: AugmentedError<ApiType>;520    };521    treasury: {522      /**523       * Proposer's balance is too low.524       **/525      InsufficientProposersBalance: AugmentedError<ApiType>;526      /**527       * No proposal or bounty at that index.528       **/529      InvalidIndex: AugmentedError<ApiType>;530      /**531       * Too many approvals in the queue.532       **/533      TooManyApprovals: AugmentedError<ApiType>;534      /**535       * Generic error536       **/537      [key: string]: AugmentedError<ApiType>;538    };539    unique: {540      /**541       * Decimal_points parameter must be lower than MAX_DECIMAL_POINTS constant, currently it is 30.542       **/543      CollectionDecimalPointLimitExceeded: AugmentedError<ApiType>;544      /**545       * This address is not set as sponsor, use setCollectionSponsor first.546       **/547      ConfirmUnsetSponsorFail: AugmentedError<ApiType>;548      /**549       * Length of items properties must be greater than 0.550       **/551      EmptyArgument: AugmentedError<ApiType>;552      /**553       * Generic error554       **/555      [key: string]: AugmentedError<ApiType>;556    };557    vesting: {558      /**559       * The vested transfer amount is too low560       **/561      AmountLow: AugmentedError<ApiType>;562      /**563       * Insufficient amount of balance to lock564       **/565      InsufficientBalanceToLock: AugmentedError<ApiType>;566      /**567       * Failed because the maximum vesting schedules was exceeded568       **/569      MaxVestingSchedulesExceeded: AugmentedError<ApiType>;570      /**571       * This account have too many vesting schedules572       **/573      TooManyVestingSchedules: AugmentedError<ApiType>;574      /**575       * Vesting period is zero576       **/577      ZeroVestingPeriod: AugmentedError<ApiType>;578      /**579       * Number of vests is zero580       **/581      ZeroVestingPeriodCount: AugmentedError<ApiType>;582      /**583       * Generic error584       **/585      [key: string]: AugmentedError<ApiType>;586    };587    xcmpQueue: {588      /**589       * Bad overweight index.590       **/591      BadOverweightIndex: AugmentedError<ApiType>;592      /**593       * Bad XCM data.594       **/595      BadXcm: AugmentedError<ApiType>;596      /**597       * Bad XCM origin.598       **/599      BadXcmOrigin: AugmentedError<ApiType>;600      /**601       * Failed to send XCM message.602       **/603      FailedToSend: AugmentedError<ApiType>;604      /**605       * Provided weight is possibly not enough to execute the message.606       **/607      WeightOverLimit: AugmentedError<ApiType>;608      /**609       * Generic error610       **/611      [key: string]: AugmentedError<ApiType>;612    };613  } // AugmentedErrors614} // declare module
after · tests/src/interfaces/augment-api-errors.ts
1// Auto-generated via `yarn polkadot-types-from-chain`, do not edit2/* eslint-disable */34import type { ApiTypes } from '@polkadot/api-base/types';56declare module '@polkadot/api-base/types/errors' {7  export interface AugmentedErrors<ApiType extends ApiTypes> {8    balances: {9      /**10       * Beneficiary account must pre-exist11       **/12      DeadAccount: AugmentedError<ApiType>;13      /**14       * Value too low to create account due to existential deposit15       **/16      ExistentialDeposit: AugmentedError<ApiType>;17      /**18       * A vesting schedule already exists for this account19       **/20      ExistingVestingSchedule: AugmentedError<ApiType>;21      /**22       * Balance too low to send value23       **/24      InsufficientBalance: AugmentedError<ApiType>;25      /**26       * Transfer/payment would kill account27       **/28      KeepAlive: AugmentedError<ApiType>;29      /**30       * Account liquidity restrictions prevent withdrawal31       **/32      LiquidityRestrictions: AugmentedError<ApiType>;33      /**34       * Number of named reserves exceed MaxReserves35       **/36      TooManyReserves: AugmentedError<ApiType>;37      /**38       * Vesting balance too high to send value39       **/40      VestingBalance: AugmentedError<ApiType>;41      /**42       * Generic error43       **/44      [key: string]: AugmentedError<ApiType>;45    };46    common: {47      /**48       * Account token limit exceeded per collection49       **/50      AccountTokenLimitExceeded: AugmentedError<ApiType>;51      /**52       * Can't transfer tokens to ethereum zero address53       **/54      AddressIsZero: AugmentedError<ApiType>;55      /**56       * Address is not in allow list.57       **/58      AddressNotInAllowlist: AugmentedError<ApiType>;59      /**60       * Requested value more than approved.61       **/62      ApprovedValueTooLow: AugmentedError<ApiType>;63      /**64       * Tried to approve more than owned65       **/66      CantApproveMoreThanOwned: AugmentedError<ApiType>;67      /**68       * Exceeded max admin count69       **/70      CollectionAdminCountExceeded: AugmentedError<ApiType>;71      /**72       * Collection description can not be longer than 255 char.73       **/74      CollectionDescriptionLimitExceeded: AugmentedError<ApiType>;75      /**76       * Tried to store more data than allowed in collection field77       **/78      CollectionFieldSizeExceeded: AugmentedError<ApiType>;79      /**80       * Collection limit bounds per collection exceeded81       **/82      CollectionLimitBoundsExceeded: AugmentedError<ApiType>;83      /**84       * Collection name can not be longer than 63 char.85       **/86      CollectionNameLimitExceeded: AugmentedError<ApiType>;87      /**88       * This collection does not exist.89       **/90      CollectionNotFound: AugmentedError<ApiType>;91      /**92       * Collection token limit exceeded93       **/94      CollectionTokenLimitExceeded: AugmentedError<ApiType>;95      /**96       * Token prefix can not be longer than 15 char.97       **/98      CollectionTokenPrefixLimitExceeded: AugmentedError<ApiType>;99      /**100       * Empty property keys are forbidden101       **/102      EmptyPropertyKey: AugmentedError<ApiType>;103      /**104       * Only ASCII letters, digits, and '_', '-' are allowed105       **/106      InvalidCharacterInPropertyKey: AugmentedError<ApiType>;107      /**108       * Metadata flag frozen109       **/110      MetadataFlagFrozen: AugmentedError<ApiType>;111      /**112       * Sender parameter and item owner must be equal.113       **/114      MustBeTokenOwner: AugmentedError<ApiType>;115      /**116       * Collection has nesting disabled117       **/118      NestingIsDisabled: AugmentedError<ApiType>;119      /**120       * No permission to perform action121       **/122      NoPermission: AugmentedError<ApiType>;123      /**124       * Tried to store more property data than allowed125       **/126      NoSpaceForProperty: AugmentedError<ApiType>;127      /**128       * Not sufficient founds to perform action129       **/130      NotSufficientFounds: AugmentedError<ApiType>;131      /**132       * Only owner may nest tokens under this collection133       **/134      OnlyOwnerAllowedToNest: AugmentedError<ApiType>;135      /**136       * Tried to enable permissions which are only permitted to be disabled137       **/138      OwnerPermissionsCantBeReverted: AugmentedError<ApiType>;139      /**140       * Property key is too long141       **/142      PropertyKeyIsTooLong: AugmentedError<ApiType>;143      /**144       * Tried to store more property keys than allowed145       **/146      PropertyLimitReached: AugmentedError<ApiType>;147      /**148       * Collection is not in mint mode.149       **/150      PublicMintingNotAllowed: AugmentedError<ApiType>;151      /**152       * Only tokens from specific collections may nest tokens under this153       **/154      SourceCollectionIsNotAllowedToNest: AugmentedError<ApiType>;155      /**156       * Item not exists.157       **/158      TokenNotFound: AugmentedError<ApiType>;159      /**160       * Item balance not enough.161       **/162      TokenValueTooLow: AugmentedError<ApiType>;163      /**164       * Total collections bound exceeded.165       **/166      TotalCollectionsLimitExceeded: AugmentedError<ApiType>;167      /**168       * Collection settings not allowing items transferring169       **/170      TransferNotAllowed: AugmentedError<ApiType>;171      /**172       * Target collection doesn't supports this operation173       **/174      UnsupportedOperation: AugmentedError<ApiType>;175      /**176       * Generic error177       **/178      [key: string]: AugmentedError<ApiType>;179    };180    cumulusXcm: {181      /**182       * Generic error183       **/184      [key: string]: AugmentedError<ApiType>;185    };186    dmpQueue: {187      /**188       * The amount of weight given is possibly not enough for executing the message.189       **/190      OverLimit: AugmentedError<ApiType>;191      /**192       * The message index given is unknown.193       **/194      Unknown: AugmentedError<ApiType>;195      /**196       * Generic error197       **/198      [key: string]: AugmentedError<ApiType>;199    };200    ethereum: {201      /**202       * Signature is invalid.203       **/204      InvalidSignature: AugmentedError<ApiType>;205      /**206       * Pre-log is present, therefore transact is not allowed.207       **/208      PreLogExists: AugmentedError<ApiType>;209      /**210       * Generic error211       **/212      [key: string]: AugmentedError<ApiType>;213    };214    evm: {215      /**216       * Not enough balance to perform action217       **/218      BalanceLow: AugmentedError<ApiType>;219      /**220       * Calculating total fee overflowed221       **/222      FeeOverflow: AugmentedError<ApiType>;223      /**224       * Gas price is too low.225       **/226      GasPriceTooLow: AugmentedError<ApiType>;227      /**228       * Nonce is invalid229       **/230      InvalidNonce: AugmentedError<ApiType>;231      /**232       * Calculating total payment overflowed233       **/234      PaymentOverflow: AugmentedError<ApiType>;235      /**236       * Withdraw fee failed237       **/238      WithdrawFailed: AugmentedError<ApiType>;239      /**240       * Generic error241       **/242      [key: string]: AugmentedError<ApiType>;243    };244    evmCoderSubstrate: {245      OutOfFund: AugmentedError<ApiType>;246      OutOfGas: AugmentedError<ApiType>;247      /**248       * Generic error249       **/250      [key: string]: AugmentedError<ApiType>;251    };252    evmCollection: {253      /**254       * This method is only executable by owner255       **/256      NoPermission: AugmentedError<ApiType>;257      /**258       * Generic error259       **/260      [key: string]: AugmentedError<ApiType>;261    };262    evmContractHelpers: {263      /**264       * This method is only executable by owner265       **/266      NoPermission: AugmentedError<ApiType>;267      /**268       * Generic error269       **/270      [key: string]: AugmentedError<ApiType>;271    };272    evmMigration: {273      AccountIsNotMigrating: AugmentedError<ApiType>;274      AccountNotEmpty: AugmentedError<ApiType>;275      /**276       * Generic error277       **/278      [key: string]: AugmentedError<ApiType>;279    };280    fungible: {281      /**282       * Fungible token does not support nested283       **/284      FungibleDisallowsNesting: AugmentedError<ApiType>;285      /**286       * Tried to set data for fungible item287       **/288      FungibleItemsDontHaveData: AugmentedError<ApiType>;289      /**290       * Not default id passed as TokenId argument291       **/292      FungibleItemsHaveNoId: AugmentedError<ApiType>;293      /**294       * Not Fungible item data used to mint in Fungible collection.295       **/296      NotFungibleDataUsedToMintFungibleCollectionToken: AugmentedError<ApiType>;297      /**298       * Setting item properties is not allowed299       **/300      SettingPropertiesNotAllowed: AugmentedError<ApiType>;301      /**302       * Generic error303       **/304      [key: string]: AugmentedError<ApiType>;305    };306    nonfungible: {307      /**308       * Used amount > 1 with NFT309       **/310      NonfungibleItemsHaveNoAmount: AugmentedError<ApiType>;311      /**312       * Not Nonfungible item data used to mint in Nonfungible collection.313       **/314      NotNonfungibleDataUsedToMintFungibleCollectionToken: AugmentedError<ApiType>;315      /**316       * Generic error317       **/318      [key: string]: AugmentedError<ApiType>;319    };320    parachainSystem: {321      /**322       * The inherent which supplies the host configuration did not run this block323       **/324      HostConfigurationNotAvailable: AugmentedError<ApiType>;325      /**326       * No code upgrade has been authorized.327       **/328      NothingAuthorized: AugmentedError<ApiType>;329      /**330       * No validation function upgrade is currently scheduled.331       **/332      NotScheduled: AugmentedError<ApiType>;333      /**334       * Attempt to upgrade validation function while existing upgrade pending335       **/336      OverlappingUpgrades: AugmentedError<ApiType>;337      /**338       * Polkadot currently prohibits this parachain from upgrading its validation function339       **/340      ProhibitedByPolkadot: AugmentedError<ApiType>;341      /**342       * The supplied validation function has compiled into a blob larger than Polkadot is343       * willing to run344       **/345      TooBig: AugmentedError<ApiType>;346      /**347       * The given code upgrade has not been authorized.348       **/349      Unauthorized: AugmentedError<ApiType>;350      /**351       * The inherent which supplies the validation data did not run this block352       **/353      ValidationDataNotAvailable: AugmentedError<ApiType>;354      /**355       * Generic error356       **/357      [key: string]: AugmentedError<ApiType>;358    };359    polkadotXcm: {360      /**361       * The location is invalid since it already has a subscription from us.362       **/363      AlreadySubscribed: AugmentedError<ApiType>;364      /**365       * The given location could not be used (e.g. because it cannot be expressed in the366       * desired version of XCM).367       **/368      BadLocation: AugmentedError<ApiType>;369      /**370       * The version of the `Versioned` value used is not able to be interpreted.371       **/372      BadVersion: AugmentedError<ApiType>;373      /**374       * Could not re-anchor the assets to declare the fees for the destination chain.375       **/376      CannotReanchor: AugmentedError<ApiType>;377      /**378       * The destination `MultiLocation` provided cannot be inverted.379       **/380      DestinationNotInvertible: AugmentedError<ApiType>;381      /**382       * The assets to be sent are empty.383       **/384      Empty: AugmentedError<ApiType>;385      /**386       * The message execution fails the filter.387       **/388      Filtered: AugmentedError<ApiType>;389      /**390       * Origin is invalid for sending.391       **/392      InvalidOrigin: AugmentedError<ApiType>;393      /**394       * The referenced subscription could not be found.395       **/396      NoSubscription: AugmentedError<ApiType>;397      /**398       * There was some other issue (i.e. not to do with routing) in sending the message. Perhaps399       * a lack of space for buffering the message.400       **/401      SendFailure: AugmentedError<ApiType>;402      /**403       * Too many assets have been attempted for transfer.404       **/405      TooManyAssets: AugmentedError<ApiType>;406      /**407       * The desired destination was unreachable, generally because there is a no way of routing408       * to it.409       **/410      Unreachable: AugmentedError<ApiType>;411      /**412       * The message's weight could not be determined.413       **/414      UnweighableMessage: AugmentedError<ApiType>;415      /**416       * Generic error417       **/418      [key: string]: AugmentedError<ApiType>;419    };420    refungible: {421      /**422       * Not Refungible item data used to mint in Refungible collection.423       **/424      NotRefungibleDataUsedToMintFungibleCollectionToken: AugmentedError<ApiType>;425      /**426       * Refungible token can't nest other tokens427       **/428      RefungibleDisallowsNesting: AugmentedError<ApiType>;429      /**430       * Setting item properties is not allowed431       **/432      SettingPropertiesNotAllowed: AugmentedError<ApiType>;433      /**434       * Maximum refungibility exceeded435       **/436      WrongRefungiblePieces: AugmentedError<ApiType>;437      /**438       * Generic error439       **/440      [key: string]: AugmentedError<ApiType>;441    };442    rmrkCore: {443      CollectionFullOrLocked: AugmentedError<ApiType>;444      CollectionNotEmpty: AugmentedError<ApiType>;445      CollectionUnknown: AugmentedError<ApiType>;446      CorruptedCollectionType: AugmentedError<ApiType>;447      NftTypeEncodeError: AugmentedError<ApiType>;448      NoAvailableCollectionId: AugmentedError<ApiType>;449      NoAvailableNftId: AugmentedError<ApiType>;450      NoPermission: AugmentedError<ApiType>;451      RmrkPropertyKeyIsTooLong: AugmentedError<ApiType>;452      RmrkPropertyValueIsTooLong: AugmentedError<ApiType>;453      /**454       * Generic error455       **/456      [key: string]: AugmentedError<ApiType>;457    };458    rmrkEquip: {459      BaseDoesntExist: AugmentedError<ApiType>;460      NeedsDefaultThemeFirst: AugmentedError<ApiType>;461      NoAvailableBaseId: AugmentedError<ApiType>;462      NoAvailablePartId: AugmentedError<ApiType>;463      PermissionError: AugmentedError<ApiType>;464      /**465       * Generic error466       **/467      [key: string]: AugmentedError<ApiType>;468    };469    structure: {470      /**471       * While searched for owner, encountered depth limit472       **/473      DepthLimit: AugmentedError<ApiType>;474      /**475       * While searched for owner, got already checked account476       **/477      OuroborosDetected: AugmentedError<ApiType>;478      /**479       * While searched for owner, found token owner by not-yet-existing token480       **/481      TokenNotFound: AugmentedError<ApiType>;482      /**483       * Generic error484       **/485      [key: string]: AugmentedError<ApiType>;486    };487    sudo: {488      /**489       * Sender must be the Sudo account490       **/491      RequireSudo: AugmentedError<ApiType>;492      /**493       * Generic error494       **/495      [key: string]: AugmentedError<ApiType>;496    };497    system: {498      /**499       * The origin filter prevent the call to be dispatched.500       **/501      CallFiltered: AugmentedError<ApiType>;502      /**503       * Failed to extract the runtime version from the new runtime.504       * 505       * Either calling `Core_version` or decoding `RuntimeVersion` failed.506       **/507      FailedToExtractRuntimeVersion: AugmentedError<ApiType>;508      /**509       * The name of specification does not match between the current runtime510       * and the new runtime.511       **/512      InvalidSpecName: AugmentedError<ApiType>;513      /**514       * Suicide called when the account has non-default composite data.515       **/516      NonDefaultComposite: AugmentedError<ApiType>;517      /**518       * There is a non-zero reference count preventing the account from being purged.519       **/520      NonZeroRefCount: AugmentedError<ApiType>;521      /**522       * The specification version is not allowed to decrease between the current runtime523       * and the new runtime.524       **/525      SpecVersionNeedsToIncrease: AugmentedError<ApiType>;526      /**527       * Generic error528       **/529      [key: string]: AugmentedError<ApiType>;530    };531    treasury: {532      /**533       * Proposer's balance is too low.534       **/535      InsufficientProposersBalance: AugmentedError<ApiType>;536      /**537       * No proposal or bounty at that index.538       **/539      InvalidIndex: AugmentedError<ApiType>;540      /**541       * Too many approvals in the queue.542       **/543      TooManyApprovals: AugmentedError<ApiType>;544      /**545       * Generic error546       **/547      [key: string]: AugmentedError<ApiType>;548    };549    unique: {550      /**551       * Decimal_points parameter must be lower than MAX_DECIMAL_POINTS constant, currently it is 30.552       **/553      CollectionDecimalPointLimitExceeded: AugmentedError<ApiType>;554      /**555       * This address is not set as sponsor, use setCollectionSponsor first.556       **/557      ConfirmUnsetSponsorFail: AugmentedError<ApiType>;558      /**559       * Length of items properties must be greater than 0.560       **/561      EmptyArgument: AugmentedError<ApiType>;562      /**563       * Generic error564       **/565      [key: string]: AugmentedError<ApiType>;566    };567    vesting: {568      /**569       * The vested transfer amount is too low570       **/571      AmountLow: AugmentedError<ApiType>;572      /**573       * Insufficient amount of balance to lock574       **/575      InsufficientBalanceToLock: AugmentedError<ApiType>;576      /**577       * Failed because the maximum vesting schedules was exceeded578       **/579      MaxVestingSchedulesExceeded: AugmentedError<ApiType>;580      /**581       * This account have too many vesting schedules582       **/583      TooManyVestingSchedules: AugmentedError<ApiType>;584      /**585       * Vesting period is zero586       **/587      ZeroVestingPeriod: AugmentedError<ApiType>;588      /**589       * Number of vests is zero590       **/591      ZeroVestingPeriodCount: AugmentedError<ApiType>;592      /**593       * Generic error594       **/595      [key: string]: AugmentedError<ApiType>;596    };597    xcmpQueue: {598      /**599       * Bad overweight index.600       **/601      BadOverweightIndex: AugmentedError<ApiType>;602      /**603       * Bad XCM data.604       **/605      BadXcm: AugmentedError<ApiType>;606      /**607       * Bad XCM origin.608       **/609      BadXcmOrigin: AugmentedError<ApiType>;610      /**611       * Failed to send XCM message.612       **/613      FailedToSend: AugmentedError<ApiType>;614      /**615       * Provided weight is possibly not enough to execute the message.616       **/617      WeightOverLimit: AugmentedError<ApiType>;618      /**619       * Generic error620       **/621      [key: string]: AugmentedError<ApiType>;622    };623  } // AugmentedErrors624} // declare module
modifiedtests/src/interfaces/augment-api-rpc.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-api-rpc.ts
+++ b/tests/src/interfaces/augment-api-rpc.ts
@@ -13,7 +13,6 @@
 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 { BlockStats } from '@polkadot/types/interfaces/dev';
 import type { CreatedBlock } from '@polkadot/types/interfaces/engine';
 import type { EthAccount, EthCallRequest, EthFilter, EthFilterChanges, EthLog, EthReceipt, EthRichBlock, EthSubKind, EthSubParams, EthSyncStatus, EthTransaction, EthTransactionRequest, EthWork } from '@polkadot/types/interfaces/eth';
 import type { Extrinsic } from '@polkadot/types/interfaces/extrinsics';
@@ -22,8 +21,8 @@
 import type { StorageKind } from '@polkadot/types/interfaces/offchain';
 import type { FeeDetails, RuntimeDispatchInfo } 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';
+import type { AccountId, BlockNumber, H160, H256, H64, Hash, Header, Index, Justification, KeyValue, SignedBlock, StorageData } from '@polkadot/types/interfaces/runtime';
+import type { ReadProof, RuntimeVersion, TraceBlockResponse } from '@polkadot/types/interfaces/state';
 import type { ApplyExtrinsicResult, ChainProperties, ChainType, Health, NetworkState, NodeRole, PeerInfo, SyncState } from '@polkadot/types/interfaces/system';
 import type { IExtrinsic, Observable } from '@polkadot/types/types';
 
@@ -156,12 +155,6 @@
        * Upload new code without instantiating a contract from it
        **/
       uploadCode: AugmentedRpc<(uploadRequest: CodeUploadRequest | { origin?: any; code?: any; storageDepositLimit?: any } | string | Uint8Array, at?: BlockHash | string | Uint8Array) => Observable<CodeUploadResult>>;
-    };
-    dev: {
-      /**
-       * Reexecute the specified `block_hash` and gather statistics while doing so
-       **/
-      getBlockStats: AugmentedRpc<(at: Hash | string | Uint8Array) => Observable<Option<BlockStats>>>;
     };
     engine: {
       /**
@@ -338,20 +331,6 @@
        * Uninstalls filter.
        **/
       uninstallFilter: AugmentedRpc<(index: U256 | AnyNumber | Uint8Array) => Observable<bool>>;
-    };
-    grandpa: {
-      /**
-       * Prove finality for the given block number, returning the Justification for the last block in the set.
-       **/
-      proveFinality: AugmentedRpc<(blockNumber: BlockNumber | AnyNumber | Uint8Array) => Observable<Option<EncodedFinalityProofs>>>;
-      /**
-       * Returns the state of the current best round state as well as the ongoing background rounds
-       **/
-      roundState: AugmentedRpc<() => Observable<ReportedRoundStates>>;
-      /**
-       * Subscribes to grandpa justifications
-       **/
-      subscribeJustifications: AugmentedRpc<() => Observable<JustificationNotification>>;
     };
     mmr: {
       /**
@@ -452,92 +431,6 @@
        * Retrieves the list of RPC methods that are exposed by the node
        **/
       methods: AugmentedRpc<() => Observable<RpcMethods>>;
-    };
-    state: {
-      /**
-       * Perform a call to a builtin on the chain
-       **/
-      call: AugmentedRpc<(method: Text | string, data: Bytes | string | Uint8Array, at?: BlockHash | string | Uint8Array) => Observable<Bytes>>;
-      /**
-       * Retrieves the keys with prefix of a specific child storage
-       **/
-      getChildKeys: AugmentedRpc<(childStorageKey: StorageKey | string | Uint8Array | any, childDefinition: StorageKey | string | Uint8Array | any, childType: u32 | AnyNumber | Uint8Array, key: StorageKey | string | Uint8Array | any, at?: BlockHash | string | Uint8Array) => Observable<Vec<StorageKey>>>;
-      /**
-       * Returns proof of storage for child key entries at a specific block state.
-       **/
-      getChildReadProof: AugmentedRpc<(childStorageKey: PrefixedStorageKey | string | Uint8Array, keys: Vec<StorageKey> | (StorageKey | string | Uint8Array | any)[], at?: BlockHash | string | Uint8Array) => Observable<ReadProof>>;
-      /**
-       * Retrieves the child storage for a key
-       **/
-      getChildStorage: AugmentedRpc<(childStorageKey: StorageKey | string | Uint8Array | any, childDefinition: StorageKey | string | Uint8Array | any, childType: u32 | AnyNumber | Uint8Array, key: StorageKey | string | Uint8Array | any, at?: BlockHash | string | Uint8Array) => Observable<StorageData>>;
-      /**
-       * Retrieves the child storage hash
-       **/
-      getChildStorageHash: AugmentedRpc<(childStorageKey: StorageKey | string | Uint8Array | any, childDefinition: StorageKey | string | Uint8Array | any, childType: u32 | AnyNumber | Uint8Array, key: StorageKey | string | Uint8Array | any, at?: BlockHash | string | Uint8Array) => Observable<Hash>>;
-      /**
-       * Retrieves the child storage size
-       **/
-      getChildStorageSize: AugmentedRpc<(childStorageKey: StorageKey | string | Uint8Array | any, childDefinition: StorageKey | string | Uint8Array | any, childType: u32 | AnyNumber | Uint8Array, key: StorageKey | string | Uint8Array | any, at?: BlockHash | string | Uint8Array) => Observable<u64>>;
-      /**
-       * Retrieves the keys with a certain prefix
-       **/
-      getKeys: AugmentedRpc<(key: StorageKey | string | Uint8Array | any, at?: BlockHash | string | Uint8Array) => Observable<Vec<StorageKey>>>;
-      /**
-       * Returns the keys with prefix with pagination support.
-       **/
-      getKeysPaged: AugmentedRpc<(key: StorageKey | string | Uint8Array | any, count: u32 | AnyNumber | Uint8Array, startKey?: StorageKey | string | Uint8Array | any, at?: BlockHash | string | Uint8Array) => Observable<Vec<StorageKey>>>;
-      /**
-       * Returns the runtime metadata
-       **/
-      getMetadata: AugmentedRpc<(at?: BlockHash | string | Uint8Array) => Observable<Metadata>>;
-      /**
-       * Returns the keys with prefix, leave empty to get all the keys (deprecated: Use getKeysPaged)
-       **/
-      getPairs: AugmentedRpc<(prefix: StorageKey | string | Uint8Array | any, at?: BlockHash | string | Uint8Array) => Observable<Vec<KeyValue>>>;
-      /**
-       * Returns proof of storage entries at a specific block state
-       **/
-      getReadProof: AugmentedRpc<(keys: Vec<StorageKey> | (StorageKey | string | Uint8Array | any)[], at?: BlockHash | string | Uint8Array) => Observable<ReadProof>>;
-      /**
-       * Get the runtime version
-       **/
-      getRuntimeVersion: AugmentedRpc<(at?: BlockHash | string | Uint8Array) => Observable<RuntimeVersion>>;
-      /**
-       * Retrieves the storage for a key
-       **/
-      getStorage: AugmentedRpc<<T = Codec>(key: StorageKey | string | Uint8Array | any, block?: Hash | Uint8Array | string) => Observable<T>>;
-      /**
-       * Retrieves the storage hash
-       **/
-      getStorageHash: AugmentedRpc<(key: StorageKey | string | Uint8Array | any, at?: BlockHash | string | Uint8Array) => Observable<Hash>>;
-      /**
-       * Retrieves the storage size
-       **/
-      getStorageSize: AugmentedRpc<(key: StorageKey | string | Uint8Array | any, at?: BlockHash | string | Uint8Array) => Observable<u64>>;
-      /**
-       * Query historical storage entries (by key) starting from a start block
-       **/
-      queryStorage: AugmentedRpc<<T = Codec[]>(keys: Vec<StorageKey> | (StorageKey | string | Uint8Array | any)[], fromBlock?: Hash | Uint8Array | string, toBlock?: Hash | Uint8Array | string) => Observable<[Hash, T][]>>;
-      /**
-       * Query storage entries (by key) starting at block hash given as the second parameter
-       **/
-      queryStorageAt: AugmentedRpc<<T = Codec[]>(keys: Vec<StorageKey> | (StorageKey | string | Uint8Array | any)[], at?: Hash | Uint8Array | string) => Observable<T>>;
-      /**
-       * Retrieves the runtime version via subscription
-       **/
-      subscribeRuntimeVersion: AugmentedRpc<() => Observable<RuntimeVersion>>;
-      /**
-       * Subscribes to storage changes for the provided keys
-       **/
-      subscribeStorage: AugmentedRpc<<T = Codec[]>(keys?: Vec<StorageKey> | (StorageKey | string | Uint8Array | any)[]) => Observable<T>>;
-      /**
-       * Provides a way to trace the re-execution of a single block
-       **/
-      traceBlock: AugmentedRpc<(block: Hash | string | Uint8Array, targets: Option<Text> | null | object | string | Uint8Array, storageKeys: Option<Text> | null | object | string | Uint8Array, methods: Option<Text> | null | object | string | Uint8Array) => Observable<TraceBlockResponse>>;
-      /**
-       * Check current migration state
-       **/
-      trieMigrationStatus: AugmentedRpc<(at?: BlockHash | string | Uint8Array) => Observable<MigrationStatusResult>>;
     };
     syncstate: {
       /**
modifiedtests/src/interfaces/augment-types.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-types.ts
+++ b/tests/src/interfaces/augment-types.ts
@@ -23,7 +23,6 @@
 import type { FundIndex, FundInfo, LastContribution, TrieIndex } from '@polkadot/types/interfaces/crowdloan';
 import type { ConfigData, MessageId, OverweightIndex, PageCounter, PageIndexData } from '@polkadot/types/interfaces/cumulus';
 import type { AccountVote, AccountVoteSplit, AccountVoteStandard, Conviction, Delegations, PreimageStatus, PreimageStatusAvailable, PriorLock, PropIndex, Proposal, ProxyState, ReferendumIndex, ReferendumInfo, ReferendumInfoFinished, ReferendumInfoTo239, ReferendumStatus, Tally, Voting, VotingDelegating, VotingDirect, VotingDirectVote } from '@polkadot/types/interfaces/democracy';
-import type { BlockStats } from '@polkadot/types/interfaces/dev';
 import type { ApprovalFlag, DefunctVoter, Renouncing, SetIndex, Vote, VoteIndex, VoteThreshold, VoterInfo } from '@polkadot/types/interfaces/elections';
 import type { CreatedBlock, ImportedAux } from '@polkadot/types/interfaces/engine';
 import type { BlockV0, BlockV1, BlockV2, EIP1559Transaction, EIP2930Transaction, EthAccessList, EthAccessListItem, EthAccount, EthAddress, EthBlock, EthBloom, EthCallRequest, EthFilter, EthFilterAddress, EthFilterChanges, EthFilterTopic, EthFilterTopicEntry, EthFilterTopicInner, EthHeader, EthLog, EthReceipt, EthRichBlock, EthRichHeader, EthStorageProof, EthSubKind, EthSubParams, EthSubResult, EthSyncInfo, EthSyncStatus, EthTransaction, EthTransactionAction, EthTransactionCondition, EthTransactionRequest, EthTransactionSignature, EthTransactionStatus, EthWork, EthereumAccountId, EthereumAddress, EthereumLookupSource, EthereumSignature, LegacyTransaction, TransactionV0, TransactionV1, TransactionV2 } from '@polkadot/types/interfaces/eth';
@@ -52,9 +51,9 @@
 import type { BeefyKey, FullIdentification, IdentificationTuple, Keys, MembershipProof, SessionIndex, SessionKeys1, SessionKeys10, SessionKeys10B, SessionKeys2, SessionKeys3, SessionKeys4, SessionKeys5, SessionKeys6, SessionKeys6B, SessionKeys7, SessionKeys7B, SessionKeys8, SessionKeys8B, SessionKeys9, SessionKeys9B, ValidatorCount } from '@polkadot/types/interfaces/session';
 import type { Bid, BidKind, SocietyJudgement, SocietyVote, StrikeCount, VouchingStatus } from '@polkadot/types/interfaces/society';
 import type { ActiveEraInfo, CompactAssignments, CompactAssignmentsTo257, CompactAssignmentsTo265, CompactAssignmentsWith16, CompactAssignmentsWith24, CompactScore, CompactScoreCompact, ElectionCompute, ElectionPhase, ElectionResult, ElectionScore, ElectionSize, ElectionStatus, EraIndex, EraPoints, EraRewardPoints, EraRewards, Exposure, ExtendedBalance, Forcing, IndividualExposure, KeyType, MomentOf, Nominations, NominatorIndex, NominatorIndexCompact, OffchainAccuracy, OffchainAccuracyCompact, PhragmenScore, Points, RawSolution, RawSolutionTo265, RawSolutionWith16, RawSolutionWith24, ReadySolution, RewardDestination, RewardPoint, RoundSnapshot, SeatHolder, SignedSubmission, SignedSubmissionOf, SignedSubmissionTo276, SlashJournalEntry, SlashingSpans, SlashingSpansTo204, SolutionOrSnapshotSize, SolutionSupport, SolutionSupports, SpanIndex, SpanRecord, StakingLedger, StakingLedgerTo223, StakingLedgerTo240, SubmissionIndicesOf, Supports, UnappliedSlash, UnappliedSlashOther, UnlockChunk, ValidatorIndex, ValidatorIndexCompact, ValidatorPrefs, ValidatorPrefsTo145, ValidatorPrefsTo196, ValidatorPrefsWithBlocked, ValidatorPrefsWithCommission, VoteWeight, Voter } from '@polkadot/types/interfaces/staking';
-import type { ApiId, BlockTrace, BlockTraceEvent, BlockTraceEventData, BlockTraceSpan, KeyValueOption, MigrationStatusResult, ReadProof, RuntimeVersion, RuntimeVersionApi, RuntimeVersionPartial, SpecVersion, StorageChangeSet, TraceBlockResponse, TraceError } from '@polkadot/types/interfaces/state';
+import type { ApiId, BlockTrace, BlockTraceEvent, BlockTraceEventData, BlockTraceSpan, KeyValueOption, ReadProof, RuntimeVersion, RuntimeVersionApi, RuntimeVersionPartial, SpecVersion, StorageChangeSet, TraceBlockResponse, TraceError } from '@polkadot/types/interfaces/state';
 import type { WeightToFeeCoefficient } from '@polkadot/types/interfaces/support';
-import type { AccountInfo, AccountInfoWithDualRefCount, AccountInfoWithProviders, AccountInfoWithRefCount, AccountInfoWithRefCountU8, AccountInfoWithTripleRefCount, ApplyExtrinsicResult, ArithmeticError, BlockLength, BlockWeights, ChainProperties, ChainType, ConsumedWeight, DigestOf, DispatchClass, DispatchError, DispatchErrorModule, DispatchErrorModuleU8a, DispatchErrorTo198, DispatchInfo, DispatchInfoTo190, DispatchInfoTo244, DispatchOutcome, DispatchResult, DispatchResultOf, DispatchResultTo198, Event, EventId, EventIndex, EventRecord, Health, InvalidTransaction, Key, LastRuntimeUpgradeInfo, NetworkState, NetworkStatePeerset, NetworkStatePeersetInfo, NodeRole, NotConnectedPeer, Peer, PeerEndpoint, PeerEndpointAddr, PeerInfo, PeerPing, PerDispatchClassU32, PerDispatchClassWeight, PerDispatchClassWeightsPerClass, Phase, RawOrigin, RefCount, RefCountTo259, SyncState, SystemOrigin, TokenError, TransactionValidityError, UnknownTransaction, WeightPerClass } from '@polkadot/types/interfaces/system';
+import type { AccountInfo, AccountInfoWithDualRefCount, AccountInfoWithProviders, AccountInfoWithRefCount, AccountInfoWithRefCountU8, AccountInfoWithTripleRefCount, ApplyExtrinsicResult, ArithmeticError, BlockLength, BlockWeights, ChainProperties, ChainType, ConsumedWeight, DigestOf, DispatchClass, DispatchError, DispatchErrorModule, DispatchErrorTo198, DispatchInfo, DispatchInfoTo190, DispatchInfoTo244, DispatchOutcome, DispatchResult, DispatchResultOf, DispatchResultTo198, Event, EventId, EventIndex, EventRecord, Health, InvalidTransaction, Key, LastRuntimeUpgradeInfo, NetworkState, NetworkStatePeerset, NetworkStatePeersetInfo, NodeRole, NotConnectedPeer, Peer, PeerEndpoint, PeerEndpointAddr, PeerInfo, PeerPing, PerDispatchClassU32, PerDispatchClassWeight, PerDispatchClassWeightsPerClass, Phase, RawOrigin, RefCount, RefCountTo259, SyncState, SystemOrigin, TokenError, TransactionValidityError, UnknownTransaction, WeightPerClass } from '@polkadot/types/interfaces/system';
 import type { Bounty, BountyIndex, BountyStatus, BountyStatusActive, BountyStatusCuratorProposed, BountyStatusPendingPayout, OpenTip, OpenTipFinderTo225, OpenTipTip, OpenTipTo225, TreasuryProposal } from '@polkadot/types/interfaces/treasury';
 import type { Multiplier } from '@polkadot/types/interfaces/txpayment';
 import type { ClassDetails, ClassId, ClassMetadata, DepositBalance, DepositBalanceOf, DestroyWitness, InstanceDetails, InstanceId, InstanceMetadata } from '@polkadot/types/interfaces/uniques';
@@ -154,7 +153,6 @@
     BlockNumber: BlockNumber;
     BlockNumberFor: BlockNumberFor;
     BlockNumberOf: BlockNumberOf;
-    BlockStats: BlockStats;
     BlockTrace: BlockTrace;
     BlockTraceEvent: BlockTraceEvent;
     BlockTraceEventData: BlockTraceEventData;
@@ -329,7 +327,6 @@
     DispatchClass: DispatchClass;
     DispatchError: DispatchError;
     DispatchErrorModule: DispatchErrorModule;
-    DispatchErrorModuleU8a: DispatchErrorModuleU8a;
     DispatchErrorTo198: DispatchErrorTo198;
     DispatchFeePayment: DispatchFeePayment;
     DispatchInfo: DispatchInfo;
@@ -660,7 +657,6 @@
     MetadataV13: MetadataV13;
     MetadataV14: MetadataV14;
     MetadataV9: MetadataV9;
-    MigrationStatusResult: MigrationStatusResult;
     MmrLeafProof: MmrLeafProof;
     MmrRootHash: MmrRootHash;
     ModuleConstantMetadataV10: ModuleConstantMetadataV10;
@@ -771,6 +767,7 @@
     PalletEvmAccountBasicCrossAccountIdRepr: PalletEvmAccountBasicCrossAccountIdRepr;
     PalletEvmCall: PalletEvmCall;
     PalletEvmCoderSubstrateError: PalletEvmCoderSubstrateError;
+    PalletEvmCollectionError: PalletEvmCollectionError;
     PalletEvmContractHelpersError: PalletEvmContractHelpersError;
     PalletEvmContractHelpersSponsoringModeT: PalletEvmContractHelpersSponsoringModeT;
     PalletEvmError: PalletEvmError;
modifiedtests/src/interfaces/lookup.tsdiffbeforeafterboth
--- a/tests/src/interfaces/lookup.ts
+++ b/tests/src/interfaces/lookup.ts
@@ -26,6 +26,10 @@
     trieNodes: 'BTreeSet<Bytes>'
   },
   /**
+   * Lookup11: BTreeSet<T>
+   **/
+  BTreeSet: 'Vec<Bytes>',
+  /**
    * Lookup13: cumulus_pallet_parachain_system::relay_state_snapshot::MessagingStateSnapshot
    **/
   CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot: {
modifiedtests/src/interfaces/types-lookup.tsdiffbeforeafterboth
--- a/tests/src/interfaces/types-lookup.ts
+++ b/tests/src/interfaces/types-lookup.ts
@@ -26,6 +26,9 @@
     readonly trieNodes: BTreeSet<Bytes>;
   }
 
+  /** @name BTreeSet (11) */
+  export interface BTreeSet extends Vec<Bytes> {}
+
   /** @name CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot (13) */
   export interface CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot extends Struct {
     readonly dmqMqcHead: H256;
modifiedtests/src/interfaces/unique/types.tsdiffbeforeafterboth
--- a/tests/src/interfaces/unique/types.ts
+++ b/tests/src/interfaces/unique/types.ts
@@ -6,6 +6,9 @@
 import type { AccountId32, Call, H160, H256, MultiAddress, Perbill, Permill } from '@polkadot/types/interfaces/runtime';
 import type { Event } from '@polkadot/types/interfaces/system';
 
+/** @name BTreeSet */
+export interface BTreeSet extends Vec<Bytes> {}
+
 /** @name CumulusPalletDmpQueueCall */
 export interface CumulusPalletDmpQueueCall extends Enum {
   readonly isServiceOverweight: boolean;
@@ -1012,6 +1015,12 @@
   readonly type: 'OutOfGas' | 'OutOfFund';
 }
 
+/** @name PalletEvmCollectionError */
+export interface PalletEvmCollectionError extends Enum {
+  readonly isNoPermission: boolean;
+  readonly type: 'NoPermission';
+}
+
 /** @name PalletEvmContractHelpersError */
 export interface PalletEvmContractHelpersError extends Enum {
   readonly isNoPermission: boolean;