Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
66159955ac | ||
|
|
03c725f637 | ||
|
|
e5708a7e7e | ||
|
|
fb5ce83f74 | ||
|
|
6c3bd2f408 | ||
|
|
66e01afe26 | ||
|
|
71f9bdf368 | ||
|
|
7af9330026 | ||
|
|
d5aff171e4 | ||
|
|
543de63af8 | ||
|
|
cdcdf589dd | ||
|
|
1330b58afd | ||
|
|
0b2ec65e88 | ||
|
|
8840e29063 | ||
|
|
b9925b569d | ||
|
|
2640b65be9 | ||
|
|
d64a0ca295 | ||
|
|
79eeed3f9a | ||
|
|
d154b535e6 | ||
|
|
87c2690fc2 | ||
|
|
8f0ca37c60 | ||
|
|
f7dd4a3552 | ||
|
|
abcad05a91 | ||
|
|
ba188dcc0d | ||
|
|
ae2422f350 | ||
|
|
576efc0239 | ||
|
|
111540177f | ||
|
|
43ee566669 | ||
|
|
39299188b0 | ||
|
|
5d13bfb925 | ||
|
|
c759ff0c12 | ||
|
|
0cc34dff85 | ||
|
|
1682a8f096 | ||
|
|
be572aabf0 |
@@ -1,5 +1,7 @@
|
|||||||
_book/
|
_book/
|
||||||
build/
|
build/
|
||||||
|
build-cjs/
|
||||||
|
build-esm/
|
||||||
build-docs/
|
build-docs/
|
||||||
coverage/
|
coverage/
|
||||||
docs/.vuepress/dist/
|
docs/.vuepress/dist/
|
||||||
|
|||||||
@@ -1,5 +1,26 @@
|
|||||||
# CHANGELOG
|
# CHANGELOG
|
||||||
|
|
||||||
|
## 8.0.1 Apr 10, 2022
|
||||||
|
|
||||||
|
- **Breaking change** In this major version the commonjs outputs are moved to a sub-folder. Since the export map and main field in package.json does reflect this change, there should be no usage changes. However the packages here will all need to be on the same version for internal linkage.
|
||||||
|
|
||||||
|
Contributed:
|
||||||
|
|
||||||
|
- Improve `rpc-provider` README (Thanks to https://github.com/josepot)
|
||||||
|
- Add handling for `Vec<[<Type>;<length>]>` in typegen (Thanks to https://github.com/zannis)
|
||||||
|
|
||||||
|
Changes:
|
||||||
|
|
||||||
|
- Add support for `apiAt.tx(...)` to construct at a specific point
|
||||||
|
- Add basic `api.derive.bagsList.*` support
|
||||||
|
- Return sorted names for `api.registry.lookup.names`
|
||||||
|
- Optimize JSONRPC requests/response handling
|
||||||
|
- Output commonjs files under the `cjs/**` root
|
||||||
|
- Update to latest Substrate, Kusama & Polkadot static metadata
|
||||||
|
- Add latest Polkadot 9180 upgrade block
|
||||||
|
- Update to `@polkadot/util` 9.0.1
|
||||||
|
|
||||||
|
|
||||||
## 7.15.1 Apr 3, 2022
|
## 7.15.1 Apr 3, 2022
|
||||||
|
|
||||||
Contributed:
|
Contributed:
|
||||||
|
|||||||
+3
-2
@@ -1,4 +1,4 @@
|
|||||||
2893 Jaco 7.15.1 (#4714)
|
2908 Jaco 8.0.1 (#4734)
|
||||||
83 Amaury Martiny StatementKind: Regular and Saft (#2303)
|
83 Amaury Martiny StatementKind: Regular and Saft (#2303)
|
||||||
37 Keith Ingram Update contract types and rpc (#4541)
|
37 Keith Ingram Update contract types and rpc (#4541)
|
||||||
35 Stefanie Doll Updated child storage parameters (#1709)
|
35 Stefanie Doll Updated child storage parameters (#1709)
|
||||||
@@ -22,6 +22,7 @@
|
|||||||
3 Ewa Kowalska Handle no council for bounties proposals (#3062)
|
3 Ewa Kowalska Handle no council for bounties proposals (#3062)
|
||||||
3 hamidra add support for n key entries for NMaps (#3886)
|
3 hamidra add support for n key entries for NMaps (#3886)
|
||||||
3 Hamza Tokuchi more typos (#2532)
|
3 Hamza Tokuchi more typos (#2532)
|
||||||
|
3 Josep M Sobrepere docs: improve rpc-provider README (#4719)
|
||||||
3 Julien Eluard Fixed typos about module balances (#1402)
|
3 Julien Eluard Fixed typos about module balances (#1402)
|
||||||
3 KarishmaBothara Backward compatibility thing (#3511)
|
3 KarishmaBothara Backward compatibility thing (#3511)
|
||||||
3 Miguel Hervas Adding RT4 Types (#3007)
|
3 Miguel Hervas Adding RT4 Types (#3007)
|
||||||
@@ -33,7 +34,6 @@
|
|||||||
2 HackFisher Update maxExtrinsic definition (#4703)
|
2 HackFisher Update maxExtrinsic definition (#4703)
|
||||||
2 Jakub Pánik All heads subscription (#1899)
|
2 Jakub Pánik All heads subscription (#1899)
|
||||||
2 James Lefrère Add `.eq()` usage to docs and fix docs typos (#1405)
|
2 James Lefrère Add `.eq()` usage to docs and fix docs typos (#1405)
|
||||||
2 Josep M Sobrepere fix: export substrate-connect `WellKnownChain` (#4700)
|
|
||||||
2 Keith Yeung Allow keyPrefix to accept an additional argument for double maps (#2230)
|
2 Keith Yeung Allow keyPrefix to accept an additional argument for double maps (#2230)
|
||||||
2 MOZGIII Follow-up fix after #4665 (#4666)
|
2 MOZGIII Follow-up fix after #4665 (#4666)
|
||||||
2 Nikos Kontakis Add auction in shared types (#4085)
|
2 Nikos Kontakis Add auction in shared types (#4085)
|
||||||
@@ -98,4 +98,5 @@
|
|||||||
1 Yaroslav Bolyukin Support BTreeMap/BTreeSet in typegen (#4682)
|
1 Yaroslav Bolyukin Support BTreeMap/BTreeSet in typegen (#4682)
|
||||||
1 yjh fix MetadataVersioned.asV12 (#2983)
|
1 yjh fix MetadataVersioned.asV12 (#2983)
|
||||||
1 Yuri fixes #3693 Fix uniques return types (#3694)
|
1 Yuri fixes #3693 Fix uniques return types (#3694)
|
||||||
|
1 Zannis Kalampoukis fix: typegen supports vectors of slices (#4720)
|
||||||
1 Zeke Mostov fix: Allow sudo for polkadot indexed proxy enum (#3286)
|
1 Zeke Mostov fix: Allow sudo for polkadot indexed proxy enum (#3286)
|
||||||
+4
-4
@@ -11,7 +11,7 @@
|
|||||||
},
|
},
|
||||||
"sideEffects": false,
|
"sideEffects": false,
|
||||||
"type": "commonjs",
|
"type": "commonjs",
|
||||||
"version": "7.15.1",
|
"version": "8.0.1",
|
||||||
"workspaces": [
|
"workspaces": [
|
||||||
"packages/*"
|
"packages/*"
|
||||||
],
|
],
|
||||||
@@ -31,10 +31,10 @@
|
|||||||
"test:watch": "polkadot-dev-run-test --watch"
|
"test:watch": "polkadot-dev-run-test --watch"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@babel/core": "^7.17.8",
|
"@babel/core": "^7.17.9",
|
||||||
"@babel/register": "^7.17.7",
|
"@babel/register": "^7.17.7",
|
||||||
"@babel/runtime": "^7.17.8",
|
"@babel/runtime": "^7.17.9",
|
||||||
"@polkadot/dev": "^0.65.103",
|
"@polkadot/dev": "^0.66.1",
|
||||||
"@polkadot/typegen": "workspace:packages/typegen",
|
"@polkadot/typegen": "workspace:packages/typegen",
|
||||||
"@types/jest": "^27.4.1",
|
"@types/jest": "^27.4.1",
|
||||||
"copyfiles": "^2.4.1"
|
"copyfiles": "^2.4.1"
|
||||||
|
|||||||
@@ -20,18 +20,18 @@
|
|||||||
"./detectPackage.cjs"
|
"./detectPackage.cjs"
|
||||||
],
|
],
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"version": "7.15.1",
|
"version": "8.0.1",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/runtime": "^7.17.8",
|
"@babel/runtime": "^7.17.9",
|
||||||
"@polkadot/api-base": "7.15.1",
|
"@polkadot/api-base": "8.0.1",
|
||||||
"@polkadot/rpc-augment": "7.15.1",
|
"@polkadot/rpc-augment": "8.0.1",
|
||||||
"@polkadot/types": "7.15.1",
|
"@polkadot/types": "8.0.1",
|
||||||
"@polkadot/types-augment": "7.15.1",
|
"@polkadot/types-augment": "8.0.1",
|
||||||
"@polkadot/types-codec": "7.15.1",
|
"@polkadot/types-codec": "8.0.1",
|
||||||
"@polkadot/util": "^8.7.1"
|
"@polkadot/util": "^9.0.1"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@polkadot/types-support": "7.15.1"
|
"@polkadot/types-support": "8.0.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -841,6 +841,10 @@ declare module '@polkadot/api-base/types/consts' {
|
|||||||
[key: string]: Codec;
|
[key: string]: Codec;
|
||||||
};
|
};
|
||||||
transactionPayment: {
|
transactionPayment: {
|
||||||
|
/**
|
||||||
|
* The polynomial that is applied in order to derive fee from length.
|
||||||
|
**/
|
||||||
|
lengthToFee: Vec<FrameSupportWeightsWeightToFeeCoefficient> & AugmentedConst<ApiType>;
|
||||||
/**
|
/**
|
||||||
* A fee mulitplier for `Operational` extrinsics to compute "virtual tip" to boost their
|
* A fee mulitplier for `Operational` extrinsics to compute "virtual tip" to boost their
|
||||||
* `priority`
|
* `priority`
|
||||||
@@ -865,10 +869,6 @@ declare module '@polkadot/api-base/types/consts' {
|
|||||||
* transactions.
|
* transactions.
|
||||||
**/
|
**/
|
||||||
operationalFeeMultiplier: u8 & AugmentedConst<ApiType>;
|
operationalFeeMultiplier: u8 & AugmentedConst<ApiType>;
|
||||||
/**
|
|
||||||
* The fee to be paid for making a transaction; the per-byte portion.
|
|
||||||
**/
|
|
||||||
transactionByteFee: u128 & AugmentedConst<ApiType>;
|
|
||||||
/**
|
/**
|
||||||
* The polynomial that is applied in order to derive fee from weight.
|
* The polynomial that is applied in order to derive fee from weight.
|
||||||
**/
|
**/
|
||||||
|
|||||||
@@ -3,4 +3,4 @@
|
|||||||
|
|
||||||
// Do not edit, auto-generated by @polkadot/dev
|
// Do not edit, auto-generated by @polkadot/dev
|
||||||
|
|
||||||
export const packageInfo = { name: '@polkadot/api-augment', path: 'auto', type: 'auto', version: '7.15.1' };
|
export const packageInfo = { name: '@polkadot/api-augment', path: 'auto', type: 'auto', version: '8.0.1' };
|
||||||
|
|||||||
@@ -708,6 +708,10 @@ declare module '@polkadot/api-base/types/consts' {
|
|||||||
[key: string]: Codec;
|
[key: string]: Codec;
|
||||||
};
|
};
|
||||||
transactionPayment: {
|
transactionPayment: {
|
||||||
|
/**
|
||||||
|
* The polynomial that is applied in order to derive fee from length.
|
||||||
|
**/
|
||||||
|
lengthToFee: Vec<FrameSupportWeightsWeightToFeeCoefficient> & AugmentedConst<ApiType>;
|
||||||
/**
|
/**
|
||||||
* A fee mulitplier for `Operational` extrinsics to compute "virtual tip" to boost their
|
* A fee mulitplier for `Operational` extrinsics to compute "virtual tip" to boost their
|
||||||
* `priority`
|
* `priority`
|
||||||
@@ -732,10 +736,6 @@ declare module '@polkadot/api-base/types/consts' {
|
|||||||
* transactions.
|
* transactions.
|
||||||
**/
|
**/
|
||||||
operationalFeeMultiplier: u8 & AugmentedConst<ApiType>;
|
operationalFeeMultiplier: u8 & AugmentedConst<ApiType>;
|
||||||
/**
|
|
||||||
* The fee to be paid for making a transaction; the per-byte portion.
|
|
||||||
**/
|
|
||||||
transactionByteFee: u128 & AugmentedConst<ApiType>;
|
|
||||||
/**
|
/**
|
||||||
* The polynomial that is applied in order to derive fee from weight.
|
* The polynomial that is applied in order to derive fee from weight.
|
||||||
**/
|
**/
|
||||||
|
|||||||
@@ -911,6 +911,10 @@ declare module '@polkadot/api-base/types/consts' {
|
|||||||
[key: string]: Codec;
|
[key: string]: Codec;
|
||||||
};
|
};
|
||||||
transactionPayment: {
|
transactionPayment: {
|
||||||
|
/**
|
||||||
|
* The polynomial that is applied in order to derive fee from length.
|
||||||
|
**/
|
||||||
|
lengthToFee: Vec<FrameSupportWeightsWeightToFeeCoefficient> & AugmentedConst<ApiType>;
|
||||||
/**
|
/**
|
||||||
* A fee mulitplier for `Operational` extrinsics to compute "virtual tip" to boost their
|
* A fee mulitplier for `Operational` extrinsics to compute "virtual tip" to boost their
|
||||||
* `priority`
|
* `priority`
|
||||||
@@ -935,10 +939,6 @@ declare module '@polkadot/api-base/types/consts' {
|
|||||||
* transactions.
|
* transactions.
|
||||||
**/
|
**/
|
||||||
operationalFeeMultiplier: u8 & AugmentedConst<ApiType>;
|
operationalFeeMultiplier: u8 & AugmentedConst<ApiType>;
|
||||||
/**
|
|
||||||
* The fee to be paid for making a transaction; the per-byte portion.
|
|
||||||
**/
|
|
||||||
transactionByteFee: u128 & AugmentedConst<ApiType>;
|
|
||||||
/**
|
/**
|
||||||
* The polynomial that is applied in order to derive fee from weight.
|
* The polynomial that is applied in order to derive fee from weight.
|
||||||
**/
|
**/
|
||||||
|
|||||||
@@ -20,13 +20,13 @@
|
|||||||
"./detectPackage.cjs"
|
"./detectPackage.cjs"
|
||||||
],
|
],
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"version": "7.15.1",
|
"version": "8.0.1",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/runtime": "^7.17.8",
|
"@babel/runtime": "^7.17.9",
|
||||||
"@polkadot/rpc-core": "7.15.1",
|
"@polkadot/rpc-core": "8.0.1",
|
||||||
"@polkadot/types": "7.15.1",
|
"@polkadot/types": "8.0.1",
|
||||||
"@polkadot/util": "^8.7.1",
|
"@polkadot/util": "^9.0.1",
|
||||||
"rxjs": "^7.5.5"
|
"rxjs": "^7.5.5"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,4 +3,4 @@
|
|||||||
|
|
||||||
// Do not edit, auto-generated by @polkadot/dev
|
// Do not edit, auto-generated by @polkadot/dev
|
||||||
|
|
||||||
export const packageInfo = { name: '@polkadot/api-base', path: 'auto', type: 'auto', version: '7.15.1' };
|
export const packageInfo = { name: '@polkadot/api-base', path: 'auto', type: 'auto', version: '8.0.1' };
|
||||||
|
|||||||
@@ -20,20 +20,20 @@
|
|||||||
"./detectPackage.cjs"
|
"./detectPackage.cjs"
|
||||||
],
|
],
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"version": "7.15.1",
|
"version": "8.0.1",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/runtime": "^7.17.8",
|
"@babel/runtime": "^7.17.9",
|
||||||
"@polkadot/api": "7.15.1",
|
"@polkadot/api": "8.0.1",
|
||||||
"@polkadot/types": "7.15.1",
|
"@polkadot/types": "8.0.1",
|
||||||
"@polkadot/types-codec": "7.15.1",
|
"@polkadot/types-codec": "8.0.1",
|
||||||
"@polkadot/types-create": "7.15.1",
|
"@polkadot/types-create": "8.0.1",
|
||||||
"@polkadot/util": "^8.7.1",
|
"@polkadot/util": "^9.0.1",
|
||||||
"@polkadot/util-crypto": "^8.7.1",
|
"@polkadot/util-crypto": "^9.0.1",
|
||||||
"rxjs": "^7.5.5"
|
"rxjs": "^7.5.5"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@polkadot/api-augment": "7.15.1",
|
"@polkadot/api-augment": "8.0.1",
|
||||||
"@polkadot/keyring": "^8.7.1"
|
"@polkadot/keyring": "^9.0.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,4 +3,4 @@
|
|||||||
|
|
||||||
// Do not edit, auto-generated by @polkadot/dev
|
// Do not edit, auto-generated by @polkadot/dev
|
||||||
|
|
||||||
export const packageInfo = { name: '@polkadot/api-contract', path: 'auto', type: 'auto', version: '7.15.1' };
|
export const packageInfo = { name: '@polkadot/api-contract', path: 'auto', type: 'auto', version: '8.0.1' };
|
||||||
|
|||||||
@@ -20,25 +20,25 @@
|
|||||||
"./detectPackage.cjs"
|
"./detectPackage.cjs"
|
||||||
],
|
],
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"version": "7.15.1",
|
"version": "8.0.1",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/runtime": "^7.17.8",
|
"@babel/runtime": "^7.17.9",
|
||||||
"@polkadot/api": "7.15.1",
|
"@polkadot/api": "8.0.1",
|
||||||
"@polkadot/api-augment": "7.15.1",
|
"@polkadot/api-augment": "8.0.1",
|
||||||
"@polkadot/api-base": "7.15.1",
|
"@polkadot/api-base": "8.0.1",
|
||||||
"@polkadot/rpc-core": "7.15.1",
|
"@polkadot/rpc-core": "8.0.1",
|
||||||
"@polkadot/types": "7.15.1",
|
"@polkadot/types": "8.0.1",
|
||||||
"@polkadot/types-codec": "7.15.1",
|
"@polkadot/types-codec": "8.0.1",
|
||||||
"@polkadot/util": "^8.7.1",
|
"@polkadot/util": "^9.0.1",
|
||||||
"@polkadot/util-crypto": "^8.7.1",
|
"@polkadot/util-crypto": "^9.0.1",
|
||||||
"rxjs": "^7.5.5"
|
"rxjs": "^7.5.5"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@polkadot/api": "7.15.1",
|
"@polkadot/api": "8.0.1",
|
||||||
"@polkadot/api-augment": "7.15.1",
|
"@polkadot/api-augment": "8.0.1",
|
||||||
"@polkadot/rpc-augment": "7.15.1",
|
"@polkadot/rpc-augment": "8.0.1",
|
||||||
"@polkadot/rpc-provider": "7.15.1",
|
"@polkadot/rpc-provider": "8.0.1",
|
||||||
"@polkadot/types-support": "7.15.1"
|
"@polkadot/types-support": "8.0.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,72 @@
|
|||||||
|
// Copyright 2017-2022 @polkadot/api-derive authors & contributors
|
||||||
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
|
import type { Observable } from 'rxjs';
|
||||||
|
import type { Option } from '@polkadot/types';
|
||||||
|
import type { PalletBagsListListBag } from '@polkadot/types/lookup';
|
||||||
|
import type { BN } from '@polkadot/util';
|
||||||
|
import type { DeriveApi } from '../types';
|
||||||
|
import type { Bag } from './types';
|
||||||
|
|
||||||
|
import { map, of, switchMap } from 'rxjs';
|
||||||
|
|
||||||
|
import { BN_ZERO, bnToBn } from '@polkadot/util';
|
||||||
|
|
||||||
|
import { memo } from '../util';
|
||||||
|
|
||||||
|
function orderBags (ids: BN[], bags: Option<PalletBagsListListBag>[]): Bag[] {
|
||||||
|
const sorted = ids
|
||||||
|
.map((id, index) => ({
|
||||||
|
bag: bags[index].unwrapOr(null),
|
||||||
|
id,
|
||||||
|
key: id.toString()
|
||||||
|
}))
|
||||||
|
.sort((a, b) => b.id.cmp(a.id))
|
||||||
|
.map((base, index): Bag => ({
|
||||||
|
...base,
|
||||||
|
bagLower: BN_ZERO,
|
||||||
|
bagUpper: base.id,
|
||||||
|
index
|
||||||
|
}));
|
||||||
|
const max = sorted.length - 1;
|
||||||
|
|
||||||
|
return sorted.map((entry, index) =>
|
||||||
|
index === max
|
||||||
|
? entry
|
||||||
|
// We could probably use a .add(BN_ONE) here
|
||||||
|
: { ...entry, bagLower: sorted[index + 1].bagUpper }
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export function _getIds (instanceId: string, api: DeriveApi): (ids: (BN | number)[]) => Observable<Bag[]> {
|
||||||
|
return memo(instanceId, (_ids: (BN | number)[]): Observable<Bag[]> => {
|
||||||
|
const ids = _ids.map((id) => bnToBn(id));
|
||||||
|
|
||||||
|
return ids.length
|
||||||
|
? api.query.listBags.multi<Option<PalletBagsListListBag>[]>(ids).pipe(
|
||||||
|
map((bags) => orderBags(ids, bags))
|
||||||
|
)
|
||||||
|
: of([]);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export function all (instanceId: string, api: DeriveApi): () => Observable<Bag[]> {
|
||||||
|
return memo(instanceId, (): Observable<Bag[]> =>
|
||||||
|
api.query.bagsList.listBags.keys().pipe(
|
||||||
|
switchMap((keys) =>
|
||||||
|
api.derive.bagsList._getIds(keys.map(({ args: [id] }) => id))
|
||||||
|
),
|
||||||
|
map((list) =>
|
||||||
|
list.filter(({ bag }) => bag)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export function get (instanceId: string, api: DeriveApi): (id: BN | number) => Observable<Bag> {
|
||||||
|
return memo(instanceId, (id: BN | number): Observable<Bag> =>
|
||||||
|
api.derive.bagsList._getIds([bnToBn(id)]).pipe(
|
||||||
|
map((bags) => bags[0])
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
// Copyright 2017-2022 @polkadot/api-derive authors & contributors
|
||||||
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
|
import type { Observable } from 'rxjs';
|
||||||
|
import type { BN } from '@polkadot/util';
|
||||||
|
import type { DeriveApi } from '../types';
|
||||||
|
import type { Bag, BagExpanded } from './types';
|
||||||
|
|
||||||
|
import { map, switchMap } from 'rxjs';
|
||||||
|
|
||||||
|
import { memo } from '../util';
|
||||||
|
|
||||||
|
export function expand (instanceId: string, api: DeriveApi): (bag: Bag) => Observable<BagExpanded> {
|
||||||
|
return memo(instanceId, (bag: Bag): Observable<BagExpanded> =>
|
||||||
|
api.derive.bagsList.listNodes(bag.bag).pipe(
|
||||||
|
map((nodes) => ({ ...bag, nodes }))
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export function getExpanded (instanceId: string, api: DeriveApi): (id: BN | number) => Observable<BagExpanded> {
|
||||||
|
return memo(instanceId, (id: BN | number): Observable<BagExpanded> =>
|
||||||
|
api.derive.bagsList.get(id).pipe(
|
||||||
|
switchMap((bag) =>
|
||||||
|
api.derive.bagsList.expand(bag)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
// Copyright 2017-2022 @polkadot/api-derive authors & contributors
|
||||||
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
|
export * from './get';
|
||||||
|
export * from './getExpanded';
|
||||||
|
export * from './listNodes';
|
||||||
@@ -0,0 +1,41 @@
|
|||||||
|
// Copyright 2017-2022 @polkadot/api-derive authors & contributors
|
||||||
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
|
import type { Observable } from 'rxjs';
|
||||||
|
import type { Option } from '@polkadot/types';
|
||||||
|
import type { AccountId32 } from '@polkadot/types/interfaces';
|
||||||
|
import type { PalletBagsListListBag, PalletBagsListListNode } from '@polkadot/types/lookup';
|
||||||
|
import type { DeriveApi } from '../types';
|
||||||
|
|
||||||
|
import { BehaviorSubject, map, of, switchMap, tap, toArray } from 'rxjs';
|
||||||
|
|
||||||
|
import { memo } from '../util';
|
||||||
|
|
||||||
|
function traverseLinks (api: DeriveApi, head: AccountId32 | string): Observable<PalletBagsListListNode[]> {
|
||||||
|
const subject = new BehaviorSubject<AccountId32 | string>(head);
|
||||||
|
|
||||||
|
return subject.pipe(
|
||||||
|
switchMap((account) =>
|
||||||
|
api.query.bagsList.listNodes(account)
|
||||||
|
),
|
||||||
|
tap((node: Option<PalletBagsListListNode>): void => {
|
||||||
|
setTimeout((): void => {
|
||||||
|
node.isSome && (node.value as PalletBagsListListNode).next.isSome
|
||||||
|
? subject.next(node.unwrap().next.unwrap())
|
||||||
|
: subject.complete();
|
||||||
|
}, 0);
|
||||||
|
}),
|
||||||
|
toArray(), // toArray since we want to startSubject to be completed
|
||||||
|
map((all: Option<PalletBagsListListNode>[]) =>
|
||||||
|
all.map((o) => o.unwrap())
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export function listNodes (instanceId: string, api: DeriveApi): (bag: PalletBagsListListBag | null) => Observable<PalletBagsListListNode[]> {
|
||||||
|
return memo(instanceId, (bag: PalletBagsListListBag | null): Observable<PalletBagsListListNode[]> =>
|
||||||
|
bag && bag.head.isSome
|
||||||
|
? traverseLinks(api, bag.head.unwrap())
|
||||||
|
: of([])
|
||||||
|
);
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
// Copyright 2017-2022 @polkadot/api-derive authors & contributors
|
||||||
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
|
import type { PalletBagsListListBag, PalletBagsListListNode } from '@polkadot/types/lookup';
|
||||||
|
import type { BN } from '@polkadot/util';
|
||||||
|
|
||||||
|
export interface Bag {
|
||||||
|
bag: PalletBagsListListBag | null;
|
||||||
|
bagUpper: BN;
|
||||||
|
bagLower: BN;
|
||||||
|
id: BN;
|
||||||
|
index: number;
|
||||||
|
key: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface BagExpanded extends Bag {
|
||||||
|
nodes: PalletBagsListListNode[];
|
||||||
|
}
|
||||||
@@ -22,6 +22,10 @@ export { lazyDeriveSection };
|
|||||||
|
|
||||||
// Enable derive only if some of these modules are available
|
// Enable derive only if some of these modules are available
|
||||||
const checks: Record<string, Avail> = {
|
const checks: Record<string, Avail> = {
|
||||||
|
bagsList: {
|
||||||
|
instances: ['bagsList'],
|
||||||
|
methods: []
|
||||||
|
},
|
||||||
contracts: {
|
contracts: {
|
||||||
instances: ['contracts'],
|
instances: ['contracts'],
|
||||||
methods: []
|
methods: []
|
||||||
|
|||||||
@@ -60,17 +60,17 @@ function _eventTriggerAll (api: DeriveApi, paraId: string | number | BN): Observ
|
|||||||
}
|
}
|
||||||
|
|
||||||
function _getKeysPaged (api: DeriveApi, childKey: string): Observable<StorageKey[]> {
|
function _getKeysPaged (api: DeriveApi, childKey: string): Observable<StorageKey[]> {
|
||||||
const startSubject = new BehaviorSubject<string | undefined>(undefined);
|
const subject = new BehaviorSubject<string | undefined>(undefined);
|
||||||
|
|
||||||
return startSubject.pipe(
|
return subject.pipe(
|
||||||
switchMap((startKey) =>
|
switchMap((startKey) =>
|
||||||
api.rpc.childstate.getKeysPaged(childKey, '0x', PAGE_SIZE_K, startKey)
|
api.rpc.childstate.getKeysPaged(childKey, '0x', PAGE_SIZE_K, startKey)
|
||||||
),
|
),
|
||||||
tap((keys): void => {
|
tap((keys): void => {
|
||||||
setTimeout((): void => {
|
setTimeout((): void => {
|
||||||
keys.length === PAGE_SIZE_K
|
keys.length === PAGE_SIZE_K
|
||||||
? startSubject.next(keys[PAGE_SIZE_K - 1].toHex())
|
? subject.next(keys[PAGE_SIZE_K - 1].toHex())
|
||||||
: startSubject.complete();
|
: subject.complete();
|
||||||
}, 0);
|
}, 0);
|
||||||
}),
|
}),
|
||||||
toArray(), // toArray since we want to startSubject to be completed
|
toArray(), // toArray since we want to startSubject to be completed
|
||||||
|
|||||||
@@ -4,6 +4,7 @@
|
|||||||
import type { AnyFunction } from '@polkadot/types/types';
|
import type { AnyFunction } from '@polkadot/types/types';
|
||||||
|
|
||||||
import * as accounts from './accounts';
|
import * as accounts from './accounts';
|
||||||
|
import * as bagsList from './bagsList';
|
||||||
import * as balances from './balances';
|
import * as balances from './balances';
|
||||||
import * as bounties from './bounties';
|
import * as bounties from './bounties';
|
||||||
import * as chain from './chain';
|
import * as chain from './chain';
|
||||||
@@ -22,7 +23,7 @@ import * as technicalCommittee from './technicalCommittee';
|
|||||||
import * as treasury from './treasury';
|
import * as treasury from './treasury';
|
||||||
import * as tx from './tx';
|
import * as tx from './tx';
|
||||||
|
|
||||||
export const derive = { accounts, balances, bounties, chain, contracts, council, crowdloan, democracy, elections, imOnline, membership, parachains, session, society, staking, technicalCommittee, treasury, tx };
|
export const derive = { accounts, bagsList, balances, bounties, chain, contracts, council, crowdloan, democracy, elections, imOnline, membership, parachains, session, society, staking, technicalCommittee, treasury, tx };
|
||||||
|
|
||||||
type DeriveSection<Section> = {
|
type DeriveSection<Section> = {
|
||||||
[M in keyof Section]: Section[M] extends AnyFunction
|
[M in keyof Section]: Section[M] extends AnyFunction
|
||||||
|
|||||||
@@ -3,4 +3,4 @@
|
|||||||
|
|
||||||
// Do not edit, auto-generated by @polkadot/dev
|
// Do not edit, auto-generated by @polkadot/dev
|
||||||
|
|
||||||
export const packageInfo = { name: '@polkadot/api-derive', path: 'auto', type: 'auto', version: '7.15.1' };
|
export const packageInfo = { name: '@polkadot/api-derive', path: 'auto', type: 'auto', version: '8.0.1' };
|
||||||
|
|||||||
@@ -23,17 +23,17 @@ const ERA_CHUNK_SIZE = 14;
|
|||||||
function chunkEras <T> (eras: EraIndex[], fn: (eras: EraIndex[]) => Observable<T[]>): Observable<T[]> {
|
function chunkEras <T> (eras: EraIndex[], fn: (eras: EraIndex[]) => Observable<T[]>): Observable<T[]> {
|
||||||
const chunked = arrayChunk(eras, ERA_CHUNK_SIZE);
|
const chunked = arrayChunk(eras, ERA_CHUNK_SIZE);
|
||||||
let index = 0;
|
let index = 0;
|
||||||
const startSubject = new BehaviorSubject<EraIndex[]>(chunked[index]);
|
const subject = new BehaviorSubject<EraIndex[]>(chunked[index]);
|
||||||
|
|
||||||
return startSubject.pipe(
|
return subject.pipe(
|
||||||
switchMap(fn),
|
switchMap(fn),
|
||||||
tap((): void => {
|
tap((): void => {
|
||||||
setTimeout((): void => {
|
setTimeout((): void => {
|
||||||
index++;
|
index++;
|
||||||
|
|
||||||
index === chunked.length
|
index === chunked.length
|
||||||
? startSubject.complete()
|
? subject.complete()
|
||||||
: startSubject.next(chunked[index]);
|
: subject.next(chunked[index]);
|
||||||
}, 0);
|
}, 0);
|
||||||
}),
|
}),
|
||||||
toArray(),
|
toArray(),
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ import type { ExactDerive } from './derive';
|
|||||||
|
|
||||||
export * from './accounts/types';
|
export * from './accounts/types';
|
||||||
export * from './balances/types';
|
export * from './balances/types';
|
||||||
|
export * from './bagsList/types';
|
||||||
export * from './council/types';
|
export * from './council/types';
|
||||||
export * from './crowdloan/types';
|
export * from './crowdloan/types';
|
||||||
export * from './democracy/types';
|
export * from './democracy/types';
|
||||||
|
|||||||
+18
-18
@@ -20,29 +20,29 @@
|
|||||||
"./detectPackage.cjs"
|
"./detectPackage.cjs"
|
||||||
],
|
],
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"version": "7.15.1",
|
"version": "8.0.1",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/runtime": "^7.17.8",
|
"@babel/runtime": "^7.17.9",
|
||||||
"@polkadot/api-augment": "7.15.1",
|
"@polkadot/api-augment": "8.0.1",
|
||||||
"@polkadot/api-base": "7.15.1",
|
"@polkadot/api-base": "8.0.1",
|
||||||
"@polkadot/api-derive": "7.15.1",
|
"@polkadot/api-derive": "8.0.1",
|
||||||
"@polkadot/keyring": "^8.7.1",
|
"@polkadot/keyring": "^9.0.1",
|
||||||
"@polkadot/rpc-augment": "7.15.1",
|
"@polkadot/rpc-augment": "8.0.1",
|
||||||
"@polkadot/rpc-core": "7.15.1",
|
"@polkadot/rpc-core": "8.0.1",
|
||||||
"@polkadot/rpc-provider": "7.15.1",
|
"@polkadot/rpc-provider": "8.0.1",
|
||||||
"@polkadot/types": "7.15.1",
|
"@polkadot/types": "8.0.1",
|
||||||
"@polkadot/types-augment": "7.15.1",
|
"@polkadot/types-augment": "8.0.1",
|
||||||
"@polkadot/types-codec": "7.15.1",
|
"@polkadot/types-codec": "8.0.1",
|
||||||
"@polkadot/types-create": "7.15.1",
|
"@polkadot/types-create": "8.0.1",
|
||||||
"@polkadot/types-known": "7.15.1",
|
"@polkadot/types-known": "8.0.1",
|
||||||
"@polkadot/util": "^8.7.1",
|
"@polkadot/util": "^9.0.1",
|
||||||
"@polkadot/util-crypto": "^8.7.1",
|
"@polkadot/util-crypto": "^9.0.1",
|
||||||
"eventemitter3": "^4.0.7",
|
"eventemitter3": "^4.0.7",
|
||||||
"rxjs": "^7.5.5"
|
"rxjs": "^7.5.5"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@polkadot/api-augment": "7.15.1",
|
"@polkadot/api-augment": "8.0.1",
|
||||||
"@polkadot/types-support": "7.15.1"
|
"@polkadot/types-support": "8.0.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -199,18 +199,23 @@ export abstract class Decorate<ApiType extends ApiTypes> extends Events {
|
|||||||
return this._rpcCore.provider.hasSubscriptions || !!this._rpcCore.state.queryStorageAt;
|
return this._rpcCore.provider.hasSubscriptions || !!this._rpcCore.state.queryStorageAt;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected _emptyDecorated (registry: Registry, blockHash?: Uint8Array): ApiDecoration<ApiType> {
|
||||||
|
return {
|
||||||
|
consts: {},
|
||||||
|
errors: {},
|
||||||
|
events: {},
|
||||||
|
query: {},
|
||||||
|
registry,
|
||||||
|
rx: {
|
||||||
|
query: {}
|
||||||
|
},
|
||||||
|
tx: createSubmittable(this._type, this._rx, this._decorateMethod, registry, blockHash)
|
||||||
|
} as ApiDecoration<ApiType>;
|
||||||
|
}
|
||||||
|
|
||||||
protected _createDecorated (registry: VersionedRegistry<ApiType>, fromEmpty: boolean, decoratedApi: ApiDecoration<ApiType> | null, blockHash?: Uint8Array): FullDecoration<ApiType> {
|
protected _createDecorated (registry: VersionedRegistry<ApiType>, fromEmpty: boolean, decoratedApi: ApiDecoration<ApiType> | null, blockHash?: Uint8Array): FullDecoration<ApiType> {
|
||||||
if (!decoratedApi) {
|
if (!decoratedApi) {
|
||||||
decoratedApi = {
|
decoratedApi = this._emptyDecorated(registry.registry, blockHash);
|
||||||
consts: {},
|
|
||||||
errors: {},
|
|
||||||
events: {},
|
|
||||||
query: {},
|
|
||||||
registry: registry.registry,
|
|
||||||
rx: {
|
|
||||||
query: {}
|
|
||||||
}
|
|
||||||
} as ApiDecoration<ApiType>;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (fromEmpty || !registry.decoratedMeta) {
|
if (fromEmpty || !registry.decoratedMeta) {
|
||||||
@@ -243,16 +248,7 @@ export abstract class Decorate<ApiType extends ApiTypes> extends Events {
|
|||||||
protected _injectMetadata (registry: VersionedRegistry<ApiType>, fromEmpty = false): void {
|
protected _injectMetadata (registry: VersionedRegistry<ApiType>, fromEmpty = false): void {
|
||||||
// clear the decoration, we are redoing it here
|
// clear the decoration, we are redoing it here
|
||||||
if (fromEmpty || !registry.decoratedApi) {
|
if (fromEmpty || !registry.decoratedApi) {
|
||||||
registry.decoratedApi = {
|
registry.decoratedApi = this._emptyDecorated(registry.registry);
|
||||||
consts: {},
|
|
||||||
errors: {},
|
|
||||||
events: {},
|
|
||||||
query: {},
|
|
||||||
registry: registry.registry,
|
|
||||||
rx: {
|
|
||||||
query: {}
|
|
||||||
}
|
|
||||||
} as ApiDecoration<ApiType>;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const { decoratedApi, decoratedMeta } = this._createDecorated(registry, fromEmpty, registry.decoratedApi);
|
const { decoratedApi, decoratedMeta } = this._createDecorated(registry, fromEmpty, registry.decoratedApi);
|
||||||
|
|||||||
@@ -3,4 +3,4 @@
|
|||||||
|
|
||||||
// Do not edit, auto-generated by @polkadot/dev
|
// Do not edit, auto-generated by @polkadot/dev
|
||||||
|
|
||||||
export const packageInfo = { name: '@polkadot/api', path: 'auto', type: 'auto', version: '7.15.1' };
|
export const packageInfo = { name: '@polkadot/api', path: 'auto', type: 'auto', version: '8.0.1' };
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ import { SubmittableResult } from './Result';
|
|||||||
interface SubmittableOptions<ApiType extends ApiTypes> {
|
interface SubmittableOptions<ApiType extends ApiTypes> {
|
||||||
api: ApiInterfaceRx;
|
api: ApiInterfaceRx;
|
||||||
apiType: ApiTypes;
|
apiType: ApiTypes;
|
||||||
|
blockHash?: Uint8Array;
|
||||||
decorateMethod: ApiBase<ApiType>['_decorateMethod'];
|
decorateMethod: ApiBase<ApiType>['_decorateMethod'];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -80,7 +81,7 @@ function optionsOrNonce (partialOptions: Partial<SignerOptions> = {}): Partial<S
|
|||||||
: partialOptions;
|
: partialOptions;
|
||||||
}
|
}
|
||||||
|
|
||||||
export function createClass <ApiType extends ApiTypes> ({ api, apiType, decorateMethod }: SubmittableOptions<ApiType>): Constructor<SubmittableExtrinsic<ApiType>> {
|
export function createClass <ApiType extends ApiTypes> ({ api, apiType, blockHash, decorateMethod }: SubmittableOptions<ApiType>): Constructor<SubmittableExtrinsic<ApiType>> {
|
||||||
// an instance of the base extrinsic for us to extend
|
// an instance of the base extrinsic for us to extend
|
||||||
const ExtrinsicBase = api.registry.createClass('Extrinsic');
|
const ExtrinsicBase = api.registry.createClass('Extrinsic');
|
||||||
|
|
||||||
@@ -97,10 +98,10 @@ export function createClass <ApiType extends ApiTypes> ({ api, apiType, decorate
|
|||||||
|
|
||||||
// dry run an extrinsic
|
// dry run an extrinsic
|
||||||
public dryRun (account: AddressOrPair, optionsOrHash?: Partial<SignerOptions> | Uint8Array | string): SubmittableDryRunResult<ApiType> {
|
public dryRun (account: AddressOrPair, optionsOrHash?: Partial<SignerOptions> | Uint8Array | string): SubmittableDryRunResult<ApiType> {
|
||||||
if (isString(optionsOrHash) || isU8a(optionsOrHash)) {
|
if (blockHash || isString(optionsOrHash) || isU8a(optionsOrHash)) {
|
||||||
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
||||||
return decorateMethod(
|
return decorateMethod(
|
||||||
() => api.rpc.system.dryRun(this.toHex(), optionsOrHash)
|
() => api.rpc.system.dryRun(this.toHex(), blockHash || optionsOrHash as string)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -115,10 +116,10 @@ export function createClass <ApiType extends ApiTypes> ({ api, apiType, decorate
|
|||||||
|
|
||||||
// calculate the payment info for this transaction (if signed and submitted)
|
// calculate the payment info for this transaction (if signed and submitted)
|
||||||
public paymentInfo (account: AddressOrPair, optionsOrHash?: Partial<SignerOptions> | Uint8Array | string): SubmittablePaymentResult<ApiType> {
|
public paymentInfo (account: AddressOrPair, optionsOrHash?: Partial<SignerOptions> | Uint8Array | string): SubmittablePaymentResult<ApiType> {
|
||||||
if (isString(optionsOrHash) || isU8a(optionsOrHash)) {
|
if (blockHash || isString(optionsOrHash) || isU8a(optionsOrHash)) {
|
||||||
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
||||||
return decorateMethod(
|
return decorateMethod(
|
||||||
(): Observable<RuntimeDispatchInfo> => api.rpc.payment.queryInfo(this.toHex(), optionsOrHash)
|
(): Observable<RuntimeDispatchInfo> => api.rpc.payment.queryInfo(this.toHex(), blockHash || optionsOrHash as string)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
import type { Call, Extrinsic } from '@polkadot/types/interfaces';
|
import type { Call, Extrinsic } from '@polkadot/types/interfaces';
|
||||||
|
import type { Registry } from '@polkadot/types-codec/types';
|
||||||
import type { ApiInterfaceRx, ApiTypes } from '../types';
|
import type { ApiInterfaceRx, ApiTypes } from '../types';
|
||||||
import type { SubmittableExtrinsic } from './types';
|
import type { SubmittableExtrinsic } from './types';
|
||||||
|
|
||||||
@@ -10,9 +11,9 @@ import { createClass } from './createClass';
|
|||||||
|
|
||||||
type Creator<ApiType extends ApiTypes> = (extrinsic: Call | Uint8Array | string) => SubmittableExtrinsic<ApiType>;
|
type Creator<ApiType extends ApiTypes> = (extrinsic: Call | Uint8Array | string) => SubmittableExtrinsic<ApiType>;
|
||||||
|
|
||||||
export function createSubmittable<ApiType extends ApiTypes> (apiType: ApiTypes, api: ApiInterfaceRx, decorateMethod: ApiBase<ApiType>['_decorateMethod']): Creator<ApiType> {
|
export function createSubmittable<ApiType extends ApiTypes> (apiType: ApiTypes, api: ApiInterfaceRx, decorateMethod: ApiBase<ApiType>['_decorateMethod'], registry?: Registry, blockHash?: Uint8Array): Creator<ApiType> {
|
||||||
const Submittable = createClass<ApiType>({ api, apiType, decorateMethod });
|
const Submittable = createClass<ApiType>({ api, apiType, blockHash, decorateMethod });
|
||||||
|
|
||||||
return (extrinsic: Call | Extrinsic | Uint8Array | string): SubmittableExtrinsic<ApiType> =>
|
return (extrinsic: Call | Extrinsic | Uint8Array | string): SubmittableExtrinsic<ApiType> =>
|
||||||
new Submittable(api.registry, extrinsic);
|
new Submittable(registry || api.registry, extrinsic);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,11 +9,12 @@ import type { DecoratedEvents } from '@polkadot/api-base/types/events';
|
|||||||
import type { QueryableStorage } from '@polkadot/api-base/types/storage';
|
import type { QueryableStorage } from '@polkadot/api-base/types/storage';
|
||||||
import type { ProviderInterface, ProviderInterfaceEmitted } from '@polkadot/rpc-provider/types';
|
import type { ProviderInterface, ProviderInterfaceEmitted } from '@polkadot/rpc-provider/types';
|
||||||
import type { ExtDef } from '@polkadot/types/extrinsic/signedExtensions/types';
|
import type { ExtDef } from '@polkadot/types/extrinsic/signedExtensions/types';
|
||||||
import type { Hash } from '@polkadot/types/interfaces';
|
import type { Call, Extrinsic, Hash } from '@polkadot/types/interfaces';
|
||||||
import type { CallFunction, DefinitionRpc, DefinitionRpcSub, RegisteredTypes, Registry, RegistryError, SignatureOptions, Signer } from '@polkadot/types/types';
|
import type { CallFunction, DefinitionRpc, DefinitionRpcSub, RegisteredTypes, Registry, RegistryError, SignatureOptions, Signer } from '@polkadot/types/types';
|
||||||
import type { BN } from '@polkadot/util';
|
import type { BN } from '@polkadot/util';
|
||||||
import type { HexString } from '@polkadot/util/types';
|
import type { HexString } from '@polkadot/util/types';
|
||||||
import type { ApiBase } from '../base';
|
import type { ApiBase } from '../base';
|
||||||
|
import type { SubmittableExtrinsic } from '../types/submittable';
|
||||||
import type { AllDerives } from '../util/decorate';
|
import type { AllDerives } from '../util/decorate';
|
||||||
|
|
||||||
export * from '@polkadot/api-base/types';
|
export * from '@polkadot/api-base/types';
|
||||||
@@ -96,7 +97,8 @@ export interface ApiDecoration<ApiType extends ApiTypes> {
|
|||||||
registry: Registry;
|
registry: Registry;
|
||||||
rx: {
|
rx: {
|
||||||
query: QueryableStorage<'rxjs'>;
|
query: QueryableStorage<'rxjs'>;
|
||||||
}
|
};
|
||||||
|
tx: (extrinsic: Call | Extrinsic | Uint8Array | string) => SubmittableExtrinsic<ApiType>;
|
||||||
|
|
||||||
findCall (callIndex: Uint8Array | string): CallFunction;
|
findCall (callIndex: Uint8Array | string): CallFunction;
|
||||||
findError (errorIndex: Uint8Array | string): RegistryError;
|
findError (errorIndex: Uint8Array | string): RegistryError;
|
||||||
|
|||||||
@@ -20,13 +20,13 @@
|
|||||||
"./detectPackage.cjs"
|
"./detectPackage.cjs"
|
||||||
],
|
],
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"version": "7.15.1",
|
"version": "8.0.1",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/runtime": "^7.17.8",
|
"@babel/runtime": "^7.17.9",
|
||||||
"@polkadot/rpc-core": "7.15.1",
|
"@polkadot/rpc-core": "8.0.1",
|
||||||
"@polkadot/types": "7.15.1",
|
"@polkadot/types": "8.0.1",
|
||||||
"@polkadot/types-codec": "7.15.1",
|
"@polkadot/types-codec": "8.0.1",
|
||||||
"@polkadot/util": "^8.7.1"
|
"@polkadot/util": "^9.0.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,4 +3,4 @@
|
|||||||
|
|
||||||
// Do not edit, auto-generated by @polkadot/dev
|
// Do not edit, auto-generated by @polkadot/dev
|
||||||
|
|
||||||
export const packageInfo = { name: '@polkadot/rpc-augment', path: 'auto', type: 'auto', version: '7.15.1' };
|
export const packageInfo = { name: '@polkadot/rpc-augment', path: 'auto', type: 'auto', version: '8.0.1' };
|
||||||
|
|||||||
@@ -20,18 +20,18 @@
|
|||||||
"./detectPackage.cjs"
|
"./detectPackage.cjs"
|
||||||
],
|
],
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"version": "7.15.1",
|
"version": "8.0.1",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/runtime": "^7.17.8",
|
"@babel/runtime": "^7.17.9",
|
||||||
"@polkadot/rpc-augment": "7.15.1",
|
"@polkadot/rpc-augment": "8.0.1",
|
||||||
"@polkadot/rpc-provider": "7.15.1",
|
"@polkadot/rpc-provider": "8.0.1",
|
||||||
"@polkadot/types": "7.15.1",
|
"@polkadot/types": "8.0.1",
|
||||||
"@polkadot/util": "^8.7.1",
|
"@polkadot/util": "^9.0.1",
|
||||||
"rxjs": "^7.5.5"
|
"rxjs": "^7.5.5"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@polkadot/keyring": "^8.7.1",
|
"@polkadot/keyring": "^9.0.1",
|
||||||
"@polkadot/rpc-augment": "7.15.1"
|
"@polkadot/rpc-augment": "8.0.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,4 +3,4 @@
|
|||||||
|
|
||||||
// Do not edit, auto-generated by @polkadot/dev
|
// Do not edit, auto-generated by @polkadot/dev
|
||||||
|
|
||||||
export const packageInfo = { name: '@polkadot/rpc-core', path: 'auto', type: 'auto', version: '7.15.1' };
|
export const packageInfo = { name: '@polkadot/rpc-core', path: 'auto', type: 'auto', version: '8.0.1' };
|
||||||
|
|||||||
@@ -44,18 +44,18 @@ console.log('latest block Hash', hash);
|
|||||||
|
|
||||||
Instantiating a Provider for the Polkadot Relay Chain:
|
Instantiating a Provider for the Polkadot Relay Chain:
|
||||||
```javascript
|
```javascript
|
||||||
import { ScProvider } from '@polkadot/rpc-provider';
|
import { ScProvider, WellKnownChain } from '@polkadot/rpc-provider/substrate-connect';
|
||||||
|
|
||||||
const provider = new ScProvider(SupportedChains.polkadot);
|
const provider = new ScProvider(WellKnownChain.polkadot);
|
||||||
await provider.connect();
|
await provider.connect();
|
||||||
const version = await provider.send('chain_getBlockHash', []);
|
const version = await provider.send('chain_getBlockHash', []);
|
||||||
```
|
```
|
||||||
|
|
||||||
Instantiating a Provider for a Polkadot parachain:
|
Instantiating a Provider for a Polkadot parachain:
|
||||||
```javascript
|
```javascript
|
||||||
import { ScProvider } from '@polkadot/rpc-provider';
|
import { ScProvider, WellKnownChain } from '@polkadot/rpc-provider/substrate-connect';
|
||||||
|
|
||||||
const polkadotProvider = new ScProvider(SupportedChains.polkadot);
|
const polkadotProvider = new ScProvider(WellKnownChain.polkadot);
|
||||||
const parachainProvider = new ScProvider(parachainSpec, polkadotProvider);
|
const parachainProvider = new ScProvider(parachainSpec, polkadotProvider);
|
||||||
await parachainProvider.connect();
|
await parachainProvider.connect();
|
||||||
const version = await parachainProvider.send('chain_getBlockHash', []);
|
const version = await parachainProvider.send('chain_getBlockHash', []);
|
||||||
|
|||||||
@@ -20,19 +20,19 @@
|
|||||||
"./detectPackage.cjs"
|
"./detectPackage.cjs"
|
||||||
],
|
],
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"version": "7.15.1",
|
"version": "8.0.1",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/runtime": "^7.17.8",
|
"@babel/runtime": "^7.17.9",
|
||||||
"@polkadot/keyring": "^8.7.1",
|
"@polkadot/keyring": "^9.0.1",
|
||||||
"@polkadot/types": "7.15.1",
|
"@polkadot/types": "8.0.1",
|
||||||
"@polkadot/types-support": "7.15.1",
|
"@polkadot/types-support": "8.0.1",
|
||||||
"@polkadot/util": "^8.7.1",
|
"@polkadot/util": "^9.0.1",
|
||||||
"@polkadot/util-crypto": "^8.7.1",
|
"@polkadot/util-crypto": "^9.0.1",
|
||||||
"@polkadot/x-fetch": "^8.7.1",
|
"@polkadot/x-fetch": "^9.0.1",
|
||||||
"@polkadot/x-global": "^8.7.1",
|
"@polkadot/x-global": "^9.0.1",
|
||||||
"@polkadot/x-ws": "^8.7.1",
|
"@polkadot/x-ws": "^9.0.1",
|
||||||
"@substrate/connect": "0.7.0-alpha.0",
|
"@substrate/connect": "0.7.2",
|
||||||
"eventemitter3": "^4.0.7",
|
"eventemitter3": "^4.0.7",
|
||||||
"mock-socket": "^9.1.2",
|
"mock-socket": "^9.1.2",
|
||||||
"nock": "^13.2.4"
|
"nock": "^13.2.4"
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ describe('decodeResponse', (): void => {
|
|||||||
it('expects a non-empty input object', (): void => {
|
it('expects a non-empty input object', (): void => {
|
||||||
expect(
|
expect(
|
||||||
() => coder.decodeResponse(undefined as unknown as JsonRpcResponse)
|
() => coder.decodeResponse(undefined as unknown as JsonRpcResponse)
|
||||||
).toThrow(/Empty response/);
|
).toThrow(/Invalid jsonrpc/);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('expects a valid jsonrpc field', (): void => {
|
it('expects a valid jsonrpc field', (): void => {
|
||||||
|
|||||||
@@ -13,6 +13,6 @@ describe('encodeJson', (): void => {
|
|||||||
it('encodes a valid JsonRPC JSON string', (): void => {
|
it('encodes a valid JsonRPC JSON string', (): void => {
|
||||||
expect(
|
expect(
|
||||||
coder.encodeJson('method', ['params'])
|
coder.encodeJson('method', ['params'])
|
||||||
).toEqual('{"id":1,"jsonrpc":"2.0","method":"method","params":["params"]}');
|
).toEqual([1, '{"id":1,"jsonrpc":"2.0","method":"method","params":["params"]}']);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -10,19 +10,14 @@ describe('encodeObject', (): void => {
|
|||||||
coder = new RpcCoder();
|
coder = new RpcCoder();
|
||||||
});
|
});
|
||||||
|
|
||||||
it('starts with id === 0 (nothing sent)', (): void => {
|
|
||||||
expect(coder.getId()).toEqual(0);
|
|
||||||
});
|
|
||||||
|
|
||||||
it('encodes a valid JsonRPC object', (): void => {
|
it('encodes a valid JsonRPC object', (): void => {
|
||||||
expect(
|
expect(
|
||||||
coder.encodeObject('method', ['a', 'b'])
|
coder.encodeObject('method', ['a', 'b'])
|
||||||
).toEqual({
|
).toEqual([1, {
|
||||||
id: 1,
|
id: 1,
|
||||||
jsonrpc: '2.0',
|
jsonrpc: '2.0',
|
||||||
method: 'method',
|
method: 'method',
|
||||||
params: ['a', 'b']
|
params: ['a', 'b']
|
||||||
});
|
}]);
|
||||||
expect(coder.getId()).toEqual(1);
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -20,27 +20,34 @@ function formatErrorData (data?: string | number): string {
|
|||||||
// very nested, pick a number and trim the result display to it
|
// very nested, pick a number and trim the result display to it
|
||||||
return formatted.length <= 256
|
return formatted.length <= 256
|
||||||
? formatted
|
? formatted
|
||||||
: `${formatted.substr(0, 255)}…`;
|
: `${formatted.substring(0, 255)}…`;
|
||||||
|
}
|
||||||
|
|
||||||
|
function checkError (error?: JsonRpcResponseBaseError): void {
|
||||||
|
if (error) {
|
||||||
|
const { code, data, message } = error;
|
||||||
|
|
||||||
|
throw new RpcError(`${code}: ${message}${formatErrorData(data)}`, code, data);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @internal */
|
/** @internal */
|
||||||
export class RpcCoder {
|
export class RpcCoder {
|
||||||
#id = 0;
|
#id = 0;
|
||||||
|
|
||||||
public decodeResponse (response: JsonRpcResponse): unknown {
|
public decodeResponse (response?: JsonRpcResponse): unknown {
|
||||||
assert(response, 'Empty response object received');
|
assert(response && response.jsonrpc === '2.0', 'Invalid jsonrpc field in decoded object');
|
||||||
assert(response.jsonrpc === '2.0', 'Invalid jsonrpc field in decoded object');
|
|
||||||
|
|
||||||
const isSubscription = !isUndefined(response.params) && !isUndefined(response.method);
|
const isSubscription = !isUndefined(response.params) && !isUndefined(response.method);
|
||||||
|
|
||||||
assert(isNumber(response.id) || (isSubscription && (isNumber(response.params.subscription) || isString(response.params.subscription))), 'Invalid id field in decoded object');
|
assert(isNumber(response.id) || (isSubscription && (isNumber(response.params.subscription) || isString(response.params.subscription))), 'Invalid id field in decoded object');
|
||||||
|
|
||||||
this._checkError(response.error);
|
checkError(response.error);
|
||||||
|
|
||||||
assert(!isUndefined(response.result) || isSubscription, 'No result found in JsonRpc response');
|
assert(!isUndefined(response.result) || isSubscription, 'No result found in jsonrpc response');
|
||||||
|
|
||||||
if (isSubscription) {
|
if (isSubscription) {
|
||||||
this._checkError(response.params.error);
|
checkError(response.params.error);
|
||||||
|
|
||||||
return response.params.result;
|
return response.params.result;
|
||||||
}
|
}
|
||||||
@@ -48,31 +55,20 @@ export class RpcCoder {
|
|||||||
return response.result;
|
return response.result;
|
||||||
}
|
}
|
||||||
|
|
||||||
public encodeJson (method: string, params: unknown[]): string {
|
public encodeJson (method: string, params: unknown[]): [number, string] {
|
||||||
return stringify(
|
const [id, data] = this.encodeObject(method, params);
|
||||||
this.encodeObject(method, params)
|
|
||||||
);
|
return [id, stringify(data)];
|
||||||
}
|
}
|
||||||
|
|
||||||
public encodeObject (method: string, params: unknown[]): JsonRpcRequest {
|
public encodeObject (method: string, params: unknown[]): [number, JsonRpcRequest] {
|
||||||
return {
|
const id = ++this.#id;
|
||||||
id: ++this.#id,
|
|
||||||
|
return [id, {
|
||||||
|
id,
|
||||||
jsonrpc: '2.0',
|
jsonrpc: '2.0',
|
||||||
method,
|
method,
|
||||||
params
|
params
|
||||||
};
|
}];
|
||||||
}
|
|
||||||
|
|
||||||
public getId (): number {
|
|
||||||
return this.#id;
|
|
||||||
}
|
|
||||||
|
|
||||||
private _checkError (error?: JsonRpcResponseBaseError): void {
|
|
||||||
if (error) {
|
|
||||||
const { code, data, message } = error;
|
|
||||||
const fmtMessage = `${code}: ${message}${formatErrorData(data)}`;
|
|
||||||
|
|
||||||
throw new RpcError(fmtMessage, code, data);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -122,7 +122,7 @@ export class HttpProvider implements ProviderInterface {
|
|||||||
public async send <T> (method: string, params: unknown[], isCacheable?: boolean): Promise<T> {
|
public async send <T> (method: string, params: unknown[], isCacheable?: boolean): Promise<T> {
|
||||||
this.#stats.total.requests++;
|
this.#stats.total.requests++;
|
||||||
|
|
||||||
const body = this.#coder.encodeJson(method, params);
|
const [, body] = this.#coder.encodeJson(method, params);
|
||||||
let resultPromise: Promise<T> | null = isCacheable
|
let resultPromise: Promise<T> | null = isCacheable
|
||||||
? this.#callCache.get(body) as Promise<T>
|
? this.#callCache.get(body) as Promise<T>
|
||||||
: null;
|
: null;
|
||||||
|
|||||||
@@ -3,4 +3,4 @@
|
|||||||
|
|
||||||
// Do not edit, auto-generated by @polkadot/dev
|
// Do not edit, auto-generated by @polkadot/dev
|
||||||
|
|
||||||
export const packageInfo = { name: '@polkadot/rpc-provider', path: 'auto', type: 'auto', version: '7.15.1' };
|
export const packageInfo = { name: '@polkadot/rpc-provider', path: 'auto', type: 'auto', version: '8.0.1' };
|
||||||
|
|||||||
@@ -151,14 +151,19 @@ export class ScProvider implements ProviderInterface {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
const stale = staleSubscriptions.pop();
|
||||||
const { id, unsubscribeMethod } = staleSubscriptions.pop()!;
|
|
||||||
|
|
||||||
// eslint-disable-next-line @typescript-eslint/no-floating-promises
|
assert(stale, 'Unable to get stale subscription');
|
||||||
Promise.race([
|
|
||||||
this.send(unsubscribeMethod, [id]).catch(Function.prototype as () => void),
|
const { id, unsubscribeMethod } = stale;
|
||||||
new Promise((resolve) => setTimeout(resolve, 500))
|
|
||||||
]).then(killStaleSubscriptions);
|
Promise
|
||||||
|
.race([
|
||||||
|
this.send(unsubscribeMethod, [id]).catch(() => undefined),
|
||||||
|
new Promise((resolve) => setTimeout(resolve, 500))
|
||||||
|
])
|
||||||
|
.then(killStaleSubscriptions)
|
||||||
|
.catch(() => undefined);
|
||||||
};
|
};
|
||||||
|
|
||||||
hc.start((health) => {
|
hc.start((health) => {
|
||||||
@@ -256,12 +261,10 @@ export class ScProvider implements ProviderInterface {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public async send<T = any> (method: string, params: unknown[]): Promise<T> {
|
public async send<T = any> (method: string, params: unknown[]): Promise<T> {
|
||||||
assert(this.isConnected, 'Provider is not connected');
|
assert(this.isConnected && this.#chain, 'Provider is not connected');
|
||||||
|
|
||||||
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
const chain = await this.#chain;
|
||||||
const chain = await this.#chain!;
|
const [id, json] = this.#coder.encodeJson(method, params);
|
||||||
const json = this.#coder.encodeJson(method, params);
|
|
||||||
const id = this.#coder.getId();
|
|
||||||
|
|
||||||
const result = new Promise<T>((resolve, reject): void => {
|
const result = new Promise<T>((resolve, reject): void => {
|
||||||
this.#requests.set(id, (response) => {
|
this.#requests.set(id, (response) => {
|
||||||
@@ -312,8 +315,9 @@ export class ScProvider implements ProviderInterface {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
const unsubscribeMethod = subscriptionUnsubscriptionMethods.get(method);
|
||||||
const unsubscribeMethod = subscriptionUnsubscriptionMethods.get(method)!;
|
|
||||||
|
assert(unsubscribeMethod, 'Invalid unsubscribe method found');
|
||||||
|
|
||||||
this.#subscriptions.set(subscriptionId, [cb, { id, unsubscribeMethod }]);
|
this.#subscriptions.set(subscriptionId, [cb, { id, unsubscribeMethod }]);
|
||||||
|
|
||||||
|
|||||||
@@ -295,13 +295,13 @@ export class WsProvider implements ProviderInterface {
|
|||||||
public send <T = any> (method: string, params: unknown[], isCacheable?: boolean, subscription?: SubscriptionHandler): Promise<T> {
|
public send <T = any> (method: string, params: unknown[], isCacheable?: boolean, subscription?: SubscriptionHandler): Promise<T> {
|
||||||
this.#stats.total.requests++;
|
this.#stats.total.requests++;
|
||||||
|
|
||||||
const body = this.#coder.encodeJson(method, params);
|
const [id, body] = this.#coder.encodeJson(method, params);
|
||||||
let resultPromise: Promise<T> | null = isCacheable
|
let resultPromise: Promise<T> | null = isCacheable
|
||||||
? this.#callCache.get(body) as Promise<T>
|
? this.#callCache.get(body) as Promise<T>
|
||||||
: null;
|
: null;
|
||||||
|
|
||||||
if (!resultPromise) {
|
if (!resultPromise) {
|
||||||
resultPromise = this.#send(body, method, params, subscription);
|
resultPromise = this.#send(id, body, method, params, subscription);
|
||||||
|
|
||||||
if (isCacheable) {
|
if (isCacheable) {
|
||||||
this.#callCache.set(body, resultPromise);
|
this.#callCache.set(body, resultPromise);
|
||||||
@@ -313,20 +313,18 @@ export class WsProvider implements ProviderInterface {
|
|||||||
return resultPromise;
|
return resultPromise;
|
||||||
}
|
}
|
||||||
|
|
||||||
async #send <T> (json: string, method: string, params: unknown[], subscription?: SubscriptionHandler): Promise<T> {
|
async #send <T> (id: number, body: string, method: string, params: unknown[], subscription?: SubscriptionHandler): Promise<T> {
|
||||||
return new Promise<T>((resolve, reject): void => {
|
return new Promise<T>((resolve, reject): void => {
|
||||||
try {
|
try {
|
||||||
assert(this.isConnected && !isNull(this.#websocket), 'WebSocket is not connected');
|
assert(this.isConnected && !isNull(this.#websocket), 'WebSocket is not connected');
|
||||||
|
|
||||||
const id = this.#coder.getId();
|
|
||||||
|
|
||||||
const callback = (error?: Error | null, result?: T): void => {
|
const callback = (error?: Error | null, result?: T): void => {
|
||||||
error
|
error
|
||||||
? reject(error)
|
? reject(error)
|
||||||
: resolve(result as T);
|
: resolve(result as T);
|
||||||
};
|
};
|
||||||
|
|
||||||
l.debug(() => ['calling', method, json]);
|
l.debug(() => ['calling', method, body]);
|
||||||
|
|
||||||
this.#handlers[id] = {
|
this.#handlers[id] = {
|
||||||
callback,
|
callback,
|
||||||
@@ -335,8 +333,8 @@ export class WsProvider implements ProviderInterface {
|
|||||||
start: Date.now(),
|
start: Date.now(),
|
||||||
subscription
|
subscription
|
||||||
};
|
};
|
||||||
this.#stats.total.bytesSent += json.length;
|
this.#stats.total.bytesSent += body.length;
|
||||||
this.#websocket.send(json);
|
this.#websocket.send(body);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
reject(error);
|
reject(error);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
"./detectPackage.cjs"
|
"./detectPackage.cjs"
|
||||||
],
|
],
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"version": "7.15.1",
|
"version": "8.0.1",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"bin": {
|
"bin": {
|
||||||
"polkadot-types-chain-info": "./scripts/polkadot-types-chain-info.cjs",
|
"polkadot-types-chain-info": "./scripts/polkadot-types-chain-info.cjs",
|
||||||
@@ -30,20 +30,20 @@
|
|||||||
"polkadot-types-internal-metadata": "./scripts/polkadot-types-internal-metadata.cjs"
|
"polkadot-types-internal-metadata": "./scripts/polkadot-types-internal-metadata.cjs"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/core": "^7.17.8",
|
"@babel/core": "^7.17.9",
|
||||||
"@babel/register": "^7.17.7",
|
"@babel/register": "^7.17.7",
|
||||||
"@babel/runtime": "^7.17.8",
|
"@babel/runtime": "^7.17.9",
|
||||||
"@polkadot/api": "7.15.1",
|
"@polkadot/api": "8.0.1",
|
||||||
"@polkadot/api-augment": "7.15.1",
|
"@polkadot/api-augment": "8.0.1",
|
||||||
"@polkadot/rpc-augment": "7.15.1",
|
"@polkadot/rpc-augment": "8.0.1",
|
||||||
"@polkadot/rpc-provider": "7.15.1",
|
"@polkadot/rpc-provider": "8.0.1",
|
||||||
"@polkadot/types": "7.15.1",
|
"@polkadot/types": "8.0.1",
|
||||||
"@polkadot/types-augment": "7.15.1",
|
"@polkadot/types-augment": "8.0.1",
|
||||||
"@polkadot/types-codec": "7.15.1",
|
"@polkadot/types-codec": "8.0.1",
|
||||||
"@polkadot/types-create": "7.15.1",
|
"@polkadot/types-create": "8.0.1",
|
||||||
"@polkadot/types-support": "7.15.1",
|
"@polkadot/types-support": "8.0.1",
|
||||||
"@polkadot/util": "^8.7.1",
|
"@polkadot/util": "^9.0.1",
|
||||||
"@polkadot/x-ws": "^8.7.1",
|
"@polkadot/x-ws": "^9.0.1",
|
||||||
"handlebars": "^4.7.7",
|
"handlebars": "^4.7.7",
|
||||||
"websocket": "^1.0.34",
|
"websocket": "^1.0.34",
|
||||||
"yargs": "^17.4.0"
|
"yargs": "^17.4.0"
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ module.exports = function (file) {
|
|||||||
let main;
|
let main;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
main = require(`../${file}.cjs`).main;
|
main = require(`../cjs/${file}.js`).main;
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
// required for dev-only setups
|
// required for dev-only setups
|
||||||
process.env.JEST_WORKER_ID = '123';
|
process.env.JEST_WORKER_ID = '123';
|
||||||
|
|||||||
@@ -3,4 +3,4 @@
|
|||||||
|
|
||||||
// Do not edit, auto-generated by @polkadot/dev
|
// Do not edit, auto-generated by @polkadot/dev
|
||||||
|
|
||||||
export const packageInfo = { name: '@polkadot/typegen', path: 'auto', type: 'auto', version: '7.15.1' };
|
export const packageInfo = { name: '@polkadot/typegen', path: 'auto', type: 'auto', version: '8.0.1' };
|
||||||
|
|||||||
@@ -8,26 +8,37 @@ import { getSimilarTypes } from './derived';
|
|||||||
describe('getSimilarTypes', (): void => {
|
describe('getSimilarTypes', (): void => {
|
||||||
let registry: TypeRegistry;
|
let registry: TypeRegistry;
|
||||||
|
|
||||||
|
const mockImports = {
|
||||||
|
codecTypes: {},
|
||||||
|
definitions: {},
|
||||||
|
extrinsicTypes: {},
|
||||||
|
genericTypes: {},
|
||||||
|
ignoredTypes: [],
|
||||||
|
localTypes: {},
|
||||||
|
lookupTypes: {},
|
||||||
|
metadataTypes: {},
|
||||||
|
primitiveTypes: {},
|
||||||
|
typeToModule: {},
|
||||||
|
typesTypes: {}
|
||||||
|
};
|
||||||
|
|
||||||
beforeAll((): void => {
|
beforeAll((): void => {
|
||||||
registry = new TypeRegistry();
|
registry = new TypeRegistry();
|
||||||
});
|
});
|
||||||
|
|
||||||
it('handles nested Tuples', (): void => {
|
it('handles nested Tuples', (): void => {
|
||||||
expect(getSimilarTypes(registry, {}, '(AccountId, (Balance, u32), u64)', {
|
expect(getSimilarTypes(registry, {}, '(AccountId, (Balance, u32), u64)', mockImports)).toEqual([
|
||||||
codecTypes: {},
|
|
||||||
definitions: {},
|
|
||||||
extrinsicTypes: {},
|
|
||||||
genericTypes: {},
|
|
||||||
ignoredTypes: [],
|
|
||||||
localTypes: {},
|
|
||||||
lookupTypes: {},
|
|
||||||
metadataTypes: {},
|
|
||||||
primitiveTypes: {},
|
|
||||||
typeToModule: {},
|
|
||||||
typesTypes: {}
|
|
||||||
})).toEqual([
|
|
||||||
'ITuple<[AccountId, ITuple<[Balance, u32]>, u64]>',
|
'ITuple<[AccountId, ITuple<[Balance, u32]>, u64]>',
|
||||||
'[AccountId | string | Uint8Array, ITuple<[Balance, u32]> | [Balance | AnyNumber | Uint8Array, u32 | AnyNumber | Uint8Array], u64 | AnyNumber | Uint8Array]'
|
'[AccountId | string | Uint8Array, ITuple<[Balance, u32]> | [Balance | AnyNumber | Uint8Array, u32 | AnyNumber | Uint8Array], u64 | AnyNumber | Uint8Array]'
|
||||||
]);
|
]);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('handles vectors of slices', (): void => {
|
||||||
|
expect(getSimilarTypes(registry, {}, 'Vec<[u8;4]>', mockImports)).toEqual([
|
||||||
|
'Vec<U8aFixed>'
|
||||||
|
]);
|
||||||
|
expect(getSimilarTypes(registry, {}, 'Vec<[Balance;8]>', mockImports)).toEqual([
|
||||||
|
'Vec<Vec<Balance>>'
|
||||||
|
]);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -58,6 +58,8 @@ export function getSimilarTypes (registry: Registry, definitions: Record<string,
|
|||||||
);
|
);
|
||||||
|
|
||||||
possibleTypes.push(`([${subs.join(', ')}])[]`);
|
possibleTypes.push(`([${subs.join(', ')}])[]`);
|
||||||
|
} else if (subDef.info === TypeDefInfo.VecFixed) {
|
||||||
|
// TODO: Add possibleTypes so imports work
|
||||||
} else {
|
} else {
|
||||||
throw new Error(`Unhandled subtype in Vec, ${stringify(subDef)}`);
|
throw new Error(`Unhandled subtype in Vec, ${stringify(subDef)}`);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,12 +20,12 @@
|
|||||||
"./detectPackage.cjs"
|
"./detectPackage.cjs"
|
||||||
],
|
],
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"version": "7.15.1",
|
"version": "8.0.1",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/runtime": "^7.17.8",
|
"@babel/runtime": "^7.17.9",
|
||||||
"@polkadot/types": "7.15.1",
|
"@polkadot/types": "8.0.1",
|
||||||
"@polkadot/types-codec": "7.15.1",
|
"@polkadot/types-codec": "8.0.1",
|
||||||
"@polkadot/util": "^8.7.1"
|
"@polkadot/util": "^9.0.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,13 +5,13 @@
|
|||||||
|
|
||||||
export default {
|
export default {
|
||||||
/**
|
/**
|
||||||
* Lookup75: kusama_runtime::ProxyType
|
* Lookup76: kusama_runtime::ProxyType
|
||||||
**/
|
**/
|
||||||
KusamaRuntimeProxyType: {
|
KusamaRuntimeProxyType: {
|
||||||
_enum: ['Any', 'NonTransfer', 'Governance', 'Staking', 'IdentityJudgement', 'CancelProxy', 'Auction', 'Society']
|
_enum: ['Any', 'NonTransfer', 'Governance', 'Staking', 'IdentityJudgement', 'CancelProxy', 'Auction', 'Society']
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
* Lookup252: kusama_runtime::SessionKeys
|
* Lookup253: kusama_runtime::SessionKeys
|
||||||
**/
|
**/
|
||||||
KusamaRuntimeSessionKeys: {
|
KusamaRuntimeSessionKeys: {
|
||||||
grandpa: 'SpFinalityGrandpaAppPublic',
|
grandpa: 'SpFinalityGrandpaAppPublic',
|
||||||
@@ -22,7 +22,7 @@ export default {
|
|||||||
authorityDiscovery: 'SpAuthorityDiscoveryAppPublic'
|
authorityDiscovery: 'SpAuthorityDiscoveryAppPublic'
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
* Lookup326: kusama_runtime::OriginCaller
|
* Lookup327: kusama_runtime::OriginCaller
|
||||||
**/
|
**/
|
||||||
KusamaRuntimeOriginCaller: {
|
KusamaRuntimeOriginCaller: {
|
||||||
_enum: {
|
_enum: {
|
||||||
@@ -129,7 +129,7 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
* Lookup392: kusama_runtime::NposCompactSolution24
|
* Lookup393: kusama_runtime::NposCompactSolution24
|
||||||
**/
|
**/
|
||||||
KusamaRuntimeNposCompactSolution24: {
|
KusamaRuntimeNposCompactSolution24: {
|
||||||
votes1: 'Vec<(Compact<u32>,Compact<u16>)>',
|
votes1: 'Vec<(Compact<u32>,Compact<u16>)>',
|
||||||
@@ -158,7 +158,7 @@ export default {
|
|||||||
votes24: 'Vec<(Compact<u32>,[(Compact<u16>,Compact<PerU16>);23],Compact<u16>)>'
|
votes24: 'Vec<(Compact<u32>,[(Compact<u16>,Compact<PerU16>);23],Compact<u16>)>'
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
* Lookup747: kusama_runtime::Runtime
|
* Lookup748: kusama_runtime::Runtime
|
||||||
**/
|
**/
|
||||||
KusamaRuntimeRuntime: 'Null'
|
KusamaRuntimeRuntime: 'Null'
|
||||||
};
|
};
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -6,7 +6,7 @@ declare module '@polkadot/types/lookup' {
|
|||||||
import type { ITuple } from '@polkadot/types-codec/types';
|
import type { ITuple } from '@polkadot/types-codec/types';
|
||||||
import type { PerU16 } from '@polkadot/types/interfaces/runtime';
|
import type { PerU16 } from '@polkadot/types/interfaces/runtime';
|
||||||
|
|
||||||
/** @name KusamaRuntimeProxyType (75) */
|
/** @name KusamaRuntimeProxyType (76) */
|
||||||
export interface KusamaRuntimeProxyType extends Enum {
|
export interface KusamaRuntimeProxyType extends Enum {
|
||||||
readonly isAny: boolean;
|
readonly isAny: boolean;
|
||||||
readonly isNonTransfer: boolean;
|
readonly isNonTransfer: boolean;
|
||||||
@@ -19,7 +19,7 @@ declare module '@polkadot/types/lookup' {
|
|||||||
readonly type: 'Any' | 'NonTransfer' | 'Governance' | 'Staking' | 'IdentityJudgement' | 'CancelProxy' | 'Auction' | 'Society';
|
readonly type: 'Any' | 'NonTransfer' | 'Governance' | 'Staking' | 'IdentityJudgement' | 'CancelProxy' | 'Auction' | 'Society';
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @name KusamaRuntimeSessionKeys (252) */
|
/** @name KusamaRuntimeSessionKeys (253) */
|
||||||
export interface KusamaRuntimeSessionKeys extends Struct {
|
export interface KusamaRuntimeSessionKeys extends Struct {
|
||||||
readonly grandpa: SpFinalityGrandpaAppPublic;
|
readonly grandpa: SpFinalityGrandpaAppPublic;
|
||||||
readonly babe: SpConsensusBabeAppPublic;
|
readonly babe: SpConsensusBabeAppPublic;
|
||||||
@@ -29,7 +29,7 @@ declare module '@polkadot/types/lookup' {
|
|||||||
readonly authorityDiscovery: SpAuthorityDiscoveryAppPublic;
|
readonly authorityDiscovery: SpAuthorityDiscoveryAppPublic;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @name KusamaRuntimeOriginCaller (326) */
|
/** @name KusamaRuntimeOriginCaller (327) */
|
||||||
export interface KusamaRuntimeOriginCaller extends Enum {
|
export interface KusamaRuntimeOriginCaller extends Enum {
|
||||||
readonly isSystem: boolean;
|
readonly isSystem: boolean;
|
||||||
readonly asSystem: FrameSupportDispatchRawOrigin;
|
readonly asSystem: FrameSupportDispatchRawOrigin;
|
||||||
@@ -45,7 +45,7 @@ declare module '@polkadot/types/lookup' {
|
|||||||
readonly type: 'System' | 'Void' | 'Council' | 'TechnicalCommittee' | 'ParachainsOrigin' | 'XcmPallet';
|
readonly type: 'System' | 'Void' | 'Council' | 'TechnicalCommittee' | 'ParachainsOrigin' | 'XcmPallet';
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @name KusamaRuntimeNposCompactSolution24 (392) */
|
/** @name KusamaRuntimeNposCompactSolution24 (393) */
|
||||||
export interface KusamaRuntimeNposCompactSolution24 extends Struct {
|
export interface KusamaRuntimeNposCompactSolution24 extends Struct {
|
||||||
readonly votes1: Vec<ITuple<[Compact<u32>, Compact<u16>]>>;
|
readonly votes1: Vec<ITuple<[Compact<u32>, Compact<u16>]>>;
|
||||||
readonly votes2: Vec<ITuple<[Compact<u32>, ITuple<[Compact<u16>, Compact<PerU16>]>, Compact<u16>]>>;
|
readonly votes2: Vec<ITuple<[Compact<u32>, ITuple<[Compact<u16>, Compact<PerU16>]>, Compact<u16>]>>;
|
||||||
@@ -73,7 +73,7 @@ declare module '@polkadot/types/lookup' {
|
|||||||
readonly votes24: Vec<ITuple<[Compact<u32>, Vec<ITuple<[Compact<u16>, Compact<PerU16>]>>, Compact<u16>]>>;
|
readonly votes24: Vec<ITuple<[Compact<u32>, Vec<ITuple<[Compact<u16>, Compact<PerU16>]>>, Compact<u16>]>>;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @name KusamaRuntimeRuntime (747) */
|
/** @name KusamaRuntimeRuntime (748) */
|
||||||
export type KusamaRuntimeRuntime = Null;
|
export type KusamaRuntimeRuntime = Null;
|
||||||
|
|
||||||
} // declare module
|
} // declare module
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -3,4 +3,4 @@
|
|||||||
|
|
||||||
// Do not edit, auto-generated by @polkadot/dev
|
// Do not edit, auto-generated by @polkadot/dev
|
||||||
|
|
||||||
export const packageInfo = { name: '@polkadot/types-augment', path: 'auto', type: 'auto', version: '7.15.1' };
|
export const packageInfo = { name: '@polkadot/types-augment', path: 'auto', type: 'auto', version: '8.0.1' };
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -20,16 +20,16 @@
|
|||||||
"./detectPackage.cjs"
|
"./detectPackage.cjs"
|
||||||
],
|
],
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"version": "7.15.1",
|
"version": "8.0.1",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/runtime": "^7.17.8",
|
"@babel/runtime": "^7.17.9",
|
||||||
"@polkadot/util": "^8.7.1"
|
"@polkadot/util": "^9.0.1"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@polkadot/types": "7.15.1",
|
"@polkadot/types": "8.0.1",
|
||||||
"@polkadot/types-augment": "7.15.1",
|
"@polkadot/types-augment": "8.0.1",
|
||||||
"@polkadot/types-support": "7.15.1",
|
"@polkadot/types-support": "8.0.1",
|
||||||
"@polkadot/util-crypto": "^8.7.1"
|
"@polkadot/util-crypto": "^9.0.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,4 +3,4 @@
|
|||||||
|
|
||||||
// Do not edit, auto-generated by @polkadot/dev
|
// Do not edit, auto-generated by @polkadot/dev
|
||||||
|
|
||||||
export const packageInfo = { name: '@polkadot/types-codec', path: 'auto', type: 'auto', version: '7.15.1' };
|
export const packageInfo = { name: '@polkadot/types-codec', path: 'auto', type: 'auto', version: '8.0.1' };
|
||||||
|
|||||||
@@ -20,14 +20,14 @@
|
|||||||
"./detectPackage.cjs"
|
"./detectPackage.cjs"
|
||||||
],
|
],
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"version": "7.15.1",
|
"version": "8.0.1",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/runtime": "^7.17.8",
|
"@babel/runtime": "^7.17.9",
|
||||||
"@polkadot/types-codec": "7.15.1",
|
"@polkadot/types-codec": "8.0.1",
|
||||||
"@polkadot/util": "^8.7.1"
|
"@polkadot/util": "^9.0.1"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@polkadot/types": "7.15.1"
|
"@polkadot/types": "8.0.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,4 +3,4 @@
|
|||||||
|
|
||||||
// Do not edit, auto-generated by @polkadot/dev
|
// Do not edit, auto-generated by @polkadot/dev
|
||||||
|
|
||||||
export const packageInfo = { name: '@polkadot/types-create', path: 'auto', type: 'auto', version: '7.15.1' };
|
export const packageInfo = { name: '@polkadot/types-create', path: 'auto', type: 'auto', version: '8.0.1' };
|
||||||
|
|||||||
@@ -20,14 +20,14 @@
|
|||||||
"./detectPackage.cjs"
|
"./detectPackage.cjs"
|
||||||
],
|
],
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"version": "7.15.1",
|
"version": "8.0.1",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/runtime": "^7.17.8",
|
"@babel/runtime": "^7.17.9",
|
||||||
"@polkadot/networks": "^8.7.1",
|
"@polkadot/networks": "^9.0.1",
|
||||||
"@polkadot/types": "7.15.1",
|
"@polkadot/types": "8.0.1",
|
||||||
"@polkadot/types-codec": "7.15.1",
|
"@polkadot/types-codec": "8.0.1",
|
||||||
"@polkadot/types-create": "7.15.1",
|
"@polkadot/types-create": "8.0.1",
|
||||||
"@polkadot/util": "^8.7.1"
|
"@polkadot/util": "^9.0.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,4 +3,4 @@
|
|||||||
|
|
||||||
// Do not edit, auto-generated by @polkadot/dev
|
// Do not edit, auto-generated by @polkadot/dev
|
||||||
|
|
||||||
export const packageInfo = { name: '@polkadot/types-known', path: 'auto', type: 'auto', version: '7.15.1' };
|
export const packageInfo = { name: '@polkadot/types-known', path: 'auto', type: 'auto', version: '8.0.1' };
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ const upgrades: ChainUpgradesRaw = [
|
|||||||
[1205128, 18], [1603423, 23], [1733218, 24], [2005673, 25], [2436698, 26],
|
[1205128, 18], [1603423, 23], [1733218, 24], [2005673, 25], [2436698, 26],
|
||||||
[3613564, 27], [3899547, 28], [4345767, 29], [4876134, 30], [5661442, 9050],
|
[3613564, 27], [3899547, 28], [4345767, 29], [4876134, 30], [5661442, 9050],
|
||||||
[6321619, 9080], [6713249, 9090], [7217907, 9100], [7229126, 9110], [7560558, 9122],
|
[6321619, 9080], [6713249, 9090], [7217907, 9100], [7229126, 9110], [7560558, 9122],
|
||||||
[8115869, 9140], [8638103, 9151], [9280179, 9170]
|
[8115869, 9140], [8638103, 9151], [9280179, 9170], [9738717, 9180]
|
||||||
];
|
];
|
||||||
|
|
||||||
export default upgrades;
|
export default upgrades;
|
||||||
|
|||||||
@@ -20,10 +20,10 @@
|
|||||||
"./detectPackage.cjs"
|
"./detectPackage.cjs"
|
||||||
],
|
],
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"version": "7.15.1",
|
"version": "8.0.1",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/runtime": "^7.17.8",
|
"@babel/runtime": "^7.17.9",
|
||||||
"@polkadot/util": "^8.7.1"
|
"@polkadot/util": "^9.0.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -3,4 +3,4 @@
|
|||||||
|
|
||||||
// Do not edit, auto-generated by @polkadot/dev
|
// Do not edit, auto-generated by @polkadot/dev
|
||||||
|
|
||||||
export const packageInfo = { name: '@polkadot/types-support', path: 'auto', type: 'auto', version: '7.15.1' };
|
export const packageInfo = { name: '@polkadot/types-support', path: 'auto', type: 'auto', version: '8.0.1' };
|
||||||
|
|||||||
+10
-10
@@ -20,20 +20,20 @@
|
|||||||
"./detectPackage.cjs"
|
"./detectPackage.cjs"
|
||||||
],
|
],
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"version": "7.15.1",
|
"version": "8.0.1",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/runtime": "^7.17.8",
|
"@babel/runtime": "^7.17.9",
|
||||||
"@polkadot/keyring": "^8.7.1",
|
"@polkadot/keyring": "^9.0.1",
|
||||||
"@polkadot/types-augment": "7.15.1",
|
"@polkadot/types-augment": "8.0.1",
|
||||||
"@polkadot/types-codec": "7.15.1",
|
"@polkadot/types-codec": "8.0.1",
|
||||||
"@polkadot/types-create": "7.15.1",
|
"@polkadot/types-create": "8.0.1",
|
||||||
"@polkadot/util": "^8.7.1",
|
"@polkadot/util": "^9.0.1",
|
||||||
"@polkadot/util-crypto": "^8.7.1",
|
"@polkadot/util-crypto": "^9.0.1",
|
||||||
"rxjs": "^7.5.5"
|
"rxjs": "^7.5.5"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@polkadot/keyring": "^8.7.1",
|
"@polkadot/keyring": "^9.0.1",
|
||||||
"@polkadot/types-support": "7.15.1"
|
"@polkadot/types-support": "8.0.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -373,7 +373,7 @@ export class PortableRegistry extends Struct implements ILookup {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public get names (): string[] {
|
public get names (): string[] {
|
||||||
return Object.values(this.#names);
|
return Object.values(this.#names).sort();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -3,4 +3,4 @@
|
|||||||
|
|
||||||
// Do not edit, auto-generated by @polkadot/dev
|
// Do not edit, auto-generated by @polkadot/dev
|
||||||
|
|
||||||
export const packageInfo = { name: '@polkadot/types', path: 'auto', type: 'auto', version: '7.15.1' };
|
export const packageInfo = { name: '@polkadot/types', path: 'auto', type: 'auto', version: '8.0.1' };
|
||||||
|
|||||||
Reference in New Issue
Block a user