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
--- a/tests/src/interfaces/augment-api-errors.ts
+++ b/tests/src/interfaces/augment-api-errors.ts
@@ -249,6 +249,16 @@
        **/
       [key: string]: AugmentedError<ApiType>;
     };
+    evmCollection: {
+      /**
+       * This method is only executable by owner
+       **/
+      NoPermission: AugmentedError<ApiType>;
+      /**
+       * Generic error
+       **/
+      [key: string]: AugmentedError<ApiType>;
+    };
     evmContractHelpers: {
       /**
        * This method is only executable by owner
modifiedtests/src/interfaces/augment-api-rpc.tsdiffbeforeafterboth
before · tests/src/interfaces/augment-api-rpc.ts
1// Auto-generated via `yarn polkadot-types-from-chain`, do not edit2/* eslint-disable */34import type { PalletEvmAccountBasicCrossAccountIdRepr, PhantomTypeUpDataStructsBaseInfo, PhantomTypeUpDataStructsCollectionInfo, PhantomTypeUpDataStructsNftChild, PhantomTypeUpDataStructsNftInfo, PhantomTypeUpDataStructsPartType, PhantomTypeUpDataStructsPropertyInfo, PhantomTypeUpDataStructsResourceInfo, PhantomTypeUpDataStructsTheme, UpDataStructsCollectionLimits, UpDataStructsCollectionStats, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, UpDataStructsRpcCollection, UpDataStructsTokenData } from './unique';5import type { AugmentedRpc } from '@polkadot/rpc-core/types';6import type { Metadata, StorageKey } from '@polkadot/types';7import type { Bytes, HashMap, Json, Null, Option, Text, U256, U64, Vec, bool, u128, u32, u64 } from '@polkadot/types-codec';8import type { AnyNumber, Codec } from '@polkadot/types-codec/types';9import type { ExtrinsicOrHash, ExtrinsicStatus } from '@polkadot/types/interfaces/author';10import type { EpochAuthorship } from '@polkadot/types/interfaces/babe';11import type { BeefySignedCommitment } from '@polkadot/types/interfaces/beefy';12import type { BlockHash } from '@polkadot/types/interfaces/chain';13import type { PrefixedStorageKey } from '@polkadot/types/interfaces/childstate';14import type { AuthorityId } from '@polkadot/types/interfaces/consensus';15import type { CodeUploadRequest, CodeUploadResult, ContractCallRequest, ContractExecResult, ContractInstantiateResult, InstantiateRequest } from '@polkadot/types/interfaces/contracts';16import type { BlockStats } from '@polkadot/types/interfaces/dev';17import type { CreatedBlock } from '@polkadot/types/interfaces/engine';18import type { EthAccount, EthCallRequest, EthFilter, EthFilterChanges, EthLog, EthReceipt, EthRichBlock, EthSubKind, EthSubParams, EthSyncStatus, EthTransaction, EthTransactionRequest, EthWork } from '@polkadot/types/interfaces/eth';19import type { Extrinsic } from '@polkadot/types/interfaces/extrinsics';20import type { EncodedFinalityProofs, JustificationNotification, ReportedRoundStates } from '@polkadot/types/interfaces/grandpa';21import type { MmrLeafProof } from '@polkadot/types/interfaces/mmr';22import type { StorageKind } from '@polkadot/types/interfaces/offchain';23import type { FeeDetails, RuntimeDispatchInfo } from '@polkadot/types/interfaces/payment';24import type { RpcMethods } from '@polkadot/types/interfaces/rpc';25import type { AccountId, AccountId32, BlockNumber, H160, H256, H64, Hash, Header, Index, Justification, KeyValue, SignedBlock, StorageData } from '@polkadot/types/interfaces/runtime';26import type { MigrationStatusResult, ReadProof, RuntimeVersion, TraceBlockResponse } from '@polkadot/types/interfaces/state';27import type { ApplyExtrinsicResult, ChainProperties, ChainType, Health, NetworkState, NodeRole, PeerInfo, SyncState } from '@polkadot/types/interfaces/system';28import type { IExtrinsic, Observable } from '@polkadot/types/types';2930declare module '@polkadot/rpc-core/types/jsonrpc' {31  export interface RpcInterface {32    author: {33      /**34       * Returns true if the keystore has private keys for the given public key and key type.35       **/36      hasKey: AugmentedRpc<(publicKey: Bytes | string | Uint8Array, keyType: Text | string) => Observable<bool>>;37      /**38       * Returns true if the keystore has private keys for the given session public keys.39       **/40      hasSessionKeys: AugmentedRpc<(sessionKeys: Bytes | string | Uint8Array) => Observable<bool>>;41      /**42       * Insert a key into the keystore.43       **/44      insertKey: AugmentedRpc<(keyType: Text | string, suri: Text | string, publicKey: Bytes | string | Uint8Array) => Observable<Bytes>>;45      /**46       * Returns all pending extrinsics, potentially grouped by sender47       **/48      pendingExtrinsics: AugmentedRpc<() => Observable<Vec<Extrinsic>>>;49      /**50       * Remove given extrinsic from the pool and temporarily ban it to prevent reimporting51       **/52      removeExtrinsic: AugmentedRpc<(bytesOrHash: Vec<ExtrinsicOrHash> | (ExtrinsicOrHash | { Hash: any } | { Extrinsic: any } | string | Uint8Array)[]) => Observable<Vec<Hash>>>;53      /**54       * Generate new session keys and returns the corresponding public keys55       **/56      rotateKeys: AugmentedRpc<() => Observable<Bytes>>;57      /**58       * Submit and subscribe to watch an extrinsic until unsubscribed59       **/60      submitAndWatchExtrinsic: AugmentedRpc<(extrinsic: IExtrinsic) => Observable<ExtrinsicStatus>>;61      /**62       * Submit a fully formatted extrinsic for block inclusion63       **/64      submitExtrinsic: AugmentedRpc<(extrinsic: IExtrinsic) => Observable<Hash>>;65    };66    babe: {67      /**68       * Returns data about which slots (primary or secondary) can be claimed in the current epoch with the keys in the keystore69       **/70      epochAuthorship: AugmentedRpc<() => Observable<HashMap<AuthorityId, EpochAuthorship>>>;71    };72    beefy: {73      /**74       * Returns hash of the latest BEEFY finalized block as seen by this client.75       **/76      getFinalizedHead: AugmentedRpc<() => Observable<H256>>;77      /**78       * Returns the block most recently finalized by BEEFY, alongside side its justification.79       **/80      subscribeJustifications: AugmentedRpc<() => Observable<BeefySignedCommitment>>;81    };82    chain: {83      /**84       * Get header and body of a relay chain block85       **/86      getBlock: AugmentedRpc<(hash?: BlockHash | string | Uint8Array) => Observable<SignedBlock>>;87      /**88       * Get the block hash for a specific block89       **/90      getBlockHash: AugmentedRpc<(blockNumber?: BlockNumber | AnyNumber | Uint8Array) => Observable<BlockHash>>;91      /**92       * Get hash of the last finalized block in the canon chain93       **/94      getFinalizedHead: AugmentedRpc<() => Observable<BlockHash>>;95      /**96       * Retrieves the header for a specific block97       **/98      getHeader: AugmentedRpc<(hash?: BlockHash | string | Uint8Array) => Observable<Header>>;99      /**100       * Retrieves the newest header via subscription101       **/102      subscribeAllHeads: AugmentedRpc<() => Observable<Header>>;103      /**104       * Retrieves the best finalized header via subscription105       **/106      subscribeFinalizedHeads: AugmentedRpc<() => Observable<Header>>;107      /**108       * Retrieves the best header via subscription109       **/110      subscribeNewHeads: AugmentedRpc<() => Observable<Header>>;111    };112    childstate: {113      /**114       * Returns the keys with prefix from a child storage, leave empty to get all the keys115       **/116      getKeys: AugmentedRpc<(childKey: PrefixedStorageKey | string | Uint8Array, prefix: StorageKey | string | Uint8Array | any, at?: Hash | string | Uint8Array) => Observable<Vec<StorageKey>>>;117      /**118       * Returns the keys with prefix from a child storage with pagination support119       **/120      getKeysPaged: AugmentedRpc<(childKey: PrefixedStorageKey | string | Uint8Array, prefix: StorageKey | string | Uint8Array | any, count: u32 | AnyNumber | Uint8Array, startKey?: StorageKey | string | Uint8Array | any, at?: Hash | string | Uint8Array) => Observable<Vec<StorageKey>>>;121      /**122       * Returns a child storage entry at a specific block state123       **/124      getStorage: AugmentedRpc<(childKey: PrefixedStorageKey | string | Uint8Array, key: StorageKey | string | Uint8Array | any, at?: Hash | string | Uint8Array) => Observable<Option<StorageData>>>;125      /**126       * Returns child storage entries for multiple keys at a specific block state127       **/128      getStorageEntries: AugmentedRpc<(childKey: PrefixedStorageKey | string | Uint8Array, keys: Vec<StorageKey> | (StorageKey | string | Uint8Array | any)[], at?: Hash | string | Uint8Array) => Observable<Vec<Option<StorageData>>>>;129      /**130       * Returns the hash of a child storage entry at a block state131       **/132      getStorageHash: AugmentedRpc<(childKey: PrefixedStorageKey | string | Uint8Array, key: StorageKey | string | Uint8Array | any, at?: Hash | string | Uint8Array) => Observable<Option<Hash>>>;133      /**134       * Returns the size of a child storage entry at a block state135       **/136      getStorageSize: AugmentedRpc<(childKey: PrefixedStorageKey | string | Uint8Array, key: StorageKey | string | Uint8Array | any, at?: Hash | string | Uint8Array) => Observable<Option<u64>>>;137    };138    contracts: {139      /**140       * Executes a call to a contract141       **/142      call: AugmentedRpc<(callRequest: ContractCallRequest | { origin?: any; dest?: any; value?: any; gasLimit?: any; storageDepositLimit?: any; inputData?: any } | string | Uint8Array, at?: BlockHash | string | Uint8Array) => Observable<ContractExecResult>>;143      /**144       * Returns the value under a specified storage key in a contract145       **/146      getStorage: AugmentedRpc<(address: AccountId | string | Uint8Array, key: H256 | string | Uint8Array, at?: BlockHash | string | Uint8Array) => Observable<Option<Bytes>>>;147      /**148       * Instantiate a new contract149       **/150      instantiate: AugmentedRpc<(request: InstantiateRequest | { origin?: any; value?: any; gasLimit?: any; storageDepositLimit?: any; code?: any; data?: any; salt?: any } | string | Uint8Array, at?: BlockHash | string | Uint8Array) => Observable<ContractInstantiateResult>>;151      /**152       * Returns the projected time a given contract will be able to sustain paying its rent153       **/154      rentProjection: AugmentedRpc<(address: AccountId | string | Uint8Array, at?: BlockHash | string | Uint8Array) => Observable<Option<BlockNumber>>>;155      /**156       * Upload new code without instantiating a contract from it157       **/158      uploadCode: AugmentedRpc<(uploadRequest: CodeUploadRequest | { origin?: any; code?: any; storageDepositLimit?: any } | string | Uint8Array, at?: BlockHash | string | Uint8Array) => Observable<CodeUploadResult>>;159    };160    dev: {161      /**162       * Reexecute the specified `block_hash` and gather statistics while doing so163       **/164      getBlockStats: AugmentedRpc<(at: Hash | string | Uint8Array) => Observable<Option<BlockStats>>>;165    };166    engine: {167      /**168       * Instructs the manual-seal authorship task to create a new block169       **/170      createBlock: AugmentedRpc<(createEmpty: bool | boolean | Uint8Array, finalize: bool | boolean | Uint8Array, parentHash?: BlockHash | string | Uint8Array) => Observable<CreatedBlock>>;171      /**172       * Instructs the manual-seal authorship task to finalize a block173       **/174      finalizeBlock: AugmentedRpc<(hash: BlockHash | string | Uint8Array, justification?: Justification) => Observable<bool>>;175    };176    eth: {177      /**178       * Returns accounts list.179       **/180      accounts: AugmentedRpc<() => Observable<Vec<H160>>>;181      /**182       * Returns the blockNumber183       **/184      blockNumber: AugmentedRpc<() => Observable<U256>>;185      /**186       * Call contract, returning the output data.187       **/188      call: AugmentedRpc<(request: EthCallRequest | { from?: any; to?: any; gasPrice?: any; gas?: any; value?: any; data?: any; nonce?: any } | string | Uint8Array, number?: BlockNumber | AnyNumber | Uint8Array) => Observable<Bytes>>;189      /**190       * Returns the chain ID used for transaction signing at the current best block. None is returned if not available.191       **/192      chainId: AugmentedRpc<() => Observable<U64>>;193      /**194       * Returns block author.195       **/196      coinbase: AugmentedRpc<() => Observable<H160>>;197      /**198       * Estimate gas needed for execution of given contract.199       **/200      estimateGas: AugmentedRpc<(request: EthCallRequest | { from?: any; to?: any; gasPrice?: any; gas?: any; value?: any; data?: any; nonce?: any } | string | Uint8Array, number?: BlockNumber | AnyNumber | Uint8Array) => Observable<U256>>;201      /**202       * Returns current gas price.203       **/204      gasPrice: AugmentedRpc<() => Observable<U256>>;205      /**206       * Returns balance of the given account.207       **/208      getBalance: AugmentedRpc<(address: H160 | string | Uint8Array, number?: BlockNumber | AnyNumber | Uint8Array) => Observable<U256>>;209      /**210       * Returns block with given hash.211       **/212      getBlockByHash: AugmentedRpc<(hash: H256 | string | Uint8Array, full: bool | boolean | Uint8Array) => Observable<Option<EthRichBlock>>>;213      /**214       * Returns block with given number.215       **/216      getBlockByNumber: AugmentedRpc<(block: BlockNumber | AnyNumber | Uint8Array, full: bool | boolean | Uint8Array) => Observable<Option<EthRichBlock>>>;217      /**218       * Returns the number of transactions in a block with given hash.219       **/220      getBlockTransactionCountByHash: AugmentedRpc<(hash: H256 | string | Uint8Array) => Observable<U256>>;221      /**222       * Returns the number of transactions in a block with given block number.223       **/224      getBlockTransactionCountByNumber: AugmentedRpc<(block: BlockNumber | AnyNumber | Uint8Array) => Observable<U256>>;225      /**226       * Returns the code at given address at given time (block number).227       **/228      getCode: AugmentedRpc<(address: H160 | string | Uint8Array, number?: BlockNumber | AnyNumber | Uint8Array) => Observable<Bytes>>;229      /**230       * Returns filter changes since last poll.231       **/232      getFilterChanges: AugmentedRpc<(index: U256 | AnyNumber | Uint8Array) => Observable<EthFilterChanges>>;233      /**234       * Returns all logs matching given filter (in a range 'from' - 'to').235       **/236      getFilterLogs: AugmentedRpc<(index: U256 | AnyNumber | Uint8Array) => Observable<Vec<EthLog>>>;237      /**238       * Returns logs matching given filter object.239       **/240      getLogs: AugmentedRpc<(filter: EthFilter | { fromBlock?: any; toBlock?: any; blockHash?: any; address?: any; topics?: any } | string | Uint8Array) => Observable<Vec<EthLog>>>;241      /**242       * Returns proof for account and storage.243       **/244      getProof: AugmentedRpc<(address: H160 | string | Uint8Array, storageKeys: Vec<H256> | (H256 | string | Uint8Array)[], number: BlockNumber | AnyNumber | Uint8Array) => Observable<EthAccount>>;245      /**246       * Returns content of the storage at given address.247       **/248      getStorageAt: AugmentedRpc<(address: H160 | string | Uint8Array, index: U256 | AnyNumber | Uint8Array, number?: BlockNumber | AnyNumber | Uint8Array) => Observable<H256>>;249      /**250       * Returns transaction at given block hash and index.251       **/252      getTransactionByBlockHashAndIndex: AugmentedRpc<(hash: H256 | string | Uint8Array, index: U256 | AnyNumber | Uint8Array) => Observable<EthTransaction>>;253      /**254       * Returns transaction by given block number and index.255       **/256      getTransactionByBlockNumberAndIndex: AugmentedRpc<(number: BlockNumber | AnyNumber | Uint8Array, index: U256 | AnyNumber | Uint8Array) => Observable<EthTransaction>>;257      /**258       * Get transaction by its hash.259       **/260      getTransactionByHash: AugmentedRpc<(hash: H256 | string | Uint8Array) => Observable<EthTransaction>>;261      /**262       * Returns the number of transactions sent from given address at given time (block number).263       **/264      getTransactionCount: AugmentedRpc<(hash: H256 | string | Uint8Array, number?: BlockNumber | AnyNumber | Uint8Array) => Observable<U256>>;265      /**266       * Returns transaction receipt by transaction hash.267       **/268      getTransactionReceipt: AugmentedRpc<(hash: H256 | string | Uint8Array) => Observable<EthReceipt>>;269      /**270       * Returns an uncles at given block and index.271       **/272      getUncleByBlockHashAndIndex: AugmentedRpc<(hash: H256 | string | Uint8Array, index: U256 | AnyNumber | Uint8Array) => Observable<EthRichBlock>>;273      /**274       * Returns an uncles at given block and index.275       **/276      getUncleByBlockNumberAndIndex: AugmentedRpc<(number: BlockNumber | AnyNumber | Uint8Array, index: U256 | AnyNumber | Uint8Array) => Observable<EthRichBlock>>;277      /**278       * Returns the number of uncles in a block with given hash.279       **/280      getUncleCountByBlockHash: AugmentedRpc<(hash: H256 | string | Uint8Array) => Observable<U256>>;281      /**282       * Returns the number of uncles in a block with given block number.283       **/284      getUncleCountByBlockNumber: AugmentedRpc<(number: BlockNumber | AnyNumber | Uint8Array) => Observable<U256>>;285      /**286       * Returns the hash of the current block, the seedHash, and the boundary condition to be met.287       **/288      getWork: AugmentedRpc<() => Observable<EthWork>>;289      /**290       * Returns the number of hashes per second that the node is mining with.291       **/292      hashrate: AugmentedRpc<() => Observable<U256>>;293      /**294       * Returns true if client is actively mining new blocks.295       **/296      mining: AugmentedRpc<() => Observable<bool>>;297      /**298       * Returns id of new block filter.299       **/300      newBlockFilter: AugmentedRpc<() => Observable<U256>>;301      /**302       * Returns id of new filter.303       **/304      newFilter: AugmentedRpc<(filter: EthFilter | { fromBlock?: any; toBlock?: any; blockHash?: any; address?: any; topics?: any } | string | Uint8Array) => Observable<U256>>;305      /**306       * Returns id of new block filter.307       **/308      newPendingTransactionFilter: AugmentedRpc<() => Observable<U256>>;309      /**310       * Returns protocol version encoded as a string (quotes are necessary).311       **/312      protocolVersion: AugmentedRpc<() => Observable<u64>>;313      /**314       * Sends signed transaction, returning its hash.315       **/316      sendRawTransaction: AugmentedRpc<(bytes: Bytes | string | Uint8Array) => Observable<H256>>;317      /**318       * Sends transaction; will block waiting for signer to return the transaction hash319       **/320      sendTransaction: AugmentedRpc<(tx: EthTransactionRequest | { from?: any; to?: any; gasPrice?: any; gas?: any; value?: any; data?: any; nonce?: any } | string | Uint8Array) => Observable<H256>>;321      /**322       * Used for submitting mining hashrate.323       **/324      submitHashrate: AugmentedRpc<(index: U256 | AnyNumber | Uint8Array, hash: H256 | string | Uint8Array) => Observable<bool>>;325      /**326       * Used for submitting a proof-of-work solution.327       **/328      submitWork: AugmentedRpc<(nonce: H64 | string | Uint8Array, headerHash: H256 | string | Uint8Array, mixDigest: H256 | string | Uint8Array) => Observable<bool>>;329      /**330       * Subscribe to Eth subscription.331       **/332      subscribe: AugmentedRpc<(kind: EthSubKind | 'newHeads' | 'logs' | 'newPendingTransactions' | 'syncing' | number | Uint8Array, params?: EthSubParams | { None: any } | { Logs: any } | string | Uint8Array) => Observable<Null>>;333      /**334       * Returns an object with data about the sync status or false.335       **/336      syncing: AugmentedRpc<() => Observable<EthSyncStatus>>;337      /**338       * Uninstalls filter.339       **/340      uninstallFilter: AugmentedRpc<(index: U256 | AnyNumber | Uint8Array) => Observable<bool>>;341    };342    grandpa: {343      /**344       * Prove finality for the given block number, returning the Justification for the last block in the set.345       **/346      proveFinality: AugmentedRpc<(blockNumber: BlockNumber | AnyNumber | Uint8Array) => Observable<Option<EncodedFinalityProofs>>>;347      /**348       * Returns the state of the current best round state as well as the ongoing background rounds349       **/350      roundState: AugmentedRpc<() => Observable<ReportedRoundStates>>;351      /**352       * Subscribes to grandpa justifications353       **/354      subscribeJustifications: AugmentedRpc<() => Observable<JustificationNotification>>;355    };356    mmr: {357      /**358       * Generate MMR proof for given leaf index.359       **/360      generateProof: AugmentedRpc<(leafIndex: u64 | AnyNumber | Uint8Array, at?: BlockHash | string | Uint8Array) => Observable<MmrLeafProof>>;361    };362    net: {363      /**364       * Returns true if client is actively listening for network connections. Otherwise false.365       **/366      listening: AugmentedRpc<() => Observable<bool>>;367      /**368       * Returns number of peers connected to node.369       **/370      peerCount: AugmentedRpc<() => Observable<Text>>;371      /**372       * Returns protocol version.373       **/374      version: AugmentedRpc<() => Observable<Text>>;375    };376    offchain: {377      /**378       * Get offchain local storage under given key and prefix379       **/380      localStorageGet: AugmentedRpc<(kind: StorageKind | 'PERSISTENT' | 'LOCAL' | number | Uint8Array, key: Bytes | string | Uint8Array) => Observable<Option<Bytes>>>;381      /**382       * Set offchain local storage under given key and prefix383       **/384      localStorageSet: AugmentedRpc<(kind: StorageKind | 'PERSISTENT' | 'LOCAL' | number | Uint8Array, key: Bytes | string | Uint8Array, value: Bytes | string | Uint8Array) => Observable<Null>>;385    };386    payment: {387      /**388       * Query the detailed fee of a given encoded extrinsic389       **/390      queryFeeDetails: AugmentedRpc<(extrinsic: Bytes | string | Uint8Array, at?: BlockHash | string | Uint8Array) => Observable<FeeDetails>>;391      /**392       * Retrieves the fee information for an encoded extrinsic393       **/394      queryInfo: AugmentedRpc<(extrinsic: Bytes | string | Uint8Array, at?: BlockHash | string | Uint8Array) => Observable<RuntimeDispatchInfo>>;395    };396    rmrk: {397      /**398       * Get tokens owned by an account in a collection399       **/400      accountTokens: AugmentedRpc<(accountId: AccountId32 | string | Uint8Array, collectionId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Vec<u32>>>;401      /**402       * Get base info403       **/404      base: AugmentedRpc<(baseId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Option<PhantomTypeUpDataStructsBaseInfo>>>;405      /**406       * Get all Base's parts407       **/408      baseParts: AugmentedRpc<(baseId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Vec<PhantomTypeUpDataStructsPartType>>>;409      /**410       * Get collection by id411       **/412      collectionById: AugmentedRpc<(id: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Option<PhantomTypeUpDataStructsCollectionInfo>>>;413      /**414       * Get collection properties415       **/416      collectionProperties: AugmentedRpc<(collectionId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Vec<PhantomTypeUpDataStructsPropertyInfo>>>;417      /**418       * Get the latest created collection id419       **/420      lastCollectionIdx: AugmentedRpc<(at?: Hash | string | Uint8Array) => Observable<u32>>;421      /**422       * Get NFT by collection id and NFT id423       **/424      nftById: AugmentedRpc<(collectionId: u32 | AnyNumber | Uint8Array, nftId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Option<PhantomTypeUpDataStructsNftInfo>>>;425      /**426       * Get NFT children427       **/428      nftChildren: AugmentedRpc<(collectionId: u32 | AnyNumber | Uint8Array, nftId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Vec<PhantomTypeUpDataStructsNftChild>>>;429      /**430       * Get NFT properties431       **/432      nftProperties: AugmentedRpc<(collectionId: u32 | AnyNumber | Uint8Array, nftId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Vec<PhantomTypeUpDataStructsPropertyInfo>>>;433      /**434       * Get NFT resource priorities435       **/436      nftResourcePriorities: AugmentedRpc<(collectionId: u32 | AnyNumber | Uint8Array, nftId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Vec<Bytes>>>;437      /**438       * Get NFT resources439       **/440      nftResources: AugmentedRpc<(collectionId: u32 | AnyNumber | Uint8Array, nftId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Vec<PhantomTypeUpDataStructsResourceInfo>>>;441      /**442       * Get Base's theme names443       **/444      themeNames: AugmentedRpc<(baseId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Vec<Bytes>>>;445      /**446       * Get Theme's keys values447       **/448      themes: AugmentedRpc<(baseId: u32 | AnyNumber | Uint8Array, themeName: Text | string, keys: Option<Vec<Text>> | null | object | string | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Option<PhantomTypeUpDataStructsTheme>>>;449    };450    rpc: {451      /**452       * Retrieves the list of RPC methods that are exposed by the node453       **/454      methods: AugmentedRpc<() => Observable<RpcMethods>>;455    };456    state: {457      /**458       * Perform a call to a builtin on the chain459       **/460      call: AugmentedRpc<(method: Text | string, data: Bytes | string | Uint8Array, at?: BlockHash | string | Uint8Array) => Observable<Bytes>>;461      /**462       * Retrieves the keys with prefix of a specific child storage463       **/464      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>>>;465      /**466       * Returns proof of storage for child key entries at a specific block state.467       **/468      getChildReadProof: AugmentedRpc<(childStorageKey: PrefixedStorageKey | string | Uint8Array, keys: Vec<StorageKey> | (StorageKey | string | Uint8Array | any)[], at?: BlockHash | string | Uint8Array) => Observable<ReadProof>>;469      /**470       * Retrieves the child storage for a key471       **/472      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>>;473      /**474       * Retrieves the child storage hash475       **/476      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>>;477      /**478       * Retrieves the child storage size479       **/480      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>>;481      /**482       * Retrieves the keys with a certain prefix483       **/484      getKeys: AugmentedRpc<(key: StorageKey | string | Uint8Array | any, at?: BlockHash | string | Uint8Array) => Observable<Vec<StorageKey>>>;485      /**486       * Returns the keys with prefix with pagination support.487       **/488      getKeysPaged: AugmentedRpc<(key: StorageKey | string | Uint8Array | any, count: u32 | AnyNumber | Uint8Array, startKey?: StorageKey | string | Uint8Array | any, at?: BlockHash | string | Uint8Array) => Observable<Vec<StorageKey>>>;489      /**490       * Returns the runtime metadata491       **/492      getMetadata: AugmentedRpc<(at?: BlockHash | string | Uint8Array) => Observable<Metadata>>;493      /**494       * Returns the keys with prefix, leave empty to get all the keys (deprecated: Use getKeysPaged)495       **/496      getPairs: AugmentedRpc<(prefix: StorageKey | string | Uint8Array | any, at?: BlockHash | string | Uint8Array) => Observable<Vec<KeyValue>>>;497      /**498       * Returns proof of storage entries at a specific block state499       **/500      getReadProof: AugmentedRpc<(keys: Vec<StorageKey> | (StorageKey | string | Uint8Array | any)[], at?: BlockHash | string | Uint8Array) => Observable<ReadProof>>;501      /**502       * Get the runtime version503       **/504      getRuntimeVersion: AugmentedRpc<(at?: BlockHash | string | Uint8Array) => Observable<RuntimeVersion>>;505      /**506       * Retrieves the storage for a key507       **/508      getStorage: AugmentedRpc<<T = Codec>(key: StorageKey | string | Uint8Array | any, block?: Hash | Uint8Array | string) => Observable<T>>;509      /**510       * Retrieves the storage hash511       **/512      getStorageHash: AugmentedRpc<(key: StorageKey | string | Uint8Array | any, at?: BlockHash | string | Uint8Array) => Observable<Hash>>;513      /**514       * Retrieves the storage size515       **/516      getStorageSize: AugmentedRpc<(key: StorageKey | string | Uint8Array | any, at?: BlockHash | string | Uint8Array) => Observable<u64>>;517      /**518       * Query historical storage entries (by key) starting from a start block519       **/520      queryStorage: AugmentedRpc<<T = Codec[]>(keys: Vec<StorageKey> | (StorageKey | string | Uint8Array | any)[], fromBlock?: Hash | Uint8Array | string, toBlock?: Hash | Uint8Array | string) => Observable<[Hash, T][]>>;521      /**522       * Query storage entries (by key) starting at block hash given as the second parameter523       **/524      queryStorageAt: AugmentedRpc<<T = Codec[]>(keys: Vec<StorageKey> | (StorageKey | string | Uint8Array | any)[], at?: Hash | Uint8Array | string) => Observable<T>>;525      /**526       * Retrieves the runtime version via subscription527       **/528      subscribeRuntimeVersion: AugmentedRpc<() => Observable<RuntimeVersion>>;529      /**530       * Subscribes to storage changes for the provided keys531       **/532      subscribeStorage: AugmentedRpc<<T = Codec[]>(keys?: Vec<StorageKey> | (StorageKey | string | Uint8Array | any)[]) => Observable<T>>;533      /**534       * Provides a way to trace the re-execution of a single block535       **/536      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>>;537      /**538       * Check current migration state539       **/540      trieMigrationStatus: AugmentedRpc<(at?: BlockHash | string | Uint8Array) => Observable<MigrationStatusResult>>;541    };542    syncstate: {543      /**544       * Returns the json-serialized chainspec running the node, with a sync state.545       **/546      genSyncSpec: AugmentedRpc<(raw: bool | boolean | Uint8Array) => Observable<Json>>;547    };548    system: {549      /**550       * Retrieves the next accountIndex as available on the node551       **/552      accountNextIndex: AugmentedRpc<(accountId: AccountId | string | Uint8Array) => Observable<Index>>;553      /**554       * Adds the supplied directives to the current log filter555       **/556      addLogFilter: AugmentedRpc<(directives: Text | string) => Observable<Null>>;557      /**558       * Adds a reserved peer559       **/560      addReservedPeer: AugmentedRpc<(peer: Text | string) => Observable<Text>>;561      /**562       * Retrieves the chain563       **/564      chain: AugmentedRpc<() => Observable<Text>>;565      /**566       * Retrieves the chain type567       **/568      chainType: AugmentedRpc<() => Observable<ChainType>>;569      /**570       * Dry run an extrinsic at a given block571       **/572      dryRun: AugmentedRpc<(extrinsic: Bytes | string | Uint8Array, at?: BlockHash | string | Uint8Array) => Observable<ApplyExtrinsicResult>>;573      /**574       * Return health status of the node575       **/576      health: AugmentedRpc<() => Observable<Health>>;577      /**578       * The addresses include a trailing /p2p/ with the local PeerId, and are thus suitable to be passed to addReservedPeer or as a bootnode address for example579       **/580      localListenAddresses: AugmentedRpc<() => Observable<Vec<Text>>>;581      /**582       * Returns the base58-encoded PeerId of the node583       **/584      localPeerId: AugmentedRpc<() => Observable<Text>>;585      /**586       * Retrieves the node name587       **/588      name: AugmentedRpc<() => Observable<Text>>;589      /**590       * Returns current state of the network591       **/592      networkState: AugmentedRpc<() => Observable<NetworkState>>;593      /**594       * Returns the roles the node is running as595       **/596      nodeRoles: AugmentedRpc<() => Observable<Vec<NodeRole>>>;597      /**598       * Returns the currently connected peers599       **/600      peers: AugmentedRpc<() => Observable<Vec<PeerInfo>>>;601      /**602       * Get a custom set of properties as a JSON object, defined in the chain spec603       **/604      properties: AugmentedRpc<() => Observable<ChainProperties>>;605      /**606       * Remove a reserved peer607       **/608      removeReservedPeer: AugmentedRpc<(peerId: Text | string) => Observable<Text>>;609      /**610       * Returns the list of reserved peers611       **/612      reservedPeers: AugmentedRpc<() => Observable<Vec<Text>>>;613      /**614       * Resets the log filter to Substrate defaults615       **/616      resetLogFilter: AugmentedRpc<() => Observable<Null>>;617      /**618       * Returns the state of the syncing of the node619       **/620      syncState: AugmentedRpc<() => Observable<SyncState>>;621      /**622       * Retrieves the version of the node623       **/624      version: AugmentedRpc<() => Observable<Text>>;625    };626    unique: {627      /**628       * Get amount of different user tokens629       **/630      accountBalance: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, account: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, at?: Hash | string | Uint8Array) => Observable<u32>>;631      /**632       * Get tokens owned by account633       **/634      accountTokens: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, account: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Vec<u32>>>;635      /**636       * Get admin list637       **/638      adminlist: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Vec<PalletEvmAccountBasicCrossAccountIdRepr>>>;639      /**640       * Get allowed amount641       **/642      allowance: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, sender: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, spender: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, tokenId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<u128>>;643      /**644       * Check if user is allowed to use collection645       **/646      allowed: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, account: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, at?: Hash | string | Uint8Array) => Observable<bool>>;647      /**648       * Get allowlist649       **/650      allowlist: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Vec<PalletEvmAccountBasicCrossAccountIdRepr>>>;651      /**652       * Get amount of specific account token653       **/654      balance: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, account: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, tokenId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<u128>>;655      /**656       * Get collection by specified id657       **/658      collectionById: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Option<UpDataStructsRpcCollection>>>;659      /**660       * Get collection properties661       **/662      collectionProperties: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, propertyKeys?: Vec<Text> | (Text | string)[], at?: Hash | string | Uint8Array) => Observable<Vec<UpDataStructsProperty>>>;663      /**664       * Get collection stats665       **/666      collectionStats: AugmentedRpc<(at?: Hash | string | Uint8Array) => Observable<UpDataStructsCollectionStats>>;667      /**668       * Get tokens contained in collection669       **/670      collectionTokens: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Vec<u32>>>;671      /**672       * Get token constant metadata673       **/674      constMetadata: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, tokenId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Bytes>>;675      /**676       * Get effective collection limits677       **/678      effectiveCollectionLimits: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Option<UpDataStructsCollectionLimits>>>;679      /**680       * Get last token id681       **/682      lastTokenId: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<u32>>;683      /**684       * Get number of blocks when sponsored transaction is available685       **/686      nextSponsored: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, account: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, tokenId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Option<u64>>>;687      /**688       * Get property permissions689       **/690      propertyPermissions: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, propertyKeys?: Vec<Text> | (Text | string)[], at?: Hash | string | Uint8Array) => Observable<Vec<UpDataStructsPropertyKeyPermission>>>;691      /**692       * Get token data693       **/694      tokenData: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, tokenId: u32 | AnyNumber | Uint8Array, propertyKeys?: Vec<Text> | (Text | string)[], at?: Hash | string | Uint8Array) => Observable<UpDataStructsTokenData>>;695      /**696       * Check if token exists697       **/698      tokenExists: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, tokenId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<bool>>;699      /**700       * Get token owner701       **/702      tokenOwner: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, tokenId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Option<PalletEvmAccountBasicCrossAccountIdRepr>>>;703      /**704       * Get token properties705       **/706      tokenProperties: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, tokenId: u32 | AnyNumber | Uint8Array, propertyKeys?: Vec<Text> | (Text | string)[], at?: Hash | string | Uint8Array) => Observable<Vec<UpDataStructsProperty>>>;707      /**708       * Get token owner, in case of nested token - find parent recursive709       **/710      topmostTokenOwner: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, tokenId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Option<PalletEvmAccountBasicCrossAccountIdRepr>>>;711      /**712       * Get amount of unique collection tokens713       **/714      totalSupply: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<u32>>;715      /**716       * Get token variable metadata717       **/718      variableMetadata: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, tokenId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Bytes>>;719    };720    web3: {721      /**722       * Returns current client version.723       **/724      clientVersion: AugmentedRpc<() => Observable<Text>>;725      /**726       * Returns sha3 of the given data727       **/728      sha3: AugmentedRpc<(data: Bytes | string | Uint8Array) => Observable<H256>>;729    };730  } // RpcInterface731} // declare module
after · tests/src/interfaces/augment-api-rpc.ts
1// Auto-generated via `yarn polkadot-types-from-chain`, do not edit2/* eslint-disable */34import type { PalletEvmAccountBasicCrossAccountIdRepr, PhantomTypeUpDataStructsBaseInfo, PhantomTypeUpDataStructsCollectionInfo, PhantomTypeUpDataStructsNftChild, PhantomTypeUpDataStructsNftInfo, PhantomTypeUpDataStructsPartType, PhantomTypeUpDataStructsPropertyInfo, PhantomTypeUpDataStructsResourceInfo, PhantomTypeUpDataStructsTheme, UpDataStructsCollectionLimits, UpDataStructsCollectionStats, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, UpDataStructsRpcCollection, UpDataStructsTokenData } from './unique';5import type { AugmentedRpc } from '@polkadot/rpc-core/types';6import type { Metadata, StorageKey } from '@polkadot/types';7import type { Bytes, HashMap, Json, Null, Option, Text, U256, U64, Vec, bool, u128, u32, u64 } from '@polkadot/types-codec';8import type { AnyNumber, Codec } from '@polkadot/types-codec/types';9import type { ExtrinsicOrHash, ExtrinsicStatus } from '@polkadot/types/interfaces/author';10import type { EpochAuthorship } from '@polkadot/types/interfaces/babe';11import type { BeefySignedCommitment } from '@polkadot/types/interfaces/beefy';12import type { BlockHash } from '@polkadot/types/interfaces/chain';13import type { PrefixedStorageKey } from '@polkadot/types/interfaces/childstate';14import type { AuthorityId } from '@polkadot/types/interfaces/consensus';15import type { CodeUploadRequest, CodeUploadResult, ContractCallRequest, ContractExecResult, ContractInstantiateResult, InstantiateRequest } from '@polkadot/types/interfaces/contracts';16import type { CreatedBlock } from '@polkadot/types/interfaces/engine';17import type { EthAccount, EthCallRequest, EthFilter, EthFilterChanges, EthLog, EthReceipt, EthRichBlock, EthSubKind, EthSubParams, EthSyncStatus, EthTransaction, EthTransactionRequest, EthWork } from '@polkadot/types/interfaces/eth';18import type { Extrinsic } from '@polkadot/types/interfaces/extrinsics';19import type { EncodedFinalityProofs, JustificationNotification, ReportedRoundStates } from '@polkadot/types/interfaces/grandpa';20import type { MmrLeafProof } from '@polkadot/types/interfaces/mmr';21import type { StorageKind } from '@polkadot/types/interfaces/offchain';22import type { FeeDetails, RuntimeDispatchInfo } from '@polkadot/types/interfaces/payment';23import type { RpcMethods } from '@polkadot/types/interfaces/rpc';24import type { AccountId, BlockNumber, H160, H256, H64, Hash, Header, Index, Justification, KeyValue, SignedBlock, StorageData } from '@polkadot/types/interfaces/runtime';25import type { ReadProof, RuntimeVersion, TraceBlockResponse } from '@polkadot/types/interfaces/state';26import type { ApplyExtrinsicResult, ChainProperties, ChainType, Health, NetworkState, NodeRole, PeerInfo, SyncState } from '@polkadot/types/interfaces/system';27import type { IExtrinsic, Observable } from '@polkadot/types/types';2829declare module '@polkadot/rpc-core/types/jsonrpc' {30  export interface RpcInterface {31    author: {32      /**33       * Returns true if the keystore has private keys for the given public key and key type.34       **/35      hasKey: AugmentedRpc<(publicKey: Bytes | string | Uint8Array, keyType: Text | string) => Observable<bool>>;36      /**37       * Returns true if the keystore has private keys for the given session public keys.38       **/39      hasSessionKeys: AugmentedRpc<(sessionKeys: Bytes | string | Uint8Array) => Observable<bool>>;40      /**41       * Insert a key into the keystore.42       **/43      insertKey: AugmentedRpc<(keyType: Text | string, suri: Text | string, publicKey: Bytes | string | Uint8Array) => Observable<Bytes>>;44      /**45       * Returns all pending extrinsics, potentially grouped by sender46       **/47      pendingExtrinsics: AugmentedRpc<() => Observable<Vec<Extrinsic>>>;48      /**49       * Remove given extrinsic from the pool and temporarily ban it to prevent reimporting50       **/51      removeExtrinsic: AugmentedRpc<(bytesOrHash: Vec<ExtrinsicOrHash> | (ExtrinsicOrHash | { Hash: any } | { Extrinsic: any } | string | Uint8Array)[]) => Observable<Vec<Hash>>>;52      /**53       * Generate new session keys and returns the corresponding public keys54       **/55      rotateKeys: AugmentedRpc<() => Observable<Bytes>>;56      /**57       * Submit and subscribe to watch an extrinsic until unsubscribed58       **/59      submitAndWatchExtrinsic: AugmentedRpc<(extrinsic: IExtrinsic) => Observable<ExtrinsicStatus>>;60      /**61       * Submit a fully formatted extrinsic for block inclusion62       **/63      submitExtrinsic: AugmentedRpc<(extrinsic: IExtrinsic) => Observable<Hash>>;64    };65    babe: {66      /**67       * Returns data about which slots (primary or secondary) can be claimed in the current epoch with the keys in the keystore68       **/69      epochAuthorship: AugmentedRpc<() => Observable<HashMap<AuthorityId, EpochAuthorship>>>;70    };71    beefy: {72      /**73       * Returns hash of the latest BEEFY finalized block as seen by this client.74       **/75      getFinalizedHead: AugmentedRpc<() => Observable<H256>>;76      /**77       * Returns the block most recently finalized by BEEFY, alongside side its justification.78       **/79      subscribeJustifications: AugmentedRpc<() => Observable<BeefySignedCommitment>>;80    };81    chain: {82      /**83       * Get header and body of a relay chain block84       **/85      getBlock: AugmentedRpc<(hash?: BlockHash | string | Uint8Array) => Observable<SignedBlock>>;86      /**87       * Get the block hash for a specific block88       **/89      getBlockHash: AugmentedRpc<(blockNumber?: BlockNumber | AnyNumber | Uint8Array) => Observable<BlockHash>>;90      /**91       * Get hash of the last finalized block in the canon chain92       **/93      getFinalizedHead: AugmentedRpc<() => Observable<BlockHash>>;94      /**95       * Retrieves the header for a specific block96       **/97      getHeader: AugmentedRpc<(hash?: BlockHash | string | Uint8Array) => Observable<Header>>;98      /**99       * Retrieves the newest header via subscription100       **/101      subscribeAllHeads: AugmentedRpc<() => Observable<Header>>;102      /**103       * Retrieves the best finalized header via subscription104       **/105      subscribeFinalizedHeads: AugmentedRpc<() => Observable<Header>>;106      /**107       * Retrieves the best header via subscription108       **/109      subscribeNewHeads: AugmentedRpc<() => Observable<Header>>;110    };111    childstate: {112      /**113       * Returns the keys with prefix from a child storage, leave empty to get all the keys114       **/115      getKeys: AugmentedRpc<(childKey: PrefixedStorageKey | string | Uint8Array, prefix: StorageKey | string | Uint8Array | any, at?: Hash | string | Uint8Array) => Observable<Vec<StorageKey>>>;116      /**117       * Returns the keys with prefix from a child storage with pagination support118       **/119      getKeysPaged: AugmentedRpc<(childKey: PrefixedStorageKey | string | Uint8Array, prefix: StorageKey | string | Uint8Array | any, count: u32 | AnyNumber | Uint8Array, startKey?: StorageKey | string | Uint8Array | any, at?: Hash | string | Uint8Array) => Observable<Vec<StorageKey>>>;120      /**121       * Returns a child storage entry at a specific block state122       **/123      getStorage: AugmentedRpc<(childKey: PrefixedStorageKey | string | Uint8Array, key: StorageKey | string | Uint8Array | any, at?: Hash | string | Uint8Array) => Observable<Option<StorageData>>>;124      /**125       * Returns child storage entries for multiple keys at a specific block state126       **/127      getStorageEntries: AugmentedRpc<(childKey: PrefixedStorageKey | string | Uint8Array, keys: Vec<StorageKey> | (StorageKey | string | Uint8Array | any)[], at?: Hash | string | Uint8Array) => Observable<Vec<Option<StorageData>>>>;128      /**129       * Returns the hash of a child storage entry at a block state130       **/131      getStorageHash: AugmentedRpc<(childKey: PrefixedStorageKey | string | Uint8Array, key: StorageKey | string | Uint8Array | any, at?: Hash | string | Uint8Array) => Observable<Option<Hash>>>;132      /**133       * Returns the size of a child storage entry at a block state134       **/135      getStorageSize: AugmentedRpc<(childKey: PrefixedStorageKey | string | Uint8Array, key: StorageKey | string | Uint8Array | any, at?: Hash | string | Uint8Array) => Observable<Option<u64>>>;136    };137    contracts: {138      /**139       * Executes a call to a contract140       **/141      call: AugmentedRpc<(callRequest: ContractCallRequest | { origin?: any; dest?: any; value?: any; gasLimit?: any; storageDepositLimit?: any; inputData?: any } | string | Uint8Array, at?: BlockHash | string | Uint8Array) => Observable<ContractExecResult>>;142      /**143       * Returns the value under a specified storage key in a contract144       **/145      getStorage: AugmentedRpc<(address: AccountId | string | Uint8Array, key: H256 | string | Uint8Array, at?: BlockHash | string | Uint8Array) => Observable<Option<Bytes>>>;146      /**147       * Instantiate a new contract148       **/149      instantiate: AugmentedRpc<(request: InstantiateRequest | { origin?: any; value?: any; gasLimit?: any; storageDepositLimit?: any; code?: any; data?: any; salt?: any } | string | Uint8Array, at?: BlockHash | string | Uint8Array) => Observable<ContractInstantiateResult>>;150      /**151       * Returns the projected time a given contract will be able to sustain paying its rent152       **/153      rentProjection: AugmentedRpc<(address: AccountId | string | Uint8Array, at?: BlockHash | string | Uint8Array) => Observable<Option<BlockNumber>>>;154      /**155       * Upload new code without instantiating a contract from it156       **/157      uploadCode: AugmentedRpc<(uploadRequest: CodeUploadRequest | { origin?: any; code?: any; storageDepositLimit?: any } | string | Uint8Array, at?: BlockHash | string | Uint8Array) => Observable<CodeUploadResult>>;158    };159    engine: {160      /**161       * Instructs the manual-seal authorship task to create a new block162       **/163      createBlock: AugmentedRpc<(createEmpty: bool | boolean | Uint8Array, finalize: bool | boolean | Uint8Array, parentHash?: BlockHash | string | Uint8Array) => Observable<CreatedBlock>>;164      /**165       * Instructs the manual-seal authorship task to finalize a block166       **/167      finalizeBlock: AugmentedRpc<(hash: BlockHash | string | Uint8Array, justification?: Justification) => Observable<bool>>;168    };169    eth: {170      /**171       * Returns accounts list.172       **/173      accounts: AugmentedRpc<() => Observable<Vec<H160>>>;174      /**175       * Returns the blockNumber176       **/177      blockNumber: AugmentedRpc<() => Observable<U256>>;178      /**179       * Call contract, returning the output data.180       **/181      call: AugmentedRpc<(request: EthCallRequest | { from?: any; to?: any; gasPrice?: any; gas?: any; value?: any; data?: any; nonce?: any } | string | Uint8Array, number?: BlockNumber | AnyNumber | Uint8Array) => Observable<Bytes>>;182      /**183       * Returns the chain ID used for transaction signing at the current best block. None is returned if not available.184       **/185      chainId: AugmentedRpc<() => Observable<U64>>;186      /**187       * Returns block author.188       **/189      coinbase: AugmentedRpc<() => Observable<H160>>;190      /**191       * Estimate gas needed for execution of given contract.192       **/193      estimateGas: AugmentedRpc<(request: EthCallRequest | { from?: any; to?: any; gasPrice?: any; gas?: any; value?: any; data?: any; nonce?: any } | string | Uint8Array, number?: BlockNumber | AnyNumber | Uint8Array) => Observable<U256>>;194      /**195       * Returns current gas price.196       **/197      gasPrice: AugmentedRpc<() => Observable<U256>>;198      /**199       * Returns balance of the given account.200       **/201      getBalance: AugmentedRpc<(address: H160 | string | Uint8Array, number?: BlockNumber | AnyNumber | Uint8Array) => Observable<U256>>;202      /**203       * Returns block with given hash.204       **/205      getBlockByHash: AugmentedRpc<(hash: H256 | string | Uint8Array, full: bool | boolean | Uint8Array) => Observable<Option<EthRichBlock>>>;206      /**207       * Returns block with given number.208       **/209      getBlockByNumber: AugmentedRpc<(block: BlockNumber | AnyNumber | Uint8Array, full: bool | boolean | Uint8Array) => Observable<Option<EthRichBlock>>>;210      /**211       * Returns the number of transactions in a block with given hash.212       **/213      getBlockTransactionCountByHash: AugmentedRpc<(hash: H256 | string | Uint8Array) => Observable<U256>>;214      /**215       * Returns the number of transactions in a block with given block number.216       **/217      getBlockTransactionCountByNumber: AugmentedRpc<(block: BlockNumber | AnyNumber | Uint8Array) => Observable<U256>>;218      /**219       * Returns the code at given address at given time (block number).220       **/221      getCode: AugmentedRpc<(address: H160 | string | Uint8Array, number?: BlockNumber | AnyNumber | Uint8Array) => Observable<Bytes>>;222      /**223       * Returns filter changes since last poll.224       **/225      getFilterChanges: AugmentedRpc<(index: U256 | AnyNumber | Uint8Array) => Observable<EthFilterChanges>>;226      /**227       * Returns all logs matching given filter (in a range 'from' - 'to').228       **/229      getFilterLogs: AugmentedRpc<(index: U256 | AnyNumber | Uint8Array) => Observable<Vec<EthLog>>>;230      /**231       * Returns logs matching given filter object.232       **/233      getLogs: AugmentedRpc<(filter: EthFilter | { fromBlock?: any; toBlock?: any; blockHash?: any; address?: any; topics?: any } | string | Uint8Array) => Observable<Vec<EthLog>>>;234      /**235       * Returns proof for account and storage.236       **/237      getProof: AugmentedRpc<(address: H160 | string | Uint8Array, storageKeys: Vec<H256> | (H256 | string | Uint8Array)[], number: BlockNumber | AnyNumber | Uint8Array) => Observable<EthAccount>>;238      /**239       * Returns content of the storage at given address.240       **/241      getStorageAt: AugmentedRpc<(address: H160 | string | Uint8Array, index: U256 | AnyNumber | Uint8Array, number?: BlockNumber | AnyNumber | Uint8Array) => Observable<H256>>;242      /**243       * Returns transaction at given block hash and index.244       **/245      getTransactionByBlockHashAndIndex: AugmentedRpc<(hash: H256 | string | Uint8Array, index: U256 | AnyNumber | Uint8Array) => Observable<EthTransaction>>;246      /**247       * Returns transaction by given block number and index.248       **/249      getTransactionByBlockNumberAndIndex: AugmentedRpc<(number: BlockNumber | AnyNumber | Uint8Array, index: U256 | AnyNumber | Uint8Array) => Observable<EthTransaction>>;250      /**251       * Get transaction by its hash.252       **/253      getTransactionByHash: AugmentedRpc<(hash: H256 | string | Uint8Array) => Observable<EthTransaction>>;254      /**255       * Returns the number of transactions sent from given address at given time (block number).256       **/257      getTransactionCount: AugmentedRpc<(hash: H256 | string | Uint8Array, number?: BlockNumber | AnyNumber | Uint8Array) => Observable<U256>>;258      /**259       * Returns transaction receipt by transaction hash.260       **/261      getTransactionReceipt: AugmentedRpc<(hash: H256 | string | Uint8Array) => Observable<EthReceipt>>;262      /**263       * Returns an uncles at given block and index.264       **/265      getUncleByBlockHashAndIndex: AugmentedRpc<(hash: H256 | string | Uint8Array, index: U256 | AnyNumber | Uint8Array) => Observable<EthRichBlock>>;266      /**267       * Returns an uncles at given block and index.268       **/269      getUncleByBlockNumberAndIndex: AugmentedRpc<(number: BlockNumber | AnyNumber | Uint8Array, index: U256 | AnyNumber | Uint8Array) => Observable<EthRichBlock>>;270      /**271       * Returns the number of uncles in a block with given hash.272       **/273      getUncleCountByBlockHash: AugmentedRpc<(hash: H256 | string | Uint8Array) => Observable<U256>>;274      /**275       * Returns the number of uncles in a block with given block number.276       **/277      getUncleCountByBlockNumber: AugmentedRpc<(number: BlockNumber | AnyNumber | Uint8Array) => Observable<U256>>;278      /**279       * Returns the hash of the current block, the seedHash, and the boundary condition to be met.280       **/281      getWork: AugmentedRpc<() => Observable<EthWork>>;282      /**283       * Returns the number of hashes per second that the node is mining with.284       **/285      hashrate: AugmentedRpc<() => Observable<U256>>;286      /**287       * Returns true if client is actively mining new blocks.288       **/289      mining: AugmentedRpc<() => Observable<bool>>;290      /**291       * Returns id of new block filter.292       **/293      newBlockFilter: AugmentedRpc<() => Observable<U256>>;294      /**295       * Returns id of new filter.296       **/297      newFilter: AugmentedRpc<(filter: EthFilter | { fromBlock?: any; toBlock?: any; blockHash?: any; address?: any; topics?: any } | string | Uint8Array) => Observable<U256>>;298      /**299       * Returns id of new block filter.300       **/301      newPendingTransactionFilter: AugmentedRpc<() => Observable<U256>>;302      /**303       * Returns protocol version encoded as a string (quotes are necessary).304       **/305      protocolVersion: AugmentedRpc<() => Observable<u64>>;306      /**307       * Sends signed transaction, returning its hash.308       **/309      sendRawTransaction: AugmentedRpc<(bytes: Bytes | string | Uint8Array) => Observable<H256>>;310      /**311       * Sends transaction; will block waiting for signer to return the transaction hash312       **/313      sendTransaction: AugmentedRpc<(tx: EthTransactionRequest | { from?: any; to?: any; gasPrice?: any; gas?: any; value?: any; data?: any; nonce?: any } | string | Uint8Array) => Observable<H256>>;314      /**315       * Used for submitting mining hashrate.316       **/317      submitHashrate: AugmentedRpc<(index: U256 | AnyNumber | Uint8Array, hash: H256 | string | Uint8Array) => Observable<bool>>;318      /**319       * Used for submitting a proof-of-work solution.320       **/321      submitWork: AugmentedRpc<(nonce: H64 | string | Uint8Array, headerHash: H256 | string | Uint8Array, mixDigest: H256 | string | Uint8Array) => Observable<bool>>;322      /**323       * Subscribe to Eth subscription.324       **/325      subscribe: AugmentedRpc<(kind: EthSubKind | 'newHeads' | 'logs' | 'newPendingTransactions' | 'syncing' | number | Uint8Array, params?: EthSubParams | { None: any } | { Logs: any } | string | Uint8Array) => Observable<Null>>;326      /**327       * Returns an object with data about the sync status or false.328       **/329      syncing: AugmentedRpc<() => Observable<EthSyncStatus>>;330      /**331       * Uninstalls filter.332       **/333      uninstallFilter: AugmentedRpc<(index: U256 | AnyNumber | Uint8Array) => Observable<bool>>;334    };335    mmr: {336      /**337       * Generate MMR proof for given leaf index.338       **/339      generateProof: AugmentedRpc<(leafIndex: u64 | AnyNumber | Uint8Array, at?: BlockHash | string | Uint8Array) => Observable<MmrLeafProof>>;340    };341    net: {342      /**343       * Returns true if client is actively listening for network connections. Otherwise false.344       **/345      listening: AugmentedRpc<() => Observable<bool>>;346      /**347       * Returns number of peers connected to node.348       **/349      peerCount: AugmentedRpc<() => Observable<Text>>;350      /**351       * Returns protocol version.352       **/353      version: AugmentedRpc<() => Observable<Text>>;354    };355    offchain: {356      /**357       * Get offchain local storage under given key and prefix358       **/359      localStorageGet: AugmentedRpc<(kind: StorageKind | 'PERSISTENT' | 'LOCAL' | number | Uint8Array, key: Bytes | string | Uint8Array) => Observable<Option<Bytes>>>;360      /**361       * Set offchain local storage under given key and prefix362       **/363      localStorageSet: AugmentedRpc<(kind: StorageKind | 'PERSISTENT' | 'LOCAL' | number | Uint8Array, key: Bytes | string | Uint8Array, value: Bytes | string | Uint8Array) => Observable<Null>>;364    };365    payment: {366      /**367       * Query the detailed fee of a given encoded extrinsic368       **/369      queryFeeDetails: AugmentedRpc<(extrinsic: Bytes | string | Uint8Array, at?: BlockHash | string | Uint8Array) => Observable<FeeDetails>>;370      /**371       * Retrieves the fee information for an encoded extrinsic372       **/373      queryInfo: AugmentedRpc<(extrinsic: Bytes | string | Uint8Array, at?: BlockHash | string | Uint8Array) => Observable<RuntimeDispatchInfo>>;374    };375    rmrk: {376      /**377       * Get tokens owned by an account in a collection378       **/379      accountTokens: AugmentedRpc<(accountId: AccountId32 | string | Uint8Array, collectionId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Vec<u32>>>;380      /**381       * Get base info382       **/383      base: AugmentedRpc<(baseId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Option<PhantomTypeUpDataStructsBaseInfo>>>;384      /**385       * Get all Base's parts386       **/387      baseParts: AugmentedRpc<(baseId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Vec<PhantomTypeUpDataStructsPartType>>>;388      /**389       * Get collection by id390       **/391      collectionById: AugmentedRpc<(id: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Option<PhantomTypeUpDataStructsCollectionInfo>>>;392      /**393       * Get collection properties394       **/395      collectionProperties: AugmentedRpc<(collectionId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Vec<PhantomTypeUpDataStructsPropertyInfo>>>;396      /**397       * Get the latest created collection id398       **/399      lastCollectionIdx: AugmentedRpc<(at?: Hash | string | Uint8Array) => Observable<u32>>;400      /**401       * Get NFT by collection id and NFT id402       **/403      nftById: AugmentedRpc<(collectionId: u32 | AnyNumber | Uint8Array, nftId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Option<PhantomTypeUpDataStructsNftInfo>>>;404      /**405       * Get NFT children406       **/407      nftChildren: AugmentedRpc<(collectionId: u32 | AnyNumber | Uint8Array, nftId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Vec<PhantomTypeUpDataStructsNftChild>>>;408      /**409       * Get NFT properties410       **/411      nftProperties: AugmentedRpc<(collectionId: u32 | AnyNumber | Uint8Array, nftId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Vec<PhantomTypeUpDataStructsPropertyInfo>>>;412      /**413       * Get NFT resource priorities414       **/415      nftResourcePriorities: AugmentedRpc<(collectionId: u32 | AnyNumber | Uint8Array, nftId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Vec<Bytes>>>;416      /**417       * Get NFT resources418       **/419      nftResources: AugmentedRpc<(collectionId: u32 | AnyNumber | Uint8Array, nftId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Vec<PhantomTypeUpDataStructsResourceInfo>>>;420      /**421       * Get Base's theme names422       **/423      themeNames: AugmentedRpc<(baseId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Vec<Bytes>>>;424      /**425       * Get Theme's keys values426       **/427      themes: AugmentedRpc<(baseId: u32 | AnyNumber | Uint8Array, themeName: Text | string, keys: Option<Vec<Text>> | null | object | string | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Option<PhantomTypeUpDataStructsTheme>>>;428    };429    rpc: {430      /**431       * Retrieves the list of RPC methods that are exposed by the node432       **/433      methods: AugmentedRpc<() => Observable<RpcMethods>>;434    };435    syncstate: {436      /**437       * Returns the json-serialized chainspec running the node, with a sync state.438       **/439      genSyncSpec: AugmentedRpc<(raw: bool | boolean | Uint8Array) => Observable<Json>>;440    };441    system: {442      /**443       * Retrieves the next accountIndex as available on the node444       **/445      accountNextIndex: AugmentedRpc<(accountId: AccountId | string | Uint8Array) => Observable<Index>>;446      /**447       * Adds the supplied directives to the current log filter448       **/449      addLogFilter: AugmentedRpc<(directives: Text | string) => Observable<Null>>;450      /**451       * Adds a reserved peer452       **/453      addReservedPeer: AugmentedRpc<(peer: Text | string) => Observable<Text>>;454      /**455       * Retrieves the chain456       **/457      chain: AugmentedRpc<() => Observable<Text>>;458      /**459       * Retrieves the chain type460       **/461      chainType: AugmentedRpc<() => Observable<ChainType>>;462      /**463       * Dry run an extrinsic at a given block464       **/465      dryRun: AugmentedRpc<(extrinsic: Bytes | string | Uint8Array, at?: BlockHash | string | Uint8Array) => Observable<ApplyExtrinsicResult>>;466      /**467       * Return health status of the node468       **/469      health: AugmentedRpc<() => Observable<Health>>;470      /**471       * The addresses include a trailing /p2p/ with the local PeerId, and are thus suitable to be passed to addReservedPeer or as a bootnode address for example472       **/473      localListenAddresses: AugmentedRpc<() => Observable<Vec<Text>>>;474      /**475       * Returns the base58-encoded PeerId of the node476       **/477      localPeerId: AugmentedRpc<() => Observable<Text>>;478      /**479       * Retrieves the node name480       **/481      name: AugmentedRpc<() => Observable<Text>>;482      /**483       * Returns current state of the network484       **/485      networkState: AugmentedRpc<() => Observable<NetworkState>>;486      /**487       * Returns the roles the node is running as488       **/489      nodeRoles: AugmentedRpc<() => Observable<Vec<NodeRole>>>;490      /**491       * Returns the currently connected peers492       **/493      peers: AugmentedRpc<() => Observable<Vec<PeerInfo>>>;494      /**495       * Get a custom set of properties as a JSON object, defined in the chain spec496       **/497      properties: AugmentedRpc<() => Observable<ChainProperties>>;498      /**499       * Remove a reserved peer500       **/501      removeReservedPeer: AugmentedRpc<(peerId: Text | string) => Observable<Text>>;502      /**503       * Returns the list of reserved peers504       **/505      reservedPeers: AugmentedRpc<() => Observable<Vec<Text>>>;506      /**507       * Resets the log filter to Substrate defaults508       **/509      resetLogFilter: AugmentedRpc<() => Observable<Null>>;510      /**511       * Returns the state of the syncing of the node512       **/513      syncState: AugmentedRpc<() => Observable<SyncState>>;514      /**515       * Retrieves the version of the node516       **/517      version: AugmentedRpc<() => Observable<Text>>;518    };519    unique: {520      /**521       * Get amount of different user tokens522       **/523      accountBalance: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, account: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, at?: Hash | string | Uint8Array) => Observable<u32>>;524      /**525       * Get tokens owned by account526       **/527      accountTokens: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, account: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Vec<u32>>>;528      /**529       * Get admin list530       **/531      adminlist: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Vec<PalletEvmAccountBasicCrossAccountIdRepr>>>;532      /**533       * Get allowed amount534       **/535      allowance: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, sender: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, spender: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, tokenId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<u128>>;536      /**537       * Check if user is allowed to use collection538       **/539      allowed: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, account: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, at?: Hash | string | Uint8Array) => Observable<bool>>;540      /**541       * Get allowlist542       **/543      allowlist: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Vec<PalletEvmAccountBasicCrossAccountIdRepr>>>;544      /**545       * Get amount of specific account token546       **/547      balance: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, account: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, tokenId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<u128>>;548      /**549       * Get collection by specified id550       **/551      collectionById: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Option<UpDataStructsRpcCollection>>>;552      /**553       * Get collection properties554       **/555      collectionProperties: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, propertyKeys?: Vec<Text> | (Text | string)[], at?: Hash | string | Uint8Array) => Observable<Vec<UpDataStructsProperty>>>;556      /**557       * Get collection stats558       **/559      collectionStats: AugmentedRpc<(at?: Hash | string | Uint8Array) => Observable<UpDataStructsCollectionStats>>;560      /**561       * Get tokens contained in collection562       **/563      collectionTokens: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Vec<u32>>>;564      /**565       * Get token constant metadata566       **/567      constMetadata: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, tokenId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Bytes>>;568      /**569       * Get effective collection limits570       **/571      effectiveCollectionLimits: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Option<UpDataStructsCollectionLimits>>>;572      /**573       * Get last token id574       **/575      lastTokenId: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<u32>>;576      /**577       * Get number of blocks when sponsored transaction is available578       **/579      nextSponsored: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, account: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, tokenId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Option<u64>>>;580      /**581       * Get property permissions582       **/583      propertyPermissions: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, propertyKeys?: Vec<Text> | (Text | string)[], at?: Hash | string | Uint8Array) => Observable<Vec<UpDataStructsPropertyKeyPermission>>>;584      /**585       * Get token data586       **/587      tokenData: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, tokenId: u32 | AnyNumber | Uint8Array, propertyKeys?: Vec<Text> | (Text | string)[], at?: Hash | string | Uint8Array) => Observable<UpDataStructsTokenData>>;588      /**589       * Check if token exists590       **/591      tokenExists: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, tokenId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<bool>>;592      /**593       * Get token owner594       **/595      tokenOwner: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, tokenId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Option<PalletEvmAccountBasicCrossAccountIdRepr>>>;596      /**597       * Get token properties598       **/599      tokenProperties: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, tokenId: u32 | AnyNumber | Uint8Array, propertyKeys?: Vec<Text> | (Text | string)[], at?: Hash | string | Uint8Array) => Observable<Vec<UpDataStructsProperty>>>;600      /**601       * Get token owner, in case of nested token - find parent recursive602       **/603      topmostTokenOwner: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, tokenId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Option<PalletEvmAccountBasicCrossAccountIdRepr>>>;604      /**605       * Get amount of unique collection tokens606       **/607      totalSupply: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<u32>>;608      /**609       * Get token variable metadata610       **/611      variableMetadata: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, tokenId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Bytes>>;612    };613    web3: {614      /**615       * Returns current client version.616       **/617      clientVersion: AugmentedRpc<() => Observable<Text>>;618      /**619       * Returns sha3 of the given data620       **/621      sha3: AugmentedRpc<(data: Bytes | string | Uint8Array) => Observable<H256>>;622    };623  } // RpcInterface624} // declare module
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;