Compare commits

...
67 Commits
Author SHA1 Message Date
github-actions[bot] d0e0008399 [CI Skip] release/stable 10.7.2
skip-checks: true
2023-05-21 10:24:18 +00:00
Jaco a6eeba83c1 10.7.2 (#5652) 2023-05-21 13:13:34 +03:00
github-actions[bot] 541eceae82 [CI Skip] bump/beta 10.7.2-3-x
skip-checks: true
2023-05-21 09:48:40 +00:00
Jaco 3d0a1701fa Bump dev & adjust duplicated exports (#5651) 2023-05-21 12:40:07 +03:00
github-actions[bot] 0e46592f4d [CI Skip] bump/beta 10.7.2-2-x
skip-checks: true
2023-05-20 07:55:15 +00:00
polymath-eric a561253de9 Allow unset external signer (#5649) 2023-05-20 10:46:06 +03:00
github-actions[bot] 0c6a4754f0 [CI Skip] bump/beta 10.7.2-1-x
skip-checks: true
2023-05-18 09:08:21 +00:00
Jaco 60dd4e9699 Adjust tsconfig usage (w/ latest dev) (#5648) 2023-05-18 11:59:11 +03:00
github-actions[bot] f10f79c0ac [CI Skip] bump/beta 10.7.2-0-x
skip-checks: true
2023-05-18 05:51:41 +00:00
Jaco 8394c71cfa Bump dev deps (#5647)
* Bump dev deps

* Adjust

* Actual bump, fix tsconfig for typegen
2023-05-18 08:42:41 +03:00
github-actions[bot] dd0bd21d88 [CI Skip] release/stable 10.7.1
skip-checks: true
2023-05-13 09:56:51 +00:00
Jaco 58875b8125 10.7.1 (#5645) 2023-05-13 12:44:17 +03:00
github-actions[bot] 7e0586794a [CI Skip] bump/beta 10.6.2-1-x
skip-checks: true
2023-05-13 08:52:44 +00:00
Jaco d800886ee0 Bump util (#5644) 2023-05-13 11:43:50 +03:00
github-actions[bot] 0bdfc37096 [CI Skip] bump/beta 10.6.2-0-x
skip-checks: true
2023-05-13 08:05:11 +00:00
Jaco db3b3f606b Bump static metadata (#5643) 2023-05-13 10:53:47 +03:00
github-actions[bot] 717043c557 [CI Skip] release/stable 10.6.1
skip-checks: true
2023-05-07 11:40:24 +00:00
Jaco 8cee4c462a 10.6.1 (#5635) 2023-05-07 14:30:10 +03:00
github-actions[bot] f6f1646147 [CI Skip] bump/beta 10.5.2-8-x
skip-checks: true
2023-05-07 11:14:21 +00:00
Jaco dd533f9831 Update static metadata (#5634) 2023-05-07 14:02:37 +03:00
github-actions[bot] 5ba13358a5 [CI Skip] bump/beta 10.5.2-7-x
skip-checks: true
2023-05-07 09:34:16 +00:00
Jaco 3a3680194d Allow conversion of v15 metadata (#5631)
* Allow conversion of v15 metadata

* Don't output toCallsOnly in latest known

* Adjust asV* inside metadata conversions

* typo

* CHANGELOG

* CHANGELOG
2023-05-07 12:25:40 +03:00
github-actions[bot] d436e42bb0 [CI Skip] bump/beta 10.5.2-6-x
skip-checks: true
2023-05-06 09:00:47 +00:00
Jaco d6d1575ba9 Bump dev (#5632) 2023-05-06 11:52:22 +03:00
github-actions[bot] 15e5f4d401 [CI Skip] bump/beta 10.5.2-5-x
skip-checks: true
2023-05-04 12:09:06 +00:00
Jaco f4c2b150d3 Adjust rpc coder types (#5630) 2023-05-04 15:00:43 +03:00
github-actions[bot] c1d727fbe8 [CI Skip] bump/beta 10.5.2-4-x
skip-checks: true
2023-05-02 07:23:00 +00:00
Jaco 475891575b Historic Kusama Scheduler overrides (non-comprehensive) (#5629) 2023-05-02 10:14:17 +03:00
github-actions[bot] 02b7807ba5 [CI Skip] bump/beta 10.5.2-3-x
skip-checks: true
2023-05-02 06:27:33 +00:00
Florian Franzen d15f0b3ac5 metadataMd: use endpoint for rpc and runtime details too (#5628) 2023-05-02 09:17:15 +03:00
github-actions[bot] e8f782e1f2 [CI Skip] bump/beta 10.5.2-2-x
skip-checks: true
2023-05-02 05:39:18 +00:00
Jaco 0f627bed2d Adjust WebSocket check (#5627)
* Adjust WebSocket check

* Deno adjust

* Re-adjust
2023-05-02 08:30:19 +03:00
github-actions[bot] 427cf3e105 [CI Skip] bump/beta 10.5.2-1-x
skip-checks: true
2023-05-01 16:39:54 +00:00
Jaco 9e98f81dc0 Attempt to fix Deno check (#5626)
* Attemp to fix Deno check

* Adjust
2023-05-01 19:30:58 +03:00
github-actions[bot] f98422c42b [CI Skip] bump/beta 10.5.2-0-x
skip-checks: true
2023-05-01 15:25:41 +00:00
Tarik Gul 267c6242a3 Update .nvmrc (#5624)
* Update nvmrc to be inline with package.json engine

* Update to 18.15
2023-05-01 18:16:56 +03:00
github-actions[bot] 94cbbf5356 [CI Skip] release/stable 10.5.1
skip-checks: true
2023-04-29 08:56:34 +00:00
Jaco c1b1ad7843 10.5.1 (#5623) 2023-04-29 11:48:07 +03:00
github-actions[bot] ce5769471f [CI Skip] bump/beta 10.4.2-7-x
skip-checks: true
2023-04-29 06:40:36 +00:00
Jaco 09222d9055 Bump util (#5622)
* Bump util

* Adjust to fix build
2023-04-29 09:31:52 +03:00
github-actions[bot] 9c4554ddb3 [CI Skip] bump/beta 10.4.2-6-x
skip-checks: true
2023-04-28 07:46:21 +00:00
Jaco 1ba4c0c277 Allow switching on/off of isPedantic checks (#5620)
* Allow switching on/off of isPedantic checks

* CHANGELOG

* typos
2023-04-28 10:37:27 +03:00
github-actions[bot] ac46305d15 [CI Skip] bump/beta 10.4.2-5-x
skip-checks: true
2023-04-28 07:33:46 +00:00
Jaco ad59abfc37 Adjust spread usage in types/interfaces (#5610) 2023-04-28 10:23:04 +03:00
github-actions[bot] 5a48ca3a0a [CI Skip] bump/beta 10.4.2-4-x
skip-checks: true
2023-04-28 06:49:19 +00:00
Jaco d3dabadf95 Bump deps (#5619)
* Bump deps

* CHANGELOG
2023-04-28 09:40:45 +03:00
github-actions[bot] 212d0e33ae [CI Skip] bump/beta 10.4.2-3-x
skip-checks: true
2023-04-26 09:49:32 +00:00
Jaco a6adeb739f Bump deps w/ export ordering (#5614) 2023-04-26 12:40:14 +03:00
github-actions[bot] cd440ea3c4 [CI Skip] bump/beta 10.4.2-2-x
skip-checks: true
2023-04-25 06:05:26 +00:00
Jaco eb480d7ce9 Export & spread cleanups on types-known (#5609) 2023-04-25 08:56:37 +03:00
github-actions[bot] 298397f499 [CI Skip] bump/beta 10.4.2-1-x
skip-checks: true
2023-04-23 13:02:37 +00:00
Jaco 6b17bf5a7a Default to hex-only when number bits > native Rust (#5611)
* Default to hex-only when number bits > native Rust

* CHANGELOG

* Add test for > u128 case
2023-04-23 15:53:32 +03:00
github-actions[bot] 3b3da09f33 [CI Skip] bump/beta 10.4.2-0-x
skip-checks: true
2023-04-23 06:21:56 +00:00
Jaco 976d708fae Adjust Deno WebSocket check (#5608) 2023-04-23 09:13:09 +03:00
github-actions[bot] 92c250e9a7 [CI Skip] release/stable 10.4.1
skip-checks: true
2023-04-22 09:56:06 +00:00
Jaco ba43c288fe 10.4.1 (#5607) 2023-04-22 12:47:14 +03:00
github-actions[bot] ef0d1f4e8a [CI Skip] bump/beta 10.3.5-4-x
skip-checks: true
2023-04-22 09:26:11 +00:00
Jaco cc31d1176e Bump static metadata (#5606) 2023-04-22 12:17:06 +03:00
github-actions[bot] b45e0d4e0d [CI Skip] bump/beta 10.3.5-3-x
skip-checks: true
2023-04-22 09:00:43 +00:00
Jaco 3b894da9f2 Adjust AccountId20 detection with partial match (#5605) 2023-04-22 11:48:59 +03:00
github-actions[bot] 83500c05b3 [CI Skip] bump/beta 10.3.5-2-x
skip-checks: true
2023-04-22 08:35:22 +00:00
Jaco c554e5eef7 Bump common (#5604) 2023-04-22 11:26:14 +03:00
Jaco 6b655838a0 Small cleanup to author details (#5599)
* Small cleanup to author details

* CHANGELOG
2023-04-22 11:16:29 +03:00
github-actions[bot] 4bd23463ab [CI Skip] bump/beta 10.3.5-1-x
skip-checks: true
2023-04-21 10:56:23 +00:00
Jaco 9c758cce95 Bump dev (w/ Node 16+ only) (#5603) 2023-04-21 13:47:31 +03:00
github-actions[bot] abdc50f405 [CI Skip] bump/beta 10.3.5-0-x
skip-checks: true
2023-04-20 05:23:47 +00:00
Xiliang Chen b849d50995 no warm for unknown signed extensions (#5601) 2023-04-20 08:14:55 +03:00
318 changed files with 80445 additions and 8593 deletions
-25
View File
@@ -1,25 +0,0 @@
// Copyright 2017-2023 @polkadot/api authors & contributors
// SPDX-License-Identifier: Apache-2.0
const base = require('@polkadot/dev/config/eslint.cjs');
module.exports = {
...base,
ignorePatterns: [
...base.ignorePatterns,
'/scripts'
],
parserOptions: {
...base.parserOptions,
project: [
'./tsconfig.eslint.json'
]
},
rules: {
...base.rules,
// add override for any (a metric ton of them, initial conversion)
'@typescript-eslint/no-explicit-any': 'off',
// this seems very broken atm, false positives
'@typescript-eslint/unbound-method': 'off'
}
};
+1 -1
View File
@@ -21,5 +21,5 @@ jobs:
- name: ${{ matrix.step }}
if: always()
run: |
yarn install --immutable | grep -v 'YN0013'
yarn install --immutable
yarn ${{ matrix.step }}
+1 -1
View File
@@ -27,5 +27,5 @@ jobs:
node-version: 'lts/*'
- name: ${{ matrix.step }}
run: |
yarn install --immutable | grep -v 'YN0013'
yarn install --immutable
yarn ${{ matrix.step }}
+1 -1
View File
@@ -1 +1 @@
14
v18.15
+5
View File
@@ -2,6 +2,11 @@ enableImmutableInstalls: false
enableProgressBars: false
logFilters:
# Discard any "cannot be found in cache" messages
- code: YN0013
level: discard
nodeLinker: node-modules
plugins:
+58
View File
@@ -1,5 +1,63 @@
# CHANGELOG
## 10.7.2 May 21, 2023
Contributed:
- Allow `api.setSigner(...)` to clear existing (Thanks to https://github.com/polymath-eric)
Changes:
- Adjust `@polkadot/types-create` exports with no duplicates
## 10.7.1 May 13, 2023
Changes:
- Update to latest Polkadot, Kusama & Substrate metadata
- Add `module` to `package.json` export map (ESM-only)
## 10.6.1 May 7, 2023
Contributed:
- Extract runtime details for custom documentation (Thanks to https://github.com/FlorianFranzen)
Changes:
- Apply historic `Scheduled` types for Kusama (as reported, non-comprehensive)
- Adjust Deno types inside `WsProvider`
- Allow parsing of (experimental) metadata v15
- Update to latest Polkadot, Kusama & Substrate metadata
## 10.5.1 Apr 29, 2023
Changes:
- Default to hex-only in `Int/UInt.toJSON` for > 128-bit values
- Allow for disabling of `isPedantic` storage checks in API options
- Adjust usage of `objectSpread`, default to runtime as required
- Adjust compilation output for `__internal__` class fields
- Update to latest Polkadot, Kusama & Substrate metadata
## 10.4.1 Apr 22, 2023
Contributed:
- Apply `noInitWarn` flag to signed extension warnings (Thanks to https://github.com/xlc)
Changes:
- Adjust `AccountId20` detection with partial match
- Cleanup block author extraction derives
- Update to latest Polkadot, Kusama & Substrate metadata
- Drop support for Node 14 (EOL 30 Apr 2023)
## 10.3.4 Apr 16, 2023
Changes:
+5 -2
View File
@@ -1,9 +1,9 @@
3434 Jaco Author extract using correct as-at state (#5598)
3464 Jaco 10.7.2 (#5652)
83 Amaury Martiny StatementKind: Regular and Saft (#2303)
37 Keith Ingram Update contract types and rpc (#4541)
35 Stefanie Doll Updated child storage parameters (#1709)
20 Luke Schoen fix: Fixes TypeError: Cannot read property 'vesting' of undefined (#1970)
18 Xiliang Chen fix unkown rpc (#5325)
19 Xiliang Chen no warm for unknown signed extensions (#5601)
15 Jeremías Díaz feat(types): add correct tuple type to storage key (#3054)
14 Nikos Kontakis Bump substrate connect to 0.7.16 (#5307)
11 Ian He HttpProvider support clone() (#3949)
@@ -64,6 +64,7 @@
1 Drew Stone Update evm definitions to include vicinity (#2279)
1 Dylan Galea Updated users of the polkadot-js/api (#2027)
1 flex Change BeefySignedCommitment signatures type to EcdsaSignature (#4204)
1 Florian Franzen metadataMd: use endpoint for rpc and runtime details too (#5628)
1 Furqan A fix: fixed 404 to the docs from the api readme (#3985)
1 Gérard Dethier Fix LRUCache memory leak. (#4520)
1 Gerben van de Wiel Adding some extra notes on changes in the specname (#2329)
@@ -97,6 +98,7 @@
1 Paul M Fox Basic BTreeMaps codec support (#1474)
1 philipstanislaus Update types for centrifuge chain v1.2.0 (#2424)
1 Pierre Krieger Update substrate/connect to 0.7.6 (#4940)
1 polymath-eric Allow unset external signer (#5649)
1 Qinxuan Chen Add fp_account::AccountId20 mapping (#5551)
1 qiuhao update DeriveCustom type (#2581)
1 r0t0r-r0t0r Fix memory leak on raw rpc call (#4505)
@@ -112,6 +114,7 @@
1 Sergei Pepyakin INK! -> ink! (#1347)
1 Shunji Zhan small polish (#5276)
1 Stephen Shelton Add transaction-payment runtime API V3 (#5430)
1 Tarik Gul Update .nvmrc (#5624)
1 WoeOm adapt Darwinia, Crab Network types (#3498)
1 Xat_MassacrE Fix packages/types/src/codec/utils/encodeTypes.ts encodeSubTypes bug (#1544)
1 yjh fix MetadataVersioned.asV12 (#2983)
+16
View File
@@ -0,0 +1,16 @@
// Copyright 2017-2023 @polkadot/dev authors & contributors
// SPDX-License-Identifier: Apache-2.0
import baseConfig from '@polkadot/dev/config/eslint';
export default [
...baseConfig,
{
rules: {
// add override for any (a metric ton of them, initial conversion)
'@typescript-eslint/no-explicit-any': 'off',
// we generally use this in isFunction, not via calling
'@typescript-eslint/unbound-method': 'off'
}
}
];
+5 -5
View File
@@ -14,10 +14,10 @@
},
"sideEffects": false,
"type": "module",
"version": "10.3.4",
"version": "10.7.2",
"versions": {
"git": "10.3.4",
"npm": "10.3.4"
"git": "10.7.2",
"npm": "10.7.2"
},
"workspaces": [
"packages/*"
@@ -40,9 +40,9 @@
"test:one": "polkadot-dev-run-test --env node"
},
"devDependencies": {
"@polkadot/dev": "^0.72.43",
"@polkadot/dev": "^0.75.4",
"@polkadot/typegen": "workspace:packages/typegen",
"@types/node": "^18.15.11"
"@types/node": "^20.2.1"
},
"resolutions": {
"typescript": "^5.0.4"
+9 -9
View File
@@ -3,7 +3,7 @@
"bugs": "https://github.com/polkadot-js/api/issues",
"description": "API generated augmentation",
"engines": {
"node": ">=14"
"node": ">=16"
},
"homepage": "https://github.com/polkadot-js/api/tree/master/packages/api-augment#readme",
"license": "Apache-2.0",
@@ -18,15 +18,15 @@
"./detectPackage.cjs"
],
"type": "module",
"version": "10.3.4",
"version": "10.7.2",
"main": "index.js",
"dependencies": {
"@polkadot/api-base": "10.3.4",
"@polkadot/rpc-augment": "10.3.4",
"@polkadot/types": "10.3.4",
"@polkadot/types-augment": "10.3.4",
"@polkadot/types-codec": "10.3.4",
"@polkadot/util": "^11.1.3",
"tslib": "^2.5.0"
"@polkadot/api-base": "10.7.2",
"@polkadot/rpc-augment": "10.7.2",
"@polkadot/types": "10.7.2",
"@polkadot/types-augment": "10.7.2",
"@polkadot/types-codec": "10.7.2",
"@polkadot/util": "^12.2.1",
"tslib": "^2.5.2"
}
}
+1 -6
View File
@@ -1296,11 +1296,6 @@ declare module '@polkadot/api-base/types/errors' {
* Para is not registered in our system.
**/
NotRegistered: AugmentedError<ApiType>;
/**
* The PVF pre-checking statement cannot be included since the PVF pre-checking mechanism
* is disabled.
**/
PvfCheckDisabled: AugmentedError<ApiType>;
/**
* The given validator already has cast a vote.
**/
@@ -2103,7 +2098,7 @@ declare module '@polkadot/api-base/types/errors' {
**/
Filtered: AugmentedError<ApiType>;
/**
* The unlock operation cannot succeed because there are still users of the lock.
* The unlock operation cannot succeed because there are still consumers of the lock.
**/
InUse: AugmentedError<ApiType>;
/**
+17
View File
@@ -75,6 +75,10 @@ declare module '@polkadot/api-base/types/events' {
* An account was created with some free balance.
**/
Endowed: AugmentedEvent<ApiType, [account: AccountId32, freeBalance: u128], { account: AccountId32, freeBalance: u128 }>;
/**
* Some balance was frozen.
**/
Frozen: AugmentedEvent<ApiType, [who: AccountId32, amount: u128], { who: AccountId32, amount: u128 }>;
/**
* Total issuance was increased by `amount`, creating a credit to be balanced.
**/
@@ -112,6 +116,10 @@ declare module '@polkadot/api-base/types/events' {
* Some amount was suspended from an account (it can be restored later).
**/
Suspended: AugmentedEvent<ApiType, [who: AccountId32, amount: u128], { who: AccountId32, amount: u128 }>;
/**
* Some balance was thawed.
**/
Thawed: AugmentedEvent<ApiType, [who: AccountId32, amount: u128], { who: AccountId32, amount: u128 }>;
/**
* Transfer succeeded.
**/
@@ -626,6 +634,10 @@ declare module '@polkadot/api-base/types/events' {
* An account was created with some free balance.
**/
Endowed: AugmentedEvent<ApiType, [account: AccountId32, freeBalance: u128], { account: AccountId32, freeBalance: u128 }>;
/**
* Some balance was frozen.
**/
Frozen: AugmentedEvent<ApiType, [who: AccountId32, amount: u128], { who: AccountId32, amount: u128 }>;
/**
* Total issuance was increased by `amount`, creating a credit to be balanced.
**/
@@ -663,6 +675,10 @@ declare module '@polkadot/api-base/types/events' {
* Some amount was suspended from an account (it can be restored later).
**/
Suspended: AugmentedEvent<ApiType, [who: AccountId32, amount: u128], { who: AccountId32, amount: u128 }>;
/**
* Some balance was thawed.
**/
Thawed: AugmentedEvent<ApiType, [who: AccountId32, amount: u128], { who: AccountId32, amount: u128 }>;
/**
* Transfer succeeded.
**/
@@ -1008,6 +1024,7 @@ declare module '@polkadot/api-base/types/events' {
Deregistered: AugmentedEvent<ApiType, [paraId: u32], { paraId: u32 }>;
Registered: AugmentedEvent<ApiType, [paraId: u32, manager: AccountId32], { paraId: u32, manager: AccountId32 }>;
Reserved: AugmentedEvent<ApiType, [paraId: u32, who: AccountId32], { paraId: u32, who: AccountId32 }>;
Swapped: AugmentedEvent<ApiType, [paraId: u32, otherId: u32], { paraId: u32, otherId: u32 }>;
/**
* Generic event
**/
+10 -9
View File
@@ -370,6 +370,10 @@ declare module '@polkadot/api-base/types/storage' {
[key: string]: QueryableStorageEntry<ApiType>;
};
dmp: {
/**
* The number to multiply the base delivery fee by.
**/
deliveryFeeFactor: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<u128>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;
/**
* A mapping that stores the downward message queue MQC head for each para.
*
@@ -409,6 +413,8 @@ declare module '@polkadot/api-base/types/storage' {
minimumUntrustedScore: AugmentedQuery<ApiType, () => Observable<Option<SpNposElectionsElectionScore>>, []> & QueryableStorageEntry<ApiType, []>;
/**
* Current best solution, signed or unsigned, queued to be returned upon `elect`.
*
* Always sorted by score.
**/
queuedSolution: AugmentedQuery<ApiType, () => Observable<Option<PalletElectionProviderMultiPhaseReadySolution>>, []> & QueryableStorageEntry<ApiType, []>;
/**
@@ -994,15 +1000,6 @@ declare module '@polkadot/api-base/types/storage' {
* The primary structure that holds all offence records keyed by report identifiers.
**/
reports: AugmentedQuery<ApiType, (arg: H256 | string | Uint8Array) => Observable<Option<SpStakingOffenceOffenceDetails>>, [H256]> & QueryableStorageEntry<ApiType, [H256]>;
/**
* Enumerates all reports of a kind along with the time they happened.
*
* All reports are sorted by the time of offence.
*
* Note that the actual type of this mapping is `Vec<u8>`, this is because values of
* different types are not supported at the moment so we are doing the manual serialization.
**/
reportsByKindIndex: AugmentedQuery<ApiType, (arg: U8aFixed | string | Uint8Array) => Observable<Bytes>, [U8aFixed]> & QueryableStorageEntry<ApiType, [U8aFixed]>;
/**
* Generic query
**/
@@ -2111,6 +2108,10 @@ declare module '@polkadot/api-base/types/storage' {
* of our versions we informed them of.
**/
versionNotifyTargets: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: XcmVersionedMultiLocation | { V2: any } | { V3: any } | string | Uint8Array) => Observable<Option<ITuple<[u64, SpWeightsWeightV2Weight, u32]>>>, [u32, XcmVersionedMultiLocation]> & QueryableStorageEntry<ApiType, [u32, XcmVersionedMultiLocation]>;
/**
* Global suspension state of the XCM executor.
**/
xcmExecutionSuspended: AugmentedQuery<ApiType, () => Observable<bool>, []> & QueryableStorageEntry<ApiType, []>;
/**
* Generic query
**/
+11 -17
View File
@@ -952,12 +952,6 @@ declare module '@polkadot/api-base/types/submittable' {
**/
[key: string]: SubmittableExtrinsicFunction<ApiType>;
};
dmp: {
/**
* Generic tx
**/
[key: string]: SubmittableExtrinsicFunction<ApiType>;
};
electionProviderMultiPhase: {
/**
* Trigger the governance fallback.
@@ -3499,7 +3493,6 @@ declare module '@polkadot/api-base/types/submittable' {
/**
* Make some on-chain remark.
*
* ## Complexity
* - `O(1)`
**/
remark: AugmentedSubmittable<(remark: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes]>;
@@ -3509,16 +3502,10 @@ declare module '@polkadot/api-base/types/submittable' {
remarkWithEvent: AugmentedSubmittable<(remark: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes]>;
/**
* Set the new runtime code.
*
* ## Complexity
* - `O(C + S)` where `C` length of `code` and `S` complexity of `can_set_code`
**/
setCode: AugmentedSubmittable<(code: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes]>;
/**
* Set the new runtime code without doing any checks of the given `code`.
*
* ## Complexity
* - `O(C)` where `C` length of `code`
**/
setCodeWithoutChecks: AugmentedSubmittable<(code: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes]>;
/**
@@ -3881,22 +3868,29 @@ declare module '@polkadot/api-base/types/submittable' {
* Set a safe XCM version (the version that XCM should be encoded with if the most recent
* version a destination can accept is unknown).
*
* - `origin`: Must be Root.
* - `origin`: Must be an origin specified by AdminOrigin.
* - `maybe_xcm_version`: The default XCM encoding version, or `None` to disable.
**/
forceDefaultXcmVersion: AugmentedSubmittable<(maybeXcmVersion: Option<u32> | null | Uint8Array | u32 | AnyNumber) => SubmittableExtrinsic<ApiType>, [Option<u32>]>;
/**
* Ask a location to notify us regarding their XCM version and any changes to it.
*
* - `origin`: Must be Root.
* - `origin`: Must be an origin specified by AdminOrigin.
* - `location`: The location to which we should subscribe for XCM version notifications.
**/
forceSubscribeVersionNotify: AugmentedSubmittable<(location: XcmVersionedMultiLocation | { V2: any } | { V3: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [XcmVersionedMultiLocation]>;
/**
* Set or unset the global suspension state of the XCM executor.
*
* - `origin`: Must be an origin specified by AdminOrigin.
* - `suspended`: `true` to suspend, `false` to resume.
**/
forceSuspension: AugmentedSubmittable<(suspended: bool | boolean | Uint8Array) => SubmittableExtrinsic<ApiType>, [bool]>;
/**
* Require that a particular destination should no longer notify us regarding any XCM
* version changes.
*
* - `origin`: Must be Root.
* - `origin`: Must be an origin specified by AdminOrigin.
* - `location`: The location to which we are currently subscribed for XCM version
* notifications which we no longer desire.
**/
@@ -3905,7 +3899,7 @@ declare module '@polkadot/api-base/types/submittable' {
* Extoll that a particular destination can be communicated with through a particular
* version of XCM.
*
* - `origin`: Must be Root.
* - `origin`: Must be an origin specified by AdminOrigin.
* - `location`: The destination that is being described.
* - `xcm_version`: The latest version of XCM that `location` supports.
**/
+1 -1
View File
@@ -3,4 +3,4 @@
// Do not edit, auto-generated by @polkadot/dev
export const packageInfo = { name: '@polkadot/api-augment', path: 'auto', type: 'auto', version: '10.3.4' };
export const packageInfo = { name: '@polkadot/api-augment', path: 'auto', type: 'auto', version: '10.7.2' };
@@ -179,6 +179,16 @@ declare module '@polkadot/api-base/types/consts' {
**/
[key: string]: Codec;
};
council: {
/**
* The maximum weight of a dispatch call that can be proposed and executed.
**/
maxProposalWeight: SpWeightsWeightV2Weight & AugmentedConst<ApiType>;
/**
* Generic const
**/
[key: string]: Codec;
};
crowdloan: {
/**
* The minimum amount that may be contributed into a crowdloan. Should almost certainly be at
@@ -787,6 +797,16 @@ declare module '@polkadot/api-base/types/consts' {
**/
[key: string]: Codec;
};
technicalCommittee: {
/**
* The maximum weight of a dispatch call that can be proposed and executed.
**/
maxProposalWeight: SpWeightsWeightV2Weight & AugmentedConst<ApiType>;
/**
* Generic const
**/
[key: string]: Codec;
};
timestamp: {
/**
* The minimum period between blocks. Beware that this is different to the *expected*
+32 -6
View File
@@ -1232,11 +1232,6 @@ declare module '@polkadot/api-base/types/errors' {
* Para is not registered in our system.
**/
NotRegistered: AugmentedError<ApiType>;
/**
* The PVF pre-checking statement cannot be included since the PVF pre-checking mechanism
* is disabled.
**/
PvfCheckDisabled: AugmentedError<ApiType>;
/**
* The given validator already has cast a vote.
**/
@@ -1308,6 +1303,37 @@ declare module '@polkadot/api-base/types/errors' {
**/
[key: string]: AugmentedError<ApiType>;
};
parasSlashing: {
/**
* The given slashing report is valid but already previously reported.
**/
DuplicateSlashingReport: AugmentedError<ApiType>;
/**
* The candidate hash is invalid.
**/
InvalidCandidateHash: AugmentedError<ApiType>;
/**
* The key ownership proof is invalid.
**/
InvalidKeyOwnershipProof: AugmentedError<ApiType>;
/**
* The session index is too old or invalid.
**/
InvalidSessionIndex: AugmentedError<ApiType>;
/**
* There is no pending slash for the given validator index and time
* slot.
**/
InvalidValidatorIndex: AugmentedError<ApiType>;
/**
* The validator index does not match the validator id.
**/
ValidatorIndexIdMismatch: AugmentedError<ApiType>;
/**
* Generic error
**/
[key: string]: AugmentedError<ApiType>;
};
phragmenElection: {
/**
* Duplicated candidate submission.
@@ -2028,7 +2054,7 @@ declare module '@polkadot/api-base/types/errors' {
**/
Filtered: AugmentedError<ApiType>;
/**
* The unlock operation cannot succeed because there are still users of the lock.
* The unlock operation cannot succeed because there are still consumers of the lock.
**/
InUse: AugmentedError<ApiType>;
/**
@@ -75,6 +75,10 @@ declare module '@polkadot/api-base/types/events' {
* An account was created with some free balance.
**/
Endowed: AugmentedEvent<ApiType, [account: AccountId32, freeBalance: u128], { account: AccountId32, freeBalance: u128 }>;
/**
* Some balance was frozen.
**/
Frozen: AugmentedEvent<ApiType, [who: AccountId32, amount: u128], { who: AccountId32, amount: u128 }>;
/**
* Total issuance was increased by `amount`, creating a credit to be balanced.
**/
@@ -112,6 +116,10 @@ declare module '@polkadot/api-base/types/events' {
* Some amount was suspended from an account (it can be restored later).
**/
Suspended: AugmentedEvent<ApiType, [who: AccountId32, amount: u128], { who: AccountId32, amount: u128 }>;
/**
* Some balance was thawed.
**/
Thawed: AugmentedEvent<ApiType, [who: AccountId32, amount: u128], { who: AccountId32, amount: u128 }>;
/**
* Transfer succeeded.
**/
@@ -926,6 +934,7 @@ declare module '@polkadot/api-base/types/events' {
Deregistered: AugmentedEvent<ApiType, [paraId: u32], { paraId: u32 }>;
Registered: AugmentedEvent<ApiType, [paraId: u32, manager: AccountId32], { paraId: u32, manager: AccountId32 }>;
Reserved: AugmentedEvent<ApiType, [paraId: u32, who: AccountId32], { paraId: u32, who: AccountId32 }>;
Swapped: AugmentedEvent<ApiType, [paraId: u32, otherId: u32], { paraId: u32, otherId: u32 }>;
/**
* Generic event
**/
+25 -10
View File
@@ -11,7 +11,7 @@ import type { BTreeSet, Bytes, Null, Option, U8aFixed, Vec, WrapperOpaque, bool,
import type { AnyNumber, ITuple } from '@polkadot/types-codec/types';
import type { EthereumAddress } from '@polkadot/types/interfaces/eth';
import type { AccountId32, Call, H256, Perbill, Percent } from '@polkadot/types/interfaces/runtime';
import type { FrameSupportDispatchPerDispatchClassWeight, FrameSupportPreimagesBounded, FrameSystemAccountInfo, FrameSystemEventRecord, FrameSystemLastRuntimeUpgradeInfo, FrameSystemPhase, PalletBagsListListBag, PalletBagsListListNode, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesIdAmount, PalletBalancesReserveData, PalletBountiesBounty, PalletChildBountiesChildBounty, PalletCollectiveVotes, PalletConvictionVotingVoteVoting, PalletDemocracyMetadataOwner, PalletDemocracyReferendumInfo, PalletDemocracyVoteThreshold, PalletDemocracyVoteVoting, PalletElectionProviderMultiPhasePhase, PalletElectionProviderMultiPhaseReadySolution, PalletElectionProviderMultiPhaseRoundSnapshot, PalletElectionProviderMultiPhaseSignedSignedSubmission, PalletElectionProviderMultiPhaseSolutionOrSnapshotSize, PalletElectionsPhragmenSeatHolder, PalletElectionsPhragmenVoter, PalletFastUnstakeUnstakeRequest, PalletGrandpaStoredPendingChange, PalletGrandpaStoredState, PalletIdentityRegistrarInfo, PalletIdentityRegistration, PalletImOnlineBoundedOpaqueNetworkState, PalletImOnlineSr25519AppSr25519Public, PalletMultisigMultisig, PalletNominationPoolsBondedPoolInner, PalletNominationPoolsClaimPermission, PalletNominationPoolsPoolMember, PalletNominationPoolsRewardPool, PalletNominationPoolsSubPools, PalletPreimageRequestStatus, PalletProxyAnnouncement, PalletProxyProxyDefinition, PalletReferendaReferendumInfo, PalletSchedulerScheduled, PalletStakingActiveEraInfo, PalletStakingEraRewardPoints, PalletStakingExposure, PalletStakingForcing, PalletStakingNominations, PalletStakingRewardDestination, PalletStakingSlashingSlashingSpans, PalletStakingSlashingSpanRecord, PalletStakingStakingLedger, PalletStakingUnappliedSlash, PalletStakingValidatorPrefs, PalletTipsOpenTip, PalletTransactionPaymentReleases, PalletTreasuryProposal, PalletVestingReleases, PalletVestingVestingInfo, PalletXcmQueryStatus, PalletXcmRemoteLockedFungibleRecord, PalletXcmVersionMigrationStage, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotParachainPrimitivesHrmpChannelId, PolkadotPrimitivesV4AssignmentAppPublic, PolkadotPrimitivesV4CandidateCommitments, PolkadotPrimitivesV4CoreOccupied, PolkadotPrimitivesV4DisputeState, PolkadotPrimitivesV4ExecutorParams, PolkadotPrimitivesV4ScrapedOnChainVotes, PolkadotPrimitivesV4SessionInfo, PolkadotPrimitivesV4UpgradeGoAhead, PolkadotPrimitivesV4UpgradeRestriction, PolkadotPrimitivesV4ValidatorAppPublic, PolkadotRuntimeCommonClaimsStatementKind, PolkadotRuntimeCommonCrowdloanFundInfo, PolkadotRuntimeCommonParasRegistrarParaInfo, PolkadotRuntimeParachainsConfigurationHostConfiguration, PolkadotRuntimeParachainsHrmpHrmpChannel, PolkadotRuntimeParachainsHrmpHrmpOpenChannelRequest, PolkadotRuntimeParachainsInclusionAvailabilityBitfieldRecord, PolkadotRuntimeParachainsInclusionCandidatePendingAvailability, PolkadotRuntimeParachainsInitializerBufferedSessionChange, PolkadotRuntimeParachainsParasParaGenesisArgs, PolkadotRuntimeParachainsParasParaLifecycle, PolkadotRuntimeParachainsParasParaPastCodeMeta, PolkadotRuntimeParachainsParasPvfCheckActiveVoteState, PolkadotRuntimeParachainsSchedulerCoreAssignment, PolkadotRuntimeParachainsSchedulerParathreadClaimQueue, PolkadotRuntimeSessionKeys, SpConsensusBabeAppPublic, SpConsensusBabeBabeEpochConfiguration, SpConsensusBabeDigestsNextConfigDescriptor, SpConsensusBabeDigestsPreDigest, SpCoreCryptoKeyTypeId, SpNposElectionsElectionScore, SpRuntimeDigest, SpStakingOffenceOffenceDetails, SpWeightsWeightV2Weight, XcmVersionedAssetId, XcmVersionedMultiLocation } from '@polkadot/types/lookup';
import type { FrameSupportDispatchPerDispatchClassWeight, FrameSupportPreimagesBounded, FrameSystemAccountInfo, FrameSystemEventRecord, FrameSystemLastRuntimeUpgradeInfo, FrameSystemPhase, PalletBagsListListBag, PalletBagsListListNode, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesIdAmount, PalletBalancesReserveData, PalletBountiesBounty, PalletChildBountiesChildBounty, PalletCollectiveVotes, PalletConvictionVotingVoteVoting, PalletDemocracyMetadataOwner, PalletDemocracyReferendumInfo, PalletDemocracyVoteThreshold, PalletDemocracyVoteVoting, PalletElectionProviderMultiPhasePhase, PalletElectionProviderMultiPhaseReadySolution, PalletElectionProviderMultiPhaseRoundSnapshot, PalletElectionProviderMultiPhaseSignedSignedSubmission, PalletElectionProviderMultiPhaseSolutionOrSnapshotSize, PalletElectionsPhragmenSeatHolder, PalletElectionsPhragmenVoter, PalletFastUnstakeUnstakeRequest, PalletGrandpaStoredPendingChange, PalletGrandpaStoredState, PalletIdentityRegistrarInfo, PalletIdentityRegistration, PalletImOnlineBoundedOpaqueNetworkState, PalletImOnlineSr25519AppSr25519Public, PalletMultisigMultisig, PalletNominationPoolsBondedPoolInner, PalletNominationPoolsClaimPermission, PalletNominationPoolsPoolMember, PalletNominationPoolsRewardPool, PalletNominationPoolsSubPools, PalletPreimageRequestStatus, PalletProxyAnnouncement, PalletProxyProxyDefinition, PalletReferendaReferendumInfo, PalletSchedulerScheduled, PalletStakingActiveEraInfo, PalletStakingEraRewardPoints, PalletStakingExposure, PalletStakingForcing, PalletStakingNominations, PalletStakingRewardDestination, PalletStakingSlashingSlashingSpans, PalletStakingSlashingSpanRecord, PalletStakingStakingLedger, PalletStakingUnappliedSlash, PalletStakingValidatorPrefs, PalletTipsOpenTip, PalletTransactionPaymentReleases, PalletTreasuryProposal, PalletVestingReleases, PalletVestingVestingInfo, PalletXcmQueryStatus, PalletXcmRemoteLockedFungibleRecord, PalletXcmVersionMigrationStage, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotParachainPrimitivesHrmpChannelId, PolkadotPrimitivesV4AssignmentAppPublic, PolkadotPrimitivesV4CandidateCommitments, PolkadotPrimitivesV4CoreOccupied, PolkadotPrimitivesV4DisputeState, PolkadotPrimitivesV4ExecutorParams, PolkadotPrimitivesV4ScrapedOnChainVotes, PolkadotPrimitivesV4SessionInfo, PolkadotPrimitivesV4UpgradeGoAhead, PolkadotPrimitivesV4UpgradeRestriction, PolkadotPrimitivesV4ValidatorAppPublic, PolkadotRuntimeCommonClaimsStatementKind, PolkadotRuntimeCommonCrowdloanFundInfo, PolkadotRuntimeCommonParasRegistrarParaInfo, PolkadotRuntimeParachainsConfigurationHostConfiguration, PolkadotRuntimeParachainsDisputesSlashingPendingSlashes, PolkadotRuntimeParachainsHrmpHrmpChannel, PolkadotRuntimeParachainsHrmpHrmpOpenChannelRequest, PolkadotRuntimeParachainsInclusionAvailabilityBitfieldRecord, PolkadotRuntimeParachainsInclusionCandidatePendingAvailability, PolkadotRuntimeParachainsInitializerBufferedSessionChange, PolkadotRuntimeParachainsParasParaGenesisArgs, PolkadotRuntimeParachainsParasParaLifecycle, PolkadotRuntimeParachainsParasParaPastCodeMeta, PolkadotRuntimeParachainsParasPvfCheckActiveVoteState, PolkadotRuntimeParachainsSchedulerCoreAssignment, PolkadotRuntimeParachainsSchedulerParathreadClaimQueue, PolkadotRuntimeSessionKeys, SpConsensusBabeAppPublic, SpConsensusBabeBabeEpochConfiguration, SpConsensusBabeDigestsNextConfigDescriptor, SpConsensusBabeDigestsPreDigest, SpCoreCryptoKeyTypeId, SpNposElectionsElectionScore, SpRuntimeDigest, SpStakingOffenceOffenceDetails, SpWeightsWeightV2Weight, XcmVersionedAssetId, XcmVersionedMultiLocation } from '@polkadot/types/lookup';
import type { Observable } from '@polkadot/types/types';
export type __AugmentedQuery<ApiType extends ApiTypes> = AugmentedQuery<ApiType, () => unknown>;
@@ -469,6 +469,10 @@ declare module '@polkadot/api-base/types/storage' {
[key: string]: QueryableStorageEntry<ApiType>;
};
dmp: {
/**
* The number to multiply the base delivery fee by.
**/
deliveryFeeFactor: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<u128>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;
/**
* A mapping that stores the downward message queue MQC head for each para.
*
@@ -508,6 +512,8 @@ declare module '@polkadot/api-base/types/storage' {
minimumUntrustedScore: AugmentedQuery<ApiType, () => Observable<Option<SpNposElectionsElectionScore>>, []> & QueryableStorageEntry<ApiType, []>;
/**
* Current best solution, signed or unsigned, queued to be returned upon `elect`.
*
* Always sorted by score.
**/
queuedSolution: AugmentedQuery<ApiType, () => Observable<Option<PalletElectionProviderMultiPhaseReadySolution>>, []> & QueryableStorageEntry<ApiType, []>;
/**
@@ -946,15 +952,6 @@ declare module '@polkadot/api-base/types/storage' {
* The primary structure that holds all offence records keyed by report identifiers.
**/
reports: AugmentedQuery<ApiType, (arg: H256 | string | Uint8Array) => Observable<Option<SpStakingOffenceOffenceDetails>>, [H256]> & QueryableStorageEntry<ApiType, [H256]>;
/**
* Enumerates all reports of a kind along with the time they happened.
*
* All reports are sorted by the time of offence.
*
* Note that the actual type of this mapping is `Vec<u8>`, this is because values of
* different types are not supported at the moment so we are doing the manual serialization.
**/
reportsByKindIndex: AugmentedQuery<ApiType, (arg: U8aFixed | string | Uint8Array) => Observable<Bytes>, [U8aFixed]> & QueryableStorageEntry<ApiType, [U8aFixed]>;
/**
* Generic query
**/
@@ -1267,6 +1264,20 @@ declare module '@polkadot/api-base/types/storage' {
**/
[key: string]: QueryableStorageEntry<ApiType>;
};
parasSlashing: {
/**
* Validators pending dispute slashes.
**/
unappliedSlashes: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: H256 | string | Uint8Array) => Observable<Option<PolkadotRuntimeParachainsDisputesSlashingPendingSlashes>>, [u32, H256]> & QueryableStorageEntry<ApiType, [u32, H256]>;
/**
* `ValidatorSetCount` per session.
**/
validatorSetCounts: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Option<u32>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;
/**
* Generic query
**/
[key: string]: QueryableStorageEntry<ApiType>;
};
phragmenElection: {
/**
* The present candidate list. A current member or runner-up can never enter this vector
@@ -2054,6 +2065,10 @@ declare module '@polkadot/api-base/types/storage' {
* of our versions we informed them of.
**/
versionNotifyTargets: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: XcmVersionedMultiLocation | { V2: any } | { V3: any } | string | Uint8Array) => Observable<Option<ITuple<[u64, SpWeightsWeightV2Weight, u32]>>>, [u32, XcmVersionedMultiLocation]> & QueryableStorageEntry<ApiType, [u32, XcmVersionedMultiLocation]>;
/**
* Global suspension state of the XCM executor.
**/
xcmExecutionSuspended: AugmentedQuery<ApiType, () => Observable<bool>, []> & QueryableStorageEntry<ApiType, []>;
/**
* Generic query
**/
+19 -18
View File
@@ -11,7 +11,7 @@ import type { Bytes, Compact, Option, U8aFixed, Vec, bool, u128, u16, u32, u64,
import type { AnyNumber, IMethod, ITuple } from '@polkadot/types-codec/types';
import type { EthereumAddress } from '@polkadot/types/interfaces/eth';
import type { AccountId32, Call, H256, MultiAddress, Perbill, Percent } from '@polkadot/types/interfaces/runtime';
import type { FrameSupportPreimagesBounded, FrameSupportScheduleDispatchTime, PalletConvictionVotingConviction, PalletConvictionVotingVoteAccountVote, PalletDemocracyConviction, PalletDemocracyMetadataOwner, PalletDemocracyVoteAccountVote, PalletElectionProviderMultiPhaseRawSolution, PalletElectionProviderMultiPhaseSolutionOrSnapshotSize, PalletElectionsPhragmenRenouncing, PalletIdentityBitFlags, PalletIdentityIdentityInfo, PalletIdentityJudgement, PalletImOnlineHeartbeat, PalletImOnlineSr25519AppSr25519Signature, PalletMultisigTimepoint, PalletNominationPoolsBondExtra, PalletNominationPoolsClaimPermission, PalletNominationPoolsCommissionChangeRate, PalletNominationPoolsConfigOpAccountId32, PalletNominationPoolsConfigOpPerbill, PalletNominationPoolsConfigOpU128, PalletNominationPoolsConfigOpU32, PalletNominationPoolsPoolState, PalletStakingPalletConfigOpPerbill, PalletStakingPalletConfigOpPercent, PalletStakingPalletConfigOpU128, PalletStakingPalletConfigOpU32, PalletStakingRewardDestination, PalletStakingValidatorPrefs, PalletVestingVestingInfo, PolkadotParachainPrimitivesHrmpChannelId, PolkadotPrimitivesV4ExecutorParams, PolkadotPrimitivesV4InherentData, PolkadotPrimitivesV4PvfCheckStatement, PolkadotPrimitivesV4ValidatorAppSignature, PolkadotPrimitivesVstagingAsyncBackingParams, PolkadotRuntimeCommonClaimsEcdsaSignature, PolkadotRuntimeCommonClaimsStatementKind, PolkadotRuntimeOriginCaller, PolkadotRuntimeProxyType, PolkadotRuntimeSessionKeys, SpConsensusBabeDigestsNextConfigDescriptor, SpConsensusGrandpaEquivocationProof, SpConsensusSlotsEquivocationProof, SpNposElectionsElectionScore, SpNposElectionsSupport, SpRuntimeMultiSignature, SpRuntimeMultiSigner, SpSessionMembershipProof, SpWeightsWeightV2Weight, XcmV3MultiLocation, XcmV3WeightLimit, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from '@polkadot/types/lookup';
import type { FrameSupportPreimagesBounded, FrameSupportScheduleDispatchTime, PalletConvictionVotingConviction, PalletConvictionVotingVoteAccountVote, PalletDemocracyConviction, PalletDemocracyMetadataOwner, PalletDemocracyVoteAccountVote, PalletElectionProviderMultiPhaseRawSolution, PalletElectionProviderMultiPhaseSolutionOrSnapshotSize, PalletElectionsPhragmenRenouncing, PalletIdentityBitFlags, PalletIdentityIdentityInfo, PalletIdentityJudgement, PalletImOnlineHeartbeat, PalletImOnlineSr25519AppSr25519Signature, PalletMultisigTimepoint, PalletNominationPoolsBondExtra, PalletNominationPoolsClaimPermission, PalletNominationPoolsCommissionChangeRate, PalletNominationPoolsConfigOpAccountId32, PalletNominationPoolsConfigOpPerbill, PalletNominationPoolsConfigOpU128, PalletNominationPoolsConfigOpU32, PalletNominationPoolsPoolState, PalletStakingPalletConfigOpPerbill, PalletStakingPalletConfigOpPercent, PalletStakingPalletConfigOpU128, PalletStakingPalletConfigOpU32, PalletStakingRewardDestination, PalletStakingValidatorPrefs, PalletVestingVestingInfo, PolkadotParachainPrimitivesHrmpChannelId, PolkadotPrimitivesV4ExecutorParams, PolkadotPrimitivesV4InherentData, PolkadotPrimitivesV4PvfCheckStatement, PolkadotPrimitivesV4ValidatorAppSignature, PolkadotPrimitivesVstagingAsyncBackingParams, PolkadotRuntimeCommonClaimsEcdsaSignature, PolkadotRuntimeCommonClaimsStatementKind, PolkadotRuntimeOriginCaller, PolkadotRuntimeParachainsDisputesSlashingDisputeProof, PolkadotRuntimeProxyType, PolkadotRuntimeSessionKeys, SpConsensusBabeDigestsNextConfigDescriptor, SpConsensusGrandpaEquivocationProof, SpConsensusSlotsEquivocationProof, SpNposElectionsElectionScore, SpNposElectionsSupport, SpRuntimeMultiSignature, SpRuntimeMultiSigner, SpSessionMembershipProof, SpWeightsWeightV2Weight, XcmV3MultiLocation, XcmV3WeightLimit, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from '@polkadot/types/lookup';
export type __AugmentedSubmittable = AugmentedSubmittable<() => unknown>;
export type __SubmittableExtrinsic<ApiType extends ApiTypes> = SubmittableExtrinsic<ApiType>;
@@ -1342,12 +1342,6 @@ declare module '@polkadot/api-base/types/submittable' {
**/
[key: string]: SubmittableExtrinsicFunction<ApiType>;
};
dmp: {
/**
* Generic tx
**/
[key: string]: SubmittableExtrinsicFunction<ApiType>;
};
electionProviderMultiPhase: {
/**
* Trigger the governance fallback.
@@ -2385,6 +2379,13 @@ declare module '@polkadot/api-base/types/submittable' {
**/
[key: string]: SubmittableExtrinsicFunction<ApiType>;
};
parasSlashing: {
reportDisputeLostUnsigned: AugmentedSubmittable<(disputeProof: PolkadotRuntimeParachainsDisputesSlashingDisputeProof | { timeSlot?: any; kind?: any; validatorIndex?: any; validatorId?: any } | string | Uint8Array, keyOwnerProof: SpSessionMembershipProof | { session?: any; trieNodes?: any; validatorCount?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [PolkadotRuntimeParachainsDisputesSlashingDisputeProof, SpSessionMembershipProof]>;
/**
* Generic tx
**/
[key: string]: SubmittableExtrinsicFunction<ApiType>;
};
phragmenElection: {
/**
* Clean all voters who are defunct (i.e. they do not serve any purpose at all). The
@@ -3325,7 +3326,6 @@ declare module '@polkadot/api-base/types/submittable' {
/**
* Make some on-chain remark.
*
* ## Complexity
* - `O(1)`
**/
remark: AugmentedSubmittable<(remark: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes]>;
@@ -3335,16 +3335,10 @@ declare module '@polkadot/api-base/types/submittable' {
remarkWithEvent: AugmentedSubmittable<(remark: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes]>;
/**
* Set the new runtime code.
*
* ## Complexity
* - `O(C + S)` where `C` length of `code` and `S` complexity of `can_set_code`
**/
setCode: AugmentedSubmittable<(code: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes]>;
/**
* Set the new runtime code without doing any checks of the given `code`.
*
* ## Complexity
* - `O(C)` where `C` length of `code`
**/
setCodeWithoutChecks: AugmentedSubmittable<(code: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes]>;
/**
@@ -3993,22 +3987,29 @@ declare module '@polkadot/api-base/types/submittable' {
* Set a safe XCM version (the version that XCM should be encoded with if the most recent
* version a destination can accept is unknown).
*
* - `origin`: Must be Root.
* - `origin`: Must be an origin specified by AdminOrigin.
* - `maybe_xcm_version`: The default XCM encoding version, or `None` to disable.
**/
forceDefaultXcmVersion: AugmentedSubmittable<(maybeXcmVersion: Option<u32> | null | Uint8Array | u32 | AnyNumber) => SubmittableExtrinsic<ApiType>, [Option<u32>]>;
/**
* Ask a location to notify us regarding their XCM version and any changes to it.
*
* - `origin`: Must be Root.
* - `origin`: Must be an origin specified by AdminOrigin.
* - `location`: The location to which we should subscribe for XCM version notifications.
**/
forceSubscribeVersionNotify: AugmentedSubmittable<(location: XcmVersionedMultiLocation | { V2: any } | { V3: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [XcmVersionedMultiLocation]>;
/**
* Set or unset the global suspension state of the XCM executor.
*
* - `origin`: Must be an origin specified by AdminOrigin.
* - `suspended`: `true` to suspend, `false` to resume.
**/
forceSuspension: AugmentedSubmittable<(suspended: bool | boolean | Uint8Array) => SubmittableExtrinsic<ApiType>, [bool]>;
/**
* Require that a particular destination should no longer notify us regarding any XCM
* version changes.
*
* - `origin`: Must be Root.
* - `origin`: Must be an origin specified by AdminOrigin.
* - `location`: The location to which we are currently subscribed for XCM version
* notifications which we no longer desire.
**/
@@ -4017,7 +4018,7 @@ declare module '@polkadot/api-base/types/submittable' {
* Extoll that a particular destination can be communicated with through a particular
* version of XCM.
*
* - `origin`: Must be Root.
* - `origin`: Must be an origin specified by AdminOrigin.
* - `location`: The destination that is being described.
* - `xcm_version`: The latest version of XCM that `location` supports.
**/
@@ -41,6 +41,16 @@ declare module '@polkadot/api-base/types/consts' {
**/
[key: string]: Codec;
};
allianceMotion: {
/**
* The maximum weight of a dispatch call that can be proposed and executed.
**/
maxProposalWeight: SpWeightsWeightV2Weight & AugmentedConst<ApiType>;
/**
* Generic const
**/
[key: string]: Codec;
};
assets: {
/**
* The amount of funds that must be reserved when creating a new approval.
@@ -199,6 +209,10 @@ declare module '@polkadot/api-base/types/consts' {
[key: string]: Codec;
};
contracts: {
/**
* Fallback value to limit the storage deposit if it's not being set by the caller.
**/
defaultDepositLimit: u128 & AugmentedConst<ApiType>;
/**
* The amount of balance a caller has to pay for each byte of storage.
*
@@ -284,6 +298,16 @@ declare module '@polkadot/api-base/types/consts' {
**/
[key: string]: Codec;
};
council: {
/**
* The maximum weight of a dispatch call that can be proposed and executed.
**/
maxProposalWeight: SpWeightsWeightV2Weight & AugmentedConst<ApiType>;
/**
* Generic const
**/
[key: string]: Codec;
};
democracy: {
/**
* Period in blocks where an external proposal may not be re-submitted after being vetoed.
@@ -1121,6 +1145,36 @@ declare module '@polkadot/api-base/types/consts' {
**/
[key: string]: Codec;
};
statement: {
/**
* Cost of data byte used for priority calculation.
**/
byteCost: u128 & AugmentedConst<ApiType>;
/**
* Maximum data bytes allowed per account.
**/
maxAllowedBytes: u32 & AugmentedConst<ApiType>;
/**
* Maximum number of statements allowed per account.
**/
maxAllowedStatements: u32 & AugmentedConst<ApiType>;
/**
* Minimum data bytes allowed per account.
**/
minAllowedBytes: u32 & AugmentedConst<ApiType>;
/**
* Minimum number of statements allowed per account.
**/
minAllowedStatements: u32 & AugmentedConst<ApiType>;
/**
* Min balance for priority statements.
**/
statementCost: u128 & AugmentedConst<ApiType>;
/**
* Generic const
**/
[key: string]: Codec;
};
stateTrieMigration: {
/**
* Maximal number of bytes that a key can have.
@@ -1185,6 +1239,16 @@ declare module '@polkadot/api-base/types/consts' {
**/
[key: string]: Codec;
};
technicalCommittee: {
/**
* The maximum weight of a dispatch call that can be proposed and executed.
**/
maxProposalWeight: SpWeightsWeightV2Weight & AugmentedConst<ApiType>;
/**
* Generic const
**/
[key: string]: Codec;
};
timestamp: {
/**
* The minimum period between blocks. Beware that this is different to the *expected*
@@ -160,6 +160,20 @@ declare module '@polkadot/api-base/types/errors' {
**/
[key: string]: AugmentedError<ApiType>;
};
assetRate: {
/**
* The given asset ID already has an assigned conversion rate and cannot be re-created.
**/
AlreadyExists: AugmentedError<ApiType>;
/**
* The given asset ID is unknown.
**/
UnknownAssetId: AugmentedError<ApiType>;
/**
* Generic error
**/
[key: string]: AugmentedError<ApiType>;
};
assets: {
/**
* The asset-account already exists.
+37 -2
View File
@@ -9,7 +9,7 @@ import type { ApiTypes, AugmentedEvent } from '@polkadot/api-base/types';
import type { Bytes, Null, Option, Result, U8aFixed, Vec, bool, u128, u16, u32, u64, u8 } from '@polkadot/types-codec';
import type { ITuple } from '@polkadot/types-codec/types';
import type { AccountId32, H256, Perbill, Perquintill } from '@polkadot/types/interfaces/runtime';
import type { FrameSupportDispatchDispatchInfo, FrameSupportDispatchPostDispatchInfo, FrameSupportMessagesProcessMessageError, FrameSupportPreimagesBounded, FrameSupportTokensMiscBalanceStatus, KitchensinkRuntimeProxyType, PalletAllianceCid, PalletAllianceUnscrupulousItem, PalletConvictionVotingTally, PalletCoreFellowshipParamsType, PalletCoreFellowshipWish, PalletDemocracyMetadataOwner, PalletDemocracyVoteAccountVote, PalletDemocracyVoteThreshold, PalletElectionProviderMultiPhaseElectionCompute, PalletElectionProviderMultiPhasePhase, PalletImOnlineSr25519AppSr25519Public, PalletMultisigTimepoint, PalletNftsAttributeNamespace, PalletNftsPalletAttributes, PalletNftsPriceWithDirection, PalletNominationPoolsCommissionChangeRate, PalletNominationPoolsPoolState, PalletRankedCollectiveTally, PalletRankedCollectiveVoteRecord, PalletStakingExposure, PalletStakingForcing, PalletStakingValidatorPrefs, PalletStateTrieMigrationError, PalletStateTrieMigrationMigrationCompute, SpConsensusGrandpaAppPublic, SpNposElectionsElectionScore, SpRuntimeDispatchError, SpRuntimeDispatchErrorWithPostInfo, SpWeightsWeightV2Weight } from '@polkadot/types/lookup';
import type { FrameSupportDispatchDispatchInfo, FrameSupportDispatchPostDispatchInfo, FrameSupportMessagesProcessMessageError, FrameSupportPreimagesBounded, FrameSupportTokensMiscBalanceStatus, KitchensinkRuntimeProxyType, PalletAllianceCid, PalletAllianceUnscrupulousItem, PalletContractsOrigin, PalletConvictionVotingTally, PalletCoreFellowshipParamsType, PalletCoreFellowshipWish, PalletDemocracyMetadataOwner, PalletDemocracyVoteAccountVote, PalletDemocracyVoteThreshold, PalletElectionProviderMultiPhaseElectionCompute, PalletElectionProviderMultiPhasePhase, PalletImOnlineSr25519AppSr25519Public, PalletMultisigTimepoint, PalletNftsAttributeNamespace, PalletNftsPalletAttributes, PalletNftsPriceWithDirection, PalletNominationPoolsCommissionChangeRate, PalletNominationPoolsPoolState, PalletRankedCollectiveTally, PalletRankedCollectiveVoteRecord, PalletStakingExposure, PalletStakingForcing, PalletStakingValidatorPrefs, PalletStateTrieMigrationError, PalletStateTrieMigrationMigrationCompute, SpConsensusGrandpaAppPublic, SpNposElectionsElectionScore, SpRuntimeDispatchError, SpRuntimeDispatchErrorWithPostInfo, SpStatementStoreStatement, SpWeightsWeightV2Weight } from '@polkadot/types/lookup';
export type __AugmentedEvent<ApiType extends ApiTypes> = AugmentedEvent<ApiType>;
@@ -109,6 +109,15 @@ declare module '@polkadot/api-base/types/events' {
**/
[key: string]: AugmentedEvent<ApiType>;
};
assetRate: {
AssetRateCreated: AugmentedEvent<ApiType, [assetId: u32, rate: u128], { assetId: u32, rate: u128 }>;
AssetRateRemoved: AugmentedEvent<ApiType, [assetId: u32], { assetId: u32 }>;
AssetRateUpdated: AugmentedEvent<ApiType, [assetId: u32, old: u128, new_: u128], { assetId: u32, old: u128, new_: u128 }>;
/**
* Generic event
**/
[key: string]: AugmentedEvent<ApiType>;
};
assets: {
/**
* Accounts were destroyed for given asset.
@@ -142,6 +151,10 @@ declare module '@polkadot/api-base/types/events' {
* Some asset `asset_id` was thawed.
**/
AssetThawed: AugmentedEvent<ApiType, [assetId: u32], { assetId: u32 }>;
/**
* Some account `who` was blocked.
**/
Blocked: AugmentedEvent<ApiType, [assetId: u32, who: AccountId32], { assetId: u32, who: AccountId32 }>;
/**
* Some assets were destroyed.
**/
@@ -190,6 +203,10 @@ declare module '@polkadot/api-base/types/events' {
* Some account `who` was thawed.
**/
Thawed: AugmentedEvent<ApiType, [assetId: u32, who: AccountId32], { assetId: u32, who: AccountId32 }>;
/**
* Some account `who` was created with a deposit from `depositor`.
**/
Touched: AugmentedEvent<ApiType, [assetId: u32, who: AccountId32, depositor: AccountId32], { assetId: u32, who: AccountId32, depositor: AccountId32 }>;
/**
* Some assets were transferred.
**/
@@ -237,6 +254,10 @@ declare module '@polkadot/api-base/types/events' {
* An account was created with some free balance.
**/
Endowed: AugmentedEvent<ApiType, [account: AccountId32, freeBalance: u128], { account: AccountId32, freeBalance: u128 }>;
/**
* Some balance was frozen.
**/
Frozen: AugmentedEvent<ApiType, [who: AccountId32, amount: u128], { who: AccountId32, amount: u128 }>;
/**
* Total issuance was increased by `amount`, creating a credit to be balanced.
**/
@@ -274,6 +295,10 @@ declare module '@polkadot/api-base/types/events' {
* Some amount was suspended from an account (it can be restored later).
**/
Suspended: AugmentedEvent<ApiType, [who: AccountId32, amount: u128], { who: AccountId32, amount: u128 }>;
/**
* Some balance was thawed.
**/
Thawed: AugmentedEvent<ApiType, [who: AccountId32, amount: u128], { who: AccountId32, amount: u128 }>;
/**
* Transfer succeeded.
**/
@@ -365,7 +390,7 @@ declare module '@polkadot/api-base/types/events' {
* calls. This is because on failure all storage changes including events are
* rolled back.
**/
Called: AugmentedEvent<ApiType, [caller: AccountId32, contract: AccountId32], { caller: AccountId32, contract: AccountId32 }>;
Called: AugmentedEvent<ApiType, [caller: PalletContractsOrigin, contract: AccountId32], { caller: PalletContractsOrigin, contract: AccountId32 }>;
/**
* A code with the specified hash was removed.
**/
@@ -1629,6 +1654,16 @@ declare module '@polkadot/api-base/types/events' {
**/
[key: string]: AugmentedEvent<ApiType>;
};
statement: {
/**
* A new statement is submitted
**/
NewStatement: AugmentedEvent<ApiType, [account: AccountId32, statement: SpStatementStoreStatement], { account: AccountId32, statement: SpStatementStoreStatement }>;
/**
* Generic event
**/
[key: string]: AugmentedEvent<ApiType>;
};
stateTrieMigration: {
/**
* The auto migration task finished.
+14 -9
View File
@@ -85,6 +85,18 @@ declare module '@polkadot/api-base/types/storage' {
**/
[key: string]: QueryableStorageEntry<ApiType>;
};
assetRate: {
/**
* Maps an asset to its fixed point representation in the native balance.
*
* E.g. `native_amount = asset_amount * ConversionRateToNative::<T>::get(asset_id)`
**/
conversionRateToNative: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Option<u128>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;
/**
* Generic query
**/
[key: string]: QueryableStorageEntry<ApiType>;
};
assets: {
/**
* The holdings of a specific account for a specific asset.
@@ -574,6 +586,8 @@ declare module '@polkadot/api-base/types/storage' {
minimumUntrustedScore: AugmentedQuery<ApiType, () => Observable<Option<SpNposElectionsElectionScore>>, []> & QueryableStorageEntry<ApiType, []>;
/**
* Current best solution, signed or unsigned, queued to be returned upon `elect`.
*
* Always sorted by score.
**/
queuedSolution: AugmentedQuery<ApiType, () => Observable<Option<PalletElectionProviderMultiPhaseReadySolution>>, []> & QueryableStorageEntry<ApiType, []>;
/**
@@ -1138,15 +1152,6 @@ declare module '@polkadot/api-base/types/storage' {
* The primary structure that holds all offence records keyed by report identifiers.
**/
reports: AugmentedQuery<ApiType, (arg: H256 | string | Uint8Array) => Observable<Option<SpStakingOffenceOffenceDetails>>, [H256]> & QueryableStorageEntry<ApiType, [H256]>;
/**
* Enumerates all reports of a kind along with the time they happened.
*
* All reports are sorted by the time of offence.
*
* Note that the actual type of this mapping is `Vec<u8>`, this is because values of
* different types are not supported at the moment so we are doing the manual serialization.
**/
reportsByKindIndex: AugmentedQuery<ApiType, (arg: U8aFixed | string | Uint8Array) => Observable<Bytes>, [U8aFixed]> & QueryableStorageEntry<ApiType, [U8aFixed]>;
/**
* Generic query
**/
+80 -14
View File
@@ -225,6 +225,33 @@ declare module '@polkadot/api-base/types/submittable' {
**/
[key: string]: SubmittableExtrinsicFunction<ApiType>;
};
assetRate: {
/**
* Initialize a conversion rate to native balance for the given asset.
*
* ## Complexity
* - O(1)
**/
create: AugmentedSubmittable<(assetId: u32 | AnyNumber | Uint8Array, rate: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, u128]>;
/**
* Remove an existing conversion rate to native balance for the given asset.
*
* ## Complexity
* - O(1)
**/
remove: AugmentedSubmittable<(assetId: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32]>;
/**
* Update the conversion rate to native balance for the given asset.
*
* ## Complexity
* - O(1)
**/
update: AugmentedSubmittable<(assetId: u32 | AnyNumber | Uint8Array, rate: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, u128]>;
/**
* Generic tx
**/
[key: string]: SubmittableExtrinsicFunction<ApiType>;
};
assets: {
/**
* Approve an amount of asset for transfer by a delegated third-party account.
@@ -249,6 +276,19 @@ declare module '@polkadot/api-base/types/submittable' {
* Weight: `O(1)`
**/
approveTransfer: AugmentedSubmittable<(id: Compact<u32> | AnyNumber | Uint8Array, delegate: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, amount: Compact<u128> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [Compact<u32>, MultiAddress, Compact<u128>]>;
/**
* Disallow further unprivileged transfers of an asset `id` to and from an account `who`.
*
* Origin must be Signed and the sender should be the Freezer of the asset `id`.
*
* - `id`: The identifier of the account's asset.
* - `who`: The account to be unblocked.
*
* Emits `Blocked`.
*
* Weight: `O(1)`
**/
block: AugmentedSubmittable<(id: Compact<u32> | AnyNumber | Uint8Array, who: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Compact<u32>, MultiAddress]>;
/**
* Reduce the balance of `who` by as much as possible up to `amount` assets of `id`.
*
@@ -479,7 +519,9 @@ declare module '@polkadot/api-base/types/submittable' {
**/
forceTransfer: AugmentedSubmittable<(id: Compact<u32> | AnyNumber | Uint8Array, source: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, dest: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, amount: Compact<u128> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [Compact<u32>, MultiAddress, MultiAddress, Compact<u128>]>;
/**
* Disallow further unprivileged transfers from an account.
* Disallow further unprivileged transfers of an asset `id` from an account `who`. `who`
* must already exist as an entry in `Account`s of the asset. If you want to freeze an
* account that does not have an entry, use `touch_other` first.
*
* Origin must be Signed and the sender should be the Freezer of the asset `id`.
*
@@ -519,16 +561,31 @@ declare module '@polkadot/api-base/types/submittable' {
**/
mint: AugmentedSubmittable<(id: Compact<u32> | AnyNumber | Uint8Array, beneficiary: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, amount: Compact<u128> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [Compact<u32>, MultiAddress, Compact<u128>]>;
/**
* Return the deposit (if any) of an asset account.
* Return the deposit (if any) of an asset account or a consumer reference (if any) of an
* account.
*
* The origin must be Signed.
*
* - `id`: The identifier of the asset for the account to be created.
* - `id`: The identifier of the asset for which the caller would like the deposit
* refunded.
* - `allow_burn`: If `true` then assets may be destroyed in order to complete the refund.
*
* Emits `Refunded` event when successful.
**/
refund: AugmentedSubmittable<(id: Compact<u32> | AnyNumber | Uint8Array, allowBurn: bool | boolean | Uint8Array) => SubmittableExtrinsic<ApiType>, [Compact<u32>, bool]>;
/**
* Return the deposit (if any) of a target asset account. Useful if you are the depositor.
*
* The origin must be Signed and either the account owner, depositor, or asset `Admin`. In
* order to burn a non-zero balance of the asset, the caller must be the account and should
* use `refund`.
*
* - `id`: The identifier of the asset for the account holding a deposit.
* - `who`: The account to refund.
*
* Emits `Refunded` event when successful.
**/
refundOther: AugmentedSubmittable<(id: Compact<u32> | AnyNumber | Uint8Array, who: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Compact<u32>, MultiAddress]>;
/**
* Set the metadata for an asset.
*
@@ -593,7 +650,7 @@ declare module '@polkadot/api-base/types/submittable' {
**/
startDestroy: AugmentedSubmittable<(id: Compact<u32> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [Compact<u32>]>;
/**
* Allow unprivileged transfers from an account again.
* Allow unprivileged transfers to and from an account again.
*
* Origin must be Signed and the sender should be the Admin of the asset `id`.
*
@@ -629,6 +686,19 @@ declare module '@polkadot/api-base/types/submittable' {
* Emits `Touched` event when successful.
**/
touch: AugmentedSubmittable<(id: Compact<u32> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [Compact<u32>]>;
/**
* Create an asset account for `who`.
*
* A deposit will be taken from the signer account.
*
* - `origin`: Must be Signed by `Freezer` or `Admin` of the asset `id`; the signer account
* must have sufficient funds for a deposit to be taken.
* - `id`: The identifier of the asset for the account to be created.
* - `who`: The account to be created.
*
* Emits `Touched` event when successful.
**/
touchOther: AugmentedSubmittable<(id: Compact<u32> | AnyNumber | Uint8Array, who: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Compact<u32>, MultiAddress]>;
/**
* Move some assets from the sender account to another.
*
@@ -4553,7 +4623,7 @@ declare module '@polkadot/api-base/types/submittable' {
* NOTE: Two of the storage writes (`Self::bonded`, `Self::payee`) are _never_ cleaned
* unless the `origin` falls below _existential deposit_ and gets removed as dust.
**/
bond: AugmentedSubmittable<(controller: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, value: Compact<u128> | AnyNumber | Uint8Array, payee: PalletStakingRewardDestination | { Staked: any } | { Stash: any } | { Controller: any } | { Account: any } | { None: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [MultiAddress, Compact<u128>, PalletStakingRewardDestination]>;
bond: AugmentedSubmittable<(value: Compact<u128> | AnyNumber | Uint8Array, payee: PalletStakingRewardDestination | { Staked: any } | { Stash: any } | { Controller: any } | { Account: any } | { None: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Compact<u128>, PalletStakingRewardDestination]>;
/**
* Add some extra amount that have appeared in the stash `free_balance` into the balance up
* for staking.
@@ -4765,7 +4835,10 @@ declare module '@polkadot/api-base/types/submittable' {
**/
scaleValidatorCount: AugmentedSubmittable<(factor: Percent | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [Percent]>;
/**
* (Re-)set the controller of a stash.
* (Re-)sets the controller of a stash to the stash itself. This function previously
* accepted a `controller` argument to set the controller to an account other than the
* stash itself. This functionality has now been removed, now only setting the controller
* to the stash, if it is not already.
*
* Effects will be felt instantly (as soon as this function is completed successfully).
*
@@ -4777,7 +4850,7 @@ declare module '@polkadot/api-base/types/submittable' {
* - Contains a limited number of reads.
* - Writes are limited to the `origin` account key.
**/
setController: AugmentedSubmittable<(controller: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [MultiAddress]>;
setController: AugmentedSubmittable<() => SubmittableExtrinsic<ApiType>, []>;
/**
* Set the validators who cannot be slashed (if any).
*
@@ -5016,7 +5089,6 @@ declare module '@polkadot/api-base/types/submittable' {
/**
* Make some on-chain remark.
*
* ## Complexity
* - `O(1)`
**/
remark: AugmentedSubmittable<(remark: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes]>;
@@ -5026,16 +5098,10 @@ declare module '@polkadot/api-base/types/submittable' {
remarkWithEvent: AugmentedSubmittable<(remark: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes]>;
/**
* Set the new runtime code.
*
* ## Complexity
* - `O(C + S)` where `C` length of `code` and `S` complexity of `can_set_code`
**/
setCode: AugmentedSubmittable<(code: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes]>;
/**
* Set the new runtime code without doing any checks of the given `code`.
*
* ## Complexity
* - `O(C)` where `C` length of `code`
**/
setCodeWithoutChecks: AugmentedSubmittable<(code: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes]>;
/**
+1
View File
@@ -7,6 +7,7 @@
},
"exclude": [
"**/*.spec.ts",
"**/mod.ts",
"**/kusama/*.ts",
"**/polkadot/*.ts"
],
@@ -1,22 +0,0 @@
{
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"baseUrl": "..",
"outDir": "./build",
"rootDir": "./src",
"emitDeclarationOnly": false,
"noEmit": true
},
"include": [
"**/kusama/*.spec.ts"
],
"references": [
{ "path": "../api-augment/tsconfig.build.json" },
{ "path": "../api-augment/tsconfig.kusama.json" },
{ "path": "../api-base/tsconfig.build.json" },
{ "path": "../rpc-augment/tsconfig.build.json" },
{ "path": "../types/tsconfig.build.json" },
{ "path": "../types-augment/tsconfig.build.json" },
{ "path": "../types-support/tsconfig.build.json" }
]
}
+7 -7
View File
@@ -3,7 +3,7 @@
"bugs": "https://github.com/polkadot-js/api/issues",
"description": "Interfaces for interacting with contracts and contract ABIs",
"engines": {
"node": ">=14"
"node": ">=16"
},
"homepage": "https://github.com/polkadot-js/api/tree/master/packages/api-base#readme",
"license": "Apache-2.0",
@@ -18,13 +18,13 @@
"./detectPackage.cjs"
],
"type": "module",
"version": "10.3.4",
"version": "10.7.2",
"main": "index.js",
"dependencies": {
"@polkadot/rpc-core": "10.3.4",
"@polkadot/types": "10.3.4",
"@polkadot/util": "^11.1.3",
"rxjs": "^7.8.0",
"tslib": "^2.5.0"
"@polkadot/rpc-core": "10.7.2",
"@polkadot/types": "10.7.2",
"@polkadot/util": "^12.2.1",
"rxjs": "^7.8.1",
"tslib": "^2.5.2"
}
}
+1 -1
View File
@@ -3,4 +3,4 @@
// Do not edit, auto-generated by @polkadot/dev
export const packageInfo = { name: '@polkadot/api-base', path: 'auto', type: 'auto', version: '10.3.4' };
export const packageInfo = { name: '@polkadot/api-base', path: 'auto', type: 'auto', version: '10.7.2' };
+3
View File
@@ -5,6 +5,9 @@
"outDir": "./build",
"rootDir": "./src"
},
"exclude": [
"**/mod.ts"
],
"references": [
{ "path": "../rpc-core/tsconfig.build.json" },
{ "path": "../types/tsconfig.build.json" }
+12 -12
View File
@@ -3,7 +3,7 @@
"bugs": "https://github.com/polkadot-js/api/issues",
"description": "Interfaces for interacting with contracts and contract ABIs",
"engines": {
"node": ">=14"
"node": ">=16"
},
"homepage": "https://github.com/polkadot-js/api/tree/master/packages/api-contract#readme",
"license": "Apache-2.0",
@@ -18,20 +18,20 @@
"./detectPackage.cjs"
],
"type": "module",
"version": "10.3.4",
"version": "10.7.2",
"main": "index.js",
"dependencies": {
"@polkadot/api": "10.3.4",
"@polkadot/types": "10.3.4",
"@polkadot/types-codec": "10.3.4",
"@polkadot/types-create": "10.3.4",
"@polkadot/util": "^11.1.3",
"@polkadot/util-crypto": "^11.1.3",
"rxjs": "^7.8.0",
"tslib": "^2.5.0"
"@polkadot/api": "10.7.2",
"@polkadot/types": "10.7.2",
"@polkadot/types-codec": "10.7.2",
"@polkadot/types-create": "10.7.2",
"@polkadot/util": "^12.2.1",
"@polkadot/util-crypto": "^12.2.1",
"rxjs": "^7.8.1",
"tslib": "^2.5.2"
},
"devDependencies": {
"@polkadot/api-augment": "10.3.4",
"@polkadot/keyring": "^11.1.3"
"@polkadot/api-augment": "10.7.2",
"@polkadot/keyring": "^12.2.1"
}
}
+1 -1
View File
@@ -1,11 +1,11 @@
// Copyright 2017-2023 @polkadot/api authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { ApiBase } from '@polkadot/api/base';
import type { ApiTypes, DecorateMethod } from '@polkadot/api/types';
import type { WeightV2 } from '@polkadot/types/interfaces';
import type { Registry } from '@polkadot/types/types';
import { ApiBase } from '@polkadot/api/base';
import { isFunction } from '@polkadot/util';
import { Abi } from '../Abi/index.js';
+2 -2
View File
@@ -1,18 +1,18 @@
// Copyright 2017-2023 @polkadot/api-contract authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { ApiBase } from '@polkadot/api/base';
import type { SubmittableExtrinsic } from '@polkadot/api/submittable/types';
import type { ApiTypes, DecorateMethod } from '@polkadot/api/types';
import type { AccountId, EventRecord, Hash } from '@polkadot/types/interfaces';
import type { ISubmittableResult } from '@polkadot/types/types';
import type { Abi } from '../Abi/index.js';
import type { AbiConstructor, BlueprintOptions } from '../types.js';
import type { MapConstructorExec } from './types.js';
import { SubmittableResult } from '@polkadot/api';
import { ApiBase } from '@polkadot/api/base';
import { BN_ZERO, isUndefined } from '@polkadot/util';
import { Abi } from '../Abi/index.js';
import { applyOnEvent } from '../util.js';
import { Base } from './Base.js';
import { Contract } from './Contract.js';
+2 -2
View File
@@ -1,19 +1,19 @@
// Copyright 2017-2023 @polkadot/api-contract authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { ApiBase } from '@polkadot/api/base';
import type { SubmittableExtrinsic } from '@polkadot/api/submittable/types';
import type { ApiTypes, DecorateMethod } from '@polkadot/api/types';
import type { AccountId, EventRecord } from '@polkadot/types/interfaces';
import type { ISubmittableResult } from '@polkadot/types/types';
import type { Codec } from '@polkadot/types-codec/types';
import type { Abi } from '../Abi/index.js';
import type { AbiConstructor, BlueprintOptions } from '../types.js';
import type { MapConstructorExec } from './types.js';
import { SubmittableResult } from '@polkadot/api';
import { ApiBase } from '@polkadot/api/base';
import { BN_ZERO, compactAddLength, isUndefined, isWasm, u8aToU8a } from '@polkadot/util';
import { Abi } from '../Abi/index.js';
import { applyOnEvent } from '../util.js';
import { Base } from './Base.js';
import { Blueprint } from './Blueprint.js';
+2 -2
View File
@@ -1,21 +1,21 @@
// Copyright 2017-2023 @polkadot/api-contract authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { ApiBase } from '@polkadot/api/base';
import type { SubmittableExtrinsic } from '@polkadot/api/submittable/types';
import type { ApiTypes, DecorateMethod } from '@polkadot/api/types';
import type { Bytes } from '@polkadot/types';
import type { AccountId, ContractExecResult, EventRecord, Weight, WeightV2 } from '@polkadot/types/interfaces';
import type { ISubmittableResult } from '@polkadot/types/types';
import type { Abi } from '../Abi/index.js';
import type { AbiMessage, ContractCallOutcome, ContractOptions, DecodedEvent, WeightAll } from '../types.js';
import type { ContractCallResult, ContractCallSend, ContractQuery, ContractTx, MapMessageQuery, MapMessageTx } from './types.js';
import { map } from 'rxjs';
import { SubmittableResult } from '@polkadot/api';
import { ApiBase } from '@polkadot/api/base';
import { BN, BN_HUNDRED, BN_ONE, BN_ZERO, isUndefined, logger } from '@polkadot/util';
import { Abi } from '../Abi/index.js';
import { applyOnEvent } from '../util.js';
import { Base } from './Base.js';
import { convertWeight, withMeta } from './util.js';
+2 -1
View File
@@ -1,7 +1,8 @@
// Copyright 2017-2023 @polkadot/api-contract authors & contributors
// SPDX-License-Identifier: Apache-2.0
import { ApiBase } from '@polkadot/api/base';
import type { ApiBase } from '@polkadot/api/base';
import { TypeRegistry } from '@polkadot/types';
const registry = new TypeRegistry();
+2
View File
@@ -1,8 +1,10 @@
// Copyright 2017-2023 @polkadot/api-contract authors & contributors
// SPDX-License-Identifier: Apache-2.0
// all named
export { Abi } from './Abi/index.js';
export { packageInfo } from './packageInfo.js';
// all starred
export * from './promise/index.js';
export * from './rx/index.js';
+1 -1
View File
@@ -3,4 +3,4 @@
// Do not edit, auto-generated by @polkadot/dev
export const packageInfo = { name: '@polkadot/api-contract', path: 'auto', type: 'auto', version: '10.3.4' };
export const packageInfo = { name: '@polkadot/api-contract', path: 'auto', type: 'auto', version: '10.7.2' };
+3 -2
View File
@@ -1,11 +1,12 @@
// Copyright 2017-2023 @polkadot/api-contract authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { ApiPromise } from '@polkadot/api';
import type { AccountId, Hash } from '@polkadot/types/interfaces';
import type { Abi } from '../Abi/index.js';
import { ApiPromise, toPromiseMethod } from '@polkadot/api';
import { toPromiseMethod } from '@polkadot/api';
import { Abi } from '../Abi/index.js';
import { Blueprint, Code, Contract } from '../base/index.js';
export class BlueprintPromise extends Blueprint<'promise'> {
+3 -2
View File
@@ -1,11 +1,12 @@
// Copyright 2017-2023 @polkadot/api-contract authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { ApiRx } from '@polkadot/api';
import type { AccountId, Hash } from '@polkadot/types/interfaces';
import type { Abi } from '../Abi/index.js';
import { ApiRx, toRxMethod } from '@polkadot/api';
import { toRxMethod } from '@polkadot/api';
import { Abi } from '../Abi/index.js';
import { Blueprint, Code, Contract } from '../base/index.js';
export class BlueprintRx extends Blueprint<'rxjs'> {
@@ -5,7 +5,7 @@ export { default as delegator } from './delegator.json' assert { type: 'json' };
export { default as dns } from './dns.json' assert { type: 'json' };
export { default as erc20 } from './erc20.json' assert { type: 'json' };
export { default as erc721 } from './erc721.json' assert { type: 'json' };
export { default as flipper } from './flipper.json' assert { type: 'json' };
export { default as flipperBundle } from './flipper.contract.json' assert { type: 'json' };
export { default as flipper } from './flipper.json' assert { type: 'json' };
export { default as incrementer } from './incrementer.json' assert { type: 'json' };
export { default as multisigPlain } from './multisig_plain.json' assert { type: 'json' };
+3 -4
View File
@@ -6,11 +6,10 @@
"rootDir": "./src"
},
"exclude": [
"**/test/**/*.json",
"**/test/**/*.ts",
"**/test/**/*.wasm",
"**/checkTypes.manual.ts",
"**/test/**/*",
"**/*.spec.ts",
"**/checkTypes.manual.ts",
"**/mod.ts",
"mock.ts"
],
"references": [
+17 -17
View File
@@ -3,7 +3,7 @@
"bugs": "https://github.com/polkadot-js/api/issues",
"description": "Common functions used across Polkadot, derived from RPC calls and storage queries.",
"engines": {
"node": ">=14"
"node": ">=16"
},
"homepage": "https://github.com/polkadot-js/api/tree/master/packages/api-derive#readme",
"license": "Apache-2.0",
@@ -18,25 +18,25 @@
"./detectPackage.cjs"
],
"type": "module",
"version": "10.3.4",
"version": "10.7.2",
"main": "index.js",
"dependencies": {
"@polkadot/api": "10.3.4",
"@polkadot/api-augment": "10.3.4",
"@polkadot/api-base": "10.3.4",
"@polkadot/rpc-core": "10.3.4",
"@polkadot/types": "10.3.4",
"@polkadot/types-codec": "10.3.4",
"@polkadot/util": "^11.1.3",
"@polkadot/util-crypto": "^11.1.3",
"rxjs": "^7.8.0",
"tslib": "^2.5.0"
"@polkadot/api": "10.7.2",
"@polkadot/api-augment": "10.7.2",
"@polkadot/api-base": "10.7.2",
"@polkadot/rpc-core": "10.7.2",
"@polkadot/types": "10.7.2",
"@polkadot/types-codec": "10.7.2",
"@polkadot/util": "^12.2.1",
"@polkadot/util-crypto": "^12.2.1",
"rxjs": "^7.8.1",
"tslib": "^2.5.2"
},
"devDependencies": {
"@polkadot/api": "10.3.4",
"@polkadot/api-augment": "10.3.4",
"@polkadot/rpc-augment": "10.3.4",
"@polkadot/rpc-provider": "10.3.4",
"@polkadot/types-support": "10.3.4"
"@polkadot/api": "10.7.2",
"@polkadot/api-augment": "10.7.2",
"@polkadot/rpc-augment": "10.7.2",
"@polkadot/rpc-provider": "10.7.2",
"@polkadot/types-support": "10.7.2"
}
}
+1 -1
View File
@@ -55,7 +55,7 @@ export function _flags (instanceId: string, api: DeriveApi): () => Observable<Fl
map((values: Codec[]): FlagsIntermediate => {
let resultIndex = -1;
for (let i = 0; i < calls.length; i++) {
for (let i = 0, count = calls.length; i < count; i++) {
if (isFunction(calls[i])) {
results[i] = values[++resultIndex];
}
+2 -2
View File
@@ -4,8 +4,8 @@
export * from './accountId.js';
export * from './flags.js';
export * from './idAndIndex.js';
export * from './idToIndex.js';
export * from './identity.js';
export * from './indexToId.js';
export * from './idToIndex.js';
export * from './indexes.js';
export * from './indexToId.js';
export * from './info.js';
@@ -3,6 +3,7 @@
/// <reference types="@polkadot/dev-test/globals.d.ts" />
import type { ApiPromise } from '@polkadot/api';
import type { SubmittableExtrinsic } from '@polkadot/api-base/types';
import type { Bytes, Option, StorageKey } from '@polkadot/types';
import type { Bounty, BountyIndex, Proposal, ProposalIndex } from '@polkadot/types/interfaces';
@@ -11,8 +12,6 @@ import type { DeriveApi, DeriveCollectiveProposal } from '../types.js';
import { firstValueFrom, of } from 'rxjs';
import { ApiPromise } from '@polkadot/api';
import { BountyFactory } from '../test/bountyFactory.js';
import { BytesFactory } from '../test/bytesFactory.js';
import { createApiWithAugmentations } from '../test/helpers.js';
+1 -1
View File
@@ -119,7 +119,7 @@ function injectFunctions (instanceId: string, api: DeriveApi, derives: DeriveCus
)
));
for (let i = 0; i < names.length; i++) {
for (let i = 0, count = names.length; i < count; i++) {
const name = names[i];
isIncluded(name) &&
+1 -1
View File
@@ -4,9 +4,9 @@
export * from './bestNumber.js';
export * from './bestNumberFinalized.js';
export * from './bestNumberLag.js';
export * from './getHeader.js';
export * from './getBlock.js';
export * from './getBlockByNumber.js';
export * from './getHeader.js';
export * from './subscribeFinalizedHeads.js';
export * from './subscribeNewBlocks.js';
export * from './subscribeNewHeads.js';
+31 -13
View File
@@ -15,6 +15,9 @@ import { memo, unwrapBlockNumber } from '../util/index.js';
export type BlockNumberDerive = (instanceId: string, api: DeriveApi) => () => Observable<BlockNumber>;
type OptionMapping = IOption<{ account: AccountId } & Codec>;
type OptionNimbus = IOption<{ nimbus: SpCoreSr25519Public } & Codec>;
export function createBlockNumberDerive <T extends { number: Compact<BlockNumber> | BlockNumber }> (fn: (api: DeriveApi) => Observable<T>): BlockNumberDerive {
return (instanceId: string, api: DeriveApi) =>
memo(instanceId, () =>
@@ -26,7 +29,7 @@ export function createBlockNumberDerive <T extends { number: Compact<BlockNumber
/** @internal */
function getAuthorDetailsWithAt (header: Header, queryAt: QueryableStorage<'rxjs'>): Observable<[Header, Vec<AccountId> | null, AccountId | null]> {
const validators = queryAt.session
const validators = queryAt.session?.validators
? queryAt.session.validators()
: of(null);
@@ -39,28 +42,43 @@ function getAuthorDetailsWithAt (header: Header, queryAt: QueryableStorage<'rxjs
if (loggedAuthor) {
// use the author mapping pallet, if available (ie: moonbeam, moonriver), to map session (nimbus) key to author (collator/validator) key
if (queryAt.authorMapping && queryAt.authorMapping.mappingWithDeposit) {
if (queryAt.authorMapping?.mappingWithDeposit) {
return combineLatest([
of(header),
validators,
queryAt.authorMapping.mappingWithDeposit<IOption<{ account: AccountId } & Codec>>(loggedAuthor)
.pipe(map((opt) => opt.unwrapOr({ account: null }).account))
queryAt.authorMapping.mappingWithDeposit<OptionMapping>(loggedAuthor).pipe(
map((o) =>
o.unwrapOr({ account: null }).account
)
)
]);
}
// fall back to session and parachain staking pallets, if available (ie: manta, calamari), to map session (nimbus) key to author (collator) key
if (queryAt.parachainStaking && queryAt.parachainStaking.selectedCandidates && queryAt.session && queryAt.session.nextKeys && queryAt.session.nextKeys.multi) {
if (queryAt.parachainStaking?.selectedCandidates && queryAt.session?.nextKeys) {
const loggedHex = loggedAuthor.toHex();
return combineLatest([
of(header),
validators,
queryAt.parachainStaking.selectedCandidates<AccountId[]>().pipe(
mergeMap((selectedCandidates) => combineLatest([
of(selectedCandidates),
queryAt.session.nextKeys.multi<IOption<{ nimbus: SpCoreSr25519Public } & Codec>>(selectedCandidates).pipe(
map((nextKeys) => nextKeys.findIndex((option) => option.unwrapOrDefault().nimbus.toHex() === loggedAuthor.toHex()))
)
])),
map(([selectedCandidates, index]) => selectedCandidates[index])
queryAt.parachainStaking.selectedCandidates<Vec<AccountId>>().pipe(
mergeMap((selectedCandidates) =>
combineLatest([
of(selectedCandidates),
queryAt.session.nextKeys.multi<OptionNimbus>(selectedCandidates).pipe(
map((nextKeys) =>
nextKeys.findIndex((o) =>
o.unwrapOrDefault().nimbus.toHex() === loggedHex
)
)
)
])
),
map(([selectedCandidates, index]) =>
index === -1
? null
: selectedCandidates[index]
)
)
]);
}
+1 -1
View File
@@ -3,4 +3,4 @@
// Do not edit, auto-generated by @polkadot/dev
export const packageInfo = { name: '@polkadot/api-derive', path: 'auto', type: 'auto', version: '10.3.4' };
export const packageInfo = { name: '@polkadot/api-derive', path: 'auto', type: 'auto', version: '10.7.2' };
+1 -1
View File
@@ -3,13 +3,13 @@
export * from './account.js';
export * from './currentPoints.js';
export * from './electedInfo.js';
export * from './erasExposure.js';
export * from './erasHistoric.js';
export * from './erasPoints.js';
export * from './erasPrefs.js';
export * from './erasRewards.js';
export * from './erasSlashes.js';
export * from './electedInfo.js';
export * from './keys.js';
export * from './overview.js';
export * from './ownExposure.js';
@@ -1,10 +1,10 @@
// Copyright 2017-2023 @polkadot/api authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { ApiPromise } from '@polkadot/api';
import type { Bounty, BountyIndex } from '@polkadot/types/interfaces';
import type { Codec, Constructor, InterfaceTypes, Registry } from '@polkadot/types/types';
import { ApiPromise } from '@polkadot/api';
import { Option, StorageKey } from '@polkadot/types';
export class BountyFactory {
+1 -1
View File
@@ -3,7 +3,7 @@
import type { AccountId, Digest } from '@polkadot/types/interfaces';
export function extractAuthor (digest: Digest, sessionValidators: AccountId[] = []): AccountId | undefined {
export function extractAuthor (digest: Digest, sessionValidators: AccountId[]): AccountId | undefined {
const [citem] = digest.logs.filter((e) => e.isConsensus);
const [pitem] = digest.logs.filter((e) => e.isPreRuntime);
const [sitem] = digest.logs.filter((e) => e.isSeal);
+1 -1
View File
@@ -9,8 +9,8 @@ import type { BN } from '@polkadot/util';
import type { ExactDerive } from './derive.js';
export * from './accounts/types.js';
export * from './balances/types.js';
export * from './bagsList/types.js';
export * from './balances/types.js';
export * from './council/types.js';
export * from './crowdloan/types.js';
export * from './democracy/types.js';
@@ -8,7 +8,7 @@ import type { ApprovalFlag } from '@polkadot/types/interfaces/elections';
export function approvalFlagsToBools (flags: Vec<ApprovalFlag> | ApprovalFlag[]): boolean[] {
const bools: boolean[] = [];
for (let i = 0; i < flags.length; i++) {
for (let i = 0, count = flags.length; i < count; i++) {
const str = flags[i].toString(2);
// read from lowest bit to highest
+2
View File
@@ -1,8 +1,10 @@
// Copyright 2017-2023 @polkadot/api-derive authors & contributors
// SPDX-License-Identifier: Apache-2.0
// all named
export { drr, memo } from '@polkadot/rpc-core';
// all starred
export * from './approvalFlagsToBools.js';
export * from './blockNumber.js';
export * from './cache.js';
+1
View File
@@ -8,6 +8,7 @@
"exclude": [
"**/test/*",
"**/checkTypes.manual.ts",
"**/mod.ts",
"**/*.spec.ts"
],
"references": [
+21 -21
View File
@@ -3,7 +3,7 @@
"bugs": "https://github.com/polkadot-js/api/issues",
"description": "Promise and RxJS wrappers around the Polkadot JS RPC",
"engines": {
"node": ">=14"
"node": ">=16"
},
"homepage": "https://github.com/polkadot-js/api/tree/master/packages/api#readme",
"license": "Apache-2.0",
@@ -18,29 +18,29 @@
"./detectPackage.cjs"
],
"type": "module",
"version": "10.3.4",
"version": "10.7.2",
"main": "index.js",
"dependencies": {
"@polkadot/api-augment": "10.3.4",
"@polkadot/api-base": "10.3.4",
"@polkadot/api-derive": "10.3.4",
"@polkadot/keyring": "^11.1.3",
"@polkadot/rpc-augment": "10.3.4",
"@polkadot/rpc-core": "10.3.4",
"@polkadot/rpc-provider": "10.3.4",
"@polkadot/types": "10.3.4",
"@polkadot/types-augment": "10.3.4",
"@polkadot/types-codec": "10.3.4",
"@polkadot/types-create": "10.3.4",
"@polkadot/types-known": "10.3.4",
"@polkadot/util": "^11.1.3",
"@polkadot/util-crypto": "^11.1.3",
"eventemitter3": "^5.0.0",
"rxjs": "^7.8.0",
"tslib": "^2.5.0"
"@polkadot/api-augment": "10.7.2",
"@polkadot/api-base": "10.7.2",
"@polkadot/api-derive": "10.7.2",
"@polkadot/keyring": "^12.2.1",
"@polkadot/rpc-augment": "10.7.2",
"@polkadot/rpc-core": "10.7.2",
"@polkadot/rpc-provider": "10.7.2",
"@polkadot/types": "10.7.2",
"@polkadot/types-augment": "10.7.2",
"@polkadot/types-codec": "10.7.2",
"@polkadot/types-create": "10.7.2",
"@polkadot/types-known": "10.7.2",
"@polkadot/util": "^12.2.1",
"@polkadot/util-crypto": "^12.2.1",
"eventemitter3": "^5.0.1",
"rxjs": "^7.8.1",
"tslib": "^2.5.2"
},
"devDependencies": {
"@polkadot/api-augment": "10.3.4",
"@polkadot/types-support": "10.3.4"
"@polkadot/api-augment": "10.7.2",
"@polkadot/types-support": "10.7.2"
}
}
+26 -22
View File
@@ -4,7 +4,7 @@
import type { Observable } from 'rxjs';
import type { AugmentedCall, DeriveCustom, QueryableCalls } from '@polkadot/api-base/types';
import type { RpcInterface } from '@polkadot/rpc-core/types';
import type { StorageKey, Text, u64 } from '@polkadot/types';
import type { Metadata, StorageKey, Text, u64 } from '@polkadot/types';
import type { Call, Hash, RuntimeVersion } from '@polkadot/types/interfaces';
import type { DecoratedMeta } from '@polkadot/types/metadata/decorate/types';
import type { StorageEntry } from '@polkadot/types/primitive/types';
@@ -20,7 +20,7 @@ import { BehaviorSubject, combineLatest, from, map, of, switchMap, tap, toArray
import { getAvailableDerives } from '@polkadot/api-derive';
import { memo, RpcCore } from '@polkadot/rpc-core';
import { WsProvider } from '@polkadot/rpc-provider';
import { expandMetadata, GenericExtrinsic, Metadata, typeDefinitions, TypeRegistry } from '@polkadot/types';
import { expandMetadata, GenericExtrinsic, typeDefinitions, TypeRegistry } from '@polkadot/types';
import { getSpecRuntime } from '@polkadot/types-known';
import { arrayChunk, arrayFlatten, assertReturn, BN, compactStripLength, lazyMethod, lazyMethods, logger, nextTick, objectSpread, stringCamelCase, stringUpperFirst, u8aConcatStrict, u8aToHex } from '@polkadot/util';
import { blake2AsHex } from '@polkadot/util-crypto';
@@ -139,19 +139,22 @@ export abstract class Decorate<ApiType extends ApiTypes> extends Events {
this._rx.queryAt = (blockHash: Uint8Array | string, knownVersion?: RuntimeVersion) =>
from(this.at(blockHash, knownVersion)).pipe(map((a) => a.rx.query));
this._rx.registry = this.#registry;
this._decorateMethod = decorateMethod;
this._options = options;
this._type = type;
const thisProvider = options.source
const provider = options.source
? options.source._rpcCore.provider.isClonable
? options.source._rpcCore.provider.clone()
: options.source._rpcCore.provider
: (options.provider || new WsProvider());
this._decorateMethod = decorateMethod;
this._options = options;
this._type = type;
// The RPC interface decorates the known interfaces on init
this._rpcCore = new RpcCore(this.#instanceId, this.#registry, thisProvider, this._options.rpc) as (RpcCore & RpcInterface);
this._rpcCore = new RpcCore(this.#instanceId, this.#registry, {
isPedantic: this._options.isPedantic,
provider,
userRpc: this._options.rpc
}) as (RpcCore & RpcInterface);
this._isConnected = new BehaviorSubject(this._rpcCore.provider.isConnected);
this._rx.hasSubscriptions = this._rpcCore.provider.hasSubscriptions;
}
@@ -319,7 +322,7 @@ export abstract class Decorate<ApiType extends ApiTypes> extends Events {
// we try and create mappings to runtime names via a hash mapping)
const sectionMap: Record<string, boolean> = {};
for (let i = 0; i < methods.length; i++) {
for (let i = 0, count = methods.length; i < count; i++) {
const [section] = methods[i].split('_');
sectionMap[section] = true;
@@ -328,7 +331,7 @@ export abstract class Decorate<ApiType extends ApiTypes> extends Events {
// convert the actual section names into an easy name lookup
const sections = Object.keys(sectionMap);
for (let i = 0; i < sections.length; i++) {
for (let i = 0, count = sections.length; i < count; i++) {
const nameA = stringUpperFirst(sections[i]);
const nameB = `${nameA}Api`;
@@ -344,8 +347,9 @@ export abstract class Decorate<ApiType extends ApiTypes> extends Events {
const hasResults = exposed.length !== 0;
const allKnown = [...this._rpcCore.mapping.entries()];
const allKeys: string[] = [];
const count = allKnown.length;
for (let i = 0; i < allKnown.length; i++) {
for (let i = 0; i < count; i++) {
const [, { alias, endpoint, method, pubsub, section }] = allKnown[i];
allKeys.push(`${section}_${method}`);
@@ -375,7 +379,7 @@ export abstract class Decorate<ApiType extends ApiTypes> extends Events {
// loop through all entries we have (populated in decorate) and filter as required
// only remove when we have results and method missing, or with no results if optional
for (let i = 0; i < allKnown.length; i++) {
for (let i = 0; i < count; i++) {
const [k, { method, section }] = allKnown[i];
if (hasResults && !exposed.includes(k) && k !== 'rpc_methods') {
@@ -408,7 +412,7 @@ export abstract class Decorate<ApiType extends ApiTypes> extends Events {
return fn;
};
for (let s = 0; s < rpc.sections.length; s++) {
for (let s = 0, scount = rpc.sections.length; s < scount; s++) {
const section = rpc.sections[s];
if (!Object.prototype.hasOwnProperty.call(out, section)) {
@@ -417,7 +421,7 @@ export abstract class Decorate<ApiType extends ApiTypes> extends Events {
const decorateInternal = (method: string) =>
decorateFn(section, method);
for (let m = 0; m < methods.length; m++) {
for (let m = 0, mcount = methods.length; m < mcount; m++) {
const method = methods[m];
// skip subscriptions where we have a non-subscribe interface
@@ -443,13 +447,13 @@ export abstract class Decorate<ApiType extends ApiTypes> extends Events {
const entries = Object.entries(additional);
for (let j = 0; j < entries.length; j++) {
for (let j = 0, ecount = entries.length; j < ecount; j++) {
const [key, defs] = entries[j];
if (result[key]) {
// we have this one already, step through for new versions or
// new methods and add those as applicable
for (let k = 0; k < defs.length; k++) {
for (let k = 0, dcount = defs.length; k < dcount; k++) {
const def = defs[k];
const prev = result[key].find(({ version }) => def.version === version);
@@ -475,7 +479,7 @@ export abstract class Decorate<ApiType extends ApiTypes> extends Events {
// options > chain/spec > built-in, apply in reverse order with
// methods overriding previous definitions (or interleave missing)
for (let i = 0; i < defValues.length; i++) {
for (let i = 0, count = defValues.length; i < count; i++) {
this._addRuntimeDef(result, defValues[i].runtime);
}
@@ -497,7 +501,7 @@ export abstract class Decorate<ApiType extends ApiTypes> extends Events {
this.#runtimeLog[implName] = true;
for (let i = 0; i < sections.length; i++) {
for (let i = 0, scount = sections.length; i < scount; i++) {
const [_section, secs] = sections[i];
const sectionHash = blake2AsHex(_section, 64);
const rtApi = apis.find(([a]) => a.eq(sectionHash));
@@ -517,7 +521,7 @@ export abstract class Decorate<ApiType extends ApiTypes> extends Events {
named[section] = {};
}
for (let m = 0; m < methods.length; m++) {
for (let m = 0, mcount = methods.length; m < mcount; m++) {
const [_method, def] = methods[m];
const method = stringCamelCase(_method);
@@ -557,7 +561,7 @@ export abstract class Decorate<ApiType extends ApiTypes> extends Events {
const modules = Object.keys(named);
for (let i = 0; i < modules.length; i++) {
for (let i = 0, count = modules.length; i < count; i++) {
lazyMethod(result, modules[i], lazySection);
}
@@ -642,7 +646,7 @@ export abstract class Decorate<ApiType extends ApiTypes> extends Events {
const sections = Object.keys(tx);
for (let i = 0; i < sections.length; i++) {
for (let i = 0, count = sections.length; i < count; i++) {
lazyMethod(result, sections[i], lazySection);
}
@@ -673,7 +677,7 @@ export abstract class Decorate<ApiType extends ApiTypes> extends Events {
const sections = Object.keys(query);
for (let i = 0; i < sections.length; i++) {
for (let i = 0, count = sections.length; i < count; i++) {
lazyMethod(result, sections[i], lazySection);
}
+3 -3
View File
@@ -97,7 +97,7 @@ export abstract class Init<ApiType extends ApiTypes> extends Decorate<ApiType> {
registry.knownTypes.typesAlias = getSpecAlias(registry, chain, version.specName);
}
registry.setMetadata(metadata, undefined, objectSpread<ExtDef>({}, getSpecExtensions(registry, chain, version.specName), this._options.signedExtensions));
registry.setMetadata(metadata, undefined, objectSpread<ExtDef>({}, getSpecExtensions(registry, chain, version.specName), this._options.signedExtensions), this._options.noInitWarn);
}
/**
@@ -265,11 +265,11 @@ export abstract class Init<ApiType extends ApiTypes> extends Decorate<ApiType> {
const sections = Object.keys(source.rpc);
const rpcs: string[] = [];
for (let s = 0; s < sections.length; s++) {
for (let s = 0, scount = sections.length; s < scount; s++) {
const section = sections[s];
const methods = Object.keys((source.rpc as unknown as Record<string, Record<string, unknown>>)[section]);
for (let m = 0; m < methods.length; m++) {
for (let m = 0, mcount = methods.length; m < mcount; m++) {
rpcs.push(`${section}_${methods[m]}`);
}
}
+1 -1
View File
@@ -58,7 +58,7 @@ export abstract class ApiBase<ApiType extends ApiTypes> extends Getters<ApiType>
/**
* @description Set an external signer which will be used to sign extrinsic when account passed in is not KeyringPair
*/
public setSigner (signer: Signer): void {
public setSigner (signer: Signer | undefined): void {
this._rx.signer = signer;
}
+3
View File
@@ -3,11 +3,14 @@
import '@polkadot/rpc-augment';
// all external
export { Keyring } from '@polkadot/keyring';
export { HttpProvider, ScProvider, WsProvider } from '@polkadot/rpc-provider';
// all named
export { packageInfo } from './packageInfo.js';
export { SubmittableResult } from './submittable/index.js';
// all starred
export * from './promise/index.js';
export * from './rx/index.js';
+1 -2
View File
@@ -11,13 +11,12 @@ import type { StorageKey } from '@polkadot/types';
import type { AccountId, Balance, DispatchErrorModule, Event, Header, Index } from '@polkadot/types/interfaces';
import type { FrameSystemAccountInfo } from '@polkadot/types/lookup';
import type { AnyTuple, IExtrinsic, IMethod } from '@polkadot/types/types';
import type { SubmittableResult } from './index.js';
import { ApiPromise } from '@polkadot/api';
import { createTestPairs } from '@polkadot/keyring/testingPairs';
import { createTypeUnsafe, TypeRegistry } from '@polkadot/types/create';
import { SubmittableResult } from './index.js';
const registry = new TypeRegistry();
async function calls (api: ApiPromise): Promise<void> {
+1 -1
View File
@@ -3,4 +3,4 @@
// Do not edit, auto-generated by @polkadot/dev
export const packageInfo = { name: '@polkadot/api', path: 'auto', type: 'auto', version: '10.3.4' };
export const packageInfo = { name: '@polkadot/api', path: 'auto', type: 'auto', version: '10.7.2' };
+2 -1
View File
@@ -21,7 +21,7 @@ describe('Combinator', (): void => {
fns = [];
});
it('it triggers on all values', async (): Promise<void> => {
it('triggers on all values', async (): Promise<void> => {
await new Promise<boolean>((resolve) => {
let count = 0;
const combinator = new Combinator(
@@ -90,6 +90,7 @@ describe('Combinator', (): void => {
});
});
// eslint-disable-next-line jest/expect-expect
it('unsubscribes as required', async (): Promise<void> => {
await new Promise<void>((resolve) => {
// eslint-disable-next-line @typescript-eslint/require-await
+2 -2
View File
@@ -1,11 +1,11 @@
// Copyright 2017-2023 @polkadot/api authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { Observable } from 'rxjs';
import type { Observable, Subscription } from 'rxjs';
import type { Callback, Codec } from '@polkadot/types/types';
import type { DecorateFn, DecorateMethodOptions, ObsInnerType, StorageEntryPromiseOverloads, UnsubscribePromise, VoidFn } from '../types/index.js';
import { catchError, EMPTY, Subscription, tap } from 'rxjs';
import { catchError, EMPTY, tap } from 'rxjs';
import { isFunction, nextTick } from '@polkadot/util';
+1
View File
@@ -87,6 +87,7 @@ describe('ApiPromise', (): void => {
await api.disconnect();
});
// eslint-disable-next-line jest/expect-expect
it('Create API instance will error on failure to await ready', async (): Promise<void> => {
class ErrorApiPromise extends ApiPromise {
constructor () {
+3 -2
View File
@@ -1,9 +1,10 @@
// Copyright 2017-2023 @polkadot/api authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { Observable } from 'rxjs';
import type { ApiOptions } from '../types/index.js';
import { from, Observable } from 'rxjs';
import { from } from 'rxjs';
import { objectSpread } from '@polkadot/util';
@@ -13,7 +14,7 @@ import { toRxMethod } from './decorateMethod.js';
/**
* # @polkadot/api/rx
*
* ## Overview
* ## Overview
*
* @name ApiRx
*
+3 -5
View File
@@ -7,14 +7,14 @@ import type { Observable } from 'rxjs';
import type { Address, ApplyExtrinsicResult, Call, Extrinsic, ExtrinsicEra, ExtrinsicStatus, Hash, Header, Index, RuntimeDispatchInfo, SignerPayload } from '@polkadot/types/interfaces';
import type { Callback, Codec, Constructor, ISubmittableResult, SignatureOptions } from '@polkadot/types/types';
import type { Registry } from '@polkadot/types-codec/types';
import type { ApiBase } from '../base/index.js';
import type { ApiInterfaceRx, ApiTypes, PromiseOrObs, SignerResult } from '../types/index.js';
import type { AddressOrPair, SignerOptions, SubmittableDryRunResult, SubmittableExtrinsic, SubmittablePaymentResult, SubmittableResultResult, SubmittableResultSubscription } from './types.js';
import { catchError, first, map, mergeMap, of, switchMap, tap } from 'rxjs';
import { isBn, isFunction, isNumber, isString, isU8a, objectSpread } from '@polkadot/util';
import { identity, isBn, isFunction, isNumber, isString, isU8a, objectSpread } from '@polkadot/util';
import { ApiBase } from '../base/index.js';
import { filterEvents, isKeyringPair } from '../util/index.js';
import { SubmittableResult } from './Result.js';
@@ -30,8 +30,6 @@ interface UpdateInfo {
updateId: number;
}
const identity = <T> (input: T): T => input;
function makeEraOptions (api: ApiInterfaceRx, registry: Registry, partialOptions: Partial<SignerOptions>, { header, mortalLength, nonce }: { header: Header | null; mortalLength: number; nonce: Index }): SignatureOptions {
if (!header) {
if (partialOptions.era && !partialOptions.blockHash) {
@@ -92,7 +90,7 @@ export function createClass <ApiType extends ApiTypes> ({ api, apiType, blockHas
class Submittable extends ExtrinsicBase implements SubmittableExtrinsic<ApiType> {
readonly #ignoreStatusCb: boolean;
#transformResult: (input: ISubmittableResult) => ISubmittableResult = identity;
#transformResult = identity<ISubmittableResult>;
constructor (registry: Registry, extrinsic: Call | Extrinsic | Uint8Array | string) {
super(registry, extrinsic, { version: api.extrinsicType });
@@ -3,10 +3,10 @@
import type { Call, Extrinsic } from '@polkadot/types/interfaces';
import type { Registry } from '@polkadot/types-codec/types';
import type { ApiBase } from '../base/index.js';
import type { ApiInterfaceRx, ApiTypes } from '../types/index.js';
import type { SubmittableExtrinsic } from './types.js';
import { ApiBase } from '../base/index.js';
import { createClass } from './createClass.js';
type Creator<ApiType extends ApiTypes> = (extrinsic: Call | Uint8Array | string) => SubmittableExtrinsic<ApiType>;
+1 -2
View File
@@ -2,8 +2,7 @@
// SPDX-License-Identifier: Apache-2.0
import type { EventRecord } from '@polkadot/types/interfaces';
import { SubmittableResult } from '../index.js';
import type { SubmittableResult } from '../index.js';
// log all events for the transfers, calling done() when finalized
export const logEvents = (done: () => Record<string, unknown>): (r: SubmittableResult) => void =>
+22 -8
View File
@@ -18,18 +18,28 @@ import type { ApiBase } from '../base/index.js';
import type { SubmittableExtrinsic } from '../types/submittable.js';
import type { AllDerives } from '../util/decorate.js';
export * from '@polkadot/api-base/types';
export * from '@polkadot/api/types/calls';
export * from '@polkadot/api/types/consts';
export * from '@polkadot/api/types/errors';
export * from '@polkadot/api/types/events';
export * from '@polkadot/api/types/storage';
export * from '@polkadot/api/types/submittable';
// types
export type { Signer, SignerResult } from '@polkadot/types/types';
// all named
export { ApiBase } from '../base/index.js';
// all starred
// eslint-disable-next-line import/export
export * from '@polkadot/api/types/calls';
// eslint-disable-next-line import/export
export * from '@polkadot/api/types/consts';
// eslint-disable-next-line import/export
export * from '@polkadot/api/types/errors';
// eslint-disable-next-line import/export
export * from '@polkadot/api/types/events';
// eslint-disable-next-line import/export
export * from '@polkadot/api/types/storage';
// eslint-disable-next-line import/export
export * from '@polkadot/api/types/submittable';
// eslint-disable-next-line import/export
export * from '@polkadot/api-base/types';
// A smaller interface of ApiRx, used in derive and in SubmittableExtrinsic
export interface ApiInterfaceRx extends ApiInterfaceBase {
derive: AllDerives<'rxjs'>;
@@ -44,6 +54,10 @@ export interface ApiOptions extends RegisteredTypes {
* @description Control the initialization of the wasm libraries. When not specified, it defaults to `true`, initializing the wasm libraries, set to `false` to not initialize wasm. (No sr25519 support)
*/
initWasm?: boolean;
/**
* @description Controls the checking of storage values once they have been contructed. When not specified this defaults to `true`. Set to `false` to forgo any checking on storage results.
*/
isPedantic?: boolean;
/**
* @description pre-bundles is a map of 'genesis hash and runtime spec version' as key to a metadata hex string
* if genesis hash and runtime spec version matches, then use metadata, else fetch it from chain
+3 -3
View File
@@ -53,12 +53,12 @@ function findMethodExcludes <T> (src: Sections<T>, dst: Sections<T>): string[] {
const dstSections = findSectionIncludes(Object.keys(dst), srcSections);
const excludes: string[] = [];
for (let s = 0; s < dstSections.length; s++) {
for (let s = 0, scount = dstSections.length; s < scount; s++) {
const section = dstSections[s];
const srcMethods = Object.keys(src[section]);
const dstMethods = Object.keys(dst[section]);
for (let d = 0; d < dstMethods.length; d++) {
for (let d = 0, mcount = dstMethods.length; d < mcount; d++) {
const method = dstMethods[d];
if (!srcMethods.includes(method)) {
@@ -95,7 +95,7 @@ export function augmentObject <T> (prefix: string | null, src: Sections<T>, dst:
const sections = Object.keys(src);
for (let i = 0; i < sections.length; i++) {
for (let i = 0, count = sections.length; i < count; i++) {
const section = sections[i];
const methods = src[section];
+1 -1
View File
@@ -35,7 +35,7 @@ export function decorateDeriveSections<ApiType extends ApiTypes> (decorateMethod
const result: AnyDerive = {};
const names = Object.keys(derives);
for (let i = 0; i < names.length; i++) {
for (let i = 0, count = names.length; i < count; i++) {
lazyDeriveSection(result, names[i], getKeys, creator);
}
+4 -2
View File
@@ -1,8 +1,10 @@
// Copyright 2017-2023 @polkadot/api authors & contributors
// SPDX-License-Identifier: Apache-2.0
export * from './decorate.js';
// all named
export { filterEvents } from './filterEvents.js';
export { isKeyringPair } from './isKeyringPair.js';
export { l } from './logging.js';
// all starred
export * from './decorate.js';
+1 -1
View File
@@ -46,7 +46,7 @@ describe('extractStorageArgs', (): void => {
).toThrow('staking.payee(AccountId32) is a map, requiring 1 arguments, 0 found');
});
it('validates map, 1 arg (failing with no args)', (): void => {
it('validates map, 1 arg (failing with more args)', (): void => {
expect(
() => extractStorageArgs(registry, storage.staking.payee, ['abc', 'def'])
).toThrow('staking.payee(AccountId32) is a map, requiring 1 arguments, 2 found');
+1
View File
@@ -7,6 +7,7 @@
},
"exclude": [
"**/checkTypes.manual.ts",
"**/mod.ts",
"**/*.spec.ts",
"**/test/**/*"
],
+7 -7
View File
@@ -3,7 +3,7 @@
"bugs": "https://github.com/polkadot-js/api/issues",
"description": "RPC generated augmentation",
"engines": {
"node": ">=14"
"node": ">=16"
},
"homepage": "https://github.com/polkadot-js/api/tree/master/packages/rpc-augment#readme",
"license": "Apache-2.0",
@@ -18,13 +18,13 @@
"./detectPackage.cjs"
],
"type": "module",
"version": "10.3.4",
"version": "10.7.2",
"main": "index.js",
"dependencies": {
"@polkadot/rpc-core": "10.3.4",
"@polkadot/types": "10.3.4",
"@polkadot/types-codec": "10.3.4",
"@polkadot/util": "^11.1.3",
"tslib": "^2.5.0"
"@polkadot/rpc-core": "10.7.2",
"@polkadot/types": "10.7.2",
"@polkadot/types-codec": "10.7.2",
"@polkadot/util": "^12.2.1",
"tslib": "^2.5.2"
}
}
+1 -1
View File
@@ -3,4 +3,4 @@
// Do not edit, auto-generated by @polkadot/dev
export const packageInfo = { name: '@polkadot/rpc-augment', path: 'auto', type: 'auto', version: '10.3.4' };
export const packageInfo = { name: '@polkadot/rpc-augment', path: 'auto', type: 'auto', version: '10.7.2' };
+3
View File
@@ -5,6 +5,9 @@
"outDir": "./build",
"rootDir": "./src"
},
"exclude": [
"**/mod.ts"
],
"references": [
{ "path": "../rpc-core/tsconfig.build.json" },
{ "path": "../types/tsconfig.build.json" },
+10 -10
View File
@@ -3,7 +3,7 @@
"bugs": "https://github.com/polkadot-js/api/issues",
"description": "A JavaScript wrapper for the Polkadot JsonRPC interface",
"engines": {
"node": ">=14"
"node": ">=16"
},
"homepage": "https://github.com/polkadot-js/api/tree/master/packages/rpc-core#readme",
"license": "Apache-2.0",
@@ -18,18 +18,18 @@
"./detectPackage.cjs"
],
"type": "module",
"version": "10.3.4",
"version": "10.7.2",
"main": "index.js",
"dependencies": {
"@polkadot/rpc-augment": "10.3.4",
"@polkadot/rpc-provider": "10.3.4",
"@polkadot/types": "10.3.4",
"@polkadot/util": "^11.1.3",
"rxjs": "^7.8.0",
"tslib": "^2.5.0"
"@polkadot/rpc-augment": "10.7.2",
"@polkadot/rpc-provider": "10.7.2",
"@polkadot/types": "10.7.2",
"@polkadot/util": "^12.2.1",
"rxjs": "^7.8.1",
"tslib": "^2.5.2"
},
"devDependencies": {
"@polkadot/keyring": "^11.1.3",
"@polkadot/rpc-augment": "10.3.4"
"@polkadot/keyring": "^12.2.1",
"@polkadot/rpc-augment": "10.7.2"
}
}
+59 -43
View File
@@ -29,6 +29,12 @@ type MemoizedRpcInterfaceMethod = Memoized<RpcInterfaceMethod> & {
meta: DefinitionRpc;
}
interface Options {
isPedantic?: boolean;
provider: ProviderInterface;
userRpc?: Record<string, Record<string, DefinitionRpc | DefinitionRpcSub>>;
}
const l = logger('rpc-core');
const EMPTY_META = {
@@ -47,11 +53,11 @@ function logErrorMessage (method: string, { noErrorLog, params, type }: Definiti
return;
}
const inputs = params.map(({ isOptional, name, type }): string =>
`${name}${isOptional ? '?' : ''}: ${type}`
).join(', ');
l.error(`${method}(${inputs}): ${type}:: ${error.message}`);
l.error(`${method}(${
params.map(({ isOptional, name, type }): string =>
`${name}${isOptional ? '?' : ''}: ${type}`
).join(', ')
}): ${type}:: ${error.message}`);
}
function isTreatAsHex (key: StorageKey): boolean {
@@ -84,30 +90,31 @@ function isTreatAsHex (key: StorageKey): boolean {
* ```
*/
export class RpcCore {
#instanceId: string;
#registryDefault: Registry;
readonly #instanceId: string;
readonly #isPedantic: boolean;
readonly #registryDefault: Registry;
readonly #storageCache = new Map<string, Codec>();
#getBlockRegistry?: (blockHash: Uint8Array) => Promise<{ registry: Registry }>;
#getBlockHash?: (blockNumber: AnyNumber) => Promise<Uint8Array>;
readonly #storageCache = new Map<string, Codec>();
readonly mapping = new Map<string, DefinitionRpcExt>();
readonly provider: ProviderInterface;
readonly sections: string[] = [];
/**
* @constructor
* Default constructor for the Api Object
* @param {ProviderInterface} provider An API provider using HTTP or WebSocket
* Default constructor for the core RPC handler
* @param {ProviderInterface} provider An API provider using any of the supported providers (HTTP, SC or WebSocket)
*/
constructor (instanceId: string, registry: Registry, provider: ProviderInterface, userRpc: Record<string, Record<string, DefinitionRpc | DefinitionRpcSub>> = {}) {
constructor (instanceId: string, registry: Registry, { isPedantic = true, provider, userRpc = {} }: Options) {
// eslint-disable-next-line @typescript-eslint/unbound-method
if (!provider || !isFunction(provider.send)) {
throw new Error('Expected Provider to API create');
}
this.#instanceId = instanceId;
this.#isPedantic = isPedantic;
this.#registryDefault = registry;
this.provider = provider;
@@ -163,12 +170,12 @@ export class RpcCore {
// add any extra user-defined sections
this.sections.push(...Object.keys(userRpc).filter((k) => !this.sections.includes(k)));
for (let s = 0; s < this.sections.length; s++) {
for (let s = 0, scount = this.sections.length; s < scount; s++) {
const section = this.sections[s];
const defs = objectSpread<Record<string, DefinitionRpc | DefinitionRpcSub>>({}, rpcDefinitions[section as 'babe'], userRpc[section]);
const methods = Object.keys(defs);
for (let m = 0; m < methods.length; m++) {
for (let m = 0, mcount = methods.length; m < mcount; m++) {
const method = methods[m];
const def = defs[method];
const jsonrpc = def.endpoint || `${section}_${method}`;
@@ -227,7 +234,7 @@ export class RpcCore {
? await this.#getBlockRegistry(u8aToU8a(blockHash))
: { registry: this.#registryDefault };
const params = this._formatInputs(registry, null, def, values);
const params = this._formatParams(registry, null, def, values);
// only cache .at(<blockHash>) queries, e.g. where valid blockHash was supplied
const result = await this.provider.send<AnyJson>(rpcName, params.map((p) => p.toJSON()), !!blockHash);
@@ -307,8 +314,7 @@ export class RpcCore {
};
try {
const params = this._formatInputs(registry, null, def, values);
const paramsJson = params.map((p) => p.toJSON());
const params = this._formatParams(registry, null, def, values);
const update = (error?: Error | null, result?: unknown): void => {
if (error) {
@@ -324,7 +330,7 @@ export class RpcCore {
}
};
subscriptionPromise = this._createSubscriber({ paramsJson, subName, subType, update }, errorHandler);
subscriptionPromise = this._createSubscriber({ paramsJson: params.map((p) => p.toJSON()), subName, subType, update }, errorHandler);
} catch (error) {
errorHandler(error as Error);
}
@@ -355,19 +361,21 @@ export class RpcCore {
return memoized;
}
private _formatInputs (registry: Registry, blockHash: Uint8Array | string | null | undefined, def: DefinitionRpc, inputs: unknown[]): Codec[] {
const reqArgCount = def.params.filter(({ isOptional }) => !isOptional).length;
const optText = reqArgCount === def.params.length
? ''
: ` (${def.params.length - reqArgCount} optional)`;
private _formatParams (registry: Registry, blockHash: Uint8Array | string | null | undefined, def: DefinitionRpc, inputs: unknown[]): Codec[] {
const count = inputs.length;
const reqCount = def.params.filter(({ isOptional }) => !isOptional).length;
if (inputs.length < reqArgCount || inputs.length > def.params.length) {
throw new Error(`Expected ${def.params.length} parameters${optText}, ${inputs.length} found instead`);
if (count < reqCount || count > def.params.length) {
throw new Error(`Expected ${def.params.length} parameters${reqCount === def.params.length ? '' : ` (${def.params.length - reqCount} optional)`}, ${count} found instead`);
}
return inputs.map((input, index): Codec =>
registry.createTypeUnsafe(def.params[index].type, [input], { blockHash })
);
const params = new Array<Codec>(count);
for (let i = 0; i < count; i++) {
params[i] = registry.createTypeUnsafe(def.params[i].type, [inputs[i]], { blockHash });
}
return params;
}
private _formatOutput (registry: Registry, blockHash: Uint8Array | string | null | undefined, method: string, rpc: DefinitionRpc, params: Codec[], result?: unknown): Codec | Codec[] {
@@ -382,10 +390,18 @@ export class RpcCore {
? this._formatStorageSet(registry, (result as StorageChangeSetJSON).block, keys, (result as StorageChangeSetJSON).changes)
: registry.createType('StorageChangeSet', result);
} else if (rpc.type === 'Vec<StorageChangeSet>') {
const mapped = (result as StorageChangeSetJSON[]).map(({ block, changes }): [Hash, Codec[]] => [
registry.createType('Hash', block),
this._formatStorageSet(registry, block, params[0] as Vec<StorageKey>, changes)
]);
const jsonSet = (result as StorageChangeSetJSON[]);
const count = jsonSet.length;
const mapped = new Array<[Hash, Codec[]]>(count);
for (let i = 0; i < count; i++) {
const { block, changes } = jsonSet[i];
mapped[i] = [
registry.createType('BlockHash', block),
this._formatStorageSet(registry, block, params[0] as Vec<StorageKey>, changes)
];
}
// we only query at a specific block, not a range - flatten
return method === 'queryStorageAt'
@@ -412,17 +428,17 @@ export class RpcCore {
private _formatStorageSet (registry: Registry, blockHash: string, keys: Vec<StorageKey>, changes: [string, string | null][]): Codec[] {
// For StorageChangeSet, the changes has the [key, value] mappings
const withCache = keys.length !== 1;
const count = keys.length;
const withCache = count !== 1;
const values = new Array<Codec>(count);
// multiple return values (via state.storage subscription), decode the values
// one at a time, all based on the query types. Three values can be returned -
// - Codec - There is a valid value, non-empty
// - null - The storage key is empty
return keys.reduce((results: Codec[], key: StorageKey, index): Codec[] => {
results.push(this._formatStorageSetEntry(registry, blockHash, key, changes, withCache, index));
// multiple return values (via state.storage subscription), decode the
// values one at a time, all based on the supplied query types
for (let i = 0; i < count; i++) {
values[i] = this._formatStorageSetEntry(registry, blockHash, keys[i], changes, withCache, i);
}
return results;
}, []);
return values;
}
private _formatStorageSetEntry (registry: Registry, blockHash: string, key: StorageKey, changes: [string, string | null][], withCache: boolean, entryIndex: number): Codec {
@@ -478,9 +494,9 @@ export class RpcCore {
: hexToU8a(meta.fallback.toHex())
: undefined
: meta.modifier.isOptional
? registry.createTypeUnsafe(type, [input], { blockHash, isPedantic: true })
? registry.createTypeUnsafe(type, [input], { blockHash, isPedantic: this.#isPedantic })
: input
], { blockHash, isFallback: isEmpty && !!meta.fallback, isOptional: meta.modifier.isOptional, isPedantic: !meta.modifier.isOptional });
], { blockHash, isFallback: isEmpty && !!meta.fallback, isOptional: meta.modifier.isOptional, isPedantic: this.#isPedantic && !meta.modifier.isOptional });
} catch (error) {
throw new Error(`Unable to decode storage ${key.section || 'unknown'}.${key.method || 'unknown'}:${entryNum}: ${(error as Error).message}`);
}
+1 -1
View File
@@ -19,7 +19,7 @@ describe('Cached Observables', (): void => {
beforeEach((): void => {
provider = new MockProvider(registry);
rpc = new RpcCore('123', registry, provider) as (RpcCore & RpcInterface);
rpc = new RpcCore('123', registry, { provider }) as (RpcCore & RpcInterface);
});
afterEach(async () => {
+10 -7
View File
@@ -16,18 +16,21 @@ describe('Api', (): void => {
it('requires a provider with a send method', (): void => {
expect(
() => new RpcCore('234', registry, {} as unknown as ProviderInterface)
() => new RpcCore('234', registry, { provider: {} as unknown as ProviderInterface })
).toThrow(/Expected Provider/);
});
it('allows for the definition of user RPCs', async () => {
const provider = new MockProvider(registry);
const rpc = new RpcCore('567', registry, provider, {
testing: {
foo: {
description: 'foo',
params: [{ name: 'bar', type: 'u32' }],
type: 'Balance'
const rpc = new RpcCore('567', registry, {
provider,
userRpc: {
testing: {
foo: {
description: 'foo',
params: [{ name: 'bar', type: 'u32' }],
type: 'Balance'
}
}
}
});
+1 -1
View File
@@ -38,7 +38,7 @@ describe('methodSend', (): void => {
)
} as unknown as ProviderInterface;
rpc = new RpcCore('987', registry, provider);
rpc = new RpcCore('987', registry, { provider });
});
it('checks for mismatched parameters', async (): Promise<void> => {
+1 -1
View File
@@ -3,4 +3,4 @@
// Do not edit, auto-generated by @polkadot/dev
export const packageInfo = { name: '@polkadot/rpc-core', path: 'auto', type: 'auto', version: '10.3.4' };
export const packageInfo = { name: '@polkadot/rpc-core', path: 'auto', type: 'auto', version: '10.7.2' };
+2 -2
View File
@@ -17,7 +17,7 @@ describe('replay', (): void => {
beforeEach((): void => {
provider = new MockProvider(registry);
rpc = new RpcCore('653', registry, provider) as (RpcCore & RpcInterface);
rpc = new RpcCore('653', registry, { provider }) as (RpcCore & RpcInterface);
});
afterEach(async () => {
@@ -28,7 +28,7 @@ describe('replay', (): void => {
await new Promise<boolean>((resolve) => {
rpc.system.chain().subscribe((value: any): void => {
if (value) {
// eslint-disable-next-line @typescript-eslint/no-unsafe-call,@typescript-eslint/no-unsafe-member-access
// eslint-disable-next-line @typescript-eslint/no-unsafe-call,@typescript-eslint/no-unsafe-member-access, jest/no-conditional-expect
expect(value.toString()).toEqual('mockChain'); // Defined in MockProvider
resolve(true);
}
+1
View File
@@ -7,6 +7,7 @@
},
"exclude": [
"**/checkTypes.manual.ts",
"**/mod.ts",
"**/*.spec.ts"
],
"references": [
+15 -15
View File
@@ -3,7 +3,7 @@
"bugs": "https://github.com/polkadot-js/api/issues",
"description": "Transport providers for the API",
"engines": {
"node": ">=14"
"node": ">=16"
},
"homepage": "https://github.com/polkadot-js/api/tree/master/packages/rpc-provider#readme",
"license": "Apache-2.0",
@@ -18,26 +18,26 @@
"./detectPackage.cjs"
],
"type": "module",
"version": "10.3.4",
"version": "10.7.2",
"main": "index.js",
"dependencies": {
"@polkadot/keyring": "^11.1.3",
"@polkadot/types": "10.3.4",
"@polkadot/types-support": "10.3.4",
"@polkadot/util": "^11.1.3",
"@polkadot/util-crypto": "^11.1.3",
"@polkadot/x-fetch": "^11.1.3",
"@polkadot/x-global": "^11.1.3",
"@polkadot/x-ws": "^11.1.3",
"eventemitter3": "^5.0.0",
"@polkadot/keyring": "^12.2.1",
"@polkadot/types": "10.7.2",
"@polkadot/types-support": "10.7.2",
"@polkadot/util": "^12.2.1",
"@polkadot/util-crypto": "^12.2.1",
"@polkadot/x-fetch": "^12.2.1",
"@polkadot/x-global": "^12.2.1",
"@polkadot/x-ws": "^12.2.1",
"eventemitter3": "^5.0.1",
"mock-socket": "^9.2.1",
"nock": "^13.3.0",
"tslib": "^2.5.0"
"nock": "^13.3.1",
"tslib": "^2.5.2"
},
"devDependencies": {
"@substrate/connect": "0.7.23"
"@substrate/connect": "0.7.26"
},
"optionalDependencies": {
"@substrate/connect": "0.7.23"
"@substrate/connect": "0.7.26"
}
}
+1 -2
View File
@@ -1,8 +1,7 @@
// Copyright 2017-2023 @polkadot/rpc-provider authors & contributors
// SPDX-License-Identifier: Apache-2.0
export { packageInfo } from './packageInfo.js';
export { HttpProvider } from './http/index.js';
export { packageInfo } from './packageInfo.js';
export { ScProvider } from './substrate-connect/index.js';
export { WsProvider } from './ws/index.js';
@@ -16,55 +16,55 @@ describe('decodeResponse', (): void => {
it('expects a non-empty input object', (): void => {
expect(
() => coder.decodeResponse(undefined as unknown as JsonRpcResponse)
() => coder.decodeResponse(undefined as unknown as JsonRpcResponse<unknown>)
).toThrow(/Invalid jsonrpc/);
});
it('expects a valid jsonrpc field', (): void => {
expect(
() => coder.decodeResponse({} as JsonRpcResponse)
() => coder.decodeResponse({} as JsonRpcResponse<unknown>)
).toThrow(/Invalid jsonrpc/);
});
it('expects a valid id field', (): void => {
expect(
() => coder.decodeResponse({ jsonrpc: '2.0' } as JsonRpcResponse)
() => coder.decodeResponse({ jsonrpc: '2.0' } as JsonRpcResponse<unknown>)
).toThrow(/Invalid id/);
});
it('expects a valid result field', (): void => {
expect(
() => coder.decodeResponse({ id: 1, jsonrpc: '2.0' } as JsonRpcResponse)
() => coder.decodeResponse({ id: 1, jsonrpc: '2.0' } as JsonRpcResponse<unknown>)
).toThrow(/No result/);
});
it('throws any error found', (): void => {
expect(
() => coder.decodeResponse({ error: { code: 123, message: 'test error' }, id: 1, jsonrpc: '2.0' } as JsonRpcResponse)
() => coder.decodeResponse({ error: { code: 123, message: 'test error' }, id: 1, jsonrpc: '2.0' } as JsonRpcResponse<unknown>)
).toThrow(/123: test error/);
});
it('throws any error found, with data', (): void => {
expect(
() => coder.decodeResponse({ error: { code: 123, data: 'Error("Some random error description")', message: 'test error' }, id: 1, jsonrpc: '2.0' } as JsonRpcResponse)
() => coder.decodeResponse({ error: { code: 123, data: 'Error("Some random error description")', message: 'test error' }, id: 1, jsonrpc: '2.0' } as JsonRpcResponse<unknown>)
).toThrow(/123: test error: Some random error description/);
});
it('allows for number subscription ids', (): void => {
expect(
coder.decodeResponse({ id: 1, jsonrpc: '2.0', method: 'test', params: { result: 'test result', subscription: 1 } } as JsonRpcResponse)
coder.decodeResponse({ id: 1, jsonrpc: '2.0', method: 'test', params: { result: 'test result', subscription: 1 } } as JsonRpcResponse<unknown>)
).toEqual('test result');
});
it('allows for string subscription ids', (): void => {
expect(
coder.decodeResponse({ id: 1, jsonrpc: '2.0', method: 'test', params: { result: 'test result', subscription: 'abc' } } as JsonRpcResponse)
coder.decodeResponse({ id: 1, jsonrpc: '2.0', method: 'test', params: { result: 'test result', subscription: 'abc' } } as JsonRpcResponse<unknown>)
).toEqual('test result');
});
it('returns the result', (): void => {
expect(
coder.decodeResponse({ id: 1, jsonrpc: '2.0', result: 'some result' } as JsonRpcResponse)
coder.decodeResponse({ id: 1, jsonrpc: '2.0', result: 'some result' } as JsonRpcResponse<unknown>)
).toEqual('some result');
});
});
+3 -3
View File
@@ -29,10 +29,10 @@ function extend<Data, K extends keyof RpcError<Data>> (that: RpcError<Data>, nam
* throw new RpcError('some message', RpcError.CODES.METHOD_NOT_FOUND); // => error.code = -32601
* ```
*/
export default class RpcError<Data = never> extends Error implements RpcErrorInterface<Data> {
export default class RpcError<T = never> extends Error implements RpcErrorInterface<T> {
public code!: number;
public data?: Data;
public data?: T;
public override message!: string;
@@ -40,7 +40,7 @@ export default class RpcError<Data = never> extends Error implements RpcErrorInt
public override stack!: string;
public constructor (message = '', code: number = UNKNOWN, data?: Data) {
public constructor (message = '', code: number = UNKNOWN, data?: T) {
super();
extend(this, 'message', String(message));
+1 -1
View File
@@ -35,7 +35,7 @@ function checkError (error?: JsonRpcResponseBaseError): void {
export class RpcCoder {
#id = 0;
public decodeResponse (response?: JsonRpcResponse): unknown {
public decodeResponse <T> (response?: JsonRpcResponse<T>): T {
if (!response || response.jsonrpc !== '2.0') {
throw new Error('Invalid jsonrpc field in decoded object');
}
@@ -45,14 +45,17 @@ describe('Http', (): void => {
it('does not (yet) support subscribe', async (): Promise<void> => {
await http.subscribe('', '', [], (cb): void => {
// eslint-disable-next-line jest/no-conditional-expect
expect(cb).toEqual(expect.anything());
}).catch((error): void => {
// eslint-disable-next-line jest/no-conditional-expect
expect((error as Error).message).toMatch(/does not have subscriptions/);
});
});
it('does not (yet) support unsubscribe', async (): Promise<void> => {
await http.unsubscribe('', '', 0).catch((error): void => {
// eslint-disable-next-line jest/no-conditional-expect
expect((error as Error).message).toMatch(/does not have subscriptions/);
});
});
+3 -5
View File
@@ -3,7 +3,7 @@
import type { JsonRpcResponse, ProviderInterface, ProviderInterfaceCallback, ProviderInterfaceEmitCb, ProviderInterfaceEmitted, ProviderStats } from '../types.js';
import { logger } from '@polkadot/util';
import { logger, noop } from '@polkadot/util';
import { fetch } from '@polkadot/x-fetch';
import { RpcCoder } from '../coder/index.js';
@@ -115,9 +115,7 @@ export class HttpProvider implements ProviderInterface {
public on (_type: ProviderInterfaceEmitted, _sub: ProviderInterfaceEmitCb): () => void {
l.error('HTTP Provider does not have \'on\' emitters, use WebSockets instead');
return (): void => {
// noop
};
return noop;
}
/**
@@ -168,7 +166,7 @@ export class HttpProvider implements ProviderInterface {
this.#stats.total.bytesRecv += result.length;
const decoded = this.#coder.decodeResponse(JSON.parse(result) as JsonRpcResponse) as T;
const decoded = this.#coder.decodeResponse(JSON.parse(result) as JsonRpcResponse<T>);
this.#stats.active.requests--;
@@ -10,6 +10,7 @@ import { HttpProvider } from './index.js';
// Does not work with Node 18 (native fetch)
// See https://github.com/nock/nock/issues/2397
// eslint-disable-next-line jest/no-disabled-tests
describe.skip('send', (): void => {
let http: HttpProvider;
let mock: Mock;
@@ -53,6 +54,7 @@ describe.skip('send', (): void => {
return http
.send('test_error', [])
.catch((error): void => {
// eslint-disable-next-line jest/no-conditional-expect
expect((error as Error).message).toMatch(/\[500\]/);
});
});
+3 -2
View File
@@ -48,9 +48,10 @@ export class LRUCache {
entries (): [string, unknown][] {
const keys = this.keys();
const entries = new Array<[string, unknown]>(keys.length);
const count = keys.length;
const entries = new Array<[string, unknown]>(count);
for (let i = 0; i < keys.length; i++) {
for (let i = 0; i < count; i++) {
const key = keys[i];
entries[i] = [key, this.#data.get(key)];
+2 -1
View File
@@ -21,7 +21,8 @@ describe('on', (): void => {
await mock.disconnect();
});
it('it emits both connected and disconnected events', async (): Promise<void> => {
// eslint-disable-next-line jest/expect-expect
it('emits both connected and disconnected events', async (): Promise<void> => {
const events: Record<string, boolean> = { connected: false, disconnected: false };
await new Promise<boolean>((resolve) => {
@@ -23,6 +23,7 @@ describe('send', (): void => {
return mock
.send('something_invalid', [])
.catch((error): void => {
// eslint-disable-next-line jest/no-conditional-expect
expect((error as Error).message).toMatch(/Invalid method/);
});
});
@@ -23,6 +23,7 @@ describe('subscribe', (): void => {
await mock
.subscribe('test', 'test_notFound')
.catch((error): void => {
// eslint-disable-next-line jest/no-conditional-expect
expect((error as Error).message).toMatch(/Invalid method 'test_notFound'/);
});
});
@@ -41,12 +42,14 @@ describe('subscribe', (): void => {
await new Promise<boolean>((resolve) => {
mock.subscribe('chain_newHead', 'chain_subscribeNewHead', (_: any, value: string): void => {
// eslint-disable-next-line jest/no-conditional-expect
expect(value).toEqual('testValue');
resolve(true);
}).catch(console.error);
});
});
// eslint-disable-next-line jest/expect-expect
it('calls back with new headers', async (): Promise<void> => {
await new Promise<boolean>((resolve) => {
mock.subscribe('chain_newHead', 'chain_subscribeNewHead', (_: any, header: { number: number }): void => {
@@ -57,6 +60,7 @@ describe('subscribe', (): void => {
});
});
// eslint-disable-next-line jest/expect-expect
it('handles errors within callbacks gracefully', async (): Promise<void> => {
let hasThrown = false;

Some files were not shown because too many files have changed in this diff Show More