Compare commits

..
34 Commits
Author SHA1 Message Date
github-actions[bot] e7996e478a [CI Skip] release/stable 8.7.1
skip-checks: true
2022-06-04 05:51:08 +00:00
Jaco a695a486dd 8.7.1 (#4892) 2022-06-04 08:43:44 +03:00
github-actions[bot] 2a1ff7bb1e [CI Skip] release/beta 8.6.3-12
skip-checks: true
2022-06-04 05:02:26 +00:00
Jaco 59b4e41cb6 Bump TS (#4891) 2022-06-04 07:55:19 +03:00
github-actions[bot] 194d65d31b [CI Skip] release/beta 8.6.3-11
skip-checks: true
2022-06-03 07:08:41 +00:00
Jaco 10995b5696 Bump dev deps (#4890) 2022-06-03 10:00:38 +03:00
github-actions[bot] 73e717e665 [CI Skip] release/beta 8.6.3-10
skip-checks: true
2022-06-02 11:49:24 +00:00
Jaco f770f29422 Support for Range in typegen for Enum (#4889) 2022-06-02 14:41:52 +03:00
github-actions[bot] a7ad18bd0c [CI Skip] release/beta 8.6.3-9
skip-checks: true
2022-06-02 07:47:11 +00:00
Jaco 45d6c00816 Internal derive adjustments (#4888) 2022-06-02 10:39:11 +03:00
github-actions[bot] 4d02c78fe2 [CI Skip] release/beta 8.6.3-8
skip-checks: true
2022-06-01 21:07:37 +00:00
Jaco e73a347700 Adjust staking info retrieval (better batching) (#4887) 2022-06-01 23:59:20 +03:00
github-actions[bot] ea25189d2f [CI Skip] release/beta 8.6.3-7
skip-checks: true
2022-06-01 20:46:10 +00:00
Jaco 99be561a88 Adjust storage combination queue size (#4886)
* Adjust storage combination queue size

* 25
2022-06-01 23:37:19 +03:00
github-actions[bot] 871429b726 [CI Skip] release/beta 8.6.3-6
skip-checks: true
2022-06-01 20:07:40 +00:00
Jaco b041e7985c Trapping for failed collective proposals (#4885)
* Trapping for failed collective proposals

* revert multi

* Recomment

* Remove multi augmentation

* Adjust
2022-06-01 22:58:29 +03:00
github-actions[bot] 93ad99c5e9 [CI Skip] release/beta 8.6.3-5
skip-checks: true
2022-06-01 08:54:12 +00:00
Jaco 3e41751130 Adjust rpc-core cache with created Codec values (#4883) 2022-06-01 11:46:23 +03:00
github-actions[bot] 697c25a541 [CI Skip] release/beta 8.6.3-4
skip-checks: true
2022-06-01 05:38:53 +00:00
Jaco 05cf0cba8a Bump @polkadot/util & use nextTick (#4882) 2022-06-01 08:31:13 +03:00
github-actions[bot] d245bc69c9 [CI Skip] release/beta 8.6.3-3
skip-checks: true
2022-06-01 04:12:38 +00:00
Jaco c385ec2047 Internal merge of storage queries (#4881)
* Internal merge of storage queries

* setTimeout(() => ..., 0) to Promise.resolve().then(() => ...)
2022-06-01 07:04:33 +03:00
github-actions[bot] 374e69f2fc [CI Skip] release/beta 8.6.3-2
skip-checks: true
2022-05-31 10:20:15 +00:00
Jaco 12f2fbdaf5 Adjust derive flags retrieval (#4880) 2022-05-31 13:12:24 +03:00
github-actions[bot] e7e81c62c5 [CI Skip] release/beta 8.6.3-1
skip-checks: true
2022-05-31 08:53:25 +00:00
Jaco 7e8f5f6bae Add Kusama 9220 upgrade block (#4879) 2022-05-31 11:44:51 +03:00
github-actions[bot] 90f7f375e6 [CI Skip] release/beta 8.6.3-0
skip-checks: true
2022-05-31 07:32:16 +00:00
Jaco e7beb2d46f Expose provider errors & .stats on API (#4878)
* Expose provider errors & .stats on API

* Expose WS errors
2022-05-31 10:24:17 +03:00
github-actions[bot] a7a5a409d8 [CI Skip] release/stable 8.6.2
skip-checks: true
2022-05-30 12:51:53 +00:00
Jaco bd0b6426a7 8.6.2 (#4876) 2022-05-30 15:42:31 +03:00
github-actions[bot] 06cb4aadfa [CI Skip] release/beta 8.6.2-1
skip-checks: true
2022-05-30 08:23:48 +00:00
Jaco f76efa5f8a Bump TS (#4873)
* Bump TS

* Adjust

* Additional TS 4.7.2 fixes
2022-05-30 11:13:41 +03:00
github-actions[bot] cdc8d68e8b [CI Skip] release/beta 8.6.2-0
skip-checks: true
2022-05-30 05:44:39 +00:00
Jaco a208cc9bb5 LRU Sizing (#4872) 2022-05-30 08:36:28 +03:00
70 changed files with 831 additions and 645 deletions
+2 -1
View File
@@ -53,4 +53,5 @@
7.14.3
8.0.2
8.3.2
8.4.2
8.4.2
8.6.2
+20
View File
@@ -1,5 +1,25 @@
# CHANGELOG
## 8.7.1 Jun 4, 2022
Changes:
- Add internal merge of single storage queries
- Expose provider stats on API intrerface via `.stats`
- Adjust flag extraction for latest phragmen types
- Support for `Range` in typegen for `Enum`
- Add Kusama 9220 upgrade block
## 8.6.2 May 30, 2022
Changes:
- Don't apply default to `Option<bool>` opt-in
- Lower default historic LRU cache size (128 entries, 192MB est)
- Cater for updates required by TS 4.7.2
## 8.6.1 May 29, 2022
Changes:
+1 -1
View File
@@ -1,4 +1,4 @@
2982 Jaco 8.6.1 (#4870)
2999 Jaco 8.7.1 (#4892)
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)
+4 -4
View File
@@ -11,7 +11,7 @@
},
"sideEffects": false,
"type": "commonjs",
"version": "8.6.1",
"version": "8.7.1",
"workspaces": [
"packages/*"
],
@@ -34,12 +34,12 @@
"@babel/core": "^7.18.2",
"@babel/register": "^7.17.7",
"@babel/runtime": "^7.18.3",
"@polkadot/dev": "^0.66.30",
"@polkadot/dev": "^0.66.34",
"@polkadot/typegen": "workspace:packages/typegen",
"@types/jest": "^27.5.1",
"@types/jest": "^28.1.0",
"copyfiles": "^2.4.1"
},
"resolutions": {
"typescript": "^4.6.4"
"typescript": "^4.7.3"
}
}
+8 -8
View File
@@ -20,18 +20,18 @@
"./detectPackage.cjs"
],
"type": "module",
"version": "8.6.1",
"version": "8.7.1",
"main": "index.js",
"dependencies": {
"@babel/runtime": "^7.18.3",
"@polkadot/api-base": "8.6.1",
"@polkadot/rpc-augment": "8.6.1",
"@polkadot/types": "8.6.1",
"@polkadot/types-augment": "8.6.1",
"@polkadot/types-codec": "8.6.1",
"@polkadot/util": "^9.3.1"
"@polkadot/api-base": "8.7.1",
"@polkadot/rpc-augment": "8.7.1",
"@polkadot/types": "8.7.1",
"@polkadot/types-augment": "8.7.1",
"@polkadot/types-codec": "8.7.1",
"@polkadot/util": "^9.4.1"
},
"devDependencies": {
"@polkadot/types-support": "8.6.1"
"@polkadot/types-support": "8.7.1"
}
}
+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: '8.6.1' };
export const packageInfo = { name: '@polkadot/api-augment', path: 'auto', type: 'auto', version: '8.7.1' };
+4 -4
View File
@@ -20,13 +20,13 @@
"./detectPackage.cjs"
],
"type": "module",
"version": "8.6.1",
"version": "8.7.1",
"main": "index.js",
"dependencies": {
"@babel/runtime": "^7.18.3",
"@polkadot/rpc-core": "8.6.1",
"@polkadot/types": "8.6.1",
"@polkadot/util": "^9.3.1",
"@polkadot/rpc-core": "8.7.1",
"@polkadot/types": "8.7.1",
"@polkadot/util": "^9.4.1",
"rxjs": "^7.5.5"
}
}
+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: '8.6.1' };
export const packageInfo = { name: '@polkadot/api-base', path: 'auto', type: 'auto', version: '8.7.1' };
+9 -9
View File
@@ -20,20 +20,20 @@
"./detectPackage.cjs"
],
"type": "module",
"version": "8.6.1",
"version": "8.7.1",
"main": "index.js",
"dependencies": {
"@babel/runtime": "^7.18.3",
"@polkadot/api": "8.6.1",
"@polkadot/types": "8.6.1",
"@polkadot/types-codec": "8.6.1",
"@polkadot/types-create": "8.6.1",
"@polkadot/util": "^9.3.1",
"@polkadot/util-crypto": "^9.3.1",
"@polkadot/api": "8.7.1",
"@polkadot/types": "8.7.1",
"@polkadot/types-codec": "8.7.1",
"@polkadot/types-create": "8.7.1",
"@polkadot/util": "^9.4.1",
"@polkadot/util-crypto": "^9.4.1",
"rxjs": "^7.5.5"
},
"devDependencies": {
"@polkadot/api-augment": "8.6.1",
"@polkadot/keyring": "^9.3.1"
"@polkadot/api-augment": "8.7.1",
"@polkadot/keyring": "^9.4.1"
}
}
+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: '8.6.1' };
export const packageInfo = { name: '@polkadot/api-contract', path: 'auto', type: 'auto', version: '8.7.1' };
+14 -14
View File
@@ -20,25 +20,25 @@
"./detectPackage.cjs"
],
"type": "module",
"version": "8.6.1",
"version": "8.7.1",
"main": "index.js",
"dependencies": {
"@babel/runtime": "^7.18.3",
"@polkadot/api": "8.6.1",
"@polkadot/api-augment": "8.6.1",
"@polkadot/api-base": "8.6.1",
"@polkadot/rpc-core": "8.6.1",
"@polkadot/types": "8.6.1",
"@polkadot/types-codec": "8.6.1",
"@polkadot/util": "^9.3.1",
"@polkadot/util-crypto": "^9.3.1",
"@polkadot/api": "8.7.1",
"@polkadot/api-augment": "8.7.1",
"@polkadot/api-base": "8.7.1",
"@polkadot/rpc-core": "8.7.1",
"@polkadot/types": "8.7.1",
"@polkadot/types-codec": "8.7.1",
"@polkadot/util": "^9.4.1",
"@polkadot/util-crypto": "^9.4.1",
"rxjs": "^7.5.5"
},
"devDependencies": {
"@polkadot/api": "8.6.1",
"@polkadot/api-augment": "8.6.1",
"@polkadot/rpc-augment": "8.6.1",
"@polkadot/rpc-provider": "8.6.1",
"@polkadot/types-support": "8.6.1"
"@polkadot/api": "8.7.1",
"@polkadot/api-augment": "8.7.1",
"@polkadot/rpc-augment": "8.7.1",
"@polkadot/rpc-provider": "8.7.1",
"@polkadot/types-support": "8.7.1"
}
}
+43 -25
View File
@@ -3,15 +3,19 @@
import type { Observable } from 'rxjs';
import type { AccountId, Address, Balance } from '@polkadot/types/interfaces';
import type{ PalletElectionsPhragmenSeatHolder } from '@polkadot/types/lookup';
import type { Codec } from '@polkadot/types/types';
import type { Option } from '@polkadot/types-codec';
import type { DeriveAccountFlags, DeriveApi } from '../types';
import { combineLatest, map, of } from 'rxjs';
import { map, of } from 'rxjs';
import { isFunction } from '@polkadot/util';
import { memo } from '../util';
type FlagsIntermediate = [
[AccountId, Balance][] | undefined,
PalletElectionsPhragmenSeatHolder[] | [AccountId, Balance][] | undefined,
AccountId[],
AccountId[],
AccountId[],
@@ -24,39 +28,53 @@ function parseFlags (address: AccountId | Address | string | null | undefined, [
id.toString() === addrStr;
return {
isCouncil: (electionsMembers?.map(([id]) => id) || councilMembers || []).some(isIncluded),
isCouncil: (electionsMembers?.map((r) => Array.isArray(r) ? r[0] : r.who) || councilMembers || []).some(isIncluded),
isSociety: (societyMembers || []).some(isIncluded),
isSudo: sudoKey?.toString() === addrStr,
isTechCommittee: (technicalCommitteeMembers || []).some(isIncluded)
};
}
export function _flags (instanceId: string, api: DeriveApi): () => Observable<FlagsIntermediate> {
return memo(instanceId, (): Observable<FlagsIntermediate> => {
const results: unknown[] = [undefined, [], [], [], undefined];
const calls = [
(api.query.phragmenElection || api.query.electionsPhragmen || api.query.elections)?.members,
api.query.council?.members,
api.query.technicalCommittee?.members,
api.query.society?.members,
api.query.sudo?.key
];
const filtered = calls.filter((c) => c);
if (!filtered.length) {
return of(results as FlagsIntermediate);
}
return api.queryMulti(filtered).pipe(
map((values: Codec[]): FlagsIntermediate => {
let resultIndex = -1;
for (let i = 0; i < calls.length; i++) {
if (isFunction(calls[i])) {
results[i] = values[++resultIndex];
}
}
return results as FlagsIntermediate;
})
);
});
}
/**
* @name info
* @description Returns account membership flags
*/
export function flags (instanceId: string, api: DeriveApi): (address?: AccountId | Address | string | null) => Observable<DeriveAccountFlags> {
return memo(instanceId, (address?: AccountId | Address | string | null): Observable<DeriveAccountFlags> => {
const elections = api.query.phragmenElection || api.query.electionsPhragmen || api.query.elections;
return combineLatest([
address && elections?.members
? elections.members<[AccountId, Balance][]>()
: of(undefined),
address && api.query.council?.members
? api.query.council.members()
: of([]),
address && api.query.technicalCommittee?.members
? api.query.technicalCommittee.members()
: of([]),
address && api.query.society?.members
? api.query.society.members()
: of([]),
address && api.query.sudo?.key
? api.query.sudo.key()
: of(undefined)
]).pipe(
return memo(instanceId, (address?: AccountId | Address | string | null): Observable<DeriveAccountFlags> =>
api.derive.accounts._flags().pipe(
map((r) => parseFlags(address, r))
);
});
)
);
}
+19 -12
View File
@@ -71,9 +71,10 @@ function getParent (api: DeriveApi, identityOfOpt: Option<PalletIdentityRegistra
} else if (superOfOpt?.isSome) {
const superOf = superOfOpt.unwrap();
// we have a super
return combineLatest([
api.query.identity.identityOf(superOf[0]),
api.derive.accounts._identity(superOf[0]).pipe(
map(([info]) => info)
),
of(superOf)
]);
}
@@ -82,13 +83,15 @@ function getParent (api: DeriveApi, identityOfOpt: Option<PalletIdentityRegistra
return of([undefined, undefined]);
}
function getBase (api: DeriveApi, accountId?: AccountId | Uint8Array | string): Observable<[Option<PalletIdentityRegistration> | undefined, Option<ITuple<[AccountId, Data]>> | undefined]> {
return accountId && api.query.identity?.identityOf
? api.queryMulti<[Option<PalletIdentityRegistration>, Option<ITuple<[AccountId, Data]>>]>([
[api.query.identity.identityOf, accountId],
[api.query.identity.superOf, accountId]
])
: of([undefined, undefined]);
export function _identity (instanceId: string, api: DeriveApi): (accountId?: AccountId | Uint8Array | string) => Observable<[Option<PalletIdentityRegistration> | undefined, Option<ITuple<[AccountId, Data]>> | undefined]> {
return memo(instanceId, (accountId?: AccountId | Uint8Array | string): Observable<[Option<PalletIdentityRegistration> | undefined, Option<ITuple<[AccountId, Data]>> | undefined]> =>
accountId && api.query.identity?.identityOf
? combineLatest([
api.query.identity.identityOf(accountId),
api.query.identity.superOf(accountId)
])
: of([undefined, undefined])
);
}
/**
@@ -97,9 +100,13 @@ function getBase (api: DeriveApi, accountId?: AccountId | Uint8Array | string):
*/
export function identity (instanceId: string, api: DeriveApi): (accountId?: AccountId | Uint8Array | string) => Observable<DeriveAccountRegistration> {
return memo(instanceId, (accountId?: AccountId | Uint8Array | string): Observable<DeriveAccountRegistration> =>
getBase(api, accountId).pipe(
switchMap(([identityOfOpt, superOfOpt]) => getParent(api, identityOfOpt, superOfOpt)),
map(([identityOfOpt, superOf]) => extractIdentity(identityOfOpt, superOf))
api.derive.accounts._identity(accountId).pipe(
switchMap(([identityOfOpt, superOfOpt]) =>
getParent(api, identityOfOpt, superOfOpt)
),
map(([identityOfOpt, superOf]) =>
extractIdentity(identityOfOpt, superOf)
)
)
);
}
@@ -9,6 +9,8 @@ import type { DeriveApi } from '../types';
import { BehaviorSubject, map, of, switchMap, tap, toArray } from 'rxjs';
import { nextTick } from '@polkadot/util';
import { memo } from '../util';
function traverseLinks (api: DeriveApi, head: AccountId32 | string): Observable<PalletBagsListListNode[]> {
@@ -19,11 +21,11 @@ function traverseLinks (api: DeriveApi, head: AccountId32 | string): Observable<
api.query.bagsList.listNodes(account)
),
tap((node: Option<PalletBagsListListNode>): void => {
setTimeout((): void => {
nextTick((): void => {
node.isSome && node.value.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>[]) =>
+15 -10
View File
@@ -50,10 +50,10 @@ function calcBalances (api: DeriveApi, [accountId, [accountNonce, [primary, ...a
// old
function queryBalancesFree (api: DeriveApi, accountId: AccountId): Observable<Result> {
return api.queryMulti<[Balance, Balance, Index]>([
[api.query.balances.freeBalance, accountId],
[api.query.balances.reservedBalance, accountId],
[api.query.system.accountNonce, accountId]
return combineLatest([
api.query.balances.freeBalance<Balance>(accountId),
api.query.balances.reservedBalance<Balance>(accountId),
api.query.system.accountNonce<Index>(accountId)
]).pipe(
map(([freeBalance, reservedBalance, accountNonce]): Result => [
accountNonce,
@@ -82,8 +82,7 @@ function queryNonceOnly (api: DeriveApi, accountId: AccountId): Observable<Resul
function queryBalancesAccount (api: DeriveApi, accountId: AccountId, modules: string[] = ['balances']): Observable<Result> {
const balances = modules
.map((m): QueryableStorageEntry<'rxjs'> => (api.derive as DeriveCustomAccount)[m]?.customAccount || api.query[m]?.account)
.filter((q) => isFunction(q))
.map((q): [QueryableStorageEntry<'rxjs'>, AccountId] => [q, accountId]);
.filter((q) => isFunction(q));
const extract = (nonce: Index, data: AccountData[]): Result => [
nonce,
@@ -93,11 +92,17 @@ function queryBalancesAccount (api: DeriveApi, accountId: AccountId, modules: st
// NOTE this is for the first case where we do have instances specified
return balances.length
? isFunction(api.query.system.account)
? api.queryMulti<[AccountInfo, ...(AccountData[])]>([[api.query.system.account, accountId], ...balances]).pipe(
map(([{ nonce }, ...balances]) => extract(nonce, balances))
? combineLatest([
api.query.system.account(accountId),
...balances.map((c) => c(accountId))
]).pipe(
map(([{ nonce }, ...balances]) => extract(nonce, balances as unknown as AccountData[]))
)
: api.queryMulti<[Index, ...(AccountData[])]>([[api.query.system.accountNonce, accountId], ...balances]).pipe(
map(([nonce, ...balances]) => extract(nonce, balances))
: combineLatest([
api.query.system.accountNonce<Index>(accountId),
...balances.map((c) => c(accountId))
]).pipe(
map(([nonce, ...balances]) => extract(nonce, balances as unknown as AccountData[]))
)
: queryNonceOnly(api, accountId);
}
+31 -36
View File
@@ -2,9 +2,8 @@
// SPDX-License-Identifier: Apache-2.0
import type { Observable } from 'rxjs';
import type { QueryableStorageMultiArg } from '@polkadot/api-base/types';
import type { Option, Vec } from '@polkadot/types';
import type { AccountId, AccountIndex, Address, Balance, BalanceLockTo212, BlockNumber, VestingSchedule } from '@polkadot/types/interfaces';
import type { AccountId, Balance, BalanceLockTo212, BlockNumber, VestingSchedule } from '@polkadot/types/interfaces';
import type { PalletBalancesBalanceLock, PalletBalancesReserveData, PalletVestingVestingInfo } from '@polkadot/types/lookup';
import type { DeriveApi, DeriveBalancesAccount, DeriveBalancesAccountData, DeriveBalancesAll, DeriveBalancesAllAccountData, DeriveBalancesAllVesting } from '../types';
@@ -15,7 +14,7 @@ import { BN, BN_ZERO, bnMax, bnMin, isFunction } from '@polkadot/util';
import { memo } from '../util';
type ResultBalance = [PalletVestingVestingInfo[] | null, ((PalletBalancesBalanceLock | BalanceLockTo212)[])[], PalletBalancesReserveData[][]];
type Result = [DeriveBalancesAccount, BlockNumber, ResultBalance];
type Result = [DeriveBalancesAccount, ResultBalance, BlockNumber];
interface AllLocked {
allLocked: boolean,
@@ -100,7 +99,7 @@ function calcVesting (bestNumber: BlockNumber, shared: DeriveBalancesAllAccountD
};
}
function calcBalances (api: DeriveApi, [data, bestNumber, [vesting, allLocks, namedReserves]]: Result): DeriveBalancesAll {
function calcBalances (api: DeriveApi, [data, [vesting, allLocks, namedReserves], bestNumber]: Result): DeriveBalancesAll {
const shared = calcShared(api, bestNumber, data, allLocks[0]);
return {
@@ -116,10 +115,10 @@ function calcBalances (api: DeriveApi, [data, bestNumber, [vesting, allLocks, na
}
// old
function queryOld (api: DeriveApi, accountId: AccountId): Observable<ResultBalance> {
return api.queryMulti<[Vec<PalletBalancesBalanceLock>, Option<VestingSchedule>]>([
[api.query.balances.locks, accountId],
[api.query.balances.vesting, accountId]
function queryOld (api: DeriveApi, accountId: AccountId | string): Observable<ResultBalance> {
return combineLatest([
api.query.balances.locks(accountId),
api.query.balances.vesting<Option<VestingSchedule>>(accountId)
]).pipe(
map(([locks, optVesting]): ResultBalance => {
let vestingNew = null;
@@ -143,26 +142,22 @@ function queryOld (api: DeriveApi, accountId: AccountId): Observable<ResultBalan
const isNonNullable = <T>(nullable: T): nullable is NonNullable<T> => !!nullable;
function createCalls (accountId: AccountId, calls: unknown[]): [boolean[], QueryableStorageMultiArg<'rxjs'>[]] {
function createCalls <T> (calls: (((a: unknown) => Observable<T>) | null | undefined)[]): [boolean[], ((a: unknown) => Observable<T>)[]] {
return [
calls.map((c) => !c),
calls
.filter(isNonNullable)
.map((c) => [c, accountId] as unknown as QueryableStorageMultiArg<'rxjs'>)
calls.filter(isNonNullable)
];
}
// current (balances, vesting)
function queryCurrent (api: DeriveApi, accountId: AccountId, balanceInstances: string[] = ['balances']): Observable<ResultBalance> {
const [lockEmpty, lockQueries] = createCalls(
accountId,
balanceInstances.map((m): DeriveApi['query']['balances']['locks'] | undefined =>
function queryCurrent (api: DeriveApi, accountId: AccountId | string, balanceInstances: string[] = ['balances']): Observable<ResultBalance> {
const [lockEmpty, lockQueries] = createCalls<Vec<PalletBalancesBalanceLock>>(
balanceInstances.map((m) =>
(api.derive as DeriveCustomLocks)[m]?.customLocks || api.query[m as 'balances']?.locks
)
);
const [reserveEmpty, reserveQueries] = createCalls(
accountId,
balanceInstances.map((m): DeriveApi['query']['balances']['reserves'] | undefined =>
const [reserveEmpty, reserveQueries] = createCalls<Vec<PalletBalancesReserveData>>(
balanceInstances.map((m) =>
api.query[m as 'balances']?.reserves
)
);
@@ -172,10 +167,10 @@ function queryCurrent (api: DeriveApi, accountId: AccountId, balanceInstances: s
? api.query.vesting.vesting(accountId)
: of(api.registry.createType('Option<VestingInfo>')),
lockQueries.length
? api.queryMulti<[...(Vec<PalletBalancesBalanceLock>)[]]>(lockQueries)
? combineLatest(lockQueries.map((c) => c(accountId)))
: of([] as Vec<PalletBalancesBalanceLock>[]),
reserveQueries.length
? api.queryMulti<[...(Vec<PalletBalancesReserveData>)[]]>(reserveQueries)
? combineLatest(reserveQueries.map((c) => c(accountId)))
: of([] as Vec<PalletBalancesReserveData>[])
]).pipe(
map(([opt, locks, reserves]): ResultBalance => {
@@ -215,23 +210,23 @@ function queryCurrent (api: DeriveApi, accountId: AccountId, balanceInstances: s
* });
* ```
*/
export function all (instanceId: string, api: DeriveApi): (address: AccountIndex | AccountId | Address | string) => Observable<DeriveBalancesAll> {
export function all (instanceId: string, api: DeriveApi): (address: AccountId | string) => Observable<DeriveBalancesAll> {
const balanceInstances = api.registry.getModuleInstances(api.runtimeVersion.specName.toString(), 'balances');
return memo(instanceId, (address: AccountIndex | AccountId | Address | string): Observable<DeriveBalancesAll> =>
api.derive.balances.account(address).pipe(
switchMap((account): Observable<Result> =>
(!account.accountId.isEmpty
? combineLatest([
of(account),
api.derive.chain.bestNumber(),
isFunction(api.query.system?.account) || isFunction(api.query.balances?.account)
? queryCurrent(api, account.accountId, balanceInstances)
: queryOld(api, account.accountId)
])
: of([account, api.registry.createType('BlockNumber'), [null, [], []]])
)
return memo(instanceId, (address: AccountId | string): Observable<DeriveBalancesAll> =>
combineLatest([
api.derive.balances.account(address),
isFunction(api.query.system?.account) || isFunction(api.query.balances?.account)
? queryCurrent(api, address, balanceInstances)
: queryOld(api, address)
]).pipe(
switchMap(([account, locks]) =>
combineLatest([
of(account),
of(locks),
api.derive.chain.bestNumber()
])
),
map((result): DeriveBalancesAll => calcBalances(api, result))
map((result) => calcBalances(api, result))
));
}
@@ -156,6 +156,6 @@ describe('bounties derive', () => {
expect(result).toHaveLength(2);
expect(result[0].proposals).toHaveLength(0);
expect(result[1].proposals).toHaveLength(1);
expect(result[1].proposals[0].proposal.method).toEqual('approveBounty');
expect(result[1].proposals[0].proposal && result[1].proposals[0].proposal.method).toEqual('approveBounty');
});
});
+3 -1
View File
@@ -23,7 +23,9 @@ function parseResult ([maybeBounties, maybeDescriptions, ids, bountyProposals]:
bounty: bounty.unwrap(),
description: maybeDescriptions[index].unwrapOrDefault().toUtf8(),
index: ids[index],
proposals: bountyProposals.filter((bountyProposal) => ids[index].eq(bountyProposal.proposal.args[0]))
proposals: bountyProposals.filter((bountyProposal) =>
bountyProposal.proposal && ids[index].eq(bountyProposal.proposal.args[0])
)
});
}
});
@@ -7,5 +7,7 @@ export function filterBountiesProposals (api: DeriveApi, allProposals: DeriveCol
const bountyTxBase = api.tx.bounties ? api.tx.bounties : api.tx.treasury;
const bountyProposalCalls = [bountyTxBase.approveBounty, bountyTxBase.closeBounty, bountyTxBase.proposeCurator, bountyTxBase.unassignCurator];
return allProposals.filter((proposal) => bountyProposalCalls.find((bountyCall) => bountyCall.is(proposal.proposal)));
return allProposals.filter((proposal) => bountyProposalCalls.find((bountyCall) =>
proposal.proposal && bountyCall.is(proposal.proposal))
);
}
+1 -1
View File
@@ -6,8 +6,8 @@ import type { AnyFunction } from '@polkadot/types/types';
import type { ExactDerive } from './derive';
import type { DeriveApi } from './types';
import { lazyDeriveSection } from './util/lazy';
import { derive } from './derive';
import { lazyDeriveSection } from './util';
export * from './derive';
export * from './type';
+10 -16
View File
@@ -21,17 +21,13 @@ export type { Hash, Proposal, Votes } from '@polkadot/types/interfaces';
type Result = [(Hash | Uint8Array | string)[], (Option<Proposal> | null)[], Option<Votes>[]];
function parse (api: DeriveApi, [hashes, proposals, votes]: Result): DeriveCollectiveProposal[] {
return proposals
.map((o, index): DeriveCollectiveProposal | null =>
o && o.isSome
? {
hash: api.registry.createType('Hash', hashes[index]),
proposal: o.unwrap(),
votes: votes[index].unwrapOr(null)
}
: null
)
.filter((proposal): proposal is DeriveCollectiveProposal => !!proposal);
return proposals.map((o, index): DeriveCollectiveProposal => ({
hash: api.registry.createType('Hash', hashes[index]),
proposal: o && o.isSome
? o.unwrap()
: null,
votes: votes[index].unwrapOr(null)
}));
}
function _proposalsFrom (api: DeriveApi, query: DeriveApi['query']['council'], hashes: (Hash | Uint8Array | string)[]): Observable<DeriveCollectiveProposal[]> {
@@ -41,11 +37,9 @@ function _proposalsFrom (api: DeriveApi, query: DeriveApi['query']['council'], h
// this should simply be api.query[section].proposalOf.multi<Option<Proposal>>(hashes),
// however we have had cases on Edgeware where the indices have moved around after an
// upgrade, which results in invalid on-chain data
combineLatest(hashes.map((h) =>
query.proposalOf<Option<Proposal>>(h).pipe(
catchError(() => of(null))
)
)),
query.proposalOf.multi<Option<Proposal>>(hashes).pipe(
catchError(() => of(hashes.map(() => null)))
),
query.voting.multi<Option<Votes>>(hashes)
])
: of<Result>([[], [], []])
@@ -8,7 +8,7 @@ import type { DeriveApi, DeriveContributions } from '../types';
import { BehaviorSubject, combineLatest, EMPTY, map, of, startWith, switchMap, tap, toArray } from 'rxjs';
import { arrayFlatten, isFunction } from '@polkadot/util';
import { arrayFlatten, isFunction, nextTick } from '@polkadot/util';
import { memo } from '../util';
import { extractContributed } from './util';
@@ -67,11 +67,11 @@ function _getKeysPaged (api: DeriveApi, childKey: string): Observable<StorageKey
api.rpc.childstate.getKeysPaged(childKey, '0x', PAGE_SIZE_K, startKey)
),
tap((keys): void => {
setTimeout((): void => {
nextTick((): void => {
keys.length === PAGE_SIZE_K
? subject.next(keys[PAGE_SIZE_K - 1].toHex())
: subject.complete();
}, 0);
});
}),
toArray(), // toArray since we want to startSubject to be completed
map((keyArr: StorageKey[][]) => arrayFlatten(keyArr))
@@ -47,7 +47,7 @@ function queryQueue (api: DeriveApi): Observable<DeriveDispatch[]> {
);
}
function schedulerEntries (api: DeriveApi): Observable<[BlockNumber[], (Option<PalletSchedulerScheduledV3 | Scheduled>[] | null)[]]> {
function schedulerEntries (api: DeriveApi): Observable<[BlockNumber[], Option<PalletSchedulerScheduledV3 | Scheduled>[][]]> {
// We don't get entries, but rather we get the keys (triggered via finished referendums) and
// the subscribe to those keys - this means we pickup when the schedulers actually executes
// at a block, the entry for that block will become empty
@@ -64,12 +64,11 @@ function schedulerEntries (api: DeriveApi): Observable<[BlockNumber[], (Option<P
// this should simply be api.query.scheduler.agenda.multi,
// however we have had cases on Darwinia where the indices have moved around after an
// upgrade, which results in invalid on-chain data
combineLatest(blockNumbers.map((blockNumber) =>
// this does create an issue since it discards all at that block
api.query.scheduler.agenda(blockNumber).pipe(catchError(() => of(null)))
))
api.query.scheduler.agenda.multi(blockNumbers).pipe(
catchError(() => of(blockNumbers.map(() => [])))
)
])
: of<[BlockNumber[], null[]]>([[], []]);
: of<[BlockNumber[], Option<PalletSchedulerScheduledV3 | Scheduled>[][]]>([[], []]);
})
);
}
+28 -20
View File
@@ -3,7 +3,7 @@
import type { Observable } from 'rxjs';
import type { u32, Vec } from '@polkadot/types';
import type { AccountId, Balance, BlockNumber } from '@polkadot/types/interfaces';
import type { AccountId32, Balance, BlockNumber } from '@polkadot/types/interfaces';
import type { PalletElectionsPhragmenSeatHolder } from '@polkadot/types/lookup';
import type { ITuple } from '@polkadot/types/types';
import type { DeriveApi } from '../types';
@@ -14,31 +14,31 @@ import { combineLatest, map, of } from 'rxjs';
import { memo } from '../util';
// SeatHolder is current tuple is 2.x-era Substrate
type Member = PalletElectionsPhragmenSeatHolder | ITuple<[AccountId, Balance]>;
type Member = PalletElectionsPhragmenSeatHolder | ITuple<[AccountId32, Balance]>;
type Candidate = AccountId | ITuple<[AccountId, Balance]>;
type Candidate = AccountId32 | ITuple<[AccountId32, Balance]>;
function isSeatHolder (value: Member): value is PalletElectionsPhragmenSeatHolder {
return !Array.isArray(value);
}
function isCandidateTuple (value: Candidate): value is ITuple<[AccountId, Balance]> {
function isCandidateTuple (value: Candidate): value is ITuple<[AccountId32, Balance]> {
return Array.isArray(value);
}
function getAccountTuple (value: Member): [AccountId, Balance] {
function getAccountTuple (value: Member): [AccountId32, Balance] {
return isSeatHolder(value)
? [value.who, value.stake]
: value;
}
function getCandidate (value: Candidate): AccountId {
function getCandidate (value: Candidate): AccountId32 {
return isCandidateTuple(value)
? value[0]
: value;
}
function sortAccounts ([, balanceA]: [AccountId, Balance], [, balanceB]: [AccountId, Balance]): number {
function sortAccounts ([, balanceA]: [AccountId32, Balance], [, balanceB]: [AccountId32, Balance]): number {
return balanceB.cmp(balanceA);
}
@@ -67,6 +67,24 @@ function getModules (api: DeriveApi): [string, string | null] {
return [council, elections];
}
function queryAll (api: DeriveApi, council: string, elections: string): Observable<[AccountId32[], Candidate[], Member[], Member[]]> {
return api.queryMulti<[Vec<AccountId32>, Vec<Candidate>, Vec<Member>, Vec<Member>]>([
api.query[council as 'council'].members,
api.query[elections as 'phragmenElection'].candidates,
api.query[elections as 'phragmenElection'].members,
api.query[elections as 'phragmenElection'].runnersUp
]);
}
function queryCouncil (api: DeriveApi, council: string): Observable<[AccountId32[], Candidate[], Member[], Member[]]> {
return combineLatest([
api.query[council as 'council'].members(),
of<Candidate[]>([]),
of<Member[]>([]),
of<Member[]>([])
]);
}
/**
* @name info
* @returns An object containing the combined results of the storage queries for
@@ -86,18 +104,8 @@ export function info (instanceId: string, api: DeriveApi): () => Observable<Deri
return (
elections
? api.queryMulti<[Vec<AccountId>, Vec<Candidate>, Vec<Member>, Vec<Member>]>([
api.query[council].members,
api.query[elections].candidates,
api.query[elections].members,
api.query[elections].runnersUp
])
: combineLatest([
api.query[council].members<Vec<AccountId>>(),
of<Candidate[]>([]),
of<Member[]>([]),
of<Member[]>([])
])
? queryAll(api, council, elections)
: queryCouncil(api, council)
).pipe(
map(([councilMembers, candidates, members, runnersUp]): DeriveElectionsInfo => ({
...getConstants(api, elections),
@@ -105,7 +113,7 @@ export function info (instanceId: string, api: DeriveApi): () => Observable<Deri
candidates: candidates.map(getCandidate),
members: members.length
? members.map(getAccountTuple).sort(sortAccounts)
: councilMembers.map((a): [AccountId, Balance] => [a, api.registry.createType('Balance')]),
: councilMembers.map((a): [AccountId32, Balance] => [a, api.registry.createType('Balance')]),
runnersUp: runnersUp.map(getAccountTuple).sort(sortAccounts)
}))
);
+1 -1
View File
@@ -15,7 +15,7 @@ import { ExactDerive } from '.';
const testFunction = (api: ApiRx): any => {
return <S extends keyof ExactDerive, M extends keyof (typeof api.derive[S])>(section: S, method: M, inputs: any[]): void => {
describe(`derive.${section}.${method}`, (): void => {
describe(`derive.${section}.${method as string}`, (): void => {
it('should be a function', (): void => {
expect(typeof api.derive[section][method]).toBe('function');
});
+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: '8.6.1' };
export const packageInfo = { name: '@polkadot/api-derive', path: 'auto', type: 'auto', version: '8.7.1' };
+5 -3
View File
@@ -39,12 +39,14 @@ export function keysMulti (instanceId: string, api: DeriveApi): (stashIds: (Uint
combineLatest([
of(queuedKeys),
api.consts.session?.dedupKeyPrefix
? api.query.session.nextKeys.multi(stashIds.map((stashId) => [api.consts.session.dedupKeyPrefix, stashId]))
: api.query.session.nextKeys.multi(stashIds)
? api.query.session.nextKeys.multi(stashIds.map((s) => [api.consts.session.dedupKeyPrefix, s]))
: combineLatest(stashIds.map((s) => api.query.session.nextKeys(s)))
])
),
map(([queuedKeys, nextKeys]) =>
stashIds.map((stashId, index) => extractsIds(stashId, queuedKeys, nextKeys[index]))
stashIds.map((stashId, index) =>
extractsIds(stashId, queuedKeys, nextKeys[index])
)
)
)
: of([])
@@ -2,12 +2,10 @@
// SPDX-License-Identifier: Apache-2.0
import type { Observable } from 'rxjs';
import type { QueryableStorageMultiArg } from '@polkadot/api-base/types';
import type { EraIndex } from '@polkadot/types/interfaces';
import type { PalletStakingExposure } from '@polkadot/types/lookup';
import type { DeriveApi, DeriveOwnExposure } from '../types';
import { map, of } from 'rxjs';
import { combineLatest, map, of } from 'rxjs';
import { firstMemo, memo } from '../util';
import { erasHistoricApplyAccount } from './util';
@@ -16,12 +14,12 @@ export function _ownExposures (instanceId: string, api: DeriveApi): (accountId:
// eslint-disable-next-line @typescript-eslint/no-unused-vars
return memo(instanceId, (accountId: Uint8Array | string, eras: EraIndex[], _withActive: boolean): Observable<DeriveOwnExposure[]> =>
eras.length
? api.queryMulti<PalletStakingExposure[]>([
...eras.map((e): QueryableStorageMultiArg<'rxjs'> => [api.query.staking.erasStakersClipped, [e, accountId]]),
...eras.map((e): QueryableStorageMultiArg<'rxjs'> => [api.query.staking.erasStakers, [e, accountId]])
? combineLatest([
combineLatest(eras.map((e) => api.query.staking.erasStakersClipped(e, accountId))),
combineLatest(eras.map((e) => api.query.staking.erasStakers(e, accountId)))
]).pipe(
map((all): DeriveOwnExposure[] =>
eras.map((era, index) => ({ clipped: all[index], era, exposure: all[eras.length + index] }))
map(([clp, exp]): DeriveOwnExposure[] =>
eras.map((era, index) => ({ clipped: clp[index], era, exposure: exp[index] }))
)
)
: of([])
+8 -10
View File
@@ -2,13 +2,11 @@
// SPDX-License-Identifier: Apache-2.0
import type { Observable } from 'rxjs';
import type { QueryableStorageMultiArg } from '@polkadot/api-base/types';
import type { Option } from '@polkadot/types';
import type { BalanceOf, EraIndex, Perbill } from '@polkadot/types/interfaces';
import type { ITuple } from '@polkadot/types/types';
import type { DeriveApi, DeriveStakerSlashes } from '../types';
import { map, of } from 'rxjs';
import { combineLatest, map, of } from 'rxjs';
import { firstMemo, memo } from '../util';
import { erasHistoricApplyAccount } from './util';
@@ -17,16 +15,16 @@ export function _ownSlashes (instanceId: string, api: DeriveApi): (accountId: Ui
// eslint-disable-next-line @typescript-eslint/no-unused-vars
return memo(instanceId, (accountId: Uint8Array | string, eras: EraIndex[], _withActive: boolean): Observable<DeriveStakerSlashes[]> =>
eras.length
? api.queryMulti<(Option<ITuple<[Perbill, BalanceOf]>> | Option<BalanceOf>)[]>([
...eras.map((e): QueryableStorageMultiArg<'rxjs'> => [api.query.staking.validatorSlashInEra, [e, accountId]]),
...eras.map((e): QueryableStorageMultiArg<'rxjs'> => [api.query.staking.nominatorSlashInEra, [e, accountId]])
? combineLatest([
combineLatest(eras.map((e) => api.query.staking.validatorSlashInEra(e, accountId))),
combineLatest(eras.map((e) => api.query.staking.nominatorSlashInEra(e, accountId)))
]).pipe(
map((values): DeriveStakerSlashes[] =>
map(([vals, noms]): DeriveStakerSlashes[] =>
eras.map((era, index) => ({
era,
total: values[index].isSome
? (values[index].unwrap() as ITuple<[Perbill, BalanceOf]>)[1]
: (values[index + eras.length].unwrapOrDefault() as BalanceOf)
total: vals[index].isSome
? (vals[index].unwrap() as ITuple<[Perbill, BalanceOf]>)[1]
: (noms[index].unwrapOrDefault() as BalanceOf)
}))
)
)
+6 -6
View File
@@ -34,7 +34,7 @@ function getLedgers (api: DeriveApi, optIds: (Option<AccountId> | null)[], { wit
return (
ids.length
? api.query.staking.ledger.multi(ids)
? combineLatest(ids.map((s) => api.query.staking.ledger(s)))
: of([])
).pipe(
map((optLedgers): Option<PalletStakingStakingLedger>[] => {
@@ -57,19 +57,19 @@ function getStashInfo (api: DeriveApi, stashIds: AccountId[], activeEra: EraInde
return combineLatest([
withController || withLedger
? api.query.staking.bonded.multi(stashIds)
? combineLatest(stashIds.map((s) => api.query.staking.bonded(s)))
: of(stashIds.map(() => null)),
withNominations
? api.query.staking.nominators.multi(stashIds)
? combineLatest(stashIds.map((s) => api.query.staking.nominators(s)))
: of(stashIds.map(() => emptyNoms)),
withDestination
? api.query.staking.payee.multi(stashIds)
? combineLatest(stashIds.map((s) => api.query.staking.payee(s)))
: of(stashIds.map(() => emptyRewa)),
withPrefs
? api.query.staking.validators.multi(stashIds)
? combineLatest(stashIds.map((s) => api.query.staking.validators(s)))
: of(stashIds.map(() => emptyPrefs)),
withExposure
? api.query.staking.erasStakers.multi(stashIds.map((stashId) => [activeEra, stashId]))
? combineLatest(stashIds.map((s) => api.query.staking.erasStakers(activeEra, s)))
: of(stashIds.map(() => emptyExpo))
]);
}
+3 -3
View File
@@ -9,7 +9,7 @@ import type { DeriveApi } from '../types';
import { BehaviorSubject, combineLatest, map, of, switchMap, tap, toArray } from 'rxjs';
import { arrayChunk, arrayFlatten } from '@polkadot/util';
import { arrayChunk, arrayFlatten, nextTick } from '@polkadot/util';
import { memo } from '../util';
@@ -28,13 +28,13 @@ function chunkEras <T> (eras: EraIndex[], fn: (eras: EraIndex[]) => Observable<T
return subject.pipe(
switchMap(fn),
tap((): void => {
setTimeout((): void => {
nextTick((): void => {
index++;
index === chunked.length
? subject.complete()
: subject.next(chunked[index]);
}, 0);
});
}),
toArray(),
map(arrayFlatten)
+12 -4
View File
@@ -23,15 +23,23 @@ function parseResult (api: DeriveApi, { allIds, allProposals, approvalIds, counc
const approvals: DeriveTreasuryProposal[] = [];
const proposals: DeriveTreasuryProposal[] = [];
const councilTreasury = councilProposals.filter(({ proposal }) =>
api.tx.treasury.approveProposal.is(proposal) ||
api.tx.treasury.rejectProposal.is(proposal)
proposal && (
api.tx.treasury.approveProposal.is(proposal) ||
api.tx.treasury.rejectProposal.is(proposal)
)
);
allIds.forEach((id, index): void => {
if (allProposals[index].isSome) {
const council = councilTreasury
.filter(({ proposal }) => id.eq(proposal.args[0]))
.sort((a, b) => a.proposal.method.localeCompare(b.proposal.method));
.filter(({ proposal }) => proposal && id.eq(proposal.args[0]))
.sort((a, b) =>
a.proposal && b.proposal
? a.proposal.method.localeCompare(b.proposal.method)
: a.proposal
? -1
: 1
);
const isApproval = approvalIds.some((approvalId) => approvalId.eq(id));
const derived = { council, id, proposal: allProposals[index].unwrap() };
+1 -1
View File
@@ -40,7 +40,7 @@ export interface DeriveContractFees {
export interface DeriveCollectiveProposal {
hash: Hash;
proposal: Proposal;
proposal: Proposal | null;
votes: Votes | null;
}
+1
View File
@@ -7,3 +7,4 @@ export * from './approvalFlagsToBools';
export * from './cache';
export * from './cacheImpl';
export * from './first';
export * from './lazy';
+17 -17
View File
@@ -20,29 +20,29 @@
"./detectPackage.cjs"
],
"type": "module",
"version": "8.6.1",
"version": "8.7.1",
"main": "index.js",
"dependencies": {
"@babel/runtime": "^7.18.3",
"@polkadot/api-augment": "8.6.1",
"@polkadot/api-base": "8.6.1",
"@polkadot/api-derive": "8.6.1",
"@polkadot/keyring": "^9.3.1",
"@polkadot/rpc-augment": "8.6.1",
"@polkadot/rpc-core": "8.6.1",
"@polkadot/rpc-provider": "8.6.1",
"@polkadot/types": "8.6.1",
"@polkadot/types-augment": "8.6.1",
"@polkadot/types-codec": "8.6.1",
"@polkadot/types-create": "8.6.1",
"@polkadot/types-known": "8.6.1",
"@polkadot/util": "^9.3.1",
"@polkadot/util-crypto": "^9.3.1",
"@polkadot/api-augment": "8.7.1",
"@polkadot/api-base": "8.7.1",
"@polkadot/api-derive": "8.7.1",
"@polkadot/keyring": "^9.4.1",
"@polkadot/rpc-augment": "8.7.1",
"@polkadot/rpc-core": "8.7.1",
"@polkadot/rpc-provider": "8.7.1",
"@polkadot/types": "8.7.1",
"@polkadot/types-augment": "8.7.1",
"@polkadot/types-codec": "8.7.1",
"@polkadot/types-create": "8.7.1",
"@polkadot/types-known": "8.7.1",
"@polkadot/util": "^9.4.1",
"@polkadot/util-crypto": "^9.4.1",
"eventemitter3": "^4.0.7",
"rxjs": "^7.5.5"
},
"devDependencies": {
"@polkadot/api-augment": "8.6.1",
"@polkadot/types-support": "8.6.1"
"@polkadot/api-augment": "8.7.1",
"@polkadot/types-support": "8.7.1"
}
}
+126 -24
View File
@@ -19,7 +19,7 @@ import { getAvailableDerives } from '@polkadot/api-derive';
import { memo, RpcCore } from '@polkadot/rpc-core';
import { WsProvider } from '@polkadot/rpc-provider';
import { expandMetadata, Metadata, TypeRegistry, unwrapStorageType } from '@polkadot/types';
import { arrayChunk, arrayFlatten, assert, assertReturn, BN, BN_ZERO, compactStripLength, lazyMethod, lazyMethods, logger, objectSpread, u8aToHex } from '@polkadot/util';
import { arrayChunk, arrayFlatten, assert, assertReturn, BN, BN_ZERO, compactStripLength, lazyMethod, lazyMethods, logger, nextTick, objectSpread, u8aToHex } from '@polkadot/util';
import { createSubmittable } from '../submittable';
import { augmentObject } from '../util/augmentObject';
@@ -43,7 +43,8 @@ interface FullDecoration<ApiType extends ApiTypes> {
// the max amount of keys/values that we will retrieve at once
const PAGE_SIZE_K = 1000; // limit aligned with the 1k on the node (trie lookups are heavy)
const PAGE_SIZE_V = 250; // limited since the data may be very large (e.g. misfiring elections)
const PAGE_SIZE_V = 250; // limited since the data may be > 16MB (e.g. misfiring elections)
const PAGE_SIZE_Q = 50; // queue of pending storage queries (mapped together, next tick)
const l = logger('api/init');
@@ -58,6 +59,10 @@ export abstract class Decorate<ApiType extends ApiTypes> extends Events {
#registry: Registry;
#storageGetQ: [[StorageEntry, ...unknown[]][], Observable<Codec[]>][] = [];
#storageSubQ: [[StorageEntry, ...unknown[]][], Observable<Codec[]>][] = [];
// HACK Use BN import so decorateDerive works... yes, wtf.
protected __phantom = new BN(0);
@@ -401,18 +406,35 @@ export abstract class Decorate<ApiType extends ApiTypes> extends Events {
// only be called if supportMulti is true
protected _decorateMulti<ApiType extends ApiTypes> (decorateMethod: DecorateMethod<ApiType>): QueryableStorageMulti<ApiType> {
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
return decorateMethod((calls: QueryableStorageMultiArg<ApiType>[]): Observable<Codec[]> =>
(this.hasSubscriptions
return decorateMethod((keys: QueryableStorageMultiArg<ApiType>[]): Observable<Codec[]> => {
const query = this.hasSubscriptions
? this._rpcCore.state.subscribeStorage
: this._rpcCore.state.queryStorageAt)(
calls.map((args: QueryableStorageMultiArg<ApiType>) =>
Array.isArray(args)
? args[0].creator.meta.type.isPlain
? [args[0].creator]
: args[0].creator.meta.type.asMap.hashers.length === 1
? [args[0].creator, args.slice(1)]
: [args[0].creator, ...args.slice(1)]
: [args.creator])));
: this._rpcCore.state.queryStorageAt;
const calls = keys.map((args: QueryableStorageMultiArg<ApiType>): [StorageEntry, ...unknown[]] =>
Array.isArray(args)
? args[0].creator.meta.type.isPlain
? [args[0].creator]
: args[0].creator.meta.type.asMap.hashers.length === 1
? [args[0].creator, args.slice(1)]
: [args[0].creator, ...args.slice(1)]
: [args.creator]
);
// NOTE Skipping
//
// // with a smaller number of keys we combine this into a queue
// // along with other ongoing queries
// if (calls.length <= PAGE_SIZE_Q) {
// const queue = this.hasSubscriptions
// ? this.#storageSubQ
// : this.#storageGetQ;
// return this._queuedStorage(calls, queue, query);
// }
return query(calls);
});
}
protected _decorateMultiAt<ApiType extends ApiTypes> (atApi: ApiDecoration<ApiType>, decorateMethod: DecorateMethod<ApiType>, blockHash: Uint8Array | string): QueryableStorageMulti<ApiType> {
@@ -633,18 +655,80 @@ export abstract class Decorate<ApiType extends ApiTypes> extends Events {
return this._decorateFunctionMeta(creator as unknown as MetaDecoration, decorated) as unknown as QueryableStorageEntry<ApiType>;
}
private _queuedStorage (calls: [StorageEntry, ...unknown[]][], queue: [[StorageEntry, ...unknown[]][], Observable<Codec[]>][], query: (calls: unknown[]) => Observable<Codec[]>): Observable<Codec[]> {
const count = calls.length;
let queueIdx = queue.length - 1;
if (queueIdx === -1 || !queue[queueIdx] || queue[queueIdx][0].length === PAGE_SIZE_Q || count >= PAGE_SIZE_Q) {
queueIdx++;
queue.push([[], from(
// Defer to the next tick - this aligns with nextTick in @polkadot/util,
// however since we return a value here, we don't re-use what is there
Promise
.resolve()
.then((): [StorageEntry, ...unknown[]][] => {
const [calls] = queue[queueIdx];
delete queue[queueIdx];
return calls;
})
.catch(() => [])
).pipe(
switchMap((calls) =>
query(calls)
)
)]);
}
const valueIdx = queue[queueIdx][0].length;
const valueObs = queue[queueIdx][1];
for (let i = 0; i < count; i++) {
queue[queueIdx][0].push(calls[i]);
}
return valueObs.pipe(
map((values): Codec[] => {
if (valueIdx === 0 && values.length === count) {
return values;
} else if (count === 1) {
return [values[valueIdx]];
}
const result = new Array<Codec>(count);
for (let i = 0; i < count; i++) {
result[i] = values[valueIdx + i];
}
return result;
})
);
}
private _queuedStorageSingle (call: [StorageEntry, ...unknown[]], queue: [[StorageEntry, ...unknown[]][], Observable<Codec[]>][], query: (calls: unknown[]) => Observable<Codec[]>): Observable<Codec> {
return this._queuedStorage([call], queue, query).pipe(
map(([first]) => first)
);
}
// Decorate the base storage call. In the case or rxjs or promise-without-callback (await)
// we make a subscription, alternatively we push this through a single-shot query
private _decorateStorageCall<ApiType extends ApiTypes> (creator: StorageEntry, decorateMethod: DecorateMethod<ApiType>): ReturnType<DecorateMethod<ApiType>> {
return decorateMethod((...args: unknown[]): Observable<Codec> => {
return this.hasSubscriptions
? this._rpcCore.state.subscribeStorage<[Codec]>([extractStorageArgs(this.#registry, creator, args)]).pipe(
map(([data]) => data) // extract first/only result from list
)
: this._rpcCore.state.getStorage(extractStorageArgs(this.#registry, creator, args));
const call = extractStorageArgs(this.#registry, creator, args);
if (!this.hasSubscriptions) {
return this._rpcCore.state.getStorage(call);
}
return this._queuedStorageSingle(call, this.#storageSubQ, this._rpcCore.state.subscribeStorage);
}, {
methodName: creator.method,
overrideNoSub: (...args: unknown[]) => this._rpcCore.state.getStorage(extractStorageArgs(this.#registry, creator, args))
overrideNoSub: (...args: unknown[]) =>
this._queuedStorageSingle(extractStorageArgs(this.#registry, creator, args), this.#storageGetQ, this._rpcCore.state.queryStorageAt)
});
}
@@ -667,15 +751,33 @@ export abstract class Decorate<ApiType extends ApiTypes> extends Events {
return of([]);
}
const queryCall = this.hasSubscriptions && !blockHash
const query = this.hasSubscriptions && !blockHash
? this._rpcCore.state.subscribeStorage
: this._rpcCore.state.queryStorageAt;
// NOTE Skipping
//
// // Where we have a limited number of multi keys, we combine
// // this query with others that precedes it (same tick)
// if (!blockHash && keys.length <= PAGE_SIZE_Q) {
// const queue = this.hasSubscriptions
// ? this.#storageSubQ
// : this.#storageGetQ;
// return this._queuedStorage(keys, queue, query);
// }
if (keys.length <= PAGE_SIZE_V) {
return blockHash
? query(keys, blockHash)
: query(keys);
}
return combineLatest(
arrayChunk(keys, PAGE_SIZE_V).map((k) =>
blockHash
? queryCall(k, blockHash)
: queryCall(k)
? query(k, blockHash)
: query(k)
)
).pipe(
map(arrayFlatten)
@@ -696,11 +798,11 @@ export abstract class Decorate<ApiType extends ApiTypes> extends Events {
switchMap(getKeysPaged),
map((keys) => keys.map(setMeta)),
tap((keys): void => {
setTimeout((): void => {
nextTick((): void => {
keys.length === PAGE_SIZE_K
? startSubject.next(keys[PAGE_SIZE_K - 1].toHex())
: startSubject.complete();
}, 0);
});
}),
toArray(), // toArray since we want to startSubject to be completed
map(arrayFlatten)
+8
View File
@@ -2,6 +2,7 @@
// SPDX-License-Identifier: Apache-2.0
import type { RpcInterface } from '@polkadot/rpc-core/types';
import type { ProviderInterface } from '@polkadot/rpc-provider/types';
import type { Text } from '@polkadot/types';
import type { Hash, RuntimeVersion } from '@polkadot/types/interfaces';
import type { Metadata } from '@polkadot/types/metadata';
@@ -188,6 +189,13 @@ export abstract class Getters<ApiType extends ApiTypes> extends Init<ApiType> im
return assertResult(this._rx as Pick<ApiInterfaceRx, 'tx' | 'rpc' | 'query'>);
}
/**
* @description Returns the underlying provider stats
*/
public get stats (): ProviderInterface['stats'] | undefined {
return this._rpcCore.provider.stats;
}
/**
* @description The type of this API instance, either 'rxjs' or 'promise'
*/
+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: '8.6.1' };
export const packageInfo = { name: '@polkadot/api', path: 'auto', type: 'auto', version: '8.7.1' };
+4 -3
View File
@@ -7,7 +7,7 @@ import type { DecorateFn, DecorateMethodOptions, ObsInnerType, StorageEntryPromi
import { catchError, EMPTY, Subscription, tap } from 'rxjs';
import { assert, isFunction } from '@polkadot/util';
import { assert, isFunction, nextTick } from '@polkadot/util';
interface Tracker<T> {
reject: (value: Error) => Observable<never>;
@@ -75,7 +75,8 @@ function decorateCall<M extends DecorateFn<CodecReturnType<M>>> (method: M, args
)
.subscribe((result): void => {
tracker.resolve(result);
setTimeout(() => subscription.unsubscribe(), 0);
nextTick(() => subscription.unsubscribe());
});
});
}
@@ -94,7 +95,7 @@ function decorateSubscribe<M extends DecorateFn<CodecReturnType<M>>> (method: M,
)
.subscribe((result): void => {
// queue result (back of queue to clear current)
setTimeout(() => resultCb(result) as void, 0);
nextTick(() => resultCb(result));
});
});
}
+5 -5
View File
@@ -20,13 +20,13 @@
"./detectPackage.cjs"
],
"type": "module",
"version": "8.6.1",
"version": "8.7.1",
"main": "index.js",
"dependencies": {
"@babel/runtime": "^7.18.3",
"@polkadot/rpc-core": "8.6.1",
"@polkadot/types": "8.6.1",
"@polkadot/types-codec": "8.6.1",
"@polkadot/util": "^9.3.1"
"@polkadot/rpc-core": "8.7.1",
"@polkadot/types": "8.7.1",
"@polkadot/types-codec": "8.7.1",
"@polkadot/util": "^9.4.1"
}
}
+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: '8.6.1' };
export const packageInfo = { name: '@polkadot/rpc-augment', path: 'auto', type: 'auto', version: '8.7.1' };
+7 -7
View File
@@ -20,18 +20,18 @@
"./detectPackage.cjs"
],
"type": "module",
"version": "8.6.1",
"version": "8.7.1",
"main": "index.js",
"dependencies": {
"@babel/runtime": "^7.18.3",
"@polkadot/rpc-augment": "8.6.1",
"@polkadot/rpc-provider": "8.6.1",
"@polkadot/types": "8.6.1",
"@polkadot/util": "^9.3.1",
"@polkadot/rpc-augment": "8.7.1",
"@polkadot/rpc-provider": "8.7.1",
"@polkadot/types": "8.7.1",
"@polkadot/util": "^9.4.1",
"rxjs": "^7.5.5"
},
"devDependencies": {
"@polkadot/keyring": "^9.3.1",
"@polkadot/rpc-augment": "8.6.1"
"@polkadot/keyring": "^9.4.1",
"@polkadot/rpc-augment": "8.7.1"
}
}
+16 -6
View File
@@ -87,7 +87,7 @@ export class RpcCore {
#getBlockRegistry?: (blockHash: Uint8Array) => Promise<{ registry: Registry }>;
#getBlockHash?: (blockNumber: AnyNumber) => Promise<Uint8Array>;
readonly #storageCache = new Map<string, string | null>();
readonly #storageCache = new Map<string, Codec>();
public readonly mapping = new Map<string, DefinitionRpcExt>();
@@ -418,28 +418,38 @@ export class RpcCore {
}, []);
}
private _formatStorageSetEntry (registry: Registry, blockHash: string, key: StorageKey, changes: [string, string | null][], witCache: boolean, entryIndex: number): Codec {
private _formatStorageSetEntry (registry: Registry, blockHash: string, key: StorageKey, changes: [string, string | null][], withCache: boolean, entryIndex: number): Codec {
const hexKey = key.toHex();
const found = changes.find(([key]) => key === hexKey);
const isNotFound = isUndefined(found);
// if we don't find the value, this is our fallback
// - in the case of an array of values, fill the hole from the cache
// - if a single result value, don't fill - it is not an update hole
// - fallback to an empty option in all cases
const value = isUndefined(found)
? (witCache && this.#storageCache.get(hexKey)) || null
if (isNotFound && withCache) {
const cached = this.#storageCache.get(hexKey);
if (cached) {
return cached;
}
}
const value = isNotFound
? null
: found[1];
const isEmpty = isNull(value);
const input = isEmpty || isTreatAsHex(key)
? value
: u8aToU8a(value);
const codec = this._newType(registry, blockHash, key, input, isEmpty, entryIndex);
// store the retrieved result - the only issue with this cache is that there is no
// clearing of it, so very long running processes (not just a couple of hours, longer)
// will increase memory beyond what is allowed.
this.#storageCache.set(hexKey, value);
this.#storageCache.set(hexKey, codec);
return this._newType(registry, blockHash, key, input, isEmpty, entryIndex);
return codec;
}
private _newType (registry: Registry, blockHash: Uint8Array | string | null | undefined, key: StorageKey, input: string | Uint8Array | null, isEmpty: boolean, entryIndex = -1): Codec {
+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: '8.6.1' };
export const packageInfo = { name: '@polkadot/rpc-core', path: 'auto', type: 'auto', version: '8.7.1' };
+10 -10
View File
@@ -20,21 +20,21 @@
"./detectPackage.cjs"
],
"type": "module",
"version": "8.6.1",
"version": "8.7.1",
"main": "index.js",
"dependencies": {
"@babel/runtime": "^7.18.3",
"@polkadot/keyring": "^9.3.1",
"@polkadot/types": "8.6.1",
"@polkadot/types-support": "8.6.1",
"@polkadot/util": "^9.3.1",
"@polkadot/util-crypto": "^9.3.1",
"@polkadot/x-fetch": "^9.3.1",
"@polkadot/x-global": "^9.3.1",
"@polkadot/x-ws": "^9.3.1",
"@polkadot/keyring": "^9.4.1",
"@polkadot/types": "8.7.1",
"@polkadot/types-support": "8.7.1",
"@polkadot/util": "^9.4.1",
"@polkadot/util-crypto": "^9.4.1",
"@polkadot/x-fetch": "^9.4.1",
"@polkadot/x-global": "^9.4.1",
"@polkadot/x-ws": "^9.4.1",
"@substrate/connect": "0.7.5",
"eventemitter3": "^4.0.7",
"mock-socket": "^9.1.4",
"nock": "^13.2.4"
"nock": "^13.2.6"
}
}
+2 -1
View File
@@ -56,7 +56,7 @@ export class HttpProvider implements ProviderInterface {
this.#headers = headers;
this.#stats = {
active: { requests: 0, subscriptions: 0 },
total: { bytesRecv: 0, bytesSent: 0, cached: 0, requests: 0, subscriptions: 0, timeout: 0 }
total: { bytesRecv: 0, bytesSent: 0, cached: 0, errors: 0, requests: 0, subscriptions: 0, timeout: 0 }
};
}
@@ -169,6 +169,7 @@ export class HttpProvider implements ProviderInterface {
return decoded;
} catch (e) {
this.#stats.active.requests--;
this.#stats.total.errors++;
throw e;
}
+2 -2
View File
@@ -1,10 +1,10 @@
// Copyright 2017-2022 @polkadot/rpc-provider authors & contributors
// SPDX-License-Identifier: Apache-2.0
// Assuming all 1.5MB responses, we apply a default allowing for 576MB
// Assuming all 1.5MB responses, we apply a default allowing for 192MB
// cache space (depending on the historic queries this would vary, metadata
// for Kusama/Polkadot/Substrate falls between 600-750K, 2x for estimate)
const DEFAULT_CAPACITY = 384;
const DEFAULT_CAPACITY = 128;
class LRUNode {
public readonly key: string;
+1 -1
View File
@@ -3,4 +3,4 @@
// Do not edit, auto-generated by @polkadot/dev
export const packageInfo = { name: '@polkadot/rpc-provider', path: 'auto', type: 'auto', version: '8.6.1' };
export const packageInfo = { name: '@polkadot/rpc-provider', path: 'auto', type: 'auto', version: '8.7.1' };
+1
View File
@@ -71,6 +71,7 @@ export interface ProviderStats {
bytesRecv: number;
bytesSent: number;
cached: number;
errors: number;
requests: number;
subscriptions: number;
timeout: number;
+8 -2
View File
@@ -137,7 +137,7 @@ export class WsProvider implements ProviderInterface {
this.#websocket = null;
this.#stats = {
active: { requests: 0, subscriptions: 0 },
total: { bytesRecv: 0, bytesSent: 0, cached: 0, requests: 0, subscriptions: 0, timeout: 0 }
total: { bytesRecv: 0, bytesSent: 0, cached: 0, errors: 0, requests: 0, subscriptions: 0, timeout: 0 }
};
this.#timeout = timeout || DEFAULT_TIMEOUT_MS;
@@ -300,7 +300,7 @@ export class WsProvider implements ProviderInterface {
const [id, body] = this.#coder.encodeJson(method, params);
let resultPromise: Promise<T> | null = isCacheable
? this.#callCache.get(body) as Promise<T>
? this.#callCache.get(body)
: null;
if (!resultPromise) {
@@ -339,6 +339,8 @@ export class WsProvider implements ProviderInterface {
this.#stats.total.bytesSent += body.length;
this.#websocket.send(body);
} catch (error) {
this.#stats.total.errors++;
reject(error);
}
});
@@ -492,6 +494,8 @@ export class WsProvider implements ProviderInterface {
}
}
} catch (error) {
this.#stats.total.errors++;
handler.callback(error as Error, undefined);
}
@@ -520,6 +524,8 @@ export class WsProvider implements ProviderInterface {
handler.callback(null, result);
} catch (error) {
this.#stats.total.errors++;
handler.callback(error as Error, undefined);
}
};
+12 -12
View File
@@ -20,7 +20,7 @@
"./detectPackage.cjs"
],
"type": "module",
"version": "8.6.1",
"version": "8.7.1",
"main": "index.js",
"bin": {
"polkadot-types-chain-info": "./scripts/polkadot-types-chain-info.cjs",
@@ -33,17 +33,17 @@
"@babel/core": "^7.18.2",
"@babel/register": "^7.17.7",
"@babel/runtime": "^7.18.3",
"@polkadot/api": "8.6.1",
"@polkadot/api-augment": "8.6.1",
"@polkadot/rpc-augment": "8.6.1",
"@polkadot/rpc-provider": "8.6.1",
"@polkadot/types": "8.6.1",
"@polkadot/types-augment": "8.6.1",
"@polkadot/types-codec": "8.6.1",
"@polkadot/types-create": "8.6.1",
"@polkadot/types-support": "8.6.1",
"@polkadot/util": "^9.3.1",
"@polkadot/x-ws": "^9.3.1",
"@polkadot/api": "8.7.1",
"@polkadot/api-augment": "8.7.1",
"@polkadot/rpc-augment": "8.7.1",
"@polkadot/rpc-provider": "8.7.1",
"@polkadot/types": "8.7.1",
"@polkadot/types-augment": "8.7.1",
"@polkadot/types-codec": "8.7.1",
"@polkadot/types-create": "8.7.1",
"@polkadot/types-support": "8.7.1",
"@polkadot/util": "^9.4.1",
"@polkadot/x-ws": "^9.4.1",
"handlebars": "^4.7.7",
"websocket": "^1.0.34",
"yargs": "^17.5.1"
+3 -1
View File
@@ -50,7 +50,7 @@ function tsEnum (registry: Registry, definitions: Record<string, ModuleTypes>, {
const keys = named.map((def): string => {
const { info, lookupName, name = '', type } = def;
const getter = stringPascalCase(name.replace(' ', '_'));
const isComplex = [TypeDefInfo.Option, TypeDefInfo.Result, TypeDefInfo.Struct, TypeDefInfo.Tuple, TypeDefInfo.Vec, TypeDefInfo.VecFixed].includes(info);
const isComplex = [TypeDefInfo.Option, TypeDefInfo.Range, TypeDefInfo.RangeInclusive, TypeDefInfo.Result, TypeDefInfo.Struct, TypeDefInfo.Tuple, TypeDefInfo.Vec, TypeDefInfo.VecFixed].includes(info);
const asGetter = type === 'Null' || info === TypeDefInfo.DoNotConstruct
? ''
: createGetter(definitions, `as${getter}`, lookupName || (isComplex ? formatType(registry, definitions, info === TypeDefInfo.Struct ? def : type, imports, false) : type), imports);
@@ -61,6 +61,8 @@ function tsEnum (registry: Registry, definitions: Record<string, ModuleTypes>, {
switch (info) {
case TypeDefInfo.Compact:
case TypeDefInfo.Plain:
case TypeDefInfo.Range:
case TypeDefInfo.RangeInclusive:
case TypeDefInfo.Result:
case TypeDefInfo.Si:
case TypeDefInfo.Struct:
+1 -1
View File
@@ -3,4 +3,4 @@
// Do not edit, auto-generated by @polkadot/dev
export const packageInfo = { name: '@polkadot/typegen', path: 'auto', type: 'auto', version: '8.6.1' };
export const packageInfo = { name: '@polkadot/typegen', path: 'auto', type: 'auto', version: '8.7.1' };
+4 -4
View File
@@ -20,12 +20,12 @@
"./detectPackage.cjs"
],
"type": "module",
"version": "8.6.1",
"version": "8.7.1",
"main": "index.js",
"dependencies": {
"@babel/runtime": "^7.18.3",
"@polkadot/types": "8.6.1",
"@polkadot/types-codec": "8.6.1",
"@polkadot/util": "^9.3.1"
"@polkadot/types": "8.7.1",
"@polkadot/types-codec": "8.7.1",
"@polkadot/util": "^9.4.1"
}
}
+1 -1
View File
@@ -3,4 +3,4 @@
// Do not edit, auto-generated by @polkadot/dev
export const packageInfo = { name: '@polkadot/types-augment', path: 'auto', type: 'auto', version: '8.6.1' };
export const packageInfo = { name: '@polkadot/types-augment', path: 'auto', type: 'auto', version: '8.7.1' };
+6 -6
View File
@@ -20,16 +20,16 @@
"./detectPackage.cjs"
],
"type": "module",
"version": "8.6.1",
"version": "8.7.1",
"main": "index.js",
"dependencies": {
"@babel/runtime": "^7.18.3",
"@polkadot/util": "^9.3.1"
"@polkadot/util": "^9.4.1"
},
"devDependencies": {
"@polkadot/types": "8.6.1",
"@polkadot/types-augment": "8.6.1",
"@polkadot/types-support": "8.6.1",
"@polkadot/util-crypto": "^9.3.1"
"@polkadot/types": "8.7.1",
"@polkadot/types-augment": "8.7.1",
"@polkadot/types-support": "8.7.1",
"@polkadot/util-crypto": "^9.4.1"
}
}
+1 -1
View File
@@ -3,4 +3,4 @@
// Do not edit, auto-generated by @polkadot/dev
export const packageInfo = { name: '@polkadot/types-codec', path: 'auto', type: 'auto', version: '8.6.1' };
export const packageInfo = { name: '@polkadot/types-codec', path: 'auto', type: 'auto', version: '8.7.1' };
+4 -4
View File
@@ -20,14 +20,14 @@
"./detectPackage.cjs"
],
"type": "module",
"version": "8.6.1",
"version": "8.7.1",
"main": "index.js",
"dependencies": {
"@babel/runtime": "^7.18.3",
"@polkadot/types-codec": "8.6.1",
"@polkadot/util": "^9.3.1"
"@polkadot/types-codec": "8.7.1",
"@polkadot/util": "^9.4.1"
},
"devDependencies": {
"@polkadot/types": "8.6.1"
"@polkadot/types": "8.7.1"
}
}
+7 -6
View File
@@ -4,7 +4,7 @@
import type { Codec, CodecClass, Registry, U8aBitLength, UIntBitLength } from '@polkadot/types-codec/types';
import type { TypeDef } from '../types';
import { BTreeMap, BTreeSet, Bytes, CodecSet, Compact, DoNotConstruct, Enum, HashMap, Int, Null, Option, OptionBool, Range, RangeInclusive, Result, Struct, Tuple, U8aFixed, UInt, Vec, VecFixed, WrapperKeepOpaque, WrapperOpaque } from '@polkadot/types-codec';
import { BTreeMap, BTreeSet, Bytes, CodecSet, Compact, DoNotConstruct, Enum, HashMap, Int, Null, Option, Range, RangeInclusive, Result, Struct, Tuple, U8aFixed, UInt, Vec, VecFixed, WrapperKeepOpaque, WrapperOpaque } from '@polkadot/types-codec';
import { assert, isNumber, stringify } from '@polkadot/util';
import { TypeDefInfo } from '../types';
@@ -118,11 +118,12 @@ const infoMapping: Record<TypeDefInfo, (registry: Registry, value: TypeDef) => C
[TypeDefInfo.Option]: (registry: Registry, value: TypeDef): CodecClass<Codec> => {
assert(value.sub && !Array.isArray(value.sub), 'Expected type information for Option');
return (
value.sub.type === 'bool'
? OptionBool
: createWithSub(Option, value)
);
// NOTE This is opt-in (unhandled), not by default
// if (value.sub.type === 'bool') {
// return OptionBool;
// }
return createWithSub(Option, value);
},
[TypeDefInfo.Plain]: (registry: Registry, value: TypeDef): CodecClass<Codec> =>
+1 -1
View File
@@ -3,4 +3,4 @@
// Do not edit, auto-generated by @polkadot/dev
export const packageInfo = { name: '@polkadot/types-create', path: 'auto', type: 'auto', version: '8.6.1' };
export const packageInfo = { name: '@polkadot/types-create', path: 'auto', type: 'auto', version: '8.7.1' };
+6 -6
View File
@@ -20,14 +20,14 @@
"./detectPackage.cjs"
],
"type": "module",
"version": "8.6.1",
"version": "8.7.1",
"main": "index.js",
"dependencies": {
"@babel/runtime": "^7.18.3",
"@polkadot/networks": "^9.3.1",
"@polkadot/types": "8.6.1",
"@polkadot/types-codec": "8.6.1",
"@polkadot/types-create": "8.6.1",
"@polkadot/util": "^9.3.1"
"@polkadot/networks": "^9.4.1",
"@polkadot/types": "8.7.1",
"@polkadot/types-codec": "8.7.1",
"@polkadot/types-create": "8.7.1",
"@polkadot/util": "^9.4.1"
}
}
+1 -1
View File
@@ -3,4 +3,4 @@
// Do not edit, auto-generated by @polkadot/dev
export const packageInfo = { name: '@polkadot/types-known', path: 'auto', type: 'auto', version: '8.6.1' };
export const packageInfo = { name: '@polkadot/types-known', path: 'auto', type: 'auto', version: '8.7.1' };
+1 -1
View File
@@ -16,7 +16,7 @@ const upgrades: ChainUpgradesRaw = [
[7812476, 9040], [8010981, 9050], [8073833, 9070], [8555825, 9080], [8945245, 9090],
[9611377, 9100], [9625129, 9111], [9866422, 9122], [10403784, 9130], [10960765, 9150],
[11006614, 9151], [11404482, 9160], [11601803, 9170], [12008022, 9180], [12405451, 9190],
[12665416, 9200]
[12665416, 9200], [12909508, 9220]
];
export default upgrades;
+2 -2
View File
@@ -20,10 +20,10 @@
"./detectPackage.cjs"
],
"type": "module",
"version": "8.6.1",
"version": "8.7.1",
"main": "index.js",
"dependencies": {
"@babel/runtime": "^7.18.3",
"@polkadot/util": "^9.3.1"
"@polkadot/util": "^9.4.1"
}
}
+1 -1
View File
@@ -3,4 +3,4 @@
// Do not edit, auto-generated by @polkadot/dev
export const packageInfo = { name: '@polkadot/types-support', path: 'auto', type: 'auto', version: '8.6.1' };
export const packageInfo = { name: '@polkadot/types-support', path: 'auto', type: 'auto', version: '8.7.1' };
+9 -9
View File
@@ -20,20 +20,20 @@
"./detectPackage.cjs"
],
"type": "module",
"version": "8.6.1",
"version": "8.7.1",
"main": "index.js",
"dependencies": {
"@babel/runtime": "^7.18.3",
"@polkadot/keyring": "^9.3.1",
"@polkadot/types-augment": "8.6.1",
"@polkadot/types-codec": "8.6.1",
"@polkadot/types-create": "8.6.1",
"@polkadot/util": "^9.3.1",
"@polkadot/util-crypto": "^9.3.1",
"@polkadot/keyring": "^9.4.1",
"@polkadot/types-augment": "8.7.1",
"@polkadot/types-codec": "8.7.1",
"@polkadot/types-create": "8.7.1",
"@polkadot/util": "^9.4.1",
"@polkadot/util-crypto": "^9.4.1",
"rxjs": "^7.5.5"
},
"devDependencies": {
"@polkadot/keyring": "^9.3.1",
"@polkadot/types-support": "8.6.1"
"@polkadot/keyring": "^9.4.1",
"@polkadot/types-support": "8.7.1"
}
}
+2 -2
View File
@@ -55,7 +55,7 @@ const nf = registry.createType('[[[u8;32];5];3]');
// with linkage
const tl = registry.createType('(ValidatorPrefsWithCommission, Linkage<AccountId>)');
assert(ee[0].unwrap().unwrap().divn(123) && vb.unwrap().bitLength() && vv.toHuman() && vn[0][3][0].bitLength && vt.toHuman() && nf.toHuman() && tl[1].next, 'All ok');
assert(ee[0].unwrap().unwrap().divn(123) && vb.unwrap().bitLength() && vv.toHuman() && vn[0][3][0].bitLength() && vt.toHuman() && nf.toHuman() && tl[1].next, 'All ok');
// tuple & struct
const vs = registry.createType('(u8, {"a":"u32","b":"(u32,u64)"},(u8,u16),{"foo":"Bar"},u16)');
@@ -76,7 +76,7 @@ const hh = registry.createType('[u128; 32]');
// maps and sets
const ms = registry.createType('(BTreeSet<u8>, BTreeMap<u16, u32>, HashMap<u64, u128>)');
assert(hh[0].bitLength() && ms[0].strings && ms[1].values && ms[2].keys, 'All ok');
assert(hh[0].bitLength() && ms[0].strings && ms[1].values() && ms[2].keys, 'All ok');
// tuple! ITuple<[u32, Compact<u64>, u128, Codec]>
const tt1 = registry.createType('(u32, Compact<u64>, u128 , Something)');
@@ -784,12 +784,13 @@ export class PortableRegistry extends Struct implements ILookup {
if (specialVariant === 'Option') {
const sub = this.#createSiDef(params[0].type.unwrap());
if (sub.type === 'bool') {
return withTypeString(this.registry, {
info: TypeDefInfo.Plain,
type: 'OptionBool'
});
}
// NOTE This is opt-in (unhandled), not by default
// if (sub.type === 'bool') {
// return withTypeString(this.registry, {
// info: TypeDefInfo.Plain,
// type: 'OptionBool'
// });
// }
return withTypeString(this.registry, {
info: TypeDefInfo.Option,
+1 -1
View File
@@ -3,4 +3,4 @@
// Do not edit, auto-generated by @polkadot/dev
export const packageInfo = { name: '@polkadot/types', path: 'auto', type: 'auto', version: '8.6.1' };
export const packageInfo = { name: '@polkadot/types', path: 'auto', type: 'auto', version: '8.7.1' };
+276 -283
View File
@@ -1950,29 +1950,29 @@ __metadata:
languageName: node
linkType: hard
"@polkadot/api-augment@8.6.1, @polkadot/api-augment@workspace:packages/api-augment":
"@polkadot/api-augment@8.7.1, @polkadot/api-augment@workspace:packages/api-augment":
version: 0.0.0-use.local
resolution: "@polkadot/api-augment@workspace:packages/api-augment"
dependencies:
"@babel/runtime": ^7.18.3
"@polkadot/api-base": 8.6.1
"@polkadot/rpc-augment": 8.6.1
"@polkadot/types": 8.6.1
"@polkadot/types-augment": 8.6.1
"@polkadot/types-codec": 8.6.1
"@polkadot/types-support": 8.6.1
"@polkadot/util": ^9.3.1
"@polkadot/api-base": 8.7.1
"@polkadot/rpc-augment": 8.7.1
"@polkadot/types": 8.7.1
"@polkadot/types-augment": 8.7.1
"@polkadot/types-codec": 8.7.1
"@polkadot/types-support": 8.7.1
"@polkadot/util": ^9.4.1
languageName: unknown
linkType: soft
"@polkadot/api-base@8.6.1, @polkadot/api-base@workspace:packages/api-base":
"@polkadot/api-base@8.7.1, @polkadot/api-base@workspace:packages/api-base":
version: 0.0.0-use.local
resolution: "@polkadot/api-base@workspace:packages/api-base"
dependencies:
"@babel/runtime": ^7.18.3
"@polkadot/rpc-core": 8.6.1
"@polkadot/types": 8.6.1
"@polkadot/util": ^9.3.1
"@polkadot/rpc-core": 8.7.1
"@polkadot/types": 8.7.1
"@polkadot/util": ^9.4.1
rxjs: ^7.5.5
languageName: unknown
linkType: soft
@@ -1982,66 +1982,66 @@ __metadata:
resolution: "@polkadot/api-contract@workspace:packages/api-contract"
dependencies:
"@babel/runtime": ^7.18.3
"@polkadot/api": 8.6.1
"@polkadot/api-augment": 8.6.1
"@polkadot/keyring": ^9.3.1
"@polkadot/types": 8.6.1
"@polkadot/types-codec": 8.6.1
"@polkadot/types-create": 8.6.1
"@polkadot/util": ^9.3.1
"@polkadot/util-crypto": ^9.3.1
"@polkadot/api": 8.7.1
"@polkadot/api-augment": 8.7.1
"@polkadot/keyring": ^9.4.1
"@polkadot/types": 8.7.1
"@polkadot/types-codec": 8.7.1
"@polkadot/types-create": 8.7.1
"@polkadot/util": ^9.4.1
"@polkadot/util-crypto": ^9.4.1
rxjs: ^7.5.5
languageName: unknown
linkType: soft
"@polkadot/api-derive@8.6.1, @polkadot/api-derive@workspace:packages/api-derive":
"@polkadot/api-derive@8.7.1, @polkadot/api-derive@workspace:packages/api-derive":
version: 0.0.0-use.local
resolution: "@polkadot/api-derive@workspace:packages/api-derive"
dependencies:
"@babel/runtime": ^7.18.3
"@polkadot/api": 8.6.1
"@polkadot/api-augment": 8.6.1
"@polkadot/api-base": 8.6.1
"@polkadot/rpc-augment": 8.6.1
"@polkadot/rpc-core": 8.6.1
"@polkadot/rpc-provider": 8.6.1
"@polkadot/types": 8.6.1
"@polkadot/types-codec": 8.6.1
"@polkadot/types-support": 8.6.1
"@polkadot/util": ^9.3.1
"@polkadot/util-crypto": ^9.3.1
"@polkadot/api": 8.7.1
"@polkadot/api-augment": 8.7.1
"@polkadot/api-base": 8.7.1
"@polkadot/rpc-augment": 8.7.1
"@polkadot/rpc-core": 8.7.1
"@polkadot/rpc-provider": 8.7.1
"@polkadot/types": 8.7.1
"@polkadot/types-codec": 8.7.1
"@polkadot/types-support": 8.7.1
"@polkadot/util": ^9.4.1
"@polkadot/util-crypto": ^9.4.1
rxjs: ^7.5.5
languageName: unknown
linkType: soft
"@polkadot/api@8.6.1, @polkadot/api@workspace:packages/api":
"@polkadot/api@8.7.1, @polkadot/api@workspace:packages/api":
version: 0.0.0-use.local
resolution: "@polkadot/api@workspace:packages/api"
dependencies:
"@babel/runtime": ^7.18.3
"@polkadot/api-augment": 8.6.1
"@polkadot/api-base": 8.6.1
"@polkadot/api-derive": 8.6.1
"@polkadot/keyring": ^9.3.1
"@polkadot/rpc-augment": 8.6.1
"@polkadot/rpc-core": 8.6.1
"@polkadot/rpc-provider": 8.6.1
"@polkadot/types": 8.6.1
"@polkadot/types-augment": 8.6.1
"@polkadot/types-codec": 8.6.1
"@polkadot/types-create": 8.6.1
"@polkadot/types-known": 8.6.1
"@polkadot/types-support": 8.6.1
"@polkadot/util": ^9.3.1
"@polkadot/util-crypto": ^9.3.1
"@polkadot/api-augment": 8.7.1
"@polkadot/api-base": 8.7.1
"@polkadot/api-derive": 8.7.1
"@polkadot/keyring": ^9.4.1
"@polkadot/rpc-augment": 8.7.1
"@polkadot/rpc-core": 8.7.1
"@polkadot/rpc-provider": 8.7.1
"@polkadot/types": 8.7.1
"@polkadot/types-augment": 8.7.1
"@polkadot/types-codec": 8.7.1
"@polkadot/types-create": 8.7.1
"@polkadot/types-known": 8.7.1
"@polkadot/types-support": 8.7.1
"@polkadot/util": ^9.4.1
"@polkadot/util-crypto": ^9.4.1
eventemitter3: ^4.0.7
rxjs: ^7.5.5
languageName: unknown
linkType: soft
"@polkadot/dev@npm:^0.66.30":
version: 0.66.30
resolution: "@polkadot/dev@npm:0.66.30"
"@polkadot/dev@npm:^0.66.34":
version: 0.66.34
resolution: "@polkadot/dev@npm:0.66.34"
dependencies:
"@babel/cli": ^7.17.10
"@babel/core": ^7.18.2
@@ -2065,8 +2065,8 @@ __metadata:
"@rollup/plugin-json": ^4.1.0
"@rollup/plugin-node-resolve": ^13.3.0
"@rushstack/eslint-patch": ^1.1.3
"@typescript-eslint/eslint-plugin": 5.26.0
"@typescript-eslint/parser": 5.26.0
"@typescript-eslint/eslint-plugin": 5.27.0
"@typescript-eslint/parser": 5.27.0
"@vue/component-compiler-utils": ^3.3.0
babel-jest: ^28.1.0
babel-plugin-module-extension-resolver: ^1.0.0-rc.2
@@ -2074,13 +2074,13 @@ __metadata:
babel-plugin-styled-components: ^2.0.7
browserslist: ^4.20.3
coveralls: ^3.1.1
eslint: ^8.16.0
eslint: ^8.17.0
eslint-config-standard: ^17.0.0
eslint-import-resolver-node: ^0.3.6
eslint-plugin-header: ^3.1.1
eslint-plugin-import: ^2.26.0
eslint-plugin-import-newlines: ^1.2.2
eslint-plugin-n: ^15.2.0
eslint-plugin-n: ^15.2.1
eslint-plugin-promise: ^6.0.0
eslint-plugin-react: ^7.30.0
eslint-plugin-react-hooks: ^4.5.0
@@ -2102,9 +2102,9 @@ __metadata:
mkdirp: ^1.0.4
prettier: ^2.6.2
rimraf: ^3.0.2
rollup: ^2.75.0
rollup: ^2.75.5
rollup-plugin-cleanup: ^3.2.1
typescript: ^4.6.4
typescript: ^4.7.3
yargs: ^17.5.1
bin:
polkadot-ci-ghact-build: scripts/polkadot-ci-ghact-build.mjs
@@ -2128,78 +2128,78 @@ __metadata:
polkadot-exec-rollup: scripts/polkadot-exec-rollup.mjs
polkadot-exec-tsc: scripts/polkadot-exec-tsc.mjs
polkadot-exec-webpack: scripts/polkadot-exec-webpack.mjs
checksum: fe4412fb8631e4f15ad35d099465efb0e91cbb7e24f0677801fc3665d64e1f507744b8c1dd822efc5540ddd0592e015e176f798da2085e6822c66dadbcfc04da
checksum: 55e37ec25ccdc03d3b7c70474c2bc8f465536a4a1ac3d8b73ce47a62279f561574b44b5e3718be01e1e7c077ee2c44281e62be87b133a6a8c5f2a598fba773bd
languageName: node
linkType: hard
"@polkadot/keyring@npm:^9.3.1":
version: 9.3.1
resolution: "@polkadot/keyring@npm:9.3.1"
"@polkadot/keyring@npm:^9.4.1":
version: 9.4.1
resolution: "@polkadot/keyring@npm:9.4.1"
dependencies:
"@babel/runtime": ^7.18.3
"@polkadot/util": 9.3.1
"@polkadot/util-crypto": 9.3.1
"@polkadot/util": 9.4.1
"@polkadot/util-crypto": 9.4.1
peerDependencies:
"@polkadot/util": 9.3.1
"@polkadot/util-crypto": 9.3.1
checksum: 0bce23fe4f58247960c69775453b44464125991d9a05c7b4adc2f319e3a4c77ba7f792d66b6d47c8528c940fa724fd3b682b012f8f7cbc7ce7b2fda1c30430cb
"@polkadot/util": 9.4.1
"@polkadot/util-crypto": 9.4.1
checksum: e2ad67f683441bee22a57845b9d7961bfbfbdc8ee268b7fc8fcec12aee22e0b7f3da41bcee157426c748b775ffff2eb6a2f7ebae481143a91a10f45f1ed1ad08
languageName: node
linkType: hard
"@polkadot/networks@npm:9.3.1, @polkadot/networks@npm:^9.3.1":
version: 9.3.1
resolution: "@polkadot/networks@npm:9.3.1"
"@polkadot/networks@npm:9.4.1, @polkadot/networks@npm:^9.4.1":
version: 9.4.1
resolution: "@polkadot/networks@npm:9.4.1"
dependencies:
"@babel/runtime": ^7.18.3
"@polkadot/util": 9.3.1
"@substrate/ss58-registry": ^1.20.0
checksum: b7760bfbcec4f8e101c2043c7deb99ba9035fff00e9f0d95a997b2907535494b4da864cb5c70ccbbffddca518041dc169915a8fc5e07a257b850bfa2af398a0e
"@polkadot/util": 9.4.1
"@substrate/ss58-registry": ^1.22.0
checksum: 2342ec4937541e826ed40e245b136ae3344d30fde11bffb97f90e3dd7e944f8a94434d835ff7ae789f39442624c908d2069c89789f1f6ab920e5d172de0f5bce
languageName: node
linkType: hard
"@polkadot/rpc-augment@8.6.1, @polkadot/rpc-augment@workspace:packages/rpc-augment":
"@polkadot/rpc-augment@8.7.1, @polkadot/rpc-augment@workspace:packages/rpc-augment":
version: 0.0.0-use.local
resolution: "@polkadot/rpc-augment@workspace:packages/rpc-augment"
dependencies:
"@babel/runtime": ^7.18.3
"@polkadot/rpc-core": 8.6.1
"@polkadot/types": 8.6.1
"@polkadot/types-codec": 8.6.1
"@polkadot/util": ^9.3.1
"@polkadot/rpc-core": 8.7.1
"@polkadot/types": 8.7.1
"@polkadot/types-codec": 8.7.1
"@polkadot/util": ^9.4.1
languageName: unknown
linkType: soft
"@polkadot/rpc-core@8.6.1, @polkadot/rpc-core@workspace:packages/rpc-core":
"@polkadot/rpc-core@8.7.1, @polkadot/rpc-core@workspace:packages/rpc-core":
version: 0.0.0-use.local
resolution: "@polkadot/rpc-core@workspace:packages/rpc-core"
dependencies:
"@babel/runtime": ^7.18.3
"@polkadot/keyring": ^9.3.1
"@polkadot/rpc-augment": 8.6.1
"@polkadot/rpc-provider": 8.6.1
"@polkadot/types": 8.6.1
"@polkadot/util": ^9.3.1
"@polkadot/keyring": ^9.4.1
"@polkadot/rpc-augment": 8.7.1
"@polkadot/rpc-provider": 8.7.1
"@polkadot/types": 8.7.1
"@polkadot/util": ^9.4.1
rxjs: ^7.5.5
languageName: unknown
linkType: soft
"@polkadot/rpc-provider@8.6.1, @polkadot/rpc-provider@workspace:packages/rpc-provider":
"@polkadot/rpc-provider@8.7.1, @polkadot/rpc-provider@workspace:packages/rpc-provider":
version: 0.0.0-use.local
resolution: "@polkadot/rpc-provider@workspace:packages/rpc-provider"
dependencies:
"@babel/runtime": ^7.18.3
"@polkadot/keyring": ^9.3.1
"@polkadot/types": 8.6.1
"@polkadot/types-support": 8.6.1
"@polkadot/util": ^9.3.1
"@polkadot/util-crypto": ^9.3.1
"@polkadot/x-fetch": ^9.3.1
"@polkadot/x-global": ^9.3.1
"@polkadot/x-ws": ^9.3.1
"@polkadot/keyring": ^9.4.1
"@polkadot/types": 8.7.1
"@polkadot/types-support": 8.7.1
"@polkadot/util": ^9.4.1
"@polkadot/util-crypto": ^9.4.1
"@polkadot/x-fetch": ^9.4.1
"@polkadot/x-global": ^9.4.1
"@polkadot/x-ws": ^9.4.1
"@substrate/connect": 0.7.5
eventemitter3: ^4.0.7
mock-socket: ^9.1.4
nock: ^13.2.4
nock: ^13.2.6
languageName: unknown
linkType: soft
@@ -2210,17 +2210,17 @@ __metadata:
"@babel/core": ^7.18.2
"@babel/register": ^7.17.7
"@babel/runtime": ^7.18.3
"@polkadot/api": 8.6.1
"@polkadot/api-augment": 8.6.1
"@polkadot/rpc-augment": 8.6.1
"@polkadot/rpc-provider": 8.6.1
"@polkadot/types": 8.6.1
"@polkadot/types-augment": 8.6.1
"@polkadot/types-codec": 8.6.1
"@polkadot/types-create": 8.6.1
"@polkadot/types-support": 8.6.1
"@polkadot/util": ^9.3.1
"@polkadot/x-ws": ^9.3.1
"@polkadot/api": 8.7.1
"@polkadot/api-augment": 8.7.1
"@polkadot/rpc-augment": 8.7.1
"@polkadot/rpc-provider": 8.7.1
"@polkadot/types": 8.7.1
"@polkadot/types-augment": 8.7.1
"@polkadot/types-codec": 8.7.1
"@polkadot/types-create": 8.7.1
"@polkadot/types-support": 8.7.1
"@polkadot/util": ^9.4.1
"@polkadot/x-ws": ^9.4.1
"@types/websocket": ^1.0.5
"@types/yargs": ^17.0.10
handlebars: ^4.7.7
@@ -2235,113 +2235,113 @@ __metadata:
languageName: unknown
linkType: soft
"@polkadot/types-augment@8.6.1, @polkadot/types-augment@workspace:packages/types-augment":
"@polkadot/types-augment@8.7.1, @polkadot/types-augment@workspace:packages/types-augment":
version: 0.0.0-use.local
resolution: "@polkadot/types-augment@workspace:packages/types-augment"
dependencies:
"@babel/runtime": ^7.18.3
"@polkadot/types": 8.6.1
"@polkadot/types-codec": 8.6.1
"@polkadot/util": ^9.3.1
"@polkadot/types": 8.7.1
"@polkadot/types-codec": 8.7.1
"@polkadot/util": ^9.4.1
languageName: unknown
linkType: soft
"@polkadot/types-codec@8.6.1, @polkadot/types-codec@workspace:packages/types-codec":
"@polkadot/types-codec@8.7.1, @polkadot/types-codec@workspace:packages/types-codec":
version: 0.0.0-use.local
resolution: "@polkadot/types-codec@workspace:packages/types-codec"
dependencies:
"@babel/runtime": ^7.18.3
"@polkadot/types": 8.6.1
"@polkadot/types-augment": 8.6.1
"@polkadot/types-support": 8.6.1
"@polkadot/util": ^9.3.1
"@polkadot/util-crypto": ^9.3.1
"@polkadot/types": 8.7.1
"@polkadot/types-augment": 8.7.1
"@polkadot/types-support": 8.7.1
"@polkadot/util": ^9.4.1
"@polkadot/util-crypto": ^9.4.1
languageName: unknown
linkType: soft
"@polkadot/types-create@8.6.1, @polkadot/types-create@workspace:packages/types-create":
"@polkadot/types-create@8.7.1, @polkadot/types-create@workspace:packages/types-create":
version: 0.0.0-use.local
resolution: "@polkadot/types-create@workspace:packages/types-create"
dependencies:
"@babel/runtime": ^7.18.3
"@polkadot/types": 8.6.1
"@polkadot/types-codec": 8.6.1
"@polkadot/util": ^9.3.1
"@polkadot/types": 8.7.1
"@polkadot/types-codec": 8.7.1
"@polkadot/util": ^9.4.1
languageName: unknown
linkType: soft
"@polkadot/types-known@8.6.1, @polkadot/types-known@workspace:packages/types-known":
"@polkadot/types-known@8.7.1, @polkadot/types-known@workspace:packages/types-known":
version: 0.0.0-use.local
resolution: "@polkadot/types-known@workspace:packages/types-known"
dependencies:
"@babel/runtime": ^7.18.3
"@polkadot/networks": ^9.3.1
"@polkadot/types": 8.6.1
"@polkadot/types-codec": 8.6.1
"@polkadot/types-create": 8.6.1
"@polkadot/util": ^9.3.1
"@polkadot/networks": ^9.4.1
"@polkadot/types": 8.7.1
"@polkadot/types-codec": 8.7.1
"@polkadot/types-create": 8.7.1
"@polkadot/util": ^9.4.1
languageName: unknown
linkType: soft
"@polkadot/types-support@8.6.1, @polkadot/types-support@workspace:packages/types-support":
"@polkadot/types-support@8.7.1, @polkadot/types-support@workspace:packages/types-support":
version: 0.0.0-use.local
resolution: "@polkadot/types-support@workspace:packages/types-support"
dependencies:
"@babel/runtime": ^7.18.3
"@polkadot/util": ^9.3.1
"@polkadot/util": ^9.4.1
languageName: unknown
linkType: soft
"@polkadot/types@8.6.1, @polkadot/types@workspace:packages/types":
"@polkadot/types@8.7.1, @polkadot/types@workspace:packages/types":
version: 0.0.0-use.local
resolution: "@polkadot/types@workspace:packages/types"
dependencies:
"@babel/runtime": ^7.18.3
"@polkadot/keyring": ^9.3.1
"@polkadot/types-augment": 8.6.1
"@polkadot/types-codec": 8.6.1
"@polkadot/types-create": 8.6.1
"@polkadot/types-support": 8.6.1
"@polkadot/util": ^9.3.1
"@polkadot/util-crypto": ^9.3.1
"@polkadot/keyring": ^9.4.1
"@polkadot/types-augment": 8.7.1
"@polkadot/types-codec": 8.7.1
"@polkadot/types-create": 8.7.1
"@polkadot/types-support": 8.7.1
"@polkadot/util": ^9.4.1
"@polkadot/util-crypto": ^9.4.1
rxjs: ^7.5.5
languageName: unknown
linkType: soft
"@polkadot/util-crypto@npm:9.3.1, @polkadot/util-crypto@npm:^9.3.1":
version: 9.3.1
resolution: "@polkadot/util-crypto@npm:9.3.1"
"@polkadot/util-crypto@npm:9.4.1, @polkadot/util-crypto@npm:^9.4.1":
version: 9.4.1
resolution: "@polkadot/util-crypto@npm:9.4.1"
dependencies:
"@babel/runtime": ^7.18.3
"@noble/hashes": 1.0.0
"@noble/secp256k1": 1.5.5
"@polkadot/networks": 9.3.1
"@polkadot/util": 9.3.1
"@polkadot/networks": 9.4.1
"@polkadot/util": 9.4.1
"@polkadot/wasm-crypto": ^6.1.1
"@polkadot/x-bigint": 9.3.1
"@polkadot/x-randomvalues": 9.3.1
"@polkadot/x-bigint": 9.4.1
"@polkadot/x-randomvalues": 9.4.1
"@scure/base": 1.0.0
ed2curve: ^0.3.0
tweetnacl: ^1.0.3
peerDependencies:
"@polkadot/util": 9.3.1
checksum: 555ff8096aad42a02e796f113997263d23720bda31cead273079295b648d461ef40058354a5a8e614dd29da09ef2a00aa484cbecf0ffaecbd5558923aa81de3b
"@polkadot/util": 9.4.1
checksum: 089341eb7c86063073f00b66a90648e24a4eb13f7c10d4f2308238e0e183ae53fd31516be108e8a9d98e1cf668023057c7bdca684d81d71cd747d1167f433f6f
languageName: node
linkType: hard
"@polkadot/util@npm:9.3.1, @polkadot/util@npm:^9.3.1":
version: 9.3.1
resolution: "@polkadot/util@npm:9.3.1"
"@polkadot/util@npm:9.4.1, @polkadot/util@npm:^9.4.1":
version: 9.4.1
resolution: "@polkadot/util@npm:9.4.1"
dependencies:
"@babel/runtime": ^7.18.3
"@polkadot/x-bigint": 9.3.1
"@polkadot/x-global": 9.3.1
"@polkadot/x-textdecoder": 9.3.1
"@polkadot/x-textencoder": 9.3.1
"@polkadot/x-bigint": 9.4.1
"@polkadot/x-global": 9.4.1
"@polkadot/x-textdecoder": 9.4.1
"@polkadot/x-textencoder": 9.4.1
"@types/bn.js": ^5.1.0
bn.js: ^5.2.1
ip-regex: ^4.3.0
checksum: 96134abe009704f07f4b81bb9cd759082629568e7558805593459241cf55802cbf6bd5c17a2b3f1eb684777e610b07439530b8646260c05407ba18acfd90b2ab
checksum: 9bda687519fd00cdb233699c7cbc4565745aacf57112af60184b7ade21b9006a52dd745c8534970561b92f2a76334524e95bf60a88cae7add3e49946722f236a
languageName: node
linkType: hard
@@ -2421,76 +2421,76 @@ __metadata:
languageName: node
linkType: hard
"@polkadot/x-bigint@npm:9.3.1":
version: 9.3.1
resolution: "@polkadot/x-bigint@npm:9.3.1"
"@polkadot/x-bigint@npm:9.4.1":
version: 9.4.1
resolution: "@polkadot/x-bigint@npm:9.4.1"
dependencies:
"@babel/runtime": ^7.18.3
"@polkadot/x-global": 9.3.1
checksum: cbfc99ba149734f71bbde7f35e9ba4e1edb4ded8e1f73ec154fd59ea7c1c8189b2cb3b3ee014d6a99766555dcde30d7a269c25b4ecdfb687f0c667bbdf57d1d7
"@polkadot/x-global": 9.4.1
checksum: 596a5174b8a03ea0cf0fd43e4018f057d6b2fbec7bbcb7d5f65add8230ac6b7c1324d90c533f7f5a299232bb49ccb881f6e23708f91439d69f7f399e8c68c547
languageName: node
linkType: hard
"@polkadot/x-fetch@npm:^9.3.1":
version: 9.3.1
resolution: "@polkadot/x-fetch@npm:9.3.1"
"@polkadot/x-fetch@npm:^9.4.1":
version: 9.4.1
resolution: "@polkadot/x-fetch@npm:9.4.1"
dependencies:
"@babel/runtime": ^7.18.3
"@polkadot/x-global": 9.3.1
"@polkadot/x-global": 9.4.1
"@types/node-fetch": ^2.6.1
node-fetch: ^2.6.7
checksum: b37d8a6f35de05332f732e0fd2ab4b94d4d97c1d249d4705cab8b1c5831538b60aee4a285d7b66cbc2cb73bf8f080eafa8e9600fdaed5ca5e16ce7e264208f9f
checksum: 92e009a25f4c5134b9b31c64104f50e448a09d21ba4aa599c4e226e19281d0448d2ec9cc63c28cdab05e1918c0d1efb413dbac6b36c76c56722f72b783e5b067
languageName: node
linkType: hard
"@polkadot/x-global@npm:9.3.1, @polkadot/x-global@npm:^9.3.1":
version: 9.3.1
resolution: "@polkadot/x-global@npm:9.3.1"
"@polkadot/x-global@npm:9.4.1, @polkadot/x-global@npm:^9.4.1":
version: 9.4.1
resolution: "@polkadot/x-global@npm:9.4.1"
dependencies:
"@babel/runtime": ^7.18.3
checksum: 7cdeea5440842ead42777ed21c599faa1baaaeedf1b93e518002a4cc891aa1e051eaf3b0c964b948ca143e31a17ca7b4362b3f98e5f80c969bdfbde4954cc6fd
checksum: eb29518680a52228d4bc8e79a9ef57340a6db57088f91eaadf4e72c50fe1f4e7af380b90eafa3441d472312a19df899bdcd568073abbcb90fd85bc758c90769e
languageName: node
linkType: hard
"@polkadot/x-randomvalues@npm:9.3.1":
version: 9.3.1
resolution: "@polkadot/x-randomvalues@npm:9.3.1"
"@polkadot/x-randomvalues@npm:9.4.1":
version: 9.4.1
resolution: "@polkadot/x-randomvalues@npm:9.4.1"
dependencies:
"@babel/runtime": ^7.18.3
"@polkadot/x-global": 9.3.1
checksum: 5428340bf9a42dba0f08fe743ecd1253a79ec05ada57999b439db9045e50d45c694062e2e94bab9e421688e4b94426d482960c07d8723167defe5c6edfb6e8e9
"@polkadot/x-global": 9.4.1
checksum: da06ad2ddd395e0e81a48ad57d82781d0be06fc8d1aba6bb9cde29cd1a6810f565df190299adee403e39bfe94e1c10d93ebb9522cef3218336db8964eb9f0a7b
languageName: node
linkType: hard
"@polkadot/x-textdecoder@npm:9.3.1":
version: 9.3.1
resolution: "@polkadot/x-textdecoder@npm:9.3.1"
"@polkadot/x-textdecoder@npm:9.4.1":
version: 9.4.1
resolution: "@polkadot/x-textdecoder@npm:9.4.1"
dependencies:
"@babel/runtime": ^7.18.3
"@polkadot/x-global": 9.3.1
checksum: 707f10a91999ae1ba18146309ce3dfc5a283b9b691ee86a31a0a513796cc953db4233b20360c9c01141d335284bfcafd13ead37cb80fa67c14082a321a076261
"@polkadot/x-global": 9.4.1
checksum: bf8ad474f03a258db761212e3cf7fc514c49feb0a60dce9bfadea5587a429649ff9175af587f11631e948b3e26c34acecad77f0e1be4b0f5268dc4479ab08053
languageName: node
linkType: hard
"@polkadot/x-textencoder@npm:9.3.1":
version: 9.3.1
resolution: "@polkadot/x-textencoder@npm:9.3.1"
"@polkadot/x-textencoder@npm:9.4.1":
version: 9.4.1
resolution: "@polkadot/x-textencoder@npm:9.4.1"
dependencies:
"@babel/runtime": ^7.18.3
"@polkadot/x-global": 9.3.1
checksum: 1ad4988fecd22d8b2a23f76ff3f0e7f3b1a73705addbbd9a4ce897c2ee05a458663f8edcd5b8f1069273d9ecdca4217466880685996b0bebb0a6de95d62c81ca
"@polkadot/x-global": 9.4.1
checksum: cb80ff374a0c154ba1bead5c3a99354fde97d32139366197b63bcf33d383566b390b6b77f8d9cda7aa2c46ed6e73364c75f8d830d619f05b259d709a0bf47d63
languageName: node
linkType: hard
"@polkadot/x-ws@npm:^9.3.1":
version: 9.3.1
resolution: "@polkadot/x-ws@npm:9.3.1"
"@polkadot/x-ws@npm:^9.4.1":
version: 9.4.1
resolution: "@polkadot/x-ws@npm:9.4.1"
dependencies:
"@babel/runtime": ^7.18.3
"@polkadot/x-global": 9.3.1
"@polkadot/x-global": 9.4.1
"@types/websocket": ^1.0.5
websocket: ^1.0.34
checksum: cd9e7731378bf01577c4fe63517bf9f0fae2c734608a8f19feeebc1d6c571f21516deaf32a6f69ef1361b09c0caed8ff6cfb9df3315305b049d87d1d799d8f07
checksum: 9707197d80c475598ae8f326129b0d9f071291617adf88cc500de03b27ec6050226185b23d1076221bcc827f5c7664cc5f815c838ff265a2e3057e74ac045ba5
languageName: node
linkType: hard
@@ -2650,10 +2650,10 @@ __metadata:
languageName: node
linkType: hard
"@substrate/ss58-registry@npm:^1.20.0":
version: 1.20.0
resolution: "@substrate/ss58-registry@npm:1.20.0"
checksum: 4155a8fbd7c663354b2f0ae654421da397f0f5af01c8e4b1f5234dd318429c734595c4a90edb98e1cd3b2d0e727f26c57bcf557d47f9ce9a15c481f498f592cc
"@substrate/ss58-registry@npm:^1.22.0":
version: 1.22.0
resolution: "@substrate/ss58-registry@npm:1.22.0"
checksum: 5674b586680bd0d83a5da1bb790f84ed5184221e1b2935aed4f539c2e72311c53affb9d8a93e9a30727a409f874f7493569bd4e6990473957409dbf0a165b24d
languageName: node
linkType: hard
@@ -2771,13 +2771,13 @@ __metadata:
languageName: node
linkType: hard
"@types/jest@npm:^27.5.1":
version: 27.5.1
resolution: "@types/jest@npm:27.5.1"
"@types/jest@npm:^28.1.0":
version: 28.1.0
resolution: "@types/jest@npm:28.1.0"
dependencies:
jest-matcher-utils: ^27.0.0
pretty-format: ^27.0.0
checksum: be20e39f7aaf17179109c0060d0a0489cec2034d4e2e28a631284c7ecd13c5ae52f62697a33a0e89b03b6cfe54e9d5e8c2bd387ab2bd90d6071d68c63b86d1e3
checksum: be4d887b2452e8c1367cd19b23906ba4b64af95e22ca871f81c7af5e945bd39b370e124086356aa9380c4543123b1387448bc2c00a604c6f0a92bc3e4a24e9ce
languageName: node
linkType: hard
@@ -2903,13 +2903,13 @@ __metadata:
languageName: node
linkType: hard
"@typescript-eslint/eslint-plugin@npm:5.26.0":
version: 5.26.0
resolution: "@typescript-eslint/eslint-plugin@npm:5.26.0"
"@typescript-eslint/eslint-plugin@npm:5.27.0":
version: 5.27.0
resolution: "@typescript-eslint/eslint-plugin@npm:5.27.0"
dependencies:
"@typescript-eslint/scope-manager": 5.26.0
"@typescript-eslint/type-utils": 5.26.0
"@typescript-eslint/utils": 5.26.0
"@typescript-eslint/scope-manager": 5.27.0
"@typescript-eslint/type-utils": 5.27.0
"@typescript-eslint/utils": 5.27.0
debug: ^4.3.4
functional-red-black-tree: ^1.0.1
ignore: ^5.2.0
@@ -2922,42 +2922,42 @@ __metadata:
peerDependenciesMeta:
typescript:
optional: true
checksum: ea75e57dfb6f95f39d7a4a90f25d5618548ca6026e8836c0962c141908f3bfb6d4a744d7597934572fa25e88c97efb8b9cd25e85785474256d5ebe58f9c1df30
checksum: af7970f90c511641c332b7abecc53523fbbcb19e59ec52df9679f02047ddd5fd5e9ce3ca9359b17674ac7e20e380995861482fb6e60049fe8facd766c2bd85fe
languageName: node
linkType: hard
"@typescript-eslint/parser@npm:5.26.0":
version: 5.26.0
resolution: "@typescript-eslint/parser@npm:5.26.0"
"@typescript-eslint/parser@npm:5.27.0":
version: 5.27.0
resolution: "@typescript-eslint/parser@npm:5.27.0"
dependencies:
"@typescript-eslint/scope-manager": 5.26.0
"@typescript-eslint/types": 5.26.0
"@typescript-eslint/typescript-estree": 5.26.0
"@typescript-eslint/scope-manager": 5.27.0
"@typescript-eslint/types": 5.27.0
"@typescript-eslint/typescript-estree": 5.27.0
debug: ^4.3.4
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
peerDependenciesMeta:
typescript:
optional: true
checksum: 3c13a989d1c5aa3d9050203ca53fa28642fe49b9f09b668b7c424f13bfc8352e0a57d2ae16c55cd9b4f9fb98d730a440b0270a94c827938579df8097f90bdfac
checksum: 40ccdc481f871c296ee419e886ffd6f89ec23f6b10dbb2847c7e89bfd2234c6be23c49ab92d2965e16cd4c3cf378010e3dcd72d34f82b1e2ca8b5c812133fb00
languageName: node
linkType: hard
"@typescript-eslint/scope-manager@npm:5.26.0":
version: 5.26.0
resolution: "@typescript-eslint/scope-manager@npm:5.26.0"
"@typescript-eslint/scope-manager@npm:5.27.0":
version: 5.27.0
resolution: "@typescript-eslint/scope-manager@npm:5.27.0"
dependencies:
"@typescript-eslint/types": 5.26.0
"@typescript-eslint/visitor-keys": 5.26.0
checksum: 56db69b8dc3502261c403c1217f32fb7e8244c1f192c3b486733ad8cd3e7672b365d2c6da7ec8ff40113c4da507c04f4e00b6104ca68579c19525cac828a631b
"@typescript-eslint/types": 5.27.0
"@typescript-eslint/visitor-keys": 5.27.0
checksum: 84eb2d6241a6644c622b473c060bb7a227c2a82e8af8ddcf654fb63716e1b3c6fe1b5d747d032d85594c0ad147d95aabc2b217d4af574b55eab93910e0c292ce
languageName: node
linkType: hard
"@typescript-eslint/type-utils@npm:5.26.0":
version: 5.26.0
resolution: "@typescript-eslint/type-utils@npm:5.26.0"
"@typescript-eslint/type-utils@npm:5.27.0":
version: 5.27.0
resolution: "@typescript-eslint/type-utils@npm:5.27.0"
dependencies:
"@typescript-eslint/utils": 5.26.0
"@typescript-eslint/utils": 5.27.0
debug: ^4.3.4
tsutils: ^3.21.0
peerDependencies:
@@ -2965,7 +2965,7 @@ __metadata:
peerDependenciesMeta:
typescript:
optional: true
checksum: cafd9fba76df8b184adcb5e6f66e3f0c3b8c6e98debe585abde9d3c4372feee0bc156ed5eed89cd0747938e45c8a4d3d65c43dd561b47e8e12a0207c85e2dc6f
checksum: 21ef57ecc0dfa085e7ce8f7714d143993f592004086e37582cb6ab5924cb3358267b607e0701ce43737e01f46fb33d66e3f3428fbb7be6e64971d4c26f73c265
languageName: node
linkType: hard
@@ -2976,19 +2976,19 @@ __metadata:
languageName: node
linkType: hard
"@typescript-eslint/types@npm:5.26.0":
version: 5.26.0
resolution: "@typescript-eslint/types@npm:5.26.0"
checksum: 98798616d832da8e5ef61f050e4e72ed921a162cb4ce2b2dfe0a317c66998157e832f449aeab21a1fdfd806e7134091bc1a9446b1089f4687786b646ad8738e7
"@typescript-eslint/types@npm:5.27.0":
version: 5.27.0
resolution: "@typescript-eslint/types@npm:5.27.0"
checksum: d19802bb7bc8202885a47118e196ad9a26b686f00da5aa71a84974c1e838c5e3a36f54116605c46ffe909ccf856a49623f2a095fd05243b4fe4fecfe5cecb89c
languageName: node
linkType: hard
"@typescript-eslint/typescript-estree@npm:5.26.0":
version: 5.26.0
resolution: "@typescript-eslint/typescript-estree@npm:5.26.0"
"@typescript-eslint/typescript-estree@npm:5.27.0":
version: 5.27.0
resolution: "@typescript-eslint/typescript-estree@npm:5.27.0"
dependencies:
"@typescript-eslint/types": 5.26.0
"@typescript-eslint/visitor-keys": 5.26.0
"@typescript-eslint/types": 5.27.0
"@typescript-eslint/visitor-keys": 5.27.0
debug: ^4.3.4
globby: ^11.1.0
is-glob: ^4.0.3
@@ -2997,7 +2997,7 @@ __metadata:
peerDependenciesMeta:
typescript:
optional: true
checksum: 2cf147629474952725593da64827a7e4e39f79614019529d0d6e5b89236c55f3607c6b4a24f160dbc5978f4cfd60f96fcb573a770c2877f8e29d7552b40e2135
checksum: a0f14c332cd293a100399172c9ae498c230c8c205ab74565ea2de08a0bd860af829a9c4dde1888df89667fa0bc29048bc33993eb9445d2689fa2dfcec55c4915
languageName: node
linkType: hard
@@ -3019,19 +3019,19 @@ __metadata:
languageName: node
linkType: hard
"@typescript-eslint/utils@npm:5.26.0":
version: 5.26.0
resolution: "@typescript-eslint/utils@npm:5.26.0"
"@typescript-eslint/utils@npm:5.27.0":
version: 5.27.0
resolution: "@typescript-eslint/utils@npm:5.27.0"
dependencies:
"@types/json-schema": ^7.0.9
"@typescript-eslint/scope-manager": 5.26.0
"@typescript-eslint/types": 5.26.0
"@typescript-eslint/typescript-estree": 5.26.0
"@typescript-eslint/scope-manager": 5.27.0
"@typescript-eslint/types": 5.27.0
"@typescript-eslint/typescript-estree": 5.27.0
eslint-scope: ^5.1.1
eslint-utils: ^3.0.0
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
checksum: c16828ba6bfbe3b0b6e9dadeece1cfd2345141bcd13824f99fe210c76e5ddb11f6f79e61705cafa421c549657da12d1700a1316d24c2eeaee6179b08f512b5fb
checksum: ed823528c3b7f8c71a44ea0481896c46178e361e89003c63736de6ece45cb771defea13b505f0adb517c59f55a95d0b5f1bb990f7a24d3a2597aa045bba0a7bf
languageName: node
linkType: hard
@@ -3045,13 +3045,13 @@ __metadata:
languageName: node
linkType: hard
"@typescript-eslint/visitor-keys@npm:5.26.0":
version: 5.26.0
resolution: "@typescript-eslint/visitor-keys@npm:5.26.0"
"@typescript-eslint/visitor-keys@npm:5.27.0":
version: 5.27.0
resolution: "@typescript-eslint/visitor-keys@npm:5.27.0"
dependencies:
"@typescript-eslint/types": 5.26.0
"@typescript-eslint/types": 5.27.0
eslint-visitor-keys: ^3.3.0
checksum: 4a5085d19e677f3b44ca4455bba85fd1a3be4d7d2e96bb22738a7497f6f4d16bfdee51059454a78b1e108d8e1593b1a31be40764a66448945118277cff5eff02
checksum: 7781f35e25a09d0986b4ba97c707102394cf94738a92d68eca6382b00ffba1b0fac3e937ca4ee6266295dd40ec837a61889fd715f594549f2c3d837594999c29
languageName: node
linkType: hard
@@ -3756,12 +3756,12 @@ __metadata:
languageName: node
linkType: hard
"builtins@npm:^4.0.0":
version: 4.1.0
resolution: "builtins@npm:4.1.0"
"builtins@npm:^5.0.1":
version: 5.0.1
resolution: "builtins@npm:5.0.1"
dependencies:
semver: ^7.0.0
checksum: 3524f5a5898c3f77a73fee2e0046e676abbb0acc18db1e495676ee07fbef1537134b0e9c4da525f4cb12ba3cd1b430a26c373d32b59b80a5c048f8ace31b595f
checksum: 66d204657fe36522822a95b288943ad11b58f5eaede235b11d8c4edaa28ce4800087d44a2681524c340494aadb120a0068011acabe99d30e8f11a7d826d83515
languageName: node
linkType: hard
@@ -4947,21 +4947,21 @@ __metadata:
languageName: node
linkType: hard
"eslint-plugin-n@npm:^15.2.0":
version: 15.2.0
resolution: "eslint-plugin-n@npm:15.2.0"
"eslint-plugin-n@npm:^15.2.1":
version: 15.2.1
resolution: "eslint-plugin-n@npm:15.2.1"
dependencies:
builtins: ^4.0.0
builtins: ^5.0.1
eslint-plugin-es: ^4.1.0
eslint-utils: ^3.0.0
ignore: ^5.1.1
is-core-module: ^2.3.0
minimatch: ^3.0.4
is-core-module: ^2.9.0
minimatch: ^3.1.2
resolve: ^1.10.1
semver: ^6.3.0
semver: ^7.3.7
peerDependencies:
eslint: ">=7.0.0"
checksum: 4303dea35a40877958e5de9d54c098d842191428e1cef0df320cc3533ecd0b539a67323f6788bffdf76445c2f5a5dfe28837a5d1efb70ebb29c0caa6259bb805
checksum: cf0c38cf8af47c11828154ab56b38bba38bcaff633cb508bf567d913da1c925ec75dd8a54f299de8ae8adffe90d862a65125a82ce28e11922361fd7d331853e4
languageName: node
linkType: hard
@@ -5088,9 +5088,9 @@ __metadata:
languageName: node
linkType: hard
"eslint@npm:^8.16.0":
version: 8.16.0
resolution: "eslint@npm:8.16.0"
"eslint@npm:^8.17.0":
version: 8.17.0
resolution: "eslint@npm:8.17.0"
dependencies:
"@eslint/eslintrc": ^1.3.0
"@humanwhocodes/config-array": ^0.9.2
@@ -5129,7 +5129,7 @@ __metadata:
v8-compile-cache: ^2.0.3
bin:
eslint: bin/eslint.js
checksum: 654a0200b49dc07280673fee13cdfb04326466790e031dfa9660b69fba3b1cf766a51504328f9de56bd18e6b5eb7578985cf29dc7f016c5ec851220ff9db95eb
checksum: b484c96681c6b19f5b437f664623f1cd310d3ee9be88400d8450e086e664cd968a9dc202f0b0678578fd50e7a445b92586efe8c787de5073ff2f83213b00bb7b
languageName: node
linkType: hard
@@ -6401,7 +6401,7 @@ fsevents@~2.1.2:
languageName: node
linkType: hard
"is-core-module@npm:^2.2.0, is-core-module@npm:^2.3.0, is-core-module@npm:^2.8.1":
"is-core-module@npm:^2.2.0, is-core-module@npm:^2.8.1, is-core-module@npm:^2.9.0":
version: 2.9.0
resolution: "is-core-module@npm:2.9.0"
dependencies:
@@ -7610,13 +7610,6 @@ fsevents@~2.1.2:
languageName: node
linkType: hard
"lodash.set@npm:^4.3.2":
version: 4.3.2
resolution: "lodash.set@npm:4.3.2"
checksum: a9122f49eef9f2d0fc9061a33d87f8e5b8c6b23d46e8b9e9ce1529d3588d79741bd1145a3abdfa3b13082703e65af27ff18d8a07bfc22b9be32f3fc36f763f70
languageName: node
linkType: hard
"lodash@npm:^4.17.11, lodash@npm:^4.17.14, lodash@npm:^4.17.21":
version: 4.17.21
resolution: "lodash@npm:4.17.21"
@@ -7994,15 +7987,15 @@ fsevents@~2.1.2:
languageName: node
linkType: hard
"nock@npm:^13.2.4":
version: 13.2.4
resolution: "nock@npm:13.2.4"
"nock@npm:^13.2.6":
version: 13.2.6
resolution: "nock@npm:13.2.6"
dependencies:
debug: ^4.1.0
json-stringify-safe: ^5.0.1
lodash.set: ^4.3.2
lodash: ^4.17.21
propagate: ^2.0.0
checksum: 2750a82ea22eebd8203eb1d7669ae09c3daae1fd573026372bad2515adad48d723a804f647bd45d7a499eb3a9a632560da406bde05bca9df762d3027db9099b5
checksum: d135a8036b2feb41c0696c585682f7252f6cd3232ff686efe54a39f979f063fcc178636dfdf27aba07f653091e2812014db41ed6f5f250fdd2ee2948035a4203
languageName: node
linkType: hard
@@ -9237,9 +9230,9 @@ resolve@^2.0.0-next.3:
languageName: node
linkType: hard
"rollup@npm:^2.75.0":
version: 2.75.1
resolution: "rollup@npm:2.75.1"
"rollup@npm:^2.75.5":
version: 2.75.5
resolution: "rollup@npm:2.75.5"
dependencies:
fsevents: ~2.3.2
dependenciesMeta:
@@ -9247,7 +9240,7 @@ resolve@^2.0.0-next.3:
optional: true
bin:
rollup: dist/bin/rollup
checksum: a48d2df765cc87c2d351e9df2ce3483cdc406e583cee271af2c38fe9371ccbae8484f0c50af4ac9293667c3eded082297008934712079d53798ec2841eef0339
checksum: fa3e61959efbc88cda75315dc22f035489be9dda3ae7d45a3a474f19efc3661ef6f9849486c7ca51e1a3e2aedef91f4e3223e8123bbeaf155913533d071994d1
languageName: node
linkType: hard
@@ -9258,9 +9251,9 @@ resolve@^2.0.0-next.3:
"@babel/core": ^7.18.2
"@babel/register": ^7.17.7
"@babel/runtime": ^7.18.3
"@polkadot/dev": ^0.66.30
"@polkadot/dev": ^0.66.34
"@polkadot/typegen": "workspace:packages/typegen"
"@types/jest": ^27.5.1
"@types/jest": ^28.1.0
copyfiles: ^2.4.1
languageName: unknown
linkType: soft
@@ -10163,23 +10156,23 @@ resolve@^2.0.0-next.3:
languageName: node
linkType: hard
"typescript@npm:^4.6.4":
version: 4.6.4
resolution: "typescript@npm:4.6.4"
"typescript@npm:^4.7.3":
version: 4.7.3
resolution: "typescript@npm:4.7.3"
bin:
tsc: bin/tsc
tsserver: bin/tsserver
checksum: e7bfcc39cd4571a63a54e5ea21f16b8445268b9900bf55aee0e02ad981be576acc140eba24f1af5e3c1457767c96cea6d12861768fb386cf3ffb34013718631a
checksum: fd13a1ce53790a36bb8350e1f5e5e384b5f6cb9b0635114a6d01d49cb99916abdcfbc13c7521cdae2f2d3f6d8bc4a8ae7625edf645a04ee940588cd5e7597b2f
languageName: node
linkType: hard
"typescript@patch:typescript@npm%3A^4.6.4#~builtin<compat/typescript>":
version: 4.6.4
resolution: "typescript@patch:typescript@npm%3A4.6.4#~builtin<compat/typescript>::version=4.6.4&hash=bda367"
"typescript@patch:typescript@npm%3A^4.7.3#~builtin<compat/typescript>":
version: 4.7.3
resolution: "typescript@patch:typescript@npm%3A4.7.3#~builtin<compat/typescript>::version=4.7.3&hash=bda367"
bin:
tsc: bin/tsc
tsserver: bin/tsserver
checksum: 1cb434fbc637d347be90e3a0c6cd05e33c38f941713c8786d3031faf1842c2c148ba91d2fac01e7276b0ae3249b8633f1660e32686cc7a8c6a8fd5361dc52c66
checksum: 8257ce7ecbbf9416da60045a76a99d473698ca9e973fa0ddab7137cacb1587255431176cbbcc801a650938c4dc8109ab88355774829a714fabe56a53a2fe4524
languageName: node
linkType: hard