Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0dc121a796 | ||
|
|
a827131457 | ||
|
|
2174537f76 | ||
|
|
53fca2406a | ||
|
|
0eaba284ae | ||
|
|
378f359a76 | ||
|
|
5460d96b5d | ||
|
|
b1353edc84 | ||
|
|
9129fed6e5 | ||
|
|
7c4abacaca | ||
|
|
3664c7d81b | ||
|
|
f75b87c5a5 | ||
|
|
1c228216cd | ||
|
|
cec3c12795 | ||
|
|
0d0d12e85b | ||
|
|
3a16e69be5 | ||
|
|
4ae8e3909f | ||
|
|
6e18bb3b1d | ||
|
|
be153e13a6 | ||
|
|
4c01dfd0ab | ||
|
|
b57c7a1343 | ||
|
|
da62acdf50 | ||
|
|
cc95e4fc0a | ||
|
|
7f5647c6e1 | ||
|
|
c636d63bc0 | ||
|
|
30c98ef857 | ||
|
|
debecde50f | ||
|
|
cd2cdd1184 | ||
|
|
f5c25d75ff | ||
|
|
780cc62942 | ||
|
|
165568c905 | ||
|
|
976a48d8f9 | ||
|
|
35cbbbe0ed | ||
|
|
772769c981 | ||
|
|
1ba2bd1766 | ||
|
|
4afa345a7d | ||
|
|
5c03359f32 | ||
|
|
04120505f0 | ||
|
|
7bd9dd65f8 | ||
|
|
5f57ecb2e1 | ||
|
|
9123f1d805 | ||
|
|
7050c4a554 |
+2
-1
@@ -20,4 +20,5 @@
|
||||
4.0.2
|
||||
4.0.3
|
||||
|
||||
4.6.2
|
||||
4.6.2
|
||||
4.7.2
|
||||
@@ -1,5 +1,36 @@
|
||||
# CHANGELOG
|
||||
|
||||
## 4.8.1 May 2, 2021
|
||||
|
||||
Upgrade priority: Low. Recommended when using or developing for parachains.
|
||||
|
||||
Changes:
|
||||
|
||||
- De-alias xcm `Outcome` (used in multiple pallettes)
|
||||
- Adjust xcm types as per latest, e.g. `XcmError`
|
||||
- Fix generate of well-known storage keys (e.g. `:code`)
|
||||
- Optimize metadata unknown type validation
|
||||
- Allow metadata creation for `Map` or `Record`
|
||||
- Expose additional camelCase `method` on `AbiMessage` (maps to decorated name)
|
||||
- Added explicit double-byte ss58 `AccountId` encoding test
|
||||
- Add known upgrade block for Polkadot v30
|
||||
- Cleanup WebSocket handlers when close event has been received
|
||||
- Update to latest Substrate metadata
|
||||
|
||||
|
||||
## 4.7.2 Apr 26, 2021
|
||||
|
||||
Upgrade priority: Low. Recommended for users of 4.7.1 using nvm
|
||||
|
||||
Changes:
|
||||
|
||||
- Update `EthBlock`/`EthHeader` types (as per Rust origin)
|
||||
- Updated Xcm `OriginKind` enum
|
||||
- Add derives for `membership`
|
||||
- Cleanups on encodedLength calculations
|
||||
- Update `.nvmrc` to reflect engines changes
|
||||
|
||||
|
||||
## 4.7.1 Apr 25, 2021
|
||||
|
||||
Upgrade priority: Low. Recommended for users following Substrate master.
|
||||
|
||||
@@ -21,7 +21,7 @@ The API is split up into a number of internal packages -
|
||||
|
||||
- [@polkadot/api](packages/api/) The API library, providing both Promise and RxJS Observable-based interfaces. This is the main user-facing entry point.
|
||||
- [@polkadot/api-derive](packages/api-derive/) Derived results that are injected into the API, allowing for combinations of various query results (only used internally and exposed on the Api instances via `api.derive.*`)
|
||||
- [@polkadot/api-metadata](packages/api-metadata/) Base extrinsic, storage and constant injectors for injection
|
||||
- [@polkadot/metadata](packages/metadata/) Base extrinsic, storage and constant injectors for injection
|
||||
- [@polkadot/rpc-core](packages/rpc-core/) Wrapper around all [JSON-RPC methods](https://polkadot.js.org/docs/substrate/rpc) exposed by a Polkadot network client
|
||||
- [@polkadot/rpc-provider](packages/rpc-provider/) Providers for connecting to nodes, including WebSockets and Http
|
||||
|
||||
|
||||
+6
-6
@@ -25,14 +25,14 @@
|
||||
"test:watch": "polkadot-dev-run-test --watch"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "^7.13.16",
|
||||
"@babel/core": "^7.14.0",
|
||||
"@babel/register": "^7.13.16",
|
||||
"@babel/runtime": "^7.13.17",
|
||||
"@polkadot/dev": "^0.62.10",
|
||||
"@polkadot/ts": "^0.3.63",
|
||||
"@babel/runtime": "^7.14.0",
|
||||
"@polkadot/dev": "^0.62.11",
|
||||
"@polkadot/ts": "^0.3.64",
|
||||
"@polkadot/typegen": "workspace:packages/typegen",
|
||||
"@types/jest": "^26.0.22",
|
||||
"@types/jest": "^26.0.23",
|
||||
"copyfiles": "^2.4.1"
|
||||
},
|
||||
"version": "4.7.1"
|
||||
"version": "4.8.1"
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@polkadot/api-contract",
|
||||
"version": "4.7.1",
|
||||
"version": "4.8.1",
|
||||
"type": "module",
|
||||
"description": "Interfaces for interacting with contracts and contract ABIs",
|
||||
"main": "index.js",
|
||||
@@ -19,9 +19,9 @@
|
||||
"bugs": "https://github.com/polkadot-js/api/issues",
|
||||
"homepage": "https://github.com/polkadot-js/api/tree/master/packages/api-contract#readme",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.13.17",
|
||||
"@polkadot/api": "4.7.1",
|
||||
"@polkadot/types": "4.7.1",
|
||||
"@babel/runtime": "^7.14.0",
|
||||
"@polkadot/api": "4.8.1",
|
||||
"@polkadot/types": "4.8.1",
|
||||
"@polkadot/util": "^6.3.1",
|
||||
"@polkadot/x-rxjs": "^6.3.1",
|
||||
"bn.js": "^4.11.9"
|
||||
|
||||
@@ -143,6 +143,7 @@ export class Abi {
|
||||
|
||||
#createMessage = (spec: ContractMessageSpec | ContractConstructorSpec, index: number, add: Partial<AbiMessage> = {}): AbiMessage => {
|
||||
const args = this.#createArgs(spec.args, spec);
|
||||
const identifier = spec.name.toString();
|
||||
const message = {
|
||||
...add,
|
||||
args,
|
||||
@@ -151,8 +152,9 @@ export class Abi {
|
||||
args: this.#decodeArgs(args, data),
|
||||
message
|
||||
}),
|
||||
identifier: spec.name.toString(),
|
||||
identifier,
|
||||
index,
|
||||
method: stringCamelCase(identifier),
|
||||
selector: spec.selector,
|
||||
toU8a: (params: CodecArg[], additional?: Uint8Array) =>
|
||||
this.#encodeArgs(spec, args, params, additional)
|
||||
|
||||
@@ -10,7 +10,7 @@ import type { ContractGeneric, MapConstructorExec } from './types';
|
||||
|
||||
import { SubmittableResult } from '@polkadot/api';
|
||||
import { ApiBase } from '@polkadot/api/base';
|
||||
import { isUndefined, stringCamelCase } from '@polkadot/util';
|
||||
import { isUndefined } from '@polkadot/util';
|
||||
|
||||
import { Abi } from '../Abi';
|
||||
import { applyOnEvent } from '../util';
|
||||
@@ -49,10 +49,8 @@ export class Blueprint<ApiType extends ApiTypes> extends Base<ApiType> {
|
||||
this.createContract = createBluePrintWithId(this.#deploy);
|
||||
|
||||
this.abi.constructors.forEach((c): void => {
|
||||
const messageName = stringCamelCase(c.identifier);
|
||||
|
||||
if (isUndefined(this.#tx[messageName])) {
|
||||
this.#tx[messageName] = createBluePrintTx((o, p) => this.#deploy(c, o, p));
|
||||
if (isUndefined(this.#tx[c.method])) {
|
||||
this.#tx[c.method] = createBluePrintTx((o, p) => this.#deploy(c, o, p));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -10,7 +10,7 @@ import type { MapConstructorExec } from './types';
|
||||
|
||||
import { SubmittableResult } from '@polkadot/api';
|
||||
import { ApiBase } from '@polkadot/api/base';
|
||||
import { assert, compactAddLength, isFunction, isUndefined, isWasm, logger, stringCamelCase, u8aToU8a } from '@polkadot/util';
|
||||
import { assert, compactAddLength, isFunction, isUndefined, isWasm, logger, u8aToU8a } from '@polkadot/util';
|
||||
import { blake2AsU8a } from '@polkadot/util-crypto';
|
||||
|
||||
import { Abi } from '../Abi';
|
||||
@@ -49,10 +49,8 @@ export class Code<ApiType extends ApiTypes> extends Base<ApiType> {
|
||||
assert(isWasm(this.code), 'No WASM code provided');
|
||||
|
||||
this.abi.constructors.forEach((c): void => {
|
||||
const messageName = stringCamelCase(c.identifier);
|
||||
|
||||
if (isUndefined(this.#tx[messageName])) {
|
||||
this.#tx[messageName] = createBluePrintTx((o, p) => this.#instantiate(c, o, p));
|
||||
if (isUndefined(this.#tx[c.method])) {
|
||||
this.#tx[c.method] = createBluePrintTx((o, p) => this.#instantiate(c, o, p));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@ import BN from 'bn.js';
|
||||
|
||||
import { SubmittableResult } from '@polkadot/api';
|
||||
import { ApiBase } from '@polkadot/api/base';
|
||||
import { assert, bnToBn, isFunction, isUndefined, logger, stringCamelCase } from '@polkadot/util';
|
||||
import { assert, bnToBn, isFunction, isUndefined, logger } from '@polkadot/util';
|
||||
import { map } from '@polkadot/x-rxjs/operators';
|
||||
|
||||
import { Abi } from '../Abi';
|
||||
@@ -117,14 +117,12 @@ export class Contract<ApiType extends ApiTypes> extends Base<ApiType> {
|
||||
this.read = createWithId(this.#read, '.read is deprecated, use contract.query.<messageName>(...) instead (where contract refers to this instance)');
|
||||
|
||||
this.abi.messages.forEach((m): void => {
|
||||
const messageName = stringCamelCase(m.identifier);
|
||||
|
||||
if (isUndefined(this.#tx[messageName])) {
|
||||
this.#tx[messageName] = createTx((o, p) => this.#exec(m, o, p));
|
||||
if (isUndefined(this.#tx[m.method])) {
|
||||
this.#tx[m.method] = createTx((o, p) => this.#exec(m, o, p));
|
||||
}
|
||||
|
||||
if (isUndefined(this.#query[messageName])) {
|
||||
this.#query[messageName] = createQuery((f, o, p) => this.#read(m, o, p).send(f));
|
||||
if (isUndefined(this.#query[m.method])) {
|
||||
this.#query[m.method] = createQuery((f, o, p) => this.#read(m, o, p).send(f));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -3,4 +3,4 @@
|
||||
|
||||
// Auto-generated by @polkadot/dev, do not edit
|
||||
|
||||
export const packageInfo = { name: '@polkadot/api-contract', version: '4.7.1' };
|
||||
export const packageInfo = { name: '@polkadot/api-contract', version: '4.8.1' };
|
||||
|
||||
@@ -39,6 +39,7 @@ export interface AbiMessage {
|
||||
isConstructor?: boolean;
|
||||
isMutating?: boolean;
|
||||
isPayable?: boolean;
|
||||
method: string;
|
||||
returnType?: TypeDef | null;
|
||||
selector: ContractSelector;
|
||||
toU8a: (params: CodecArg[], additional?: Uint8Array) => Uint8Array;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@polkadot/api-derive",
|
||||
"version": "4.7.1",
|
||||
"version": "4.8.1",
|
||||
"type": "module",
|
||||
"description": "Common functions used across Polkadot, derived from RPC calls and storage queries.",
|
||||
"main": "index.js",
|
||||
@@ -19,10 +19,10 @@
|
||||
"bugs": "https://github.com/polkadot-js/api/issues",
|
||||
"homepage": "https://github.com/polkadot-js/api/tree/master/packages/api-derive#readme",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.13.17",
|
||||
"@polkadot/api": "4.7.1",
|
||||
"@polkadot/rpc-core": "4.7.1",
|
||||
"@polkadot/types": "4.7.1",
|
||||
"@babel/runtime": "^7.14.0",
|
||||
"@polkadot/api": "4.8.1",
|
||||
"@polkadot/rpc-core": "4.8.1",
|
||||
"@polkadot/types": "4.8.1",
|
||||
"@polkadot/util": "^6.3.1",
|
||||
"@polkadot/util-crypto": "^6.3.1",
|
||||
"@polkadot/x-rxjs": "^6.3.1",
|
||||
@@ -30,6 +30,6 @@
|
||||
},
|
||||
"devDependencies": {
|
||||
"@polkadot/keyring": "^6.3.1",
|
||||
"@polkadot/rpc-provider": "4.7.1"
|
||||
"@polkadot/rpc-provider": "4.8.1"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,6 +13,8 @@ import { catchError, map, switchMap } from '@polkadot/x-rxjs/operators';
|
||||
|
||||
import { memo } from '../util';
|
||||
|
||||
type Collective = 'council' | 'membership' | 'technicalCommittee';
|
||||
|
||||
type Result = [(Hash | Uint8Array | string)[], (Option<Proposal> | null)[], Option<Votes>[]];
|
||||
|
||||
function parse (api: ApiInterfaceRx, [hashes, proposals, votes]: Result): DeriveCollectiveProposal[] {
|
||||
@@ -29,7 +31,7 @@ function parse (api: ApiInterfaceRx, [hashes, proposals, votes]: Result): Derive
|
||||
.filter((proposal): proposal is DeriveCollectiveProposal => !!proposal);
|
||||
}
|
||||
|
||||
function _proposalsFrom (instanceId: string, api: ApiInterfaceRx, section: 'council' | 'technicalCommittee' = 'council'): (hashes: (Hash | Uint8Array | string)[]) => Observable<DeriveCollectiveProposal[]> {
|
||||
function _proposalsFrom (instanceId: string, api: ApiInterfaceRx, section: Collective): (hashes: (Hash | Uint8Array | string)[]) => Observable<DeriveCollectiveProposal[]> {
|
||||
return memo(instanceId, (hashes: (Hash | Uint8Array | string)[]): Observable<DeriveCollectiveProposal[]> =>
|
||||
(isFunction(api.query[section]?.proposals) && hashes.length
|
||||
? combineLatest<Result>([
|
||||
@@ -49,19 +51,19 @@ function _proposalsFrom (instanceId: string, api: ApiInterfaceRx, section: 'coun
|
||||
);
|
||||
}
|
||||
|
||||
export function proposals (instanceId: string, api: ApiInterfaceRx, section: 'council' | 'technicalCommittee' = 'council'): () => Observable<DeriveCollectiveProposal[]> {
|
||||
export function proposals (instanceId: string, api: ApiInterfaceRx, section: Collective): () => Observable<DeriveCollectiveProposal[]> {
|
||||
const proposalsFrom = _proposalsFrom(instanceId, api, section);
|
||||
|
||||
return memo(instanceId, (): Observable<DeriveCollectiveProposal[]> =>
|
||||
isFunction(api.query[section]?.proposals)
|
||||
? api.query[section].proposals().pipe(
|
||||
? api.query[section as 'council'].proposals().pipe(
|
||||
switchMap(proposalsFrom)
|
||||
)
|
||||
: of([] as DeriveCollectiveProposal[])
|
||||
);
|
||||
}
|
||||
|
||||
export function proposal (instanceId: string, api: ApiInterfaceRx, section: 'council' | 'technicalCommittee' = 'council'): (hash: Hash | Uint8Array | string) => Observable<DeriveCollectiveProposal | null> {
|
||||
export function proposal (instanceId: string, api: ApiInterfaceRx, section: Collective): (hash: Hash | Uint8Array | string) => Observable<DeriveCollectiveProposal | null> {
|
||||
const proposalsFrom = _proposalsFrom(instanceId, api, section);
|
||||
|
||||
return memo(instanceId, (hash: Hash | Uint8Array | string): Observable<DeriveCollectiveProposal | null> =>
|
||||
|
||||
@@ -10,9 +10,9 @@ import { proposal as collectiveProposal, proposals as collectiveProposals } from
|
||||
import { memo } from '../util';
|
||||
|
||||
export function proposal (instanceId: string, api: ApiInterfaceRx): (hash: Hash | Uint8Array | string) => Observable<DeriveCollectiveProposal | null> {
|
||||
return memo(instanceId, collectiveProposal(instanceId, api));
|
||||
return memo(instanceId, collectiveProposal(instanceId, api, 'council'));
|
||||
}
|
||||
|
||||
export function proposals (instanceId: string, api: ApiInterfaceRx): () => Observable<DeriveCollectiveProposal[]> {
|
||||
return memo(instanceId, collectiveProposals(instanceId, api));
|
||||
return memo(instanceId, collectiveProposals(instanceId, api, 'council'));
|
||||
}
|
||||
|
||||
@@ -16,6 +16,7 @@ import * as council from './council';
|
||||
import * as democracy from './democracy';
|
||||
import * as elections from './elections';
|
||||
import * as imOnline from './imOnline';
|
||||
import * as membership from './membership';
|
||||
import * as parachains from './parachains';
|
||||
import * as session from './session';
|
||||
import * as society from './society';
|
||||
@@ -27,7 +28,7 @@ import * as tx from './tx';
|
||||
export { packageInfo } from './packageInfo';
|
||||
export * from './type';
|
||||
|
||||
export const derive = { accounts, balances, bounties, chain, contracts, council, democracy, elections, imOnline, parachains, session, society, staking, technicalCommittee, treasury, tx };
|
||||
export const derive = { accounts, balances, bounties, chain, contracts, council, democracy, elections, imOnline, membership, parachains, session, society, staking, technicalCommittee, treasury, tx };
|
||||
|
||||
type DeriveSection<Section> = {
|
||||
[Method in keyof Section]: Section[Method] extends AnyFunction
|
||||
@@ -49,6 +50,7 @@ const deriveAvail: Record<string, string[]> = {
|
||||
democracy: ['democracy'],
|
||||
elections: ['electionsPhragmen', 'elections'],
|
||||
imOnline: ['imOnline'],
|
||||
membership: ['membership'],
|
||||
parachains: ['parachains', 'registrar'],
|
||||
session: ['session'],
|
||||
society: ['society'],
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
// Copyright 2017-2021 @polkadot/api-derive authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
export * from './proposals';
|
||||
@@ -0,0 +1,13 @@
|
||||
// Copyright 2017-2021 @polkadot/api-derive authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { ApiInterfaceRx } from '@polkadot/api/types';
|
||||
import type { Observable } from '@polkadot/x-rxjs';
|
||||
import type { DeriveCollectiveProposal } from '../types';
|
||||
|
||||
import { proposals as collectiveProposals } from '../collective';
|
||||
import { memo } from '../util';
|
||||
|
||||
export function proposals (instanceId: string, api: ApiInterfaceRx): () => Observable<DeriveCollectiveProposal[]> {
|
||||
return memo(instanceId, collectiveProposals(instanceId, api, 'membership'));
|
||||
}
|
||||
@@ -3,4 +3,4 @@
|
||||
|
||||
// Auto-generated by @polkadot/dev, do not edit
|
||||
|
||||
export const packageInfo = { name: '@polkadot/api-derive', version: '4.7.1' };
|
||||
export const packageInfo = { name: '@polkadot/api-derive', version: '4.8.1' };
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@polkadot/api",
|
||||
"version": "4.7.1",
|
||||
"version": "4.8.1",
|
||||
"type": "module",
|
||||
"description": "Promise and RxJS wrappers around the Polkadot JS RPC",
|
||||
"main": "index.js",
|
||||
@@ -19,14 +19,14 @@
|
||||
"bugs": "https://github.com/polkadot-js/api/issues",
|
||||
"homepage": "https://github.com/polkadot-js/api/tree/master/packages/api#readme",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.13.17",
|
||||
"@polkadot/api-derive": "4.7.1",
|
||||
"@babel/runtime": "^7.14.0",
|
||||
"@polkadot/api-derive": "4.8.1",
|
||||
"@polkadot/keyring": "^6.3.1",
|
||||
"@polkadot/metadata": "4.7.1",
|
||||
"@polkadot/rpc-core": "4.7.1",
|
||||
"@polkadot/rpc-provider": "4.7.1",
|
||||
"@polkadot/types": "4.7.1",
|
||||
"@polkadot/types-known": "4.7.1",
|
||||
"@polkadot/metadata": "4.8.1",
|
||||
"@polkadot/rpc-core": "4.8.1",
|
||||
"@polkadot/rpc-provider": "4.8.1",
|
||||
"@polkadot/types": "4.8.1",
|
||||
"@polkadot/types-known": "4.8.1",
|
||||
"@polkadot/util": "^6.3.1",
|
||||
"@polkadot/util-crypto": "^6.3.1",
|
||||
"@polkadot/x-rxjs": "^6.3.1",
|
||||
|
||||
@@ -1291,6 +1291,10 @@ declare module '@polkadot/api/types/errors' {
|
||||
* No proposal or bounty at that index.
|
||||
**/
|
||||
InvalidIndex: AugmentedError<ApiType>;
|
||||
/**
|
||||
* Too many approvals in the queue.
|
||||
**/
|
||||
TooManyApprovals: AugmentedError<ApiType>;
|
||||
};
|
||||
vesting: {
|
||||
[key: string]: AugmentedError<ApiType>;
|
||||
|
||||
@@ -31,7 +31,7 @@ export abstract class Init<ApiType extends ApiTypes> extends Decorate<ApiType> {
|
||||
|
||||
#registries: VersionedRegistry[] = [];
|
||||
|
||||
#updateSub?: Subscription;
|
||||
#updateSub?: Subscription | null = null;
|
||||
|
||||
constructor (options: ApiOptions, type: ApiTypes, decorateMethod: DecorateMethod<ApiType>) {
|
||||
super(options, type, decorateMethod);
|
||||
@@ -156,10 +156,10 @@ export abstract class Init<ApiType extends ApiTypes> extends Decorate<ApiType> {
|
||||
// on re-connection to the same chain, we don't want to re-do everything from chain again
|
||||
if (this._isReady) {
|
||||
return true;
|
||||
} else if (this.#updateSub) {
|
||||
this.#updateSub.unsubscribe();
|
||||
}
|
||||
|
||||
this._unsubscribeUpdates();
|
||||
|
||||
// only load from on-chain if we are not a clone (default path), alternatively
|
||||
// just use the values from the source instance provided
|
||||
[this._genesisHash, this._runtimeMetadata] = this._options.source?._isReady
|
||||
@@ -302,6 +302,25 @@ export abstract class Init<ApiType extends ApiTypes> extends Decorate<ApiType> {
|
||||
return true;
|
||||
}
|
||||
|
||||
private _unsubscribeHealth (): void {
|
||||
if (this.#healthTimer) {
|
||||
clearInterval(this.#healthTimer);
|
||||
this.#healthTimer = null;
|
||||
}
|
||||
}
|
||||
|
||||
private _unsubscribeUpdates (): void {
|
||||
if (this.#updateSub) {
|
||||
this.#updateSub.unsubscribe();
|
||||
this.#updateSub = null;
|
||||
}
|
||||
}
|
||||
|
||||
protected _unsubscribe (): void {
|
||||
this._unsubscribeHealth();
|
||||
this._unsubscribeUpdates();
|
||||
}
|
||||
|
||||
#onProviderConnect = async (): Promise<void> => {
|
||||
this.emit('connected');
|
||||
this._isConnected.next(true);
|
||||
@@ -337,10 +356,7 @@ export abstract class Init<ApiType extends ApiTypes> extends Decorate<ApiType> {
|
||||
this.emit('disconnected');
|
||||
this._isConnected.next(false);
|
||||
|
||||
if (this.#healthTimer) {
|
||||
clearInterval(this.#healthTimer);
|
||||
this.#healthTimer = null;
|
||||
}
|
||||
this._unsubscribeHealth();
|
||||
};
|
||||
|
||||
#onProviderError = (error: Error): void => {
|
||||
|
||||
@@ -50,6 +50,8 @@ export abstract class ApiBase<ApiType extends ApiTypes> extends Getters<ApiType>
|
||||
* @description Disconnect from the underlying provider, halting all network traffic
|
||||
*/
|
||||
public disconnect (): Promise<void> {
|
||||
this._unsubscribe();
|
||||
|
||||
return this._rpcCore.disconnect();
|
||||
}
|
||||
|
||||
|
||||
@@ -3,4 +3,4 @@
|
||||
|
||||
// Auto-generated by @polkadot/dev, do not edit
|
||||
|
||||
export const packageInfo = { name: '@polkadot/api', version: '4.7.1' };
|
||||
export const packageInfo = { name: '@polkadot/api', version: '4.8.1' };
|
||||
|
||||
@@ -165,9 +165,7 @@ export class ApiRx extends ApiBase<'rxjs'> {
|
||||
this.#isReadyRx = from<Promise<ApiRx>>(
|
||||
// You can create an observable from an event, however my mind groks this form better
|
||||
new Promise((resolve): void => {
|
||||
super.on('ready', (): void => {
|
||||
resolve(this);
|
||||
});
|
||||
super.on('ready', () => resolve(this));
|
||||
})
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@polkadot/metadata",
|
||||
"version": "4.7.1",
|
||||
"version": "4.8.1",
|
||||
"type": "module",
|
||||
"description": "Helpers to extract information from runtime metadata",
|
||||
"main": "index.js",
|
||||
@@ -19,9 +19,9 @@
|
||||
"bugs": "https://github.com/polkadot-js/api/issues",
|
||||
"homepage": "https://github.com/polkadot-js/api/tree/master/packages/type-metadata#readme",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.13.17",
|
||||
"@polkadot/types": "4.7.1",
|
||||
"@polkadot/types-known": "4.7.1",
|
||||
"@babel/runtime": "^7.14.0",
|
||||
"@polkadot/types": "4.8.1",
|
||||
"@polkadot/types-known": "4.8.1",
|
||||
"@polkadot/util": "^6.3.1",
|
||||
"@polkadot/util-crypto": "^6.3.1",
|
||||
"bn.js": "^4.11.9"
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
import type { Registry } from '@polkadot/types/types';
|
||||
|
||||
import { isString, u8aConcat, u8aToU8a } from '@polkadot/util';
|
||||
import { isHex, isU8a, u8aToU8a } from '@polkadot/util';
|
||||
|
||||
import { MetadataVersioned } from './MetadataVersioned';
|
||||
|
||||
@@ -11,37 +11,39 @@ import { MetadataVersioned } from './MetadataVersioned';
|
||||
const VERSION_IDX = 4;
|
||||
|
||||
// magic + lowest supported version
|
||||
const EMPTY_METADATA = u8aConcat(new Uint8Array([0x6d, 0x65, 0x74, 0x61, 9]));
|
||||
const EMPTY_METADATA = new Uint8Array([0x6d, 0x65, 0x74, 0x61, 9]);
|
||||
const EMPTY_U8A = new Uint8Array();
|
||||
|
||||
function sanitizeInput (_value: Uint8Array | string = EMPTY_U8A): Uint8Array {
|
||||
if (isString(_value)) {
|
||||
return sanitizeInput(u8aToU8a(_value));
|
||||
}
|
||||
|
||||
return _value.length === 0
|
||||
? EMPTY_METADATA
|
||||
: _value;
|
||||
function toU8a (value: Uint8Array | string = EMPTY_U8A): Uint8Array {
|
||||
return isHex(value)
|
||||
? toU8a(u8aToU8a(value))
|
||||
: isU8a(value) && value.length === 0
|
||||
? EMPTY_METADATA
|
||||
: value;
|
||||
}
|
||||
|
||||
function decodeMetadata (registry: Registry, _value?: Uint8Array | string): MetadataVersioned {
|
||||
const value = sanitizeInput(_value);
|
||||
const version = value[VERSION_IDX];
|
||||
function decodeMetadata (registry: Registry, _value?: Uint8Array | string | Map<string, unknown> | Record<string, unknown>): MetadataVersioned {
|
||||
if (!_value || isU8a(_value) || isHex(_value)) {
|
||||
const value = toU8a(_value);
|
||||
const version = value[VERSION_IDX];
|
||||
|
||||
try {
|
||||
return new MetadataVersioned(registry, value);
|
||||
} catch (error) {
|
||||
// This is an f-ing hack as a follow-up to another ugly hack
|
||||
// https://github.com/polkadot-js/api/commit/a9211690be6b68ad6c6dad7852f1665cadcfa5b2
|
||||
// when we fail on V9, try to re-parse it as v10... yes... HACK
|
||||
if (version === 9) {
|
||||
value[VERSION_IDX] = 10;
|
||||
try {
|
||||
return new MetadataVersioned(registry, value);
|
||||
} catch (error) {
|
||||
// This is an f-ing hack as a follow-up to another ugly hack
|
||||
// https://github.com/polkadot-js/api/commit/a9211690be6b68ad6c6dad7852f1665cadcfa5b2
|
||||
// when we fail on V9, try to re-parse it as v10... yes... HACK
|
||||
if (version === 9) {
|
||||
value[VERSION_IDX] = 10;
|
||||
|
||||
return decodeMetadata(registry, value);
|
||||
return decodeMetadata(registry, value);
|
||||
}
|
||||
|
||||
throw error;
|
||||
}
|
||||
|
||||
throw error;
|
||||
}
|
||||
|
||||
return new MetadataVersioned(registry, _value);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -50,7 +52,7 @@ function decodeMetadata (registry: Registry, _value?: Uint8Array | string): Meta
|
||||
* The versioned runtime metadata as a decoded structure
|
||||
*/
|
||||
export class Metadata extends MetadataVersioned {
|
||||
constructor (registry: Registry, value?: Uint8Array | string) {
|
||||
constructor (registry: Registry, value?: Uint8Array | string | Map<string, unknown> | Record<string, unknown>) {
|
||||
super(registry, decodeMetadata(registry, value));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@ function init (meta: string): [Constants, TypeRegistry] {
|
||||
|
||||
registry.setMetadata(metadata);
|
||||
|
||||
return [decorateConstants(registry, metadata.asLatest), registry];
|
||||
return [decorateConstants(registry, metadata.asLatest, 12), registry];
|
||||
}
|
||||
|
||||
describe('decorateConstants', (): void => {
|
||||
|
||||
@@ -8,7 +8,8 @@ import type { ConstantCodec, Constants, ModuleConstants } from '../types';
|
||||
import { hexToU8a, stringCamelCase } from '@polkadot/util';
|
||||
|
||||
/** @internal */
|
||||
export function decorateConstants (registry: Registry, { modules }: MetadataLatest): Constants {
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
export function decorateConstants (registry: Registry, { modules }: MetadataLatest, _metaVersion: number): Constants {
|
||||
return modules.reduce((result: Constants, { constants, name }): Constants => {
|
||||
if (constants.isEmpty) {
|
||||
return result;
|
||||
|
||||
@@ -46,7 +46,7 @@ describe('Decorated', () => {
|
||||
});
|
||||
|
||||
it('should return constants with the correct type and value', (): void => {
|
||||
const consts = decorateConstants(registry, metadata.asLatest);
|
||||
const consts = decorateConstants(registry, metadata.asLatest, metadata.version);
|
||||
|
||||
expect(consts.democracy.cooloffPeriod).toBeInstanceOf(registry.createClass('BlockNumber'));
|
||||
expect(consts.democracy.cooloffPeriod.toHex()).toEqual('0x000c4e00');
|
||||
|
||||
@@ -20,13 +20,14 @@ export function expandMetadata (registry: Registry, metadata: Metadata): Decorat
|
||||
assert(metadata instanceof Metadata, 'You need to pass a valid Metadata instance to Decorated');
|
||||
|
||||
const latest = metadata.asLatest;
|
||||
const version = metadata.version;
|
||||
|
||||
return {
|
||||
consts: decorateConstants(registry, latest),
|
||||
errors: decorateErrors(registry, latest, metadata.version),
|
||||
events: decorateEvents(registry, latest, metadata.version),
|
||||
query: decorateStorage(registry, latest, metadata.version),
|
||||
tx: decorateExtrinsics(registry, latest, metadata.version)
|
||||
consts: decorateConstants(registry, latest, version),
|
||||
errors: decorateErrors(registry, latest, version),
|
||||
events: decorateEvents(registry, latest, version),
|
||||
query: decorateStorage(registry, latest, version),
|
||||
tx: decorateExtrinsics(registry, latest, version)
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@ describe('createFunction', (): void => {
|
||||
method: 'NextKeys',
|
||||
prefix: 'Session',
|
||||
section: 'session'
|
||||
}, { metaVersion: 9 });
|
||||
}, {});
|
||||
|
||||
expect(
|
||||
u8aToHex(
|
||||
|
||||
@@ -8,16 +8,15 @@ import type { Codec, Registry } from '@polkadot/types/types';
|
||||
import BN from 'bn.js';
|
||||
|
||||
import { Raw } from '@polkadot/types/codec';
|
||||
import { StorageKey } from '@polkadot/types/primitive';
|
||||
import { assert, compactAddLength, compactStripLength, isNull, isUndefined, stringLowerFirst, u8aConcat } from '@polkadot/util';
|
||||
import { StorageKey, Type } from '@polkadot/types/primitive';
|
||||
import { assert, compactAddLength, compactStripLength, isNull, isUndefined, stringCamelCase, stringify, stringLowerFirst, u8aConcat, u8aToU8a } from '@polkadot/util';
|
||||
import { xxhashAsU8a } from '@polkadot/util-crypto';
|
||||
|
||||
import { getHasher, HasherFunction } from './getHasher';
|
||||
import { getHasher } from './getHasher';
|
||||
|
||||
export interface CreateItemOptions {
|
||||
key?: string;
|
||||
metaVersion: number;
|
||||
skipHashing?: boolean; // We don't hash the keys defined in ./substrate.ts
|
||||
skipHashing?: boolean;
|
||||
}
|
||||
|
||||
export interface CreateItemFn {
|
||||
@@ -34,81 +33,35 @@ interface IterFn {
|
||||
|
||||
type CreateArgType = boolean | string | number | null | BN | BigInt | Uint8Array | Codec;
|
||||
|
||||
const EMPTY_U8A = new Uint8Array([]);
|
||||
const NULL_HASHER = (value: Uint8Array): Uint8Array => value;
|
||||
type U8aHasher = (input: Uint8Array) => Uint8Array;
|
||||
|
||||
// get the hashers, the base (and in the case of DoubleMap), the second key
|
||||
/** @internal */
|
||||
function getHashers ({ meta: { type } }: CreateItemFn): [HasherFunction, HasherFunction?] {
|
||||
if (type.isDoubleMap) {
|
||||
return [
|
||||
getHasher(type.asDoubleMap.hasher),
|
||||
getHasher(type.asDoubleMap.key2Hasher)
|
||||
];
|
||||
} else if (type.isMap) {
|
||||
return [getHasher(type.asMap.hasher)];
|
||||
}
|
||||
|
||||
// the default
|
||||
return [getHasher()];
|
||||
}
|
||||
|
||||
// create a base prefixed key
|
||||
/** @internal */
|
||||
function createPrefixedKey ({ method, prefix }: CreateItemFn): Uint8Array {
|
||||
return u8aConcat(xxhashAsU8a(prefix, 128), xxhashAsU8a(method, 128));
|
||||
}
|
||||
|
||||
// create a key for a DoubleMap type
|
||||
/** @internal */
|
||||
function createKeyDoubleMap (registry: Registry, itemFn: CreateItemFn, args: [CreateArgType, CreateArgType], [hasher1, hasher2]: [HasherFunction, HasherFunction?]): Uint8Array {
|
||||
const { meta: { name, type } } = itemFn;
|
||||
function createKey (registry: Registry, itemFn: CreateItemFn, keys: Type[], hashers: U8aHasher[], args: CreateArgType[]): Uint8Array {
|
||||
const { method, section } = itemFn;
|
||||
|
||||
// since we are passing an almost-unknown through, trust, but verify
|
||||
assert(Array.isArray(args) && !isUndefined(args[0]) && !isNull(args[0]) && !isUndefined(args[1]) && !isNull(args[1]), () => `${(name || 'unknown').toString()} is a DoubleMap and requires two arguments`);
|
||||
|
||||
// if this fails, we have bigger issues
|
||||
assert(!isUndefined(hasher2), '2 hashing functions should be defined for DoubleMaps');
|
||||
|
||||
const [key1, key2] = args;
|
||||
const map = type.asDoubleMap;
|
||||
const val1 = registry.createType(map.key1.toString() as 'Raw', key1).toU8a();
|
||||
const val2 = registry.createType(map.key2.toString() as 'Raw', key2).toU8a();
|
||||
assert(Array.isArray(args) && args.length === keys.length, () => `Call to ${stringCamelCase(section || 'unknown')}.${stringCamelCase(method || 'unknown')} needs ${keys.length} arguments, found ${stringify(args)}`);
|
||||
|
||||
// as per createKey, always add the length prefix (underlying it is Bytes)
|
||||
return compactAddLength(u8aConcat(
|
||||
createPrefixedKey(itemFn),
|
||||
hasher1(val1),
|
||||
hasher2(val2)
|
||||
));
|
||||
}
|
||||
return compactAddLength(
|
||||
u8aConcat(
|
||||
createPrefixedKey(itemFn),
|
||||
...keys.map((type, index): Uint8Array => {
|
||||
const arg = args[index];
|
||||
|
||||
// create a key for either a map or a plain value
|
||||
/** @internal */
|
||||
function createKey (registry: Registry, itemFn: CreateItemFn, arg: CreateArgType, hasher: (value: Uint8Array) => Uint8Array): Uint8Array {
|
||||
const { meta: { name, type } } = itemFn;
|
||||
let param: Uint8Array = EMPTY_U8A;
|
||||
assert(!isUndefined(arg) && !isNull(arg), () => `Call to ${stringCamelCase(section || 'unknown')}.${stringCamelCase(method || 'unknown')} has a null or undefined argument at position ${index}`);
|
||||
|
||||
if (type.isMap) {
|
||||
const map = type.asMap;
|
||||
|
||||
assert(!isUndefined(arg) && !isNull(arg), () => `${name.toString()} is a Map and requires one argument`);
|
||||
|
||||
param = registry.createType(map.key.toString() as 'Raw', arg).toU8a();
|
||||
}
|
||||
|
||||
// StorageKey is a Bytes, so is length-prefixed
|
||||
return compactAddLength(u8aConcat(
|
||||
createPrefixedKey(itemFn),
|
||||
param.length
|
||||
? hasher(param)
|
||||
: EMPTY_U8A
|
||||
));
|
||||
return hashers[index](registry.createType(type.toString() as 'Raw', arg).toU8a());
|
||||
})
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
// attach the metadata to expand to a StorageFunction
|
||||
/** @internal */
|
||||
function expandWithMeta ({ meta, method, prefix, section }: CreateItemFn, _storageFn: (arg?: CreateArgType | [CreateArgType?, CreateArgType?]) => Uint8Array): StorageEntry {
|
||||
function expandWithMeta ({ meta, method, prefix, section }: CreateItemFn, _storageFn: (arg?: CreateArgType | CreateArgType[]) => Uint8Array): StorageEntry {
|
||||
const storageFn = _storageFn as StorageEntry;
|
||||
|
||||
storageFn.meta = meta;
|
||||
@@ -177,16 +130,19 @@ function extendPrefixedMap (registry: Registry, itemFn: CreateItemFn, storageFn:
|
||||
/** @internal */
|
||||
export function createFunction (registry: Registry, itemFn: CreateItemFn, options: CreateItemOptions): StorageEntry {
|
||||
const { meta: { type } } = itemFn;
|
||||
const [hasher, key2Hasher] = getHashers(itemFn);
|
||||
|
||||
// Can only have zero or one argument:
|
||||
// - storage.system.account(address)
|
||||
// - storage.timestamp.blockPeriod()
|
||||
// For doublemap queries the params is passed in as an tuple, [key1, key2]
|
||||
const storageFn = expandWithMeta(itemFn, (arg?: CreateArgType | [CreateArgType?, CreateArgType?]): Uint8Array =>
|
||||
// For higher-map queries the params are passed in as an tuple, [key1, key2]
|
||||
const storageFn = expandWithMeta(itemFn, (arg?: CreateArgType | CreateArgType[]) =>
|
||||
type.isDoubleMap
|
||||
? createKeyDoubleMap(registry, itemFn, arg as [CreateArgType, CreateArgType], [hasher, key2Hasher])
|
||||
: createKey(registry, itemFn, arg as CreateArgType, options.skipHashing ? NULL_HASHER : hasher)
|
||||
? createKey(registry, itemFn, [type.asDoubleMap.key1, type.asDoubleMap.key2], [getHasher(type.asDoubleMap.hasher), getHasher(type.asDoubleMap.key2Hasher)], arg as CreateArgType[])
|
||||
: type.isMap
|
||||
? createKey(registry, itemFn, [type.asMap.key], [getHasher(type.asMap.hasher)], [arg as CreateArgType])
|
||||
: options.skipHashing
|
||||
? compactAddLength(u8aToU8a(options.key))
|
||||
: createKey(registry, itemFn, [], [], [])
|
||||
);
|
||||
|
||||
if (type.isMap || type.isDoubleMap) {
|
||||
@@ -194,7 +150,8 @@ export function createFunction (registry: Registry, itemFn: CreateItemFn, option
|
||||
}
|
||||
|
||||
storageFn.keyPrefix = (arg?: any): Uint8Array =>
|
||||
(storageFn.iterKey && storageFn.iterKey(arg)) || compactStripLength(storageFn())[1];
|
||||
(storageFn.iterKey && storageFn.iterKey(arg)) ||
|
||||
compactStripLength(storageFn())[1];
|
||||
|
||||
return storageFn;
|
||||
}
|
||||
|
||||
@@ -31,6 +31,6 @@ const HASHERS: Record<keyof typeof AllHashers, HasherFunction> = {
|
||||
};
|
||||
|
||||
/** @internal */
|
||||
export function getHasher (hasher?: StorageHasher): HasherFunction {
|
||||
return HASHERS[hasher?.type as 'Identity'] || DEFAULT_FN;
|
||||
export function getHasher (hasher: StorageHasher): HasherFunction {
|
||||
return HASHERS[hasher.type as 'Identity'] || DEFAULT_FN;
|
||||
}
|
||||
|
||||
@@ -2,19 +2,21 @@
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import { TypeRegistry } from '@polkadot/types/create';
|
||||
import { compactAddLength, u8aToU8a } from '@polkadot/util';
|
||||
|
||||
import { getStorage } from './getStorage';
|
||||
|
||||
describe('getSorage', (): void => {
|
||||
const registry = new TypeRegistry();
|
||||
const storage = getStorage(registry, 8);
|
||||
const storage = getStorage(registry);
|
||||
|
||||
it('should return well known keys', (): void => {
|
||||
expect(typeof storage.substrate).toBe('object');
|
||||
|
||||
expect(storage.substrate.code()).toEqual(compactAddLength(u8aToU8a(':code')));
|
||||
|
||||
expect(storage.substrate.changesTrieConfig).toBeTruthy();
|
||||
expect(storage.substrate.childStorageKeyPrefix).toBeTruthy();
|
||||
expect(storage.substrate.code).toBeTruthy();
|
||||
expect(storage.substrate.extrinsicIndex).toBeTruthy();
|
||||
expect(storage.substrate.heapPages).toBeTruthy();
|
||||
});
|
||||
|
||||
@@ -8,12 +8,12 @@ import type { Storage } from '../types';
|
||||
import { substrate } from './substrate';
|
||||
|
||||
/** @internal */
|
||||
export function getStorage (registry: Registry, metaVersion: number): Storage {
|
||||
export function getStorage (registry: Registry): Storage {
|
||||
return {
|
||||
substrate: Object
|
||||
.entries(substrate)
|
||||
.reduce((storage: Record<string, StorageEntry>, [key, fn]): Record<string, StorageEntry> => {
|
||||
(storage as Record<string, unknown>)[key] = fn(registry, metaVersion);
|
||||
(storage as Record<string, unknown>)[key] = fn(registry);
|
||||
|
||||
return storage;
|
||||
}, {})
|
||||
|
||||
@@ -21,7 +21,11 @@ describe('decorateStorage', (): void => {
|
||||
const query = decorateStorage(registry, metadata.asLatest, metadata.version);
|
||||
|
||||
it('should throw if the storage function expects an argument', (): void => {
|
||||
expect(() => query.balances.account()).toThrowError(/requires one argument/);
|
||||
expect(() => query.balances.account()).toThrowError('Call to balances.account has a null or undefined argument at position 0');
|
||||
});
|
||||
|
||||
it('should throw if the storage function expects multiple arguments', (): void => {
|
||||
expect(() => query.staking.erasStakers([1])).toThrowError('Call to staking.erasStakers needs 2 arguments, found [1]');
|
||||
});
|
||||
|
||||
it('should return a value if the storage function does not expect an argument', (): void => {
|
||||
|
||||
@@ -11,7 +11,8 @@ import { createFunction } from './createFunction';
|
||||
import { getStorage } from './getStorage';
|
||||
|
||||
/** @internal */
|
||||
export function decorateStorage (registry: Registry, { modules }: MetadataLatest, metaVersion: number): Storage {
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
export function decorateStorage (registry: Registry, { modules }: MetadataLatest, _metaVersion: number): Storage {
|
||||
return modules.reduce((result: Storage, moduleMetadata): Storage => {
|
||||
if (moduleMetadata.storage.isNone) {
|
||||
return result;
|
||||
@@ -31,11 +32,11 @@ export function decorateStorage (registry: Registry, { modules }: MetadataLatest
|
||||
method,
|
||||
prefix,
|
||||
section
|
||||
}, { metaVersion });
|
||||
}, {});
|
||||
|
||||
return newModule;
|
||||
}, {} as ModuleStorage);
|
||||
|
||||
return result;
|
||||
}, { ...getStorage(registry, metaVersion) });
|
||||
}, { ...getStorage(registry) });
|
||||
}
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
// Copyright 2017-2021 @polkadot/metadata authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import { TypeRegistry } from '@polkadot/types/create';
|
||||
import { compactAddLength, u8aToU8a } from '@polkadot/util';
|
||||
|
||||
import { substrate } from './substrate';
|
||||
|
||||
const registry = new TypeRegistry();
|
||||
|
||||
describe('substrate', (): void => {
|
||||
it('creates a well-known :code key', (): void => {
|
||||
expect(
|
||||
substrate.code(registry)()
|
||||
).toEqual(
|
||||
compactAddLength(u8aToU8a(':code'))
|
||||
);
|
||||
});
|
||||
});
|
||||
@@ -12,23 +12,24 @@ interface SubstrateMetadata {
|
||||
type: string;
|
||||
}
|
||||
|
||||
type Creator = (registry: Registry, metaVersion: number) => StorageEntry;
|
||||
type Creator = (registry: Registry) => StorageEntry;
|
||||
|
||||
// Small helper function to factorize code on this page.
|
||||
/** @internal */
|
||||
function createRuntimeFunction (method: string, key: string, { documentation, type }: SubstrateMetadata): (registry: Registry, metaVersion: number) => StorageEntry {
|
||||
return (registry: Registry, metaVersion: number): StorageEntry =>
|
||||
function createRuntimeFunction (method: string, key: string, { documentation, type }: SubstrateMetadata): (registry: Registry) => StorageEntry {
|
||||
return (registry: Registry): StorageEntry =>
|
||||
createFunction(registry, {
|
||||
meta: {
|
||||
documentation: registry.createType('Vec<Text>', [documentation]),
|
||||
modifier: registry.createType('StorageEntryModifierLatest', 1), // required
|
||||
name: registry.createType('Text', method),
|
||||
toJSON: (): any => key,
|
||||
type: registry.createType('StorageEntryTypeLatest', type, 0)
|
||||
} as StorageEntryMetadataLatest,
|
||||
method,
|
||||
prefix: 'Substrate',
|
||||
section: 'substrate'
|
||||
}, { key, metaVersion, skipHashing: true });
|
||||
}, { key, skipHashing: true });
|
||||
}
|
||||
|
||||
export const substrate: Record<string, Creator> = {
|
||||
|
||||
@@ -3,4 +3,4 @@
|
||||
|
||||
// Auto-generated by @polkadot/dev, do not edit
|
||||
|
||||
export const packageInfo = { name: '@polkadot/metadata', version: '4.7.1' };
|
||||
export const packageInfo = { name: '@polkadot/metadata', version: '4.8.1' };
|
||||
|
||||
@@ -4,16 +4,16 @@
|
||||
type Types = string | Types[];
|
||||
|
||||
/** @internal */
|
||||
export function flattenUniq (list: Types[]): string[] {
|
||||
const flat = list.reduce((result: string[], entry): string[] => {
|
||||
return result.concat(
|
||||
Array.isArray(entry)
|
||||
? flattenUniq(entry)
|
||||
: entry
|
||||
);
|
||||
}, []);
|
||||
export function flattenUniq (list: Types[], start: string[] = []): string[] {
|
||||
return [...new Set(
|
||||
list.reduce((result: string[], entry): string[] => {
|
||||
if (Array.isArray(entry)) {
|
||||
return flattenUniq(entry, result);
|
||||
}
|
||||
|
||||
return [...new Set(flat)]
|
||||
.filter((value: string) => value)
|
||||
.sort();
|
||||
result.push(entry);
|
||||
|
||||
return result;
|
||||
}, start)
|
||||
)];
|
||||
}
|
||||
|
||||
@@ -28,12 +28,7 @@ type Item = {
|
||||
};
|
||||
} & Codec;
|
||||
|
||||
type Storage = Option<Vec<Item> | {
|
||||
// v0
|
||||
functions?: Vec<Item>;
|
||||
// V7+
|
||||
items?: Vec<Item>;
|
||||
} & Codec>;
|
||||
type Storage = Option<{ items: Vec<Item> } & Codec>;
|
||||
|
||||
type Call = { args: Vec<Arg> } & Codec;
|
||||
|
||||
@@ -44,12 +39,6 @@ type Event = { args: Vec<Type> } & Codec;
|
||||
type Events = Option<Vec<Event>>;
|
||||
|
||||
type Module = {
|
||||
// V0
|
||||
module?: {
|
||||
call: {
|
||||
functions: Vec<Call>;
|
||||
};
|
||||
};
|
||||
// V1+
|
||||
calls?: Calls;
|
||||
// V6+
|
||||
@@ -60,30 +49,25 @@ type Module = {
|
||||
|
||||
interface ExtractionMetadata {
|
||||
modules: Vec<Module>;
|
||||
|
||||
// V0
|
||||
outerEvent?: {
|
||||
events: Vec<[Text, Vec<Event>] & Codec>;
|
||||
};
|
||||
}
|
||||
|
||||
/** @internal */
|
||||
function unwrapCalls (mod: Module): Call[] {
|
||||
return mod.calls
|
||||
? mod.calls.unwrapOr([])
|
||||
// V0
|
||||
: mod.module
|
||||
? mod.module.call.functions
|
||||
: [];
|
||||
: [];
|
||||
}
|
||||
|
||||
/** @internal */
|
||||
function typeToString ({ type }: Arg): string {
|
||||
return type.toString();
|
||||
}
|
||||
|
||||
/** @internal */
|
||||
function getCallNames ({ modules }: ExtractionMetadata): string[][][] {
|
||||
return modules.map((mod): string[][] =>
|
||||
unwrapCalls(mod).map(({ args }): string[] =>
|
||||
args.map((arg): string =>
|
||||
arg.type.toString()
|
||||
)
|
||||
args.map(typeToString)
|
||||
)
|
||||
);
|
||||
}
|
||||
@@ -91,90 +75,61 @@ function getCallNames ({ modules }: ExtractionMetadata): string[][][] {
|
||||
/** @internal */
|
||||
function getConstantNames ({ modules }: ExtractionMetadata): string[][] {
|
||||
return modules.map(({ constants }): string[] =>
|
||||
constants
|
||||
? constants.map((constant): string =>
|
||||
constant.type.toString()
|
||||
)
|
||||
: []
|
||||
(constants || []).map(typeToString)
|
||||
);
|
||||
}
|
||||
|
||||
/** @internal */
|
||||
function unwrapEvents (events?: Events): Event[] {
|
||||
if (!events) {
|
||||
return [];
|
||||
}
|
||||
|
||||
return events.unwrapOr([]);
|
||||
return events
|
||||
? events.unwrapOr([])
|
||||
: [];
|
||||
}
|
||||
|
||||
/** @internal */
|
||||
function getEventNames ({ modules, outerEvent }: ExtractionMetadata): string[][][] {
|
||||
const mapArg = ({ args }: Event): string[] =>
|
||||
args.map((arg): string =>
|
||||
arg.toString()
|
||||
);
|
||||
|
||||
// V0
|
||||
if (outerEvent) {
|
||||
return outerEvent.events.map(([, events]): string[][] =>
|
||||
events.map(mapArg)
|
||||
);
|
||||
}
|
||||
|
||||
// V1+
|
||||
function getEventNames ({ modules }: ExtractionMetadata): string[][][] {
|
||||
return modules.map(({ events }): string[][] =>
|
||||
unwrapEvents(events).map(mapArg)
|
||||
unwrapEvents(events).map(({ args }: Event): string[] =>
|
||||
args.map((a) => a.toString())
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
/** @internal */
|
||||
function unwrapStorage (storage?: Storage): Item[] {
|
||||
if (!storage) {
|
||||
return [];
|
||||
}
|
||||
|
||||
const data = storage.unwrapOr([]);
|
||||
|
||||
return Array.isArray(data)
|
||||
? data
|
||||
: (data.items || data.functions) as Item[];
|
||||
return storage
|
||||
? storage.unwrapOr({ items: [] }).items
|
||||
: [];
|
||||
}
|
||||
|
||||
/** @internal */
|
||||
function getStorageNames ({ modules }: ExtractionMetadata): string[][][] {
|
||||
return modules.map(({ storage }): string[][] =>
|
||||
unwrapStorage(storage).map(({ type }): string[] => {
|
||||
if (type.isDoubleMap && type.asDoubleMap) {
|
||||
return [
|
||||
unwrapStorage(storage).map(({ type }) =>
|
||||
type.isDoubleMap && type.asDoubleMap
|
||||
? [
|
||||
type.asDoubleMap.key1.toString(),
|
||||
type.asDoubleMap.key2.toString(),
|
||||
type.asDoubleMap.value.toString()
|
||||
];
|
||||
} else if (type.isMap) {
|
||||
return [
|
||||
type.asMap.key.toString(),
|
||||
type.asMap.value.toString()
|
||||
];
|
||||
} else {
|
||||
return [
|
||||
type.asPlain.toString()
|
||||
];
|
||||
}
|
||||
})
|
||||
]
|
||||
: type.isMap
|
||||
? [
|
||||
type.asMap.key.toString(),
|
||||
type.asMap.value.toString()
|
||||
]
|
||||
: [
|
||||
type.asPlain.toString()
|
||||
]
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
/** @internal */
|
||||
export function getUniqTypes (registry: Registry, meta: ExtractionMetadata, throwError: boolean): string[] {
|
||||
const types = flattenUniq([
|
||||
return validateTypes(registry, throwError, flattenUniq([
|
||||
getCallNames(meta),
|
||||
getConstantNames(meta),
|
||||
getEventNames(meta),
|
||||
getStorageNames(meta)
|
||||
]);
|
||||
|
||||
validateTypes(registry, types, throwError);
|
||||
|
||||
return types;
|
||||
]));
|
||||
}
|
||||
|
||||
@@ -11,8 +11,10 @@ import { flattenUniq } from './flattenUniq';
|
||||
const l = logger('metadata');
|
||||
|
||||
/** @internal */
|
||||
export function validateTypes (registry: Registry, types: string[], throwError: boolean): void {
|
||||
const missing = flattenUniq(extractTypes(types)).filter((type) => !registry.hasType(type));
|
||||
export function validateTypes (registry: Registry, throwError: boolean, types: string[]): string[] {
|
||||
const missing = flattenUniq(extractTypes(types))
|
||||
.filter((type) => !registry.hasType(type))
|
||||
.sort();
|
||||
|
||||
if (missing.length !== 0) {
|
||||
const message = `Unknown types found, no types for ${missing.join(', ')}`;
|
||||
@@ -23,4 +25,6 @@ export function validateTypes (registry: Registry, types: string[], throwError:
|
||||
l.warn(message);
|
||||
}
|
||||
}
|
||||
|
||||
return types;
|
||||
}
|
||||
|
||||
@@ -6917,6 +6917,12 @@
|
||||
"documentation": [
|
||||
" No proposal or bounty at that index."
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "TooManyApprovals",
|
||||
"documentation": [
|
||||
" Too many approvals in the queue."
|
||||
]
|
||||
}
|
||||
],
|
||||
"index": 17
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@polkadot/rpc-core",
|
||||
"version": "4.7.1",
|
||||
"version": "4.8.1",
|
||||
"type": "module",
|
||||
"description": "A JavaScript wrapper for the Polkadot JsonRPC interface",
|
||||
"main": "index.js",
|
||||
@@ -19,10 +19,10 @@
|
||||
"bugs": "https://github.com/polkadot-js/api/issues",
|
||||
"homepage": "https://github.com/polkadot-js/api/tree/master/packages/rpc-core#readme",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.13.17",
|
||||
"@polkadot/metadata": "4.7.1",
|
||||
"@polkadot/rpc-provider": "4.7.1",
|
||||
"@polkadot/types": "4.7.1",
|
||||
"@babel/runtime": "^7.14.0",
|
||||
"@polkadot/metadata": "4.8.1",
|
||||
"@polkadot/rpc-provider": "4.8.1",
|
||||
"@polkadot/types": "4.8.1",
|
||||
"@polkadot/util": "^6.3.1",
|
||||
"@polkadot/x-rxjs": "^6.3.1"
|
||||
},
|
||||
|
||||
@@ -3,4 +3,4 @@
|
||||
|
||||
// Auto-generated by @polkadot/dev, do not edit
|
||||
|
||||
export const packageInfo = { name: '@polkadot/rpc-core', version: '4.7.1' };
|
||||
export const packageInfo = { name: '@polkadot/rpc-core', version: '4.8.1' };
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@polkadot/rpc-provider",
|
||||
"version": "4.7.1",
|
||||
"version": "4.8.1",
|
||||
"type": "module",
|
||||
"description": "Transport providers for the API",
|
||||
"main": "index.js",
|
||||
@@ -19,8 +19,8 @@
|
||||
"bugs": "https://github.com/polkadot-js/api/issues",
|
||||
"homepage": "https://github.com/polkadot-js/api/tree/master/packages/rpc-provider#readme",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.13.17",
|
||||
"@polkadot/types": "4.7.1",
|
||||
"@babel/runtime": "^7.14.0",
|
||||
"@polkadot/types": "4.8.1",
|
||||
"@polkadot/util": "^6.3.1",
|
||||
"@polkadot/util-crypto": "^6.3.1",
|
||||
"@polkadot/x-fetch": "^6.3.1",
|
||||
@@ -31,7 +31,7 @@
|
||||
},
|
||||
"devDependencies": {
|
||||
"@polkadot/keyring": "^6.3.1",
|
||||
"@polkadot/metadata": "4.7.1",
|
||||
"@polkadot/metadata": "4.8.1",
|
||||
"mock-socket": "^9.0.3",
|
||||
"nock": "^13.0.11"
|
||||
}
|
||||
|
||||
@@ -3,4 +3,4 @@
|
||||
|
||||
// Auto-generated by @polkadot/dev, do not edit
|
||||
|
||||
export const packageInfo = { name: '@polkadot/rpc-provider', version: '4.7.1' };
|
||||
export const packageInfo = { name: '@polkadot/rpc-provider', version: '4.8.1' };
|
||||
|
||||
@@ -32,7 +32,7 @@ interface WsStateSubscription extends SubscriptionHandler {
|
||||
params: any[];
|
||||
}
|
||||
|
||||
const ALIASSES: { [index: string]: string } = {
|
||||
const ALIASES: { [index: string]: string } = {
|
||||
chain_finalisedHead: 'chain_finalizedHead',
|
||||
chain_subscribeFinalisedHeads: 'chain_subscribeFinalizedHeads',
|
||||
chain_unsubscribeFinalisedHeads: 'chain_unsubscribeFinalizedHeads'
|
||||
@@ -225,7 +225,6 @@ export class WsProvider implements ProviderInterface {
|
||||
|
||||
// 1000 - Normal closure; the connection successfully completed
|
||||
this.#websocket.close(1000);
|
||||
this.#websocket = null;
|
||||
} catch (error) {
|
||||
l.error(error);
|
||||
|
||||
@@ -351,9 +350,19 @@ export class WsProvider implements ProviderInterface {
|
||||
}
|
||||
|
||||
this.#isConnected = false;
|
||||
|
||||
if (this.#websocket) {
|
||||
this.#websocket.onclose = null;
|
||||
this.#websocket.onerror = null;
|
||||
this.#websocket.onmessage = null;
|
||||
this.#websocket.onopen = null;
|
||||
this.#websocket = null;
|
||||
}
|
||||
|
||||
this.#emit('disconnected');
|
||||
|
||||
// reject all hanging requests
|
||||
eraseRecord(this.#handlers, (handler) => handler.callback(error, undefined));
|
||||
eraseRecord(this.#handlers, (h) => h.callback(error, undefined));
|
||||
eraseRecord(this.#waitingForId);
|
||||
|
||||
if (this.#autoConnectMs > 0) {
|
||||
@@ -419,7 +428,7 @@ export class WsProvider implements ProviderInterface {
|
||||
}
|
||||
|
||||
#onSocketMessageSubscribe = (response: JsonRpcResponse): void => {
|
||||
const method = ALIASSES[response.method as string] || response.method || 'invalid';
|
||||
const method = ALIASES[response.method as string] || response.method || 'invalid';
|
||||
const subId = `${method}::${response.params.subscription}`;
|
||||
const handler = this.#subscriptions[subId];
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@polkadot/typegen",
|
||||
"version": "4.7.1",
|
||||
"version": "4.8.1",
|
||||
"type": "module",
|
||||
"description": "Type generation scripts",
|
||||
"main": "index.js",
|
||||
@@ -26,13 +26,13 @@
|
||||
"bugs": "https://github.com/polkadot-js/api/issues",
|
||||
"homepage": "https://github.com/polkadot-js/api/tree/master/packages/typegen#readme",
|
||||
"dependencies": {
|
||||
"@babel/core": "^7.13.16",
|
||||
"@babel/core": "^7.14.0",
|
||||
"@babel/register": "^7.13.16",
|
||||
"@babel/runtime": "^7.13.17",
|
||||
"@polkadot/api": "4.7.1",
|
||||
"@polkadot/metadata": "4.7.1",
|
||||
"@polkadot/rpc-provider": "4.7.1",
|
||||
"@polkadot/types": "4.7.1",
|
||||
"@babel/runtime": "^7.14.0",
|
||||
"@polkadot/api": "4.8.1",
|
||||
"@polkadot/metadata": "4.8.1",
|
||||
"@polkadot/rpc-provider": "4.8.1",
|
||||
"@polkadot/types": "4.8.1",
|
||||
"@polkadot/util": "^6.3.1",
|
||||
"handlebars": "^4.7.7",
|
||||
"websocket": "^1.0.34",
|
||||
|
||||
@@ -195,7 +195,7 @@ function addConstants (metadata: MetadataLatest): string {
|
||||
|
||||
/** @internal */
|
||||
function addStorage (metadata: MetadataLatest): string {
|
||||
const { substrate } = getSubstrateStorage(metadata.registry, 12);
|
||||
const { substrate } = getSubstrateStorage(metadata.registry);
|
||||
const moduleSections = metadata.modules
|
||||
.sort(sortByName)
|
||||
.filter((moduleMetadata) => !moduleMetadata.storage.isNone)
|
||||
|
||||
@@ -3,4 +3,4 @@
|
||||
|
||||
// Auto-generated by @polkadot/dev, do not edit
|
||||
|
||||
export const packageInfo = { name: '@polkadot/typegen', version: '4.7.1' };
|
||||
export const packageInfo = { name: '@polkadot/typegen', version: '4.8.1' };
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@polkadot/types-known",
|
||||
"version": "4.7.1",
|
||||
"version": "4.8.1",
|
||||
"type": "module",
|
||||
"description": "A JavaScript wrapper for the Polkadot JsonRPC interface",
|
||||
"main": "index.js",
|
||||
@@ -19,9 +19,9 @@
|
||||
"bugs": "https://github.com/polkadot-js/api/issues",
|
||||
"homepage": "https://github.com/polkadot-js/api/tree/master/packages/types-known#readme",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.13.17",
|
||||
"@babel/runtime": "^7.14.0",
|
||||
"@polkadot/networks": "^6.3.1",
|
||||
"@polkadot/types": "4.7.1",
|
||||
"@polkadot/types": "4.8.1",
|
||||
"@polkadot/util": "^6.3.1",
|
||||
"bn.js": "^4.11.9"
|
||||
},
|
||||
|
||||
@@ -72,12 +72,6 @@ const typesModules: Record<string, OverrideModuleType> = {
|
||||
},
|
||||
treasury: {
|
||||
Proposal: 'TreasuryProposal'
|
||||
},
|
||||
xcm: {
|
||||
Outcome: 'XcmOutcome'
|
||||
},
|
||||
xcmPallet: {
|
||||
Outcome: 'XcmOutcome'
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -3,4 +3,4 @@
|
||||
|
||||
// Auto-generated by @polkadot/dev, do not edit
|
||||
|
||||
export const packageInfo = { name: '@polkadot/types-known', version: '4.7.1' };
|
||||
export const packageInfo = { name: '@polkadot/types-known', version: '4.8.1' };
|
||||
|
||||
@@ -8,7 +8,7 @@ const upgrades: ChainUpgradesRaw = [
|
||||
[244358, 8], [303079, 9], [314201, 10], [342400, 11], [443963, 12],
|
||||
[528470, 13], [687751, 14], [746085, 15], [787923, 16], [799302, 17],
|
||||
[1205128, 18], [1603423, 23], [1733218, 24], [2005673, 25], [2436698, 26],
|
||||
[3613564, 27], [3899547, 28], [4345767, 29]
|
||||
[3613564, 27], [3899547, 28], [4345767, 29], [4876134, 30]
|
||||
];
|
||||
|
||||
export default upgrades;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@polkadot/types",
|
||||
"version": "4.7.1",
|
||||
"version": "4.8.1",
|
||||
"type": "module",
|
||||
"description": "Implementation of the Parity codec",
|
||||
"main": "index.js",
|
||||
@@ -19,8 +19,8 @@
|
||||
"bugs": "https://github.com/polkadot-js/api/issues",
|
||||
"homepage": "https://github.com/polkadot-js/api/tree/master/packages/types#readme",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.13.17",
|
||||
"@polkadot/metadata": "4.7.1",
|
||||
"@babel/runtime": "^7.14.0",
|
||||
"@polkadot/metadata": "4.8.1",
|
||||
"@polkadot/util": "^6.3.1",
|
||||
"@polkadot/util-crypto": "^6.3.1",
|
||||
"@polkadot/x-rxjs": "^6.3.1",
|
||||
|
||||
@@ -21,7 +21,7 @@ import type { FundIndex, FundInfo, LastContribution, TrieIndex } from '@polkadot
|
||||
import type { AccountVote, AccountVoteSplit, AccountVoteStandard, Conviction, Delegations, PreimageStatus, PreimageStatusAvailable, PriorLock, PropIndex, Proposal, ProxyState, ReferendumIndex, ReferendumInfo, ReferendumInfoFinished, ReferendumInfoTo239, ReferendumStatus, Tally, Voting, VotingDelegating, VotingDirect, VotingDirectVote } from '@polkadot/types/interfaces/democracy';
|
||||
import type { ApprovalFlag, DefunctVoter, Renouncing, SetIndex, Vote, VoteIndex, VoteThreshold, VoterInfo } from '@polkadot/types/interfaces/elections';
|
||||
import type { CreatedBlock, ImportedAux } from '@polkadot/types/interfaces/engine';
|
||||
import type { EthAccount, EthBlock, EthBloom, EthCallRequest, EthFilter, EthFilterAddress, EthFilterChanges, EthFilterTopic, EthFilterTopicEntry, EthFilterTopicInner, EthHeader, EthLog, EthReceipt, EthRichBlock, EthRichHeader, EthStorageProof, EthSubKind, EthSubParams, EthSubResult, EthSyncInfo, EthSyncStatus, EthTransaction, EthTransactionAction, EthTransactionCondition, EthTransactionRequest, EthTransactionStatus, EthWork, EthereumAccountId, EthereumLookupSource, EthereumSignature } from '@polkadot/types/interfaces/eth';
|
||||
import type { EthAccount, EthBlock, EthBloom, EthCallRequest, EthFilter, EthFilterAddress, EthFilterChanges, EthFilterTopic, EthFilterTopicEntry, EthFilterTopicInner, EthHeader, EthLog, EthReceipt, EthRichBlock, EthRichHeader, EthStorageProof, EthSubKind, EthSubParams, EthSubResult, EthSyncInfo, EthSyncStatus, EthTransaction, EthTransactionAction, EthTransactionCondition, EthTransactionRequest, EthTransactionSignature, EthTransactionStatus, EthWork, EthereumAccountId, EthereumLookupSource, EthereumSignature } from '@polkadot/types/interfaces/eth';
|
||||
import type { EvmAccount, EvmLog, EvmVicinity, ExitError, ExitFatal, ExitReason, ExitRevert, ExitSucceed } from '@polkadot/types/interfaces/evm';
|
||||
import type { AnySignature, EcdsaSignature, Ed25519Signature, Extrinsic, ExtrinsicEra, ExtrinsicPayload, ExtrinsicPayloadUnknown, ExtrinsicPayloadV4, ExtrinsicSignature, ExtrinsicSignatureV4, ExtrinsicUnknown, ExtrinsicV4, ImmortalEra, MortalEra, MultiSignature, Signature, SignerPayload, Sr25519Signature } from '@polkadot/types/interfaces/extrinsics';
|
||||
import type { AssetOptions, Owner, PermissionLatest, PermissionVersions, PermissionsV1 } from '@polkadot/types/interfaces/genericAsset';
|
||||
@@ -41,7 +41,7 @@ import type { ProxyAnnouncement, ProxyDefinition, ProxyType } from '@polkadot/ty
|
||||
import type { AccountStatus, AccountValidity } from '@polkadot/types/interfaces/purchase';
|
||||
import type { ActiveRecovery, RecoveryConfig } from '@polkadot/types/interfaces/recovery';
|
||||
import type { RpcMethods } from '@polkadot/types/interfaces/rpc';
|
||||
import type { AccountId, AccountIdOf, AccountIndex, Address, AssetId, Balance, BalanceOf, Block, BlockNumber, Call, CallHash, CallHashOf, ChangesTrieConfiguration, CodecHash, Consensus, ConsensusEngineId, Digest, DigestItem, EncodedJustification, ExtrinsicsWeight, Fixed128, Fixed64, FixedI128, FixedI64, FixedU128, FixedU64, H1024, H128, H160, H2048, H256, H512, H64, Hash, Header, I32F32, Index, IndicesLookupSource, Justification, Justifications, KeyTypeId, KeyValue, LockIdentifier, LookupSource, LookupTarget, ModuleId, Moment, MultiAddress, MultiSigner, OpaqueCall, Origin, OriginCaller, PalletId, PalletVersion, PalletsOrigin, Pays, PerU16, Perbill, Percent, Permill, Perquintill, Phantom, PhantomData, PreRuntime, Releases, RuntimeDbWeight, Seal, SealV0, SignedBlock, SignedBlockWithJustification, SignedBlockWithJustifications, Slot, StorageData, StorageProof, TransactionPriority, U32F32, ValidatorId, ValidatorIdOf, Weight, WeightMultiplier } from '@polkadot/types/interfaces/runtime';
|
||||
import type { AccountId, AccountIdOf, AccountIndex, Address, AssetId, Balance, BalanceOf, Block, BlockNumber, Call, CallHash, CallHashOf, ChangesTrieConfiguration, CodecHash, Consensus, ConsensusEngineId, Digest, DigestItem, EncodedJustification, ExtrinsicsWeight, Fixed128, Fixed64, FixedI128, FixedI64, FixedU128, FixedU64, H1024, H128, H160, H2048, H256, H32, H512, H64, Hash, Header, I32F32, Index, IndicesLookupSource, Justification, Justifications, KeyTypeId, KeyValue, LockIdentifier, LookupSource, LookupTarget, ModuleId, Moment, MultiAddress, MultiSigner, OpaqueCall, Origin, OriginCaller, PalletId, PalletVersion, PalletsOrigin, Pays, PerU16, Perbill, Percent, Permill, Perquintill, Phantom, PhantomData, PreRuntime, Releases, RuntimeDbWeight, Seal, SealV0, SignedBlock, SignedBlockWithJustification, SignedBlockWithJustifications, Slot, StorageData, StorageProof, TransactionPriority, U32F32, ValidatorId, ValidatorIdOf, Weight, WeightMultiplier } from '@polkadot/types/interfaces/runtime';
|
||||
import type { SiField, SiLookupTypeId, SiPath, SiType, SiTypeDef, SiTypeDefArray, SiTypeDefComposite, SiTypeDefPrimitive, SiTypeDefSequence, SiTypeDefTuple, SiTypeDefVariant, SiVariant } from '@polkadot/types/interfaces/scaleInfo';
|
||||
import type { Period, Priority, SchedulePeriod, SchedulePriority, Scheduled, ScheduledTo254, TaskAddress } from '@polkadot/types/interfaces/scheduler';
|
||||
import type { BeefyKey, FullIdentification, IdentificationTuple, Keys, MembershipProof, SessionIndex, SessionKeys1, SessionKeys10, SessionKeys10B, SessionKeys2, SessionKeys3, SessionKeys4, SessionKeys5, SessionKeys6, SessionKeys6B, SessionKeys7, SessionKeys7B, SessionKeys8, SessionKeys8B, SessionKeys9, SessionKeys9B, ValidatorCount } from '@polkadot/types/interfaces/session';
|
||||
@@ -54,7 +54,7 @@ import type { Bounty, BountyIndex, BountyStatus, BountyStatusActive, BountyStatu
|
||||
import type { Multiplier } from '@polkadot/types/interfaces/txpayment';
|
||||
import type { Multisig, Timepoint } from '@polkadot/types/interfaces/utility';
|
||||
import type { VestingInfo } from '@polkadot/types/interfaces/vesting';
|
||||
import type { AccountId32Junction, AccountIndex64Junction, AccountKey20Junction, AssetInstance, BodyId, BodyPart, BodyPartAtLeastProportion, BodyPartFraction, BodyPartMoreThanProportion, DoubleEncodedCall, Junction, MultiAsset, MultiAssetAbstractFungible, MultiAssetAbstractNonFungible, MultiAssetConcreteFungible, MultiAssetConcreteNonFungible, MultiLocation, NetworkId, PluralityJunction, VersionedMultiAsset, VersionedMultiLocation, VersionedXcm, Xcm, XcmAssetEffects, XcmError, XcmHrmpChannelAccepted, XcmHrmpChannelClosing, XcmHrmpNewChannelOpenRequest, XcmOrder, XcmOrderBuyExecution, XcmOrderDepositAsset, XcmOrderDepositReserveAsset, XcmOrderExchangeAsset, XcmOrderInitiateReserveWithdraw, XcmOrderInitiateTeleport, XcmOrderQueryHolding, XcmOriginKind, XcmOutcome, XcmQueryResponse, XcmRelayedFrom, XcmReserveAssetDeposit, XcmResponse, XcmTeleportAsset, XcmTransact, XcmTransferAsset, XcmTransferReserveAsset, XcmWithdrawAsset } from '@polkadot/types/interfaces/xcm';
|
||||
import type { AccountId32Junction, AccountIndex64Junction, AccountKey20Junction, AssetInstance, BodyId, BodyPart, BodyPartAtLeastProportion, BodyPartFraction, BodyPartMoreThanProportion, DoubleEncodedCall, Junction, MultiAsset, MultiAssetAbstractFungible, MultiAssetAbstractNonFungible, MultiAssetConcreteFungible, MultiAssetConcreteNonFungible, MultiLocation, NetworkId, Outcome, PluralityJunction, VersionedMultiAsset, VersionedMultiLocation, VersionedXcm, Xcm, XcmAssetEffects, XcmError, XcmHrmpChannelAccepted, XcmHrmpChannelClosing, XcmHrmpNewChannelOpenRequest, XcmOrder, XcmOrderBuyExecution, XcmOrderDepositAsset, XcmOrderDepositReserveAsset, XcmOrderExchangeAsset, XcmOrderInitiateReserveWithdraw, XcmOrderInitiateTeleport, XcmOrderQueryHolding, XcmOriginKind, XcmQueryResponse, XcmRelayedFrom, XcmReserveAssetDeposit, XcmResponse, XcmTeleportAsset, XcmTransact, XcmTransferAsset, XcmTransferReserveAsset, XcmWithdrawAsset } from '@polkadot/types/interfaces/xcm';
|
||||
|
||||
declare module '@polkadot/types/types/registry' {
|
||||
export interface InterfaceTypes {
|
||||
@@ -385,6 +385,7 @@ declare module '@polkadot/types/types/registry' {
|
||||
'Option<EthTransactionAction>': Option<EthTransactionAction>;
|
||||
'Option<EthTransactionCondition>': Option<EthTransactionCondition>;
|
||||
'Option<EthTransactionRequest>': Option<EthTransactionRequest>;
|
||||
'Option<EthTransactionSignature>': Option<EthTransactionSignature>;
|
||||
'Option<EthTransactionStatus>': Option<EthTransactionStatus>;
|
||||
'Option<EthWork>': Option<EthWork>;
|
||||
'Option<Event>': Option<Event>;
|
||||
@@ -457,6 +458,7 @@ declare module '@polkadot/types/types/registry' {
|
||||
'Option<H160>': Option<H160>;
|
||||
'Option<H2048>': Option<H2048>;
|
||||
'Option<H256>': Option<H256>;
|
||||
'Option<H32>': Option<H32>;
|
||||
'Option<H512>': Option<H512>;
|
||||
'Option<H64>': Option<H64>;
|
||||
'Option<Hash>': Option<Hash>;
|
||||
@@ -607,6 +609,7 @@ declare module '@polkadot/types/types/registry' {
|
||||
'Option<Origin>': Option<Origin>;
|
||||
'Option<OriginCaller>': Option<OriginCaller>;
|
||||
'Option<OutboundHrmpMessage>': Option<OutboundHrmpMessage>;
|
||||
'Option<Outcome>': Option<Outcome>;
|
||||
'Option<Owner>': Option<Owner>;
|
||||
'Option<PalletId>': Option<PalletId>;
|
||||
'Option<PalletsOrigin>': Option<PalletsOrigin>;
|
||||
@@ -927,7 +930,6 @@ declare module '@polkadot/types/types/registry' {
|
||||
'Option<XcmOrderInitiateTeleport>': Option<XcmOrderInitiateTeleport>;
|
||||
'Option<XcmOrderQueryHolding>': Option<XcmOrderQueryHolding>;
|
||||
'Option<XcmOriginKind>': Option<XcmOriginKind>;
|
||||
'Option<XcmOutcome>': Option<XcmOutcome>;
|
||||
'Option<XcmQueryResponse>': Option<XcmQueryResponse>;
|
||||
'Option<XcmRelayedFrom>': Option<XcmRelayedFrom>;
|
||||
'Option<XcmReserveAssetDeposit>': Option<XcmReserveAssetDeposit>;
|
||||
@@ -1177,6 +1179,7 @@ declare module '@polkadot/types/types/registry' {
|
||||
'Vec<EthTransactionAction>': Vec<EthTransactionAction>;
|
||||
'Vec<EthTransactionCondition>': Vec<EthTransactionCondition>;
|
||||
'Vec<EthTransactionRequest>': Vec<EthTransactionRequest>;
|
||||
'Vec<EthTransactionSignature>': Vec<EthTransactionSignature>;
|
||||
'Vec<EthTransactionStatus>': Vec<EthTransactionStatus>;
|
||||
'Vec<EthWork>': Vec<EthWork>;
|
||||
'Vec<Event>': Vec<Event>;
|
||||
@@ -1249,6 +1252,7 @@ declare module '@polkadot/types/types/registry' {
|
||||
'Vec<H160>': Vec<H160>;
|
||||
'Vec<H2048>': Vec<H2048>;
|
||||
'Vec<H256>': Vec<H256>;
|
||||
'Vec<H32>': Vec<H32>;
|
||||
'Vec<H512>': Vec<H512>;
|
||||
'Vec<H64>': Vec<H64>;
|
||||
'Vec<Hash>': Vec<Hash>;
|
||||
@@ -1399,6 +1403,7 @@ declare module '@polkadot/types/types/registry' {
|
||||
'Vec<Origin>': Vec<Origin>;
|
||||
'Vec<OriginCaller>': Vec<OriginCaller>;
|
||||
'Vec<OutboundHrmpMessage>': Vec<OutboundHrmpMessage>;
|
||||
'Vec<Outcome>': Vec<Outcome>;
|
||||
'Vec<Owner>': Vec<Owner>;
|
||||
'Vec<PalletId>': Vec<PalletId>;
|
||||
'Vec<PalletsOrigin>': Vec<PalletsOrigin>;
|
||||
@@ -1719,7 +1724,6 @@ declare module '@polkadot/types/types/registry' {
|
||||
'Vec<XcmOrderInitiateTeleport>': Vec<XcmOrderInitiateTeleport>;
|
||||
'Vec<XcmOrderQueryHolding>': Vec<XcmOrderQueryHolding>;
|
||||
'Vec<XcmOriginKind>': Vec<XcmOriginKind>;
|
||||
'Vec<XcmOutcome>': Vec<XcmOutcome>;
|
||||
'Vec<XcmQueryResponse>': Vec<XcmQueryResponse>;
|
||||
'Vec<XcmRelayedFrom>': Vec<XcmRelayedFrom>;
|
||||
'Vec<XcmReserveAssetDeposit>': Vec<XcmReserveAssetDeposit>;
|
||||
@@ -1969,6 +1973,7 @@ declare module '@polkadot/types/types/registry' {
|
||||
EthTransactionAction: EthTransactionAction;
|
||||
EthTransactionCondition: EthTransactionCondition;
|
||||
EthTransactionRequest: EthTransactionRequest;
|
||||
EthTransactionSignature: EthTransactionSignature;
|
||||
EthTransactionStatus: EthTransactionStatus;
|
||||
EthWork: EthWork;
|
||||
Event: Event;
|
||||
@@ -2041,6 +2046,7 @@ declare module '@polkadot/types/types/registry' {
|
||||
H160: H160;
|
||||
H2048: H2048;
|
||||
H256: H256;
|
||||
H32: H32;
|
||||
H512: H512;
|
||||
H64: H64;
|
||||
Hash: Hash;
|
||||
@@ -2191,6 +2197,7 @@ declare module '@polkadot/types/types/registry' {
|
||||
Origin: Origin;
|
||||
OriginCaller: OriginCaller;
|
||||
OutboundHrmpMessage: OutboundHrmpMessage;
|
||||
Outcome: Outcome;
|
||||
Owner: Owner;
|
||||
PalletId: PalletId;
|
||||
PalletsOrigin: PalletsOrigin;
|
||||
@@ -2511,7 +2518,6 @@ declare module '@polkadot/types/types/registry' {
|
||||
XcmOrderInitiateTeleport: XcmOrderInitiateTeleport;
|
||||
XcmOrderQueryHolding: XcmOrderQueryHolding;
|
||||
XcmOriginKind: XcmOriginKind;
|
||||
XcmOutcome: XcmOutcome;
|
||||
XcmQueryResponse: XcmQueryResponse;
|
||||
XcmRelayedFrom: XcmRelayedFrom;
|
||||
XcmReserveAssetDeposit: XcmReserveAssetDeposit;
|
||||
|
||||
@@ -30,9 +30,7 @@ export abstract class AbstractArray<T extends Codec> extends Array<T> implements
|
||||
* @description The length of the value when encoded as a Uint8Array
|
||||
*/
|
||||
public get encodedLength (): number {
|
||||
return this.reduce((total, raw): number => {
|
||||
return total + raw.encodedLength;
|
||||
}, compactToU8a(this.length).length);
|
||||
return this.reduce((total, entry) => total + entry.encodedLength, compactToU8a(this.length).length);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -74,11 +74,7 @@ export class Tuple extends AbstractArray<Codec> {
|
||||
* @description The length of the value when encoded as a Uint8Array
|
||||
*/
|
||||
public get encodedLength (): number {
|
||||
return this.reduce((length: number, entry: Codec): number => {
|
||||
length += entry.encodedLength;
|
||||
|
||||
return length;
|
||||
}, 0);
|
||||
return this.reduce((total, entry) => total + entry.encodedLength, 0);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -63,7 +63,7 @@ export class VecFixed<T extends Codec> extends AbstractArray<T> {
|
||||
* @description The length of the value when encoded as a Uint8Array
|
||||
*/
|
||||
public get encodedLength (): number {
|
||||
return this.toU8a().length;
|
||||
return this.reduce((total, entry) => total + entry.encodedLength, 0);
|
||||
}
|
||||
|
||||
public toU8a (): Uint8Array {
|
||||
|
||||
@@ -97,7 +97,7 @@ function injectExtrinsics (registry: Registry, metadata: Metadata, metadataCalls
|
||||
// extract additional properties from the metadata
|
||||
function extractProperties (registry: Registry, metadata: Metadata): ChainProperties | undefined {
|
||||
const original = registry.getChainProperties();
|
||||
const constants = decorateConstants(registry, metadata.asLatest);
|
||||
const constants = decorateConstants(registry, metadata.asLatest, metadata.version);
|
||||
const ss58Format = constants.system?.ss58Prefix;
|
||||
|
||||
if (!ss58Format) {
|
||||
|
||||
@@ -5,7 +5,7 @@ import { alias, removeColons } from './sanitize';
|
||||
|
||||
describe('sanitize', (): void => {
|
||||
describe('alias', (): void => {
|
||||
const exec = alias(['String'], 'Text');
|
||||
const exec = alias('String', 'Text');
|
||||
|
||||
it('replaces all occurrences for types', (): void => {
|
||||
expect(exec('(String,Address,MasterString,String)')).toEqual(
|
||||
@@ -27,7 +27,7 @@ describe('sanitize', (): void => {
|
||||
});
|
||||
|
||||
it('handles emdedded Vec/Tuples', (): void => {
|
||||
const ann = alias(['Announcement'], 'ProxyAnnouncement');
|
||||
const ann = alias('Announcement', 'ProxyAnnouncement');
|
||||
|
||||
expect(ann('(Vec<Announcement>,BalanceOf)')).toEqual(
|
||||
'(Vec<ProxyAnnouncement>,BalanceOf)'
|
||||
|
||||
@@ -12,8 +12,8 @@ const BOX_PRECEDING = ['<', '(', '[', '"', ',', ' ']; // start of vec, tuple, fi
|
||||
|
||||
const mappings: Mapper[] = [
|
||||
// alias <T::InherentOfflineReport as InherentOfflineReport>::Inherent -> InherentOfflineReport
|
||||
alias(['<T::InherentOfflineReport as InherentOfflineReport>::Inherent'], 'InherentOfflineReport', false),
|
||||
alias(['VecDeque<'], 'Vec<', false),
|
||||
alias('<T::InherentOfflineReport as InherentOfflineReport>::Inherent', 'InherentOfflineReport', false),
|
||||
alias('VecDeque<', 'Vec<', false),
|
||||
// <T::Balance as HasCompact>
|
||||
cleanupCompact(),
|
||||
// Change BoundedVec<Type, Size> to Vec<Type>
|
||||
@@ -27,16 +27,17 @@ const mappings: Mapper[] = [
|
||||
// remove generics, `MisbehaviorReport<Hash, BlockNumber>` -> `MisbehaviorReport`
|
||||
removeGenerics(),
|
||||
// alias String -> Text (compat with jsonrpc methods)
|
||||
alias(['String'], 'Text'),
|
||||
alias('String', 'Text'),
|
||||
// alias Vec<u8> -> Bytes
|
||||
alias(['Vec<u8>', '&\\[u8\\]'], 'Bytes'),
|
||||
alias('Vec<u8>', 'Bytes'),
|
||||
alias('&\\[u8\\]', 'Bytes'),
|
||||
// alias RawAddress -> Address
|
||||
alias(['RawAddress'], 'Address'),
|
||||
alias('RawAddress', 'Address'),
|
||||
// lookups, mapped to Address/AccountId as appropriate in runtime
|
||||
alias(['Lookup::Source'], 'LookupSource'),
|
||||
alias(['Lookup::Target'], 'LookupTarget'),
|
||||
alias('Lookup::Source', 'LookupSource'),
|
||||
alias('Lookup::Target', 'LookupTarget'),
|
||||
// HACK duplication between contracts & primitives, however contracts prefixed with exec
|
||||
alias(['exec::StorageKey'], 'ContractStorageKey'),
|
||||
alias('exec::StorageKey', 'ContractStorageKey'),
|
||||
// flattens tuples with one value, `(AccountId)` -> `AccountId`
|
||||
flattenSingleTuple(),
|
||||
// converts ::Type to Type, <T as Trait<I>>::Proposal -> Proposal
|
||||
@@ -62,17 +63,14 @@ export function findClosing (value: string, start: number): number {
|
||||
throw new Error(`Unable to find closing matching <> on '${value}' (start ${start})`);
|
||||
}
|
||||
|
||||
export function alias (src: string[], dest: string, withChecks = true): Mapper {
|
||||
export function alias (src: string, dest: string, withChecks = true): Mapper {
|
||||
return (value: string): string =>
|
||||
src.reduce((value, src): string =>
|
||||
value
|
||||
.replace(
|
||||
new RegExp(`(^${src}|${BOX_PRECEDING.map((box) => `\\${box}${src}`).join('|')})`, 'g'),
|
||||
(src): string =>
|
||||
withChecks && BOX_PRECEDING.includes(src[0])
|
||||
? `${src[0]}${dest}`
|
||||
: dest
|
||||
), value
|
||||
value.replace(
|
||||
new RegExp(`(^${src}|${BOX_PRECEDING.map((box) => `\\${box}${src}`).join('|')})`, 'g'),
|
||||
(src): string =>
|
||||
withChecks && BOX_PRECEDING.includes(src[0])
|
||||
? `${src[0]}${dest}`
|
||||
: dest
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -28,7 +28,9 @@ describe('AccountId', (): void => {
|
||||
|
||||
it('allows decoding from null', (): void => {
|
||||
expect(
|
||||
registry.createType('AccountId', null).eq('5C4hrfjw9DjXZTzV3MwzrrAr9P1MJhSrvWGWqi1eSuyUpnhM')
|
||||
registry
|
||||
.createType('AccountId', null)
|
||||
.eq('5C4hrfjw9DjXZTzV3MwzrrAr9P1MJhSrvWGWqi1eSuyUpnhM')
|
||||
).toBe(true);
|
||||
});
|
||||
});
|
||||
@@ -36,9 +38,11 @@ describe('AccountId', (): void => {
|
||||
describe('decoding', (): void => {
|
||||
const testDecode = (type: string, input: Uint8Array | string | AccountId, expected: string): void =>
|
||||
it(`can decode from ${type}`, (): void => {
|
||||
const a = registry.createType('AccountId', input);
|
||||
|
||||
expect(a.toString()).toBe(expected);
|
||||
expect(
|
||||
registry
|
||||
.createType('AccountId', input)
|
||||
.toString()
|
||||
).toBe(expected);
|
||||
});
|
||||
|
||||
it('fails with non-32-byte lengths', (): void => {
|
||||
@@ -75,9 +79,9 @@ describe('AccountId', (): void => {
|
||||
describe('encoding', (): void => {
|
||||
const testEncode = (to: 'toHex' | 'toJSON' | 'toString' | 'toU8a', expected: Uint8Array | string, input = '5C62W7ELLAAfix9LYrcx5smtcffbhvThkM5x7xfMeYXCtGwF'): void =>
|
||||
it(`can encode ${to}`, (): void => {
|
||||
const a = registry.createType('AccountId', input);
|
||||
|
||||
expect(a[to]()).toEqual(expected);
|
||||
expect(
|
||||
registry.createType('AccountId', input)[to]()
|
||||
).toEqual(expected);
|
||||
});
|
||||
|
||||
testEncode('toHex', '0x0102030405060708010203040506070801020304050607080102030405060708');
|
||||
@@ -90,12 +94,34 @@ describe('AccountId', (): void => {
|
||||
]));
|
||||
|
||||
it('decodes to a non-empty value', (): void => {
|
||||
expect(registry.createType('AccountId', 'FVU8T5yaAssHAUwo3PnKso7fqNthEqJZGCZgJZSR9cKjWAf').isEmpty).toBe(false);
|
||||
expect(
|
||||
registry
|
||||
.createType('AccountId', 'FVU8T5yaAssHAUwo3PnKso7fqNthEqJZGCZgJZSR9cKjWAf')
|
||||
.isEmpty
|
||||
).toBe(false);
|
||||
});
|
||||
|
||||
it('encodes a 2-byte key correctly', (): void => {
|
||||
const registry = new TypeRegistry();
|
||||
|
||||
registry.setChainProperties(
|
||||
registry.createType('ChainProperties', {
|
||||
ss58Format: 252
|
||||
})
|
||||
);
|
||||
|
||||
expect(
|
||||
registry
|
||||
.createType('AccountId', '0x5c64f1151f0ce4358c27238fb20c88e7c899825436f565410724c8c2c5add869')
|
||||
.toString()
|
||||
).toEqual('xw5g1Eec8LT99pZLZMaTWwrwvNtfM6vrSuZeVbtEszCDUwByg');
|
||||
});
|
||||
});
|
||||
|
||||
describe('storage decoding', (): void => {
|
||||
it('has the correct entries', (): void => {
|
||||
const registry = new TypeRegistry();
|
||||
|
||||
registry.setChainProperties(
|
||||
registry.createType('ChainProperties', {
|
||||
ss58Format: 2
|
||||
@@ -103,9 +129,12 @@ describe('AccountId', (): void => {
|
||||
);
|
||||
|
||||
const data = registry.createType('StorageData', jsonVec.params.result.changes[0][1]);
|
||||
const list = registry.createType('Vec<AccountId>', data).map((accountId) => accountId.toString());
|
||||
|
||||
expect(list).toEqual([
|
||||
expect(
|
||||
registry
|
||||
.createType('Vec<AccountId>', data)
|
||||
.map((accountId) => accountId.toString())
|
||||
).toEqual([
|
||||
'FXmrFbdg2VdG1NttGTx1S6Czbv2SQ7PaD2PfryGBWWgt52i',
|
||||
'ELSnAoxwXaRP5i4RPjs6m1K3AGVCfXpt8GjTcrgtxvrAuZv',
|
||||
'EaoT1Mn6H3N9Ui3WdiLGTdKgjGChbrpLfnNV5zSLJLhZvgj',
|
||||
|
||||
@@ -14,13 +14,13 @@ function decodeAccountId (value?: AnyU8a | AnyString): Uint8Array {
|
||||
return new Uint8Array();
|
||||
} else if (isU8a(value) || Array.isArray(value)) {
|
||||
return u8aToU8a(value);
|
||||
} else if (isHex(value)) {
|
||||
return hexToU8a(value.toString());
|
||||
} else if (isString(value)) {
|
||||
return decodeAddress((value as string).toString());
|
||||
return isHex(value)
|
||||
? hexToU8a(value.toString())
|
||||
: decodeAddress((value as string).toString());
|
||||
}
|
||||
|
||||
throw new Error('Unknown type passed to AccountId constructor');
|
||||
throw new Error(`Unknown type passed to AccountId constructor, found typeof ${typeof value}`);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -24,6 +24,28 @@ const types: DefinitionsTypes = {
|
||||
storageProof: 'Vec<EthStorageProof>'
|
||||
},
|
||||
EthBlock: {
|
||||
header: 'EthHeader',
|
||||
transactions: 'Vec<EthTransaction>',
|
||||
ommers: 'Vec<EthHeader>'
|
||||
},
|
||||
EthHeader: {
|
||||
parentHash: 'H256',
|
||||
ommersHash: 'H256',
|
||||
beneficiary: 'H160',
|
||||
stateRoot: 'H256',
|
||||
transactionsRoot: 'H256',
|
||||
receiptsRoot: 'H256',
|
||||
logsBloom: 'EthBloom',
|
||||
difficulty: 'U256',
|
||||
number: 'U256',
|
||||
gasLimit: 'U256',
|
||||
gasUsed: 'U256',
|
||||
timestamp: 'u64',
|
||||
extraData: 'Bytes',
|
||||
mixMash: 'H256',
|
||||
nonce: 'H64'
|
||||
},
|
||||
EthRichBlock: {
|
||||
_alias: {
|
||||
blockHash: 'hash',
|
||||
blockSize: 'size'
|
||||
@@ -40,7 +62,7 @@ const types: DefinitionsTypes = {
|
||||
gasUsed: 'U256',
|
||||
gasLimit: 'U256',
|
||||
extraData: 'Bytes',
|
||||
logsBloom: 'H2048',
|
||||
logsBloom: 'EthBloom',
|
||||
timestamp: 'U256',
|
||||
difficulty: 'U256',
|
||||
totalDifficulty: 'Option<U256>',
|
||||
@@ -95,7 +117,7 @@ const types: DefinitionsTypes = {
|
||||
Null: 'Null'
|
||||
}
|
||||
},
|
||||
EthHeader: {
|
||||
EthRichHeader: {
|
||||
_alias: {
|
||||
blockHash: 'hash',
|
||||
blockSize: 'size'
|
||||
@@ -112,7 +134,7 @@ const types: DefinitionsTypes = {
|
||||
gasUsed: 'U256',
|
||||
gasLimit: 'U256',
|
||||
extraData: 'Bytes',
|
||||
logsBloom: 'H2048',
|
||||
logsBloom: 'EthBloom',
|
||||
timestamp: 'U256',
|
||||
difficulty: 'U256',
|
||||
sealFields: 'Vec<Bytes>',
|
||||
@@ -142,11 +164,9 @@ const types: DefinitionsTypes = {
|
||||
contractAddress: 'Option<H160>',
|
||||
logs: 'Vec<EthLog>',
|
||||
root: 'Option<H256>',
|
||||
logsBloom: 'H2048',
|
||||
logsBloom: 'EthBloom',
|
||||
statusCode: 'Option<U64>'
|
||||
},
|
||||
EthRichBlock: 'EthBlock',
|
||||
EthRichHeader: 'EthHeader',
|
||||
EthStorageProof: {
|
||||
key: 'U256',
|
||||
value: 'U256',
|
||||
@@ -189,35 +209,13 @@ const types: DefinitionsTypes = {
|
||||
action: 'EthTransactionAction',
|
||||
value: 'U256',
|
||||
input: 'Bytes',
|
||||
// TransactionSignature (embedded)
|
||||
signature: 'EthTransactionSignature'
|
||||
},
|
||||
EthTransactionSignature: {
|
||||
v: 'u64',
|
||||
r: 'H256',
|
||||
s: 'H256'
|
||||
},
|
||||
// as per the RPC definition
|
||||
// TODO: Check these, re-add
|
||||
// EthTransaction: {
|
||||
// // hash in Rust
|
||||
// transactionHash: 'H256',
|
||||
// nonce: 'U256',
|
||||
// blockHash: 'Option<H256>',
|
||||
// blockNumber: 'Option<U256>',
|
||||
// transactionIndex: 'Option<U256>',
|
||||
// from: 'H160',
|
||||
// to: 'Option<H160>',
|
||||
// value: 'U256',
|
||||
// gasPrice: 'U256',
|
||||
// gas: 'U256',
|
||||
// input: 'Bytes',
|
||||
// creates: 'Option<H160>',
|
||||
// raw: 'Bytes',
|
||||
// publicKey: 'Option<H512>',
|
||||
// chainId: 'Option<U64>',
|
||||
// standardV: 'U256',
|
||||
// v: 'U256',
|
||||
// r: 'U256',
|
||||
// s: 'U256'
|
||||
// },
|
||||
EthTransactionAction: {
|
||||
_enum: {
|
||||
Call: 'H160',
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
/* eslint-disable */
|
||||
|
||||
import type { Bytes, Enum, GenericEthereumAccountId, GenericEthereumLookupSource, Option, Struct, U256, U64, U8aFixed, Vec, bool, u32, u64 } from '@polkadot/types';
|
||||
import type { BlockNumber, H160, H2048, H256 } from '@polkadot/types/interfaces/runtime';
|
||||
import type { BlockNumber, H160, H2048, H256, H64 } from '@polkadot/types/interfaces/runtime';
|
||||
|
||||
/** @name EthAccount */
|
||||
export interface EthAccount extends Struct {
|
||||
@@ -17,26 +17,9 @@ export interface EthAccount extends Struct {
|
||||
|
||||
/** @name EthBlock */
|
||||
export interface EthBlock extends Struct {
|
||||
readonly blockHash: Option<H256>;
|
||||
readonly parentHash: H256;
|
||||
readonly sha3Uncles: H256;
|
||||
readonly author: H160;
|
||||
readonly miner: H160;
|
||||
readonly stateRoot: H256;
|
||||
readonly transactionsRoot: H256;
|
||||
readonly receiptsRoot: H256;
|
||||
readonly number: Option<U256>;
|
||||
readonly gasUsed: U256;
|
||||
readonly gasLimit: U256;
|
||||
readonly extraData: Bytes;
|
||||
readonly logsBloom: H2048;
|
||||
readonly timestamp: U256;
|
||||
readonly difficulty: U256;
|
||||
readonly totalDifficulty: Option<U256>;
|
||||
readonly sealFields: Vec<Bytes>;
|
||||
readonly uncles: Vec<H256>;
|
||||
readonly header: EthHeader;
|
||||
readonly transactions: Vec<EthTransaction>;
|
||||
readonly blockSize: Option<U256>;
|
||||
readonly ommers: Vec<EthHeader>;
|
||||
}
|
||||
|
||||
/** @name EthBloom */
|
||||
@@ -112,23 +95,21 @@ export interface EthFilterTopicInner extends Enum {
|
||||
|
||||
/** @name EthHeader */
|
||||
export interface EthHeader extends Struct {
|
||||
readonly blockHash: Option<H256>;
|
||||
readonly parentHash: H256;
|
||||
readonly sha3Uncles: H256;
|
||||
readonly author: H160;
|
||||
readonly miner: H160;
|
||||
readonly ommersHash: H256;
|
||||
readonly beneficiary: H160;
|
||||
readonly stateRoot: H256;
|
||||
readonly transactionsRoot: H256;
|
||||
readonly receiptsRoot: H256;
|
||||
readonly number: Option<U256>;
|
||||
readonly gasUsed: U256;
|
||||
readonly gasLimit: U256;
|
||||
readonly extraData: Bytes;
|
||||
readonly logsBloom: H2048;
|
||||
readonly timestamp: U256;
|
||||
readonly logsBloom: EthBloom;
|
||||
readonly difficulty: U256;
|
||||
readonly sealFields: Vec<Bytes>;
|
||||
readonly blockSize: Option<U256>;
|
||||
readonly number: U256;
|
||||
readonly gasLimit: U256;
|
||||
readonly gasUsed: U256;
|
||||
readonly timestamp: u64;
|
||||
readonly extraData: Bytes;
|
||||
readonly mixMash: H256;
|
||||
readonly nonce: H64;
|
||||
}
|
||||
|
||||
/** @name EthLog */
|
||||
@@ -158,15 +139,54 @@ export interface EthReceipt extends Struct {
|
||||
readonly contractAddress: Option<H160>;
|
||||
readonly logs: Vec<EthLog>;
|
||||
readonly root: Option<H256>;
|
||||
readonly logsBloom: H2048;
|
||||
readonly logsBloom: EthBloom;
|
||||
readonly statusCode: Option<U64>;
|
||||
}
|
||||
|
||||
/** @name EthRichBlock */
|
||||
export interface EthRichBlock extends EthBlock {}
|
||||
export interface EthRichBlock extends Struct {
|
||||
readonly blockHash: Option<H256>;
|
||||
readonly parentHash: H256;
|
||||
readonly sha3Uncles: H256;
|
||||
readonly author: H160;
|
||||
readonly miner: H160;
|
||||
readonly stateRoot: H256;
|
||||
readonly transactionsRoot: H256;
|
||||
readonly receiptsRoot: H256;
|
||||
readonly number: Option<U256>;
|
||||
readonly gasUsed: U256;
|
||||
readonly gasLimit: U256;
|
||||
readonly extraData: Bytes;
|
||||
readonly logsBloom: EthBloom;
|
||||
readonly timestamp: U256;
|
||||
readonly difficulty: U256;
|
||||
readonly totalDifficulty: Option<U256>;
|
||||
readonly sealFields: Vec<Bytes>;
|
||||
readonly uncles: Vec<H256>;
|
||||
readonly transactions: Vec<EthTransaction>;
|
||||
readonly blockSize: Option<U256>;
|
||||
}
|
||||
|
||||
/** @name EthRichHeader */
|
||||
export interface EthRichHeader extends EthHeader {}
|
||||
export interface EthRichHeader extends Struct {
|
||||
readonly blockHash: Option<H256>;
|
||||
readonly parentHash: H256;
|
||||
readonly sha3Uncles: H256;
|
||||
readonly author: H160;
|
||||
readonly miner: H160;
|
||||
readonly stateRoot: H256;
|
||||
readonly transactionsRoot: H256;
|
||||
readonly receiptsRoot: H256;
|
||||
readonly number: Option<U256>;
|
||||
readonly gasUsed: U256;
|
||||
readonly gasLimit: U256;
|
||||
readonly extraData: Bytes;
|
||||
readonly logsBloom: EthBloom;
|
||||
readonly timestamp: U256;
|
||||
readonly difficulty: U256;
|
||||
readonly sealFields: Vec<Bytes>;
|
||||
readonly blockSize: Option<U256>;
|
||||
}
|
||||
|
||||
/** @name EthStorageProof */
|
||||
export interface EthStorageProof extends Struct {
|
||||
@@ -226,9 +246,7 @@ export interface EthTransaction extends Struct {
|
||||
readonly action: EthTransactionAction;
|
||||
readonly value: U256;
|
||||
readonly input: Bytes;
|
||||
readonly v: u64;
|
||||
readonly r: H256;
|
||||
readonly s: H256;
|
||||
readonly signature: EthTransactionSignature;
|
||||
}
|
||||
|
||||
/** @name EthTransactionAction */
|
||||
@@ -257,6 +275,13 @@ export interface EthTransactionRequest extends Struct {
|
||||
readonly nonce: Option<U256>;
|
||||
}
|
||||
|
||||
/** @name EthTransactionSignature */
|
||||
export interface EthTransactionSignature extends Struct {
|
||||
readonly v: u64;
|
||||
readonly r: H256;
|
||||
readonly s: H256;
|
||||
}
|
||||
|
||||
/** @name EthTransactionStatus */
|
||||
export interface EthTransactionStatus extends Struct {
|
||||
readonly transactionHash: H256;
|
||||
|
||||
@@ -62,8 +62,9 @@ export default {
|
||||
normal: 'Weight',
|
||||
operational: 'Weight'
|
||||
},
|
||||
H32: '[u8; 4; H32]',
|
||||
H64: '[u8; 8; H64]',
|
||||
H128: '[u8; 16; H64]',
|
||||
H128: '[u8; 16; H128]',
|
||||
H160: '[u8; 20; H160]',
|
||||
H256: '[u8; 32; H256]',
|
||||
H512: '[u8; 64; H512]',
|
||||
|
||||
@@ -123,6 +123,9 @@ export interface H2048 extends U8aFixed {}
|
||||
/** @name H256 */
|
||||
export interface H256 extends U8aFixed {}
|
||||
|
||||
/** @name H32 */
|
||||
export interface H32 extends U8aFixed {}
|
||||
|
||||
/** @name H512 */
|
||||
export interface H512 extends U8aFixed {}
|
||||
|
||||
|
||||
@@ -179,7 +179,7 @@ export default {
|
||||
...xmcOrder,
|
||||
DoubleEncodedCall: { encoded: 'Vec<u8>' },
|
||||
XcmOriginKind: {
|
||||
_enum: ['Native', 'SovereignAccount', 'Superuser']
|
||||
_enum: ['Native', 'SovereignAccount', 'Superuser', 'Xcm']
|
||||
},
|
||||
XcmResponse: {
|
||||
_enum: {
|
||||
@@ -205,21 +205,15 @@ export default {
|
||||
BadOrigin: 'Null',
|
||||
ExceedsMaxMessageSize: 'Null',
|
||||
FailedToTransactAsset: 'Null', // (#[codec(skip)] &'static str),
|
||||
WeightLimitReached: 'Null',
|
||||
WeightLimitReached: 'Weight',
|
||||
Wildcard: 'Null',
|
||||
TooMuchWeightRequired: 'Null',
|
||||
NotHoldingFees: 'Null',
|
||||
WeightNotComputable: 'Null',
|
||||
Barrier: 'Null',
|
||||
NotWithdrawable: 'Null',
|
||||
LocationCannotHold: 'Null'
|
||||
}
|
||||
},
|
||||
XcmOutcome: {
|
||||
_enum: {
|
||||
Complete: 'Weight',
|
||||
Incomplete: '(Weight, XcmError)',
|
||||
Error: 'XcmError'
|
||||
LocationCannotHold: 'Null',
|
||||
TooExpensive: 'Null'
|
||||
}
|
||||
},
|
||||
MultiLocation: {
|
||||
@@ -235,6 +229,13 @@ export default {
|
||||
X8: '(Junction, Junction, Junction, Junction, Junction, Junction, Junction, Junction)'
|
||||
}
|
||||
},
|
||||
Outcome: {
|
||||
_enum: {
|
||||
Complete: 'Weight',
|
||||
Incomplete: '(Weight, XcmError)',
|
||||
Error: 'XcmError'
|
||||
}
|
||||
},
|
||||
VersionedMultiLocation: {
|
||||
_enum: {
|
||||
V0: 'MultiLocation'
|
||||
|
||||
@@ -197,6 +197,16 @@ export interface NetworkId extends Enum {
|
||||
readonly isKusama: boolean;
|
||||
}
|
||||
|
||||
/** @name Outcome */
|
||||
export interface Outcome extends Enum {
|
||||
readonly isComplete: boolean;
|
||||
readonly asComplete: Weight;
|
||||
readonly isIncomplete: boolean;
|
||||
readonly asIncomplete: ITuple<[Weight, XcmError]>;
|
||||
readonly isError: boolean;
|
||||
readonly asError: XcmError;
|
||||
}
|
||||
|
||||
/** @name PluralityJunction */
|
||||
export interface PluralityJunction extends Struct {
|
||||
readonly id: BodyId;
|
||||
@@ -274,6 +284,7 @@ export interface XcmError extends Enum {
|
||||
readonly isExceedsMaxMessageSize: boolean;
|
||||
readonly isFailedToTransactAsset: boolean;
|
||||
readonly isWeightLimitReached: boolean;
|
||||
readonly asWeightLimitReached: Weight;
|
||||
readonly isWildcard: boolean;
|
||||
readonly isTooMuchWeightRequired: boolean;
|
||||
readonly isNotHoldingFees: boolean;
|
||||
@@ -281,6 +292,7 @@ export interface XcmError extends Enum {
|
||||
readonly isBarrier: boolean;
|
||||
readonly isNotWithdrawable: boolean;
|
||||
readonly isLocationCannotHold: boolean;
|
||||
readonly isTooExpensive: boolean;
|
||||
}
|
||||
|
||||
/** @name XcmHrmpChannelAccepted */
|
||||
@@ -375,16 +387,7 @@ export interface XcmOriginKind extends Enum {
|
||||
readonly isNative: boolean;
|
||||
readonly isSovereignAccount: boolean;
|
||||
readonly isSuperuser: boolean;
|
||||
}
|
||||
|
||||
/** @name XcmOutcome */
|
||||
export interface XcmOutcome extends Enum {
|
||||
readonly isComplete: boolean;
|
||||
readonly asComplete: Weight;
|
||||
readonly isIncomplete: boolean;
|
||||
readonly asIncomplete: ITuple<[Weight, XcmError]>;
|
||||
readonly isError: boolean;
|
||||
readonly asError: XcmError;
|
||||
readonly isXcm: boolean;
|
||||
}
|
||||
|
||||
/** @name XcmQueryResponse */
|
||||
|
||||
@@ -3,4 +3,4 @@
|
||||
|
||||
// Auto-generated by @polkadot/dev, do not edit
|
||||
|
||||
export const packageInfo = { name: '@polkadot/types', version: '4.7.1' };
|
||||
export const packageInfo = { name: '@polkadot/types', version: '4.8.1' };
|
||||
|
||||
@@ -28,7 +28,7 @@ function decodeText (value?: null | Text | string | AnyU8a | { toString: () => s
|
||||
const [offset, length] = compactFromU8a(value);
|
||||
const total = offset + length.toNumber();
|
||||
|
||||
assert(length.lten(MAX_LENGTH), () => `Text length ${length.toString()} exceeds ${MAX_LENGTH}`);
|
||||
assert(length.lten(MAX_LENGTH), () => `Text: length ${length.toString()} exceeds ${MAX_LENGTH}`);
|
||||
assert(total <= value.length, () => `Text: required length less than remainder, expected at least ${total}, found ${value.length}`);
|
||||
|
||||
return u8aToString(value.subarray(offset, total));
|
||||
|
||||
@@ -50,44 +50,44 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@babel/compat-data@npm:^7.13.11, @babel/compat-data@npm:^7.13.15, @babel/compat-data@npm:^7.13.8":
|
||||
version: 7.13.15
|
||||
resolution: "@babel/compat-data@npm:7.13.15"
|
||||
checksum: 6abe95cbd36e54217cdcc51829e377cf31451ed0a64ff43cc82e0ce728d9e265990c5e079d5c3f9ee0afd49e20d6c90112fe2093ed0699c2ffc62f5172df24fa
|
||||
"@babel/compat-data@npm:^7.13.11, @babel/compat-data@npm:^7.13.15, @babel/compat-data@npm:^7.13.8, @babel/compat-data@npm:^7.14.0":
|
||||
version: 7.14.0
|
||||
resolution: "@babel/compat-data@npm:7.14.0"
|
||||
checksum: d2d9de745e7a6f83ddf699865656e9298025bda5d350497845c57af440685723de28e7c1f34315e0028c6ad08bca0173436252ada7ac38eb2227c069d40916dd
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@babel/core@npm:7.13.16, @babel/core@npm:^7.1.0, @babel/core@npm:^7.13.16, @babel/core@npm:^7.7.5":
|
||||
version: 7.13.16
|
||||
resolution: "@babel/core@npm:7.13.16"
|
||||
"@babel/core@npm:7.14.0, @babel/core@npm:^7.1.0, @babel/core@npm:^7.14.0, @babel/core@npm:^7.7.5":
|
||||
version: 7.14.0
|
||||
resolution: "@babel/core@npm:7.14.0"
|
||||
dependencies:
|
||||
"@babel/code-frame": ^7.12.13
|
||||
"@babel/generator": ^7.13.16
|
||||
"@babel/generator": ^7.14.0
|
||||
"@babel/helper-compilation-targets": ^7.13.16
|
||||
"@babel/helper-module-transforms": ^7.13.14
|
||||
"@babel/helpers": ^7.13.16
|
||||
"@babel/parser": ^7.13.16
|
||||
"@babel/helper-module-transforms": ^7.14.0
|
||||
"@babel/helpers": ^7.14.0
|
||||
"@babel/parser": ^7.14.0
|
||||
"@babel/template": ^7.12.13
|
||||
"@babel/traverse": ^7.13.15
|
||||
"@babel/types": ^7.13.16
|
||||
"@babel/traverse": ^7.14.0
|
||||
"@babel/types": ^7.14.0
|
||||
convert-source-map: ^1.7.0
|
||||
debug: ^4.1.0
|
||||
gensync: ^1.0.0-beta.2
|
||||
json5: ^2.1.2
|
||||
semver: ^6.3.0
|
||||
source-map: ^0.5.0
|
||||
checksum: 1a53b70629fae3c5b714af1c582a92ffbb1a87d0f8fe705292faed6281476bf0a35ffa19d9d28ad791610d203fdbb8928e28aedb52a02023a561caaa44a9ee61
|
||||
checksum: eccd8c6acf33a2782b9213bffc0e766857c9b690649512c3a525a02bb212301c6fdf314d6e7f7404479dc9631beb58a8f5e673ea9f3c1964853a3c65b045a382
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@babel/generator@npm:^7.13.16":
|
||||
version: 7.13.16
|
||||
resolution: "@babel/generator@npm:7.13.16"
|
||||
"@babel/generator@npm:^7.14.0":
|
||||
version: 7.14.0
|
||||
resolution: "@babel/generator@npm:7.14.0"
|
||||
dependencies:
|
||||
"@babel/types": ^7.13.16
|
||||
"@babel/types": ^7.14.0
|
||||
jsesc: ^2.5.1
|
||||
source-map: ^0.5.0
|
||||
checksum: 299bf875ea550f52d157260804bf5b1acdc27269ae7287e53a1a5a602ff6052a466f4a4c03dc7377b3f2d5240eea5ee92162e2a943acb4d28e017ac89ab89e9d
|
||||
checksum: ef47e0f9b7b78124e43e1cae8b46570c67022379e52b03f50e121c0cb5aaec9ca7063182417249786a53f4a18f9725bbd7532c31002be575f4b79c0f0d04430d
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@@ -110,7 +110,7 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@babel/helper-compilation-targets@npm:^7.13.0, @babel/helper-compilation-targets@npm:^7.13.13, @babel/helper-compilation-targets@npm:^7.13.16, @babel/helper-compilation-targets@npm:^7.13.8":
|
||||
"@babel/helper-compilation-targets@npm:^7.13.0, @babel/helper-compilation-targets@npm:^7.13.16, @babel/helper-compilation-targets@npm:^7.13.8":
|
||||
version: 7.13.16
|
||||
resolution: "@babel/helper-compilation-targets@npm:7.13.16"
|
||||
dependencies:
|
||||
@@ -124,18 +124,19 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@babel/helper-create-class-features-plugin@npm:^7.13.0":
|
||||
version: 7.13.0
|
||||
resolution: "@babel/helper-create-class-features-plugin@npm:7.13.0"
|
||||
"@babel/helper-create-class-features-plugin@npm:^7.13.0, @babel/helper-create-class-features-plugin@npm:^7.14.0":
|
||||
version: 7.14.0
|
||||
resolution: "@babel/helper-create-class-features-plugin@npm:7.14.0"
|
||||
dependencies:
|
||||
"@babel/helper-annotate-as-pure": ^7.12.13
|
||||
"@babel/helper-function-name": ^7.12.13
|
||||
"@babel/helper-member-expression-to-functions": ^7.13.0
|
||||
"@babel/helper-member-expression-to-functions": ^7.13.12
|
||||
"@babel/helper-optimise-call-expression": ^7.12.13
|
||||
"@babel/helper-replace-supers": ^7.13.0
|
||||
"@babel/helper-replace-supers": ^7.13.12
|
||||
"@babel/helper-split-export-declaration": ^7.12.13
|
||||
peerDependencies:
|
||||
"@babel/core": ^7.0.0
|
||||
checksum: 2b336d8216894738f7d31c76512b572e1571f3065e61b8d8bc36da481a255021d5fd543088779b5b5812a00a305d27a5b3cf47bbda9e4e28dadffbd0c46a036c
|
||||
checksum: 88be63caab73c506543955508530cad33d36c618accaff4d099add36c64bb2a79cd432c03c3269e283e95729c213cc1d6dbbf6c68db8f24806617d052f11dd39
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@@ -208,7 +209,7 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@babel/helper-member-expression-to-functions@npm:^7.13.0, @babel/helper-member-expression-to-functions@npm:^7.13.12":
|
||||
"@babel/helper-member-expression-to-functions@npm:^7.13.12":
|
||||
version: 7.13.12
|
||||
resolution: "@babel/helper-member-expression-to-functions@npm:7.13.12"
|
||||
dependencies:
|
||||
@@ -226,19 +227,19 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@babel/helper-module-transforms@npm:^7.13.0, @babel/helper-module-transforms@npm:^7.13.14":
|
||||
version: 7.13.14
|
||||
resolution: "@babel/helper-module-transforms@npm:7.13.14"
|
||||
"@babel/helper-module-transforms@npm:^7.13.0, @babel/helper-module-transforms@npm:^7.14.0":
|
||||
version: 7.14.0
|
||||
resolution: "@babel/helper-module-transforms@npm:7.14.0"
|
||||
dependencies:
|
||||
"@babel/helper-module-imports": ^7.13.12
|
||||
"@babel/helper-replace-supers": ^7.13.12
|
||||
"@babel/helper-simple-access": ^7.13.12
|
||||
"@babel/helper-split-export-declaration": ^7.12.13
|
||||
"@babel/helper-validator-identifier": ^7.12.11
|
||||
"@babel/helper-validator-identifier": ^7.14.0
|
||||
"@babel/template": ^7.12.13
|
||||
"@babel/traverse": ^7.13.13
|
||||
"@babel/types": ^7.13.14
|
||||
checksum: 576e86d0d41674e01703754a16e94495e424c7972f932e1eedb30206092b410b3659c0d0a7a06c61e024cee9b6020215db4732903ae49ebbd19d813feb0a90da
|
||||
"@babel/traverse": ^7.14.0
|
||||
"@babel/types": ^7.14.0
|
||||
checksum: 1049a94cc74247c8ae4f5a804b4a0713ab4ad8f69eb412ea99ac1d03b4a9b9df3d1481286fa5e503239473ffb81dbb4f029d05cc681eff4d5380ae67161ac916
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@@ -281,7 +282,7 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@babel/helper-simple-access@npm:^7.12.13, @babel/helper-simple-access@npm:^7.13.12":
|
||||
"@babel/helper-simple-access@npm:^7.13.12":
|
||||
version: 7.13.12
|
||||
resolution: "@babel/helper-simple-access@npm:7.13.12"
|
||||
dependencies:
|
||||
@@ -308,10 +309,10 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@babel/helper-validator-identifier@npm:^7.12.11":
|
||||
version: 7.12.11
|
||||
resolution: "@babel/helper-validator-identifier@npm:7.12.11"
|
||||
checksum: 18de432203264b501db2690b53370a4289dc56084f5a2c66de624b159ee28b8abaeb402b2b7584296d9261645d91ddb6bfd21125d3ffd9bf02e9262e77baf3d2
|
||||
"@babel/helper-validator-identifier@npm:^7.12.11, @babel/helper-validator-identifier@npm:^7.14.0":
|
||||
version: 7.14.0
|
||||
resolution: "@babel/helper-validator-identifier@npm:7.14.0"
|
||||
checksum: bd67b4a1a49eba151aa0fe95508579638287fee0a3e7a3bf8c5ab480de8eaad4b4231c523d7db401eb0cecc7cf03b76ee72453fab53bab8cb8ccd154bb67feb7
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@@ -334,14 +335,14 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@babel/helpers@npm:^7.13.16":
|
||||
version: 7.13.17
|
||||
resolution: "@babel/helpers@npm:7.13.17"
|
||||
"@babel/helpers@npm:^7.14.0":
|
||||
version: 7.14.0
|
||||
resolution: "@babel/helpers@npm:7.14.0"
|
||||
dependencies:
|
||||
"@babel/template": ^7.12.13
|
||||
"@babel/traverse": ^7.13.17
|
||||
"@babel/types": ^7.13.17
|
||||
checksum: 3e2b18d6bad7e7fa4e268a4e28f7ba5a15893efd39a57af9ae38613fe11bf4cff03cb2a56d4e6e18eeabe0934bfa689432ce3578bf59bb43bf926c956771b4b4
|
||||
"@babel/traverse": ^7.14.0
|
||||
"@babel/types": ^7.14.0
|
||||
checksum: 0ac7e775b54cebf4b5c027e9ca00a1027f3c7d96e924583d028b6e86bb775652701ba9d48257db8352fce4612566d8a4f1fd8723502d940a77571145af603956
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@@ -356,12 +357,12 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@babel/parser@npm:^7.0.0, @babel/parser@npm:^7.1.0, @babel/parser@npm:^7.12.13, @babel/parser@npm:^7.13.16":
|
||||
version: 7.13.16
|
||||
resolution: "@babel/parser@npm:7.13.16"
|
||||
"@babel/parser@npm:^7.0.0, @babel/parser@npm:^7.1.0, @babel/parser@npm:^7.12.13, @babel/parser@npm:^7.14.0":
|
||||
version: 7.14.0
|
||||
resolution: "@babel/parser@npm:7.14.0"
|
||||
bin:
|
||||
parser: ./bin/babel-parser.js
|
||||
checksum: 4f02b226686ad98684128d64082388c8af3a2cd0bb986e8eb0339235d99f9a6bb55ba225da953291d975f341fe6d5d5dc006706d515f999be5ad49dd99f815e3
|
||||
checksum: ef6165f3038b9f8761a02768ab14034f4935baf2e050a2924aa093f54e3164732bce7fee81b3c8ff3be03048091e4ea208a72b23a3715debf7fd06b79495c9e9
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@@ -403,6 +404,18 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@babel/plugin-proposal-class-static-block@npm:^7.13.11":
|
||||
version: 7.13.11
|
||||
resolution: "@babel/plugin-proposal-class-static-block@npm:7.13.11"
|
||||
dependencies:
|
||||
"@babel/helper-plugin-utils": ^7.13.0
|
||||
"@babel/plugin-syntax-class-static-block": ^7.12.13
|
||||
peerDependencies:
|
||||
"@babel/core": ^7.12.0
|
||||
checksum: 0d1a09a2229cde662649938b808a249bc77767362480428e5bc00d152c97f04eee2a5f8d38b7b8295053cd7bbfef4412c5b58ee1acc19a164fb44508b48838fa
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@babel/plugin-proposal-dynamic-import@npm:^7.13.8":
|
||||
version: 7.13.8
|
||||
resolution: "@babel/plugin-proposal-dynamic-import@npm:7.13.8"
|
||||
@@ -527,6 +540,20 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@babel/plugin-proposal-private-property-in-object@npm:^7.14.0":
|
||||
version: 7.14.0
|
||||
resolution: "@babel/plugin-proposal-private-property-in-object@npm:7.14.0"
|
||||
dependencies:
|
||||
"@babel/helper-annotate-as-pure": ^7.12.13
|
||||
"@babel/helper-create-class-features-plugin": ^7.14.0
|
||||
"@babel/helper-plugin-utils": ^7.13.0
|
||||
"@babel/plugin-syntax-private-property-in-object": ^7.14.0
|
||||
peerDependencies:
|
||||
"@babel/core": ^7.0.0-0
|
||||
checksum: 2074d2a818ad64f186f940ca518e967c42dad04306c58189f1f1a8aad8f3dfac7474dd51c33330a61ca2eed68f769f871e7f7066e23d00f1e0296e2bc0797474
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@babel/plugin-proposal-unicode-property-regex@npm:^7.12.13, @babel/plugin-proposal-unicode-property-regex@npm:^7.4.4":
|
||||
version: 7.12.13
|
||||
resolution: "@babel/plugin-proposal-unicode-property-regex@npm:7.12.13"
|
||||
@@ -572,6 +599,17 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@babel/plugin-syntax-class-static-block@npm:^7.12.13":
|
||||
version: 7.12.13
|
||||
resolution: "@babel/plugin-syntax-class-static-block@npm:7.12.13"
|
||||
dependencies:
|
||||
"@babel/helper-plugin-utils": ^7.12.13
|
||||
peerDependencies:
|
||||
"@babel/core": ^7.0.0-0
|
||||
checksum: d5c08078f5b00295ab06e8a8d85c362b3752871d7bfd6b23d9b0bf492e33e796a8d5007ba35745ae07bb0cc79d08089913913f97b68c53a3395959d0347a5e98
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@babel/plugin-syntax-dynamic-import@npm:^7.8.3":
|
||||
version: 7.8.3
|
||||
resolution: "@babel/plugin-syntax-dynamic-import@npm:7.8.3"
|
||||
@@ -693,6 +731,17 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@babel/plugin-syntax-private-property-in-object@npm:^7.14.0":
|
||||
version: 7.14.0
|
||||
resolution: "@babel/plugin-syntax-private-property-in-object@npm:7.14.0"
|
||||
dependencies:
|
||||
"@babel/helper-plugin-utils": ^7.13.0
|
||||
peerDependencies:
|
||||
"@babel/core": ^7.0.0-0
|
||||
checksum: 5c79999ceb73dc7d596a75d86b16db2be0f313c53354e237903eed8f7844a26e76888fa8b45ddaae590cf6bb92988644c6ee64a51a46220ab03f6930914f5b08
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@babel/plugin-syntax-top-level-await@npm:^7.12.13, @babel/plugin-syntax-top-level-await@npm:^7.8.3":
|
||||
version: 7.12.13
|
||||
resolution: "@babel/plugin-syntax-top-level-await@npm:7.12.13"
|
||||
@@ -750,14 +799,14 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@babel/plugin-transform-block-scoping@npm:^7.12.13":
|
||||
version: 7.12.13
|
||||
resolution: "@babel/plugin-transform-block-scoping@npm:7.12.13"
|
||||
"@babel/plugin-transform-block-scoping@npm:^7.13.16":
|
||||
version: 7.13.16
|
||||
resolution: "@babel/plugin-transform-block-scoping@npm:7.13.16"
|
||||
dependencies:
|
||||
"@babel/helper-plugin-utils": ^7.12.13
|
||||
"@babel/helper-plugin-utils": ^7.13.0
|
||||
peerDependencies:
|
||||
"@babel/core": ^7.0.0-0
|
||||
checksum: cea49384ce946e14a4d8141cccadd09f7d9467964ee2df83e7f7e0c8cbd3ef1901125caf5a4013720539780647092ceb875cef214841126aa2e68dc05381f1f5
|
||||
checksum: 4ada80ee426255e0ab75e6bf816477ecbcbef225d9110ba07b09addeae9addad1765541c405d711678f3ea7a926e26e2e6796c7f5d1d7ca7ef8b5e25080cfe58
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@@ -789,14 +838,14 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@babel/plugin-transform-destructuring@npm:^7.13.0":
|
||||
version: 7.13.0
|
||||
resolution: "@babel/plugin-transform-destructuring@npm:7.13.0"
|
||||
"@babel/plugin-transform-destructuring@npm:^7.13.17":
|
||||
version: 7.13.17
|
||||
resolution: "@babel/plugin-transform-destructuring@npm:7.13.17"
|
||||
dependencies:
|
||||
"@babel/helper-plugin-utils": ^7.13.0
|
||||
peerDependencies:
|
||||
"@babel/core": ^7.0.0-0
|
||||
checksum: 4c9640ac1571b7c82caa6ffd99e8269c532d85ee375e9ebde2211d4ace9792b5def42d48cbeed037519e838afdb871ed90064ad6f59ccd714722d3d2405be022
|
||||
checksum: 16c08ecaf55d02754a5e0a33a766798362b5489c1632ce62bbef0624c0227f6cfa6b4066bf51efad0fac5655f34c1c9e7b06c631b31c13c1c55c3bfe39490d7c
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@@ -880,30 +929,30 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@babel/plugin-transform-modules-amd@npm:^7.13.0":
|
||||
version: 7.13.0
|
||||
resolution: "@babel/plugin-transform-modules-amd@npm:7.13.0"
|
||||
"@babel/plugin-transform-modules-amd@npm:^7.14.0":
|
||||
version: 7.14.0
|
||||
resolution: "@babel/plugin-transform-modules-amd@npm:7.14.0"
|
||||
dependencies:
|
||||
"@babel/helper-module-transforms": ^7.13.0
|
||||
"@babel/helper-module-transforms": ^7.14.0
|
||||
"@babel/helper-plugin-utils": ^7.13.0
|
||||
babel-plugin-dynamic-import-node: ^2.3.3
|
||||
peerDependencies:
|
||||
"@babel/core": ^7.0.0-0
|
||||
checksum: f6251627aecab324e57d2f331e11a7dc6c6d9165b0f54f50c3ea2adfd05fbfcbc0367e519cc54e71c8256d88e899f505bf25d78511db4d7af8f5957a4d7844a9
|
||||
checksum: d93ed99aa4d8a71a388bc8ff0b4d16408a7781e01a963593857c697dc0362c23a37c8929a73d8a1cedfd3045ecba1f6ed457232efc05b61da52c4173d7152ab6
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@babel/plugin-transform-modules-commonjs@npm:^7.13.8":
|
||||
version: 7.13.8
|
||||
resolution: "@babel/plugin-transform-modules-commonjs@npm:7.13.8"
|
||||
"@babel/plugin-transform-modules-commonjs@npm:^7.14.0":
|
||||
version: 7.14.0
|
||||
resolution: "@babel/plugin-transform-modules-commonjs@npm:7.14.0"
|
||||
dependencies:
|
||||
"@babel/helper-module-transforms": ^7.13.0
|
||||
"@babel/helper-module-transforms": ^7.14.0
|
||||
"@babel/helper-plugin-utils": ^7.13.0
|
||||
"@babel/helper-simple-access": ^7.12.13
|
||||
"@babel/helper-simple-access": ^7.13.12
|
||||
babel-plugin-dynamic-import-node: ^2.3.3
|
||||
peerDependencies:
|
||||
"@babel/core": ^7.0.0-0
|
||||
checksum: a20eb54e966231d1e6eb773aa2421f6aaaf4497b3541c5b9c34f83d7163ae240309f955b236bce3ad2356ddb9415384323eb93fb6644979fdff964b39d877825
|
||||
checksum: 61d9f7a8a1386863f61848f7f52180789295ffb3319ccea4079f61bf1d5c9be5cd996ce57b0273861f2dfc88e63f0e23e34acc386ca13a9a56e22b1392c6ad60
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@@ -922,15 +971,15 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@babel/plugin-transform-modules-umd@npm:^7.13.0":
|
||||
version: 7.13.0
|
||||
resolution: "@babel/plugin-transform-modules-umd@npm:7.13.0"
|
||||
"@babel/plugin-transform-modules-umd@npm:^7.14.0":
|
||||
version: 7.14.0
|
||||
resolution: "@babel/plugin-transform-modules-umd@npm:7.14.0"
|
||||
dependencies:
|
||||
"@babel/helper-module-transforms": ^7.13.0
|
||||
"@babel/helper-module-transforms": ^7.14.0
|
||||
"@babel/helper-plugin-utils": ^7.13.0
|
||||
peerDependencies:
|
||||
"@babel/core": ^7.0.0-0
|
||||
checksum: efc00d0e18e91fd01853c1b88e3f79b317ad56854090aaf017bf0a4435e9112794252622348bd87baf2b13b1889805d29e7e654150929ac6793e550d2a529755
|
||||
checksum: 44c830a945c225e107f60a61b457274f931845623306c9bcd04c23958085477a820ebfe15ee4c7861a84eb986668ddc38c1797e733b8e2327702dcee1ca0bb21
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@@ -1169,17 +1218,18 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@babel/preset-env@npm:^7.13.15":
|
||||
version: 7.13.15
|
||||
resolution: "@babel/preset-env@npm:7.13.15"
|
||||
"@babel/preset-env@npm:^7.14.0":
|
||||
version: 7.14.0
|
||||
resolution: "@babel/preset-env@npm:7.14.0"
|
||||
dependencies:
|
||||
"@babel/compat-data": ^7.13.15
|
||||
"@babel/helper-compilation-targets": ^7.13.13
|
||||
"@babel/compat-data": ^7.14.0
|
||||
"@babel/helper-compilation-targets": ^7.13.16
|
||||
"@babel/helper-plugin-utils": ^7.13.0
|
||||
"@babel/helper-validator-option": ^7.12.17
|
||||
"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": ^7.13.12
|
||||
"@babel/plugin-proposal-async-generator-functions": ^7.13.15
|
||||
"@babel/plugin-proposal-class-properties": ^7.13.0
|
||||
"@babel/plugin-proposal-class-static-block": ^7.13.11
|
||||
"@babel/plugin-proposal-dynamic-import": ^7.13.8
|
||||
"@babel/plugin-proposal-export-namespace-from": ^7.12.13
|
||||
"@babel/plugin-proposal-json-strings": ^7.13.8
|
||||
@@ -1190,9 +1240,11 @@ __metadata:
|
||||
"@babel/plugin-proposal-optional-catch-binding": ^7.13.8
|
||||
"@babel/plugin-proposal-optional-chaining": ^7.13.12
|
||||
"@babel/plugin-proposal-private-methods": ^7.13.0
|
||||
"@babel/plugin-proposal-private-property-in-object": ^7.14.0
|
||||
"@babel/plugin-proposal-unicode-property-regex": ^7.12.13
|
||||
"@babel/plugin-syntax-async-generators": ^7.8.4
|
||||
"@babel/plugin-syntax-class-properties": ^7.12.13
|
||||
"@babel/plugin-syntax-class-static-block": ^7.12.13
|
||||
"@babel/plugin-syntax-dynamic-import": ^7.8.3
|
||||
"@babel/plugin-syntax-export-namespace-from": ^7.8.3
|
||||
"@babel/plugin-syntax-json-strings": ^7.8.3
|
||||
@@ -1202,14 +1254,15 @@ __metadata:
|
||||
"@babel/plugin-syntax-object-rest-spread": ^7.8.3
|
||||
"@babel/plugin-syntax-optional-catch-binding": ^7.8.3
|
||||
"@babel/plugin-syntax-optional-chaining": ^7.8.3
|
||||
"@babel/plugin-syntax-private-property-in-object": ^7.14.0
|
||||
"@babel/plugin-syntax-top-level-await": ^7.12.13
|
||||
"@babel/plugin-transform-arrow-functions": ^7.13.0
|
||||
"@babel/plugin-transform-async-to-generator": ^7.13.0
|
||||
"@babel/plugin-transform-block-scoped-functions": ^7.12.13
|
||||
"@babel/plugin-transform-block-scoping": ^7.12.13
|
||||
"@babel/plugin-transform-block-scoping": ^7.13.16
|
||||
"@babel/plugin-transform-classes": ^7.13.0
|
||||
"@babel/plugin-transform-computed-properties": ^7.13.0
|
||||
"@babel/plugin-transform-destructuring": ^7.13.0
|
||||
"@babel/plugin-transform-destructuring": ^7.13.17
|
||||
"@babel/plugin-transform-dotall-regex": ^7.12.13
|
||||
"@babel/plugin-transform-duplicate-keys": ^7.12.13
|
||||
"@babel/plugin-transform-exponentiation-operator": ^7.12.13
|
||||
@@ -1217,10 +1270,10 @@ __metadata:
|
||||
"@babel/plugin-transform-function-name": ^7.12.13
|
||||
"@babel/plugin-transform-literals": ^7.12.13
|
||||
"@babel/plugin-transform-member-expression-literals": ^7.12.13
|
||||
"@babel/plugin-transform-modules-amd": ^7.13.0
|
||||
"@babel/plugin-transform-modules-commonjs": ^7.13.8
|
||||
"@babel/plugin-transform-modules-amd": ^7.14.0
|
||||
"@babel/plugin-transform-modules-commonjs": ^7.14.0
|
||||
"@babel/plugin-transform-modules-systemjs": ^7.13.8
|
||||
"@babel/plugin-transform-modules-umd": ^7.13.0
|
||||
"@babel/plugin-transform-modules-umd": ^7.14.0
|
||||
"@babel/plugin-transform-named-capturing-groups-regex": ^7.12.13
|
||||
"@babel/plugin-transform-new-target": ^7.12.13
|
||||
"@babel/plugin-transform-object-super": ^7.12.13
|
||||
@@ -1236,7 +1289,7 @@ __metadata:
|
||||
"@babel/plugin-transform-unicode-escapes": ^7.12.13
|
||||
"@babel/plugin-transform-unicode-regex": ^7.12.13
|
||||
"@babel/preset-modules": ^0.1.4
|
||||
"@babel/types": ^7.13.14
|
||||
"@babel/types": ^7.14.0
|
||||
babel-plugin-polyfill-corejs2: ^0.2.0
|
||||
babel-plugin-polyfill-corejs3: ^0.2.0
|
||||
babel-plugin-polyfill-regenerator: ^0.2.0
|
||||
@@ -1244,7 +1297,7 @@ __metadata:
|
||||
semver: ^6.3.0
|
||||
peerDependencies:
|
||||
"@babel/core": ^7.0.0-0
|
||||
checksum: bcab2e9ce31ba4c6d0d56ff4afc1f6a6365952f2ab1001bad91dec4ad72b2b7578cdecc214b173caf0a7bf19bd075844294786432d56113aefa0e14b61d67d79
|
||||
checksum: 4bfbcbf9f5c8a632554f72d55071ab906d915c5eada2d079fbc3a521078d1f3c003fab4aa350af913e9260fdf3bacab3ab9f8bcb3d4add604868a211f5469c32
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@@ -1307,12 +1360,12 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@babel/runtime@npm:^7.13.17, @babel/runtime@npm:^7.13.9, @babel/runtime@npm:^7.8.4":
|
||||
version: 7.13.17
|
||||
resolution: "@babel/runtime@npm:7.13.17"
|
||||
"@babel/runtime@npm:^7.13.17, @babel/runtime@npm:^7.13.9, @babel/runtime@npm:^7.14.0, @babel/runtime@npm:^7.8.4":
|
||||
version: 7.14.0
|
||||
resolution: "@babel/runtime@npm:7.14.0"
|
||||
dependencies:
|
||||
regenerator-runtime: ^0.13.4
|
||||
checksum: c32e5e2833348b586bc919c0fbc8efbd2fdd79451cce56ed5962ace6ff74ea44fbb8723dcd3f08e52ce07e88e37f4c02cd5021855417d365558e41de38d277a8
|
||||
checksum: ab6653f2f8ecdaebf36674894cef458a9d4f881dc007fdcd50a8261f5c6d9731e03fda2c17e32ecf0e6c779d69eb6cf49d68a48c780aaf07d5b572e8b7ef0508
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@@ -1327,29 +1380,29 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@babel/traverse@npm:^7.1.0, @babel/traverse@npm:^7.13.0, @babel/traverse@npm:^7.13.13, @babel/traverse@npm:^7.13.15, @babel/traverse@npm:^7.13.17":
|
||||
version: 7.13.17
|
||||
resolution: "@babel/traverse@npm:7.13.17"
|
||||
"@babel/traverse@npm:^7.1.0, @babel/traverse@npm:^7.13.0, @babel/traverse@npm:^7.14.0":
|
||||
version: 7.14.0
|
||||
resolution: "@babel/traverse@npm:7.14.0"
|
||||
dependencies:
|
||||
"@babel/code-frame": ^7.12.13
|
||||
"@babel/generator": ^7.13.16
|
||||
"@babel/generator": ^7.14.0
|
||||
"@babel/helper-function-name": ^7.12.13
|
||||
"@babel/helper-split-export-declaration": ^7.12.13
|
||||
"@babel/parser": ^7.13.16
|
||||
"@babel/types": ^7.13.17
|
||||
"@babel/parser": ^7.14.0
|
||||
"@babel/types": ^7.14.0
|
||||
debug: ^4.1.0
|
||||
globals: ^11.1.0
|
||||
checksum: e50e3a97a5704ed76558c00a632fbbee888a864054772361323075f436b3e767b7441c53fec34333a0c5ed2a88b856c76de8770932a050bb6a1553ece998b0c1
|
||||
checksum: f2fb957d616c242d8ccd25fbebadebc25aa2df8ea82d7cacb2b09285743a682f72beb6fb2acef01a7a98f141c3e36d19300ebde2dd78c780c5e3dc7692c5f6f2
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@babel/types@npm:^7.0.0, @babel/types@npm:^7.12.1, @babel/types@npm:^7.12.13, @babel/types@npm:^7.13.0, @babel/types@npm:^7.13.12, @babel/types@npm:^7.13.14, @babel/types@npm:^7.13.16, @babel/types@npm:^7.13.17, @babel/types@npm:^7.3.0, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3":
|
||||
version: 7.13.17
|
||||
resolution: "@babel/types@npm:7.13.17"
|
||||
"@babel/types@npm:^7.0.0, @babel/types@npm:^7.12.1, @babel/types@npm:^7.12.13, @babel/types@npm:^7.13.0, @babel/types@npm:^7.13.12, @babel/types@npm:^7.14.0, @babel/types@npm:^7.3.0, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3":
|
||||
version: 7.14.0
|
||||
resolution: "@babel/types@npm:7.14.0"
|
||||
dependencies:
|
||||
"@babel/helper-validator-identifier": ^7.12.11
|
||||
"@babel/helper-validator-identifier": ^7.14.0
|
||||
to-fast-properties: ^2.0.0
|
||||
checksum: d75193ea37008a039b2383f8ba3cbe492a092550c6656721f6aa76bd8565a9286b56165a0c82ea5a8423d6f65bd803eb2c73561a5fc7a098b97d19f692bc79a6
|
||||
checksum: 145b37e3779e8462e3b234b47f539cf2fcb29cf85bc21a96997969f75798dd8144cb8c14973fbfdf9a30410607dee19d4e240f2c4b8691867f9fe59cf708859f
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@@ -1787,25 +1840,25 @@ __metadata:
|
||||
version: 0.0.0-use.local
|
||||
resolution: "@polkadot/api-contract@workspace:packages/api-contract"
|
||||
dependencies:
|
||||
"@babel/runtime": ^7.13.17
|
||||
"@polkadot/api": 4.7.1
|
||||
"@polkadot/types": 4.7.1
|
||||
"@babel/runtime": ^7.14.0
|
||||
"@polkadot/api": 4.8.1
|
||||
"@polkadot/types": 4.8.1
|
||||
"@polkadot/util": ^6.3.1
|
||||
"@polkadot/x-rxjs": ^6.3.1
|
||||
bn.js: ^4.11.9
|
||||
languageName: unknown
|
||||
linkType: soft
|
||||
|
||||
"@polkadot/api-derive@4.7.1, @polkadot/api-derive@workspace:packages/api-derive":
|
||||
"@polkadot/api-derive@4.8.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.13.17
|
||||
"@polkadot/api": 4.7.1
|
||||
"@babel/runtime": ^7.14.0
|
||||
"@polkadot/api": 4.8.1
|
||||
"@polkadot/keyring": ^6.3.1
|
||||
"@polkadot/rpc-core": 4.7.1
|
||||
"@polkadot/rpc-provider": 4.7.1
|
||||
"@polkadot/types": 4.7.1
|
||||
"@polkadot/rpc-core": 4.8.1
|
||||
"@polkadot/rpc-provider": 4.8.1
|
||||
"@polkadot/types": 4.8.1
|
||||
"@polkadot/util": ^6.3.1
|
||||
"@polkadot/util-crypto": ^6.3.1
|
||||
"@polkadot/x-rxjs": ^6.3.1
|
||||
@@ -1813,18 +1866,18 @@ __metadata:
|
||||
languageName: unknown
|
||||
linkType: soft
|
||||
|
||||
"@polkadot/api@4.7.1, @polkadot/api@workspace:packages/api":
|
||||
"@polkadot/api@4.8.1, @polkadot/api@workspace:packages/api":
|
||||
version: 0.0.0-use.local
|
||||
resolution: "@polkadot/api@workspace:packages/api"
|
||||
dependencies:
|
||||
"@babel/runtime": ^7.13.17
|
||||
"@polkadot/api-derive": 4.7.1
|
||||
"@babel/runtime": ^7.14.0
|
||||
"@polkadot/api-derive": 4.8.1
|
||||
"@polkadot/keyring": ^6.3.1
|
||||
"@polkadot/metadata": 4.7.1
|
||||
"@polkadot/rpc-core": 4.7.1
|
||||
"@polkadot/rpc-provider": 4.7.1
|
||||
"@polkadot/types": 4.7.1
|
||||
"@polkadot/types-known": 4.7.1
|
||||
"@polkadot/metadata": 4.8.1
|
||||
"@polkadot/rpc-core": 4.8.1
|
||||
"@polkadot/rpc-provider": 4.8.1
|
||||
"@polkadot/types": 4.8.1
|
||||
"@polkadot/types-known": 4.8.1
|
||||
"@polkadot/util": ^6.3.1
|
||||
"@polkadot/util-crypto": ^6.3.1
|
||||
"@polkadot/x-rxjs": ^6.3.1
|
||||
@@ -1833,12 +1886,12 @@ __metadata:
|
||||
languageName: unknown
|
||||
linkType: soft
|
||||
|
||||
"@polkadot/dev@npm:^0.62.10":
|
||||
version: 0.62.10
|
||||
resolution: "@polkadot/dev@npm:0.62.10"
|
||||
"@polkadot/dev@npm:^0.62.11":
|
||||
version: 0.62.11
|
||||
resolution: "@polkadot/dev@npm:0.62.11"
|
||||
dependencies:
|
||||
"@babel/cli": ^7.13.16
|
||||
"@babel/core": ^7.13.16
|
||||
"@babel/core": ^7.14.0
|
||||
"@babel/plugin-proposal-class-properties": ^7.13.0
|
||||
"@babel/plugin-proposal-nullish-coalescing-operator": ^7.13.8
|
||||
"@babel/plugin-proposal-numeric-separator": ^7.12.13
|
||||
@@ -1851,11 +1904,11 @@ __metadata:
|
||||
"@babel/plugin-syntax-top-level-await": ^7.12.13
|
||||
"@babel/plugin-transform-regenerator": ^7.13.15
|
||||
"@babel/plugin-transform-runtime": ^7.13.15
|
||||
"@babel/preset-env": ^7.13.15
|
||||
"@babel/preset-env": ^7.14.0
|
||||
"@babel/preset-react": ^7.13.13
|
||||
"@babel/preset-typescript": ^7.13.0
|
||||
"@babel/register": ^7.13.16
|
||||
"@babel/runtime": ^7.13.17
|
||||
"@babel/runtime": ^7.14.0
|
||||
"@rushstack/eslint-patch": ^1.0.6
|
||||
"@typescript-eslint/eslint-plugin": 4.22.0
|
||||
"@typescript-eslint/parser": 4.22.0
|
||||
@@ -1915,7 +1968,7 @@ __metadata:
|
||||
polkadot-exec-prettier: scripts/polkadot-exec-prettier.cjs
|
||||
polkadot-exec-tsc: scripts/polkadot-exec-tsc.cjs
|
||||
polkadot-exec-webpack: scripts/polkadot-exec-webpack.cjs
|
||||
checksum: e197e64ed55ffd9809835afbaa0f4d3495adf16d246885a5ea98459f658a587f74481049f472b752f0b0666a41c236159fcd9f8cf623b66363fff1cca2526f4f
|
||||
checksum: a6c735c3ad62d4b4cd0fccc27ffe692a39f6b920f667f0e6819964ebc2679a245cc6b7d0b9aabc3157bc9c376bf3fc5cf10deeea6ada952af96dc6a982819fa7
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@@ -1933,14 +1986,14 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@polkadot/metadata@4.7.1, @polkadot/metadata@workspace:packages/metadata":
|
||||
"@polkadot/metadata@4.8.1, @polkadot/metadata@workspace:packages/metadata":
|
||||
version: 0.0.0-use.local
|
||||
resolution: "@polkadot/metadata@workspace:packages/metadata"
|
||||
dependencies:
|
||||
"@babel/runtime": ^7.13.17
|
||||
"@babel/runtime": ^7.14.0
|
||||
"@polkadot/keyring": ^6.3.1
|
||||
"@polkadot/types": 4.7.1
|
||||
"@polkadot/types-known": 4.7.1
|
||||
"@polkadot/types": 4.8.1
|
||||
"@polkadot/types-known": 4.8.1
|
||||
"@polkadot/util": ^6.3.1
|
||||
"@polkadot/util-crypto": ^6.3.1
|
||||
bn.js: ^4.11.9
|
||||
@@ -1956,28 +2009,28 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@polkadot/rpc-core@4.7.1, @polkadot/rpc-core@workspace:packages/rpc-core":
|
||||
"@polkadot/rpc-core@4.8.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.13.17
|
||||
"@babel/runtime": ^7.14.0
|
||||
"@polkadot/keyring": ^6.3.1
|
||||
"@polkadot/metadata": 4.7.1
|
||||
"@polkadot/rpc-provider": 4.7.1
|
||||
"@polkadot/types": 4.7.1
|
||||
"@polkadot/metadata": 4.8.1
|
||||
"@polkadot/rpc-provider": 4.8.1
|
||||
"@polkadot/types": 4.8.1
|
||||
"@polkadot/util": ^6.3.1
|
||||
"@polkadot/x-rxjs": ^6.3.1
|
||||
languageName: unknown
|
||||
linkType: soft
|
||||
|
||||
"@polkadot/rpc-provider@4.7.1, @polkadot/rpc-provider@workspace:packages/rpc-provider":
|
||||
"@polkadot/rpc-provider@4.8.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.13.17
|
||||
"@babel/runtime": ^7.14.0
|
||||
"@polkadot/keyring": ^6.3.1
|
||||
"@polkadot/metadata": 4.7.1
|
||||
"@polkadot/types": 4.7.1
|
||||
"@polkadot/metadata": 4.8.1
|
||||
"@polkadot/types": 4.8.1
|
||||
"@polkadot/util": ^6.3.1
|
||||
"@polkadot/util-crypto": ^6.3.1
|
||||
"@polkadot/x-fetch": ^6.3.1
|
||||
@@ -1990,12 +2043,12 @@ __metadata:
|
||||
languageName: unknown
|
||||
linkType: soft
|
||||
|
||||
"@polkadot/ts@npm:^0.3.63":
|
||||
version: 0.3.63
|
||||
resolution: "@polkadot/ts@npm:0.3.63"
|
||||
"@polkadot/ts@npm:^0.3.64":
|
||||
version: 0.3.64
|
||||
resolution: "@polkadot/ts@npm:0.3.64"
|
||||
dependencies:
|
||||
"@types/chrome": ^0.0.135
|
||||
checksum: b5614968b9a3b558347ff9f4b7c52767fc08b3f8ecf8c82f808d37ffcaf2be4f8a1791bb327d3dcdfe064be4ee1811b648e984bc3a329188ae4a9a24b7391884
|
||||
"@types/chrome": ^0.0.136
|
||||
checksum: 3e3b456f85a35cf57165713556c3e1725c74ba6d84950084b9e70480e5c6f8707d82cb4d59af54a4e6bbae7dc3a616dd0040b4eba5043bffebb4c5df3b689a09
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@@ -2003,13 +2056,13 @@ __metadata:
|
||||
version: 0.0.0-use.local
|
||||
resolution: "@polkadot/typegen@workspace:packages/typegen"
|
||||
dependencies:
|
||||
"@babel/core": ^7.13.16
|
||||
"@babel/core": ^7.14.0
|
||||
"@babel/register": ^7.13.16
|
||||
"@babel/runtime": ^7.13.17
|
||||
"@polkadot/api": 4.7.1
|
||||
"@polkadot/metadata": 4.7.1
|
||||
"@polkadot/rpc-provider": 4.7.1
|
||||
"@polkadot/types": 4.7.1
|
||||
"@babel/runtime": ^7.14.0
|
||||
"@polkadot/api": 4.8.1
|
||||
"@polkadot/metadata": 4.8.1
|
||||
"@polkadot/rpc-provider": 4.8.1
|
||||
"@polkadot/types": 4.8.1
|
||||
"@polkadot/util": ^6.3.1
|
||||
"@types/websocket": ^1.0.2
|
||||
"@types/yargs": ^16.0.1
|
||||
@@ -2025,26 +2078,26 @@ __metadata:
|
||||
languageName: unknown
|
||||
linkType: soft
|
||||
|
||||
"@polkadot/types-known@4.7.1, @polkadot/types-known@workspace:packages/types-known":
|
||||
"@polkadot/types-known@4.8.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.13.17
|
||||
"@babel/runtime": ^7.14.0
|
||||
"@polkadot/networks": ^6.3.1
|
||||
"@polkadot/types": 4.7.1
|
||||
"@polkadot/types": 4.8.1
|
||||
"@polkadot/util": ^6.3.1
|
||||
"@types/bn.js": ^4.11.6
|
||||
bn.js: ^4.11.9
|
||||
languageName: unknown
|
||||
linkType: soft
|
||||
|
||||
"@polkadot/types@4.7.1, @polkadot/types@workspace:packages/types":
|
||||
"@polkadot/types@4.8.1, @polkadot/types@workspace:packages/types":
|
||||
version: 0.0.0-use.local
|
||||
resolution: "@polkadot/types@workspace:packages/types"
|
||||
dependencies:
|
||||
"@babel/runtime": ^7.13.17
|
||||
"@babel/runtime": ^7.14.0
|
||||
"@polkadot/keyring": ^6.3.1
|
||||
"@polkadot/metadata": 4.7.1
|
||||
"@polkadot/metadata": 4.8.1
|
||||
"@polkadot/util": ^6.3.1
|
||||
"@polkadot/util-crypto": ^6.3.1
|
||||
"@polkadot/x-rxjs": ^6.3.1
|
||||
@@ -2292,13 +2345,13 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@types/chrome@npm:^0.0.135":
|
||||
version: 0.0.135
|
||||
resolution: "@types/chrome@npm:0.0.135"
|
||||
"@types/chrome@npm:^0.0.136":
|
||||
version: 0.0.136
|
||||
resolution: "@types/chrome@npm:0.0.136"
|
||||
dependencies:
|
||||
"@types/filesystem": "*"
|
||||
"@types/har-format": "*"
|
||||
checksum: 0619796ce1a174d807d82c412f4c988447d3b3f4195a993dd88166864ed568623e8bad9f7aaae96c99b2cefcf9532ead978ae36ade21dc6dfd8435a34db277ec
|
||||
checksum: 1ac7be0b47988d0a322ce557982b670a3e9c0ce862be97216561756cdfc9f8f1cfee9660d17b7f868245672267cafc3b19dbaf714cf03d57a9b8fd03daa4cb27
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@@ -2359,13 +2412,13 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@types/jest@npm:^26.0.22":
|
||||
version: 26.0.22
|
||||
resolution: "@types/jest@npm:26.0.22"
|
||||
"@types/jest@npm:^26.0.23":
|
||||
version: 26.0.23
|
||||
resolution: "@types/jest@npm:26.0.23"
|
||||
dependencies:
|
||||
jest-diff: ^26.0.0
|
||||
pretty-format: ^26.0.0
|
||||
checksum: 4c98ed058522f6cc74bcb47b8b7b104b77b2d4e42e087171f3d2d3ae5338c21f43ec26f2a186bc229c1bd72c3f776ad07faba837f0ec27f22cf94e154516c0b3
|
||||
checksum: a015676b78bdc51be6f6315acef10d9106ea8064e3e49143bca3c75b834b61285b45c5f5ccfd049a80107f1e2869a9183cdb5be85816c073ea8dd05852fafdc6
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@@ -9439,13 +9492,13 @@ resolve@^2.0.0-next.3:
|
||||
version: 0.0.0-use.local
|
||||
resolution: "root-workspace-0b6124@workspace:."
|
||||
dependencies:
|
||||
"@babel/core": ^7.13.16
|
||||
"@babel/core": ^7.14.0
|
||||
"@babel/register": ^7.13.16
|
||||
"@babel/runtime": ^7.13.17
|
||||
"@polkadot/dev": ^0.62.10
|
||||
"@polkadot/ts": ^0.3.63
|
||||
"@babel/runtime": ^7.14.0
|
||||
"@polkadot/dev": ^0.62.11
|
||||
"@polkadot/ts": ^0.3.64
|
||||
"@polkadot/typegen": "workspace:packages/typegen"
|
||||
"@types/jest": ^26.0.22
|
||||
"@types/jest": ^26.0.23
|
||||
copyfiles: ^2.4.1
|
||||
languageName: unknown
|
||||
linkType: soft
|
||||
|
||||
Reference in New Issue
Block a user