From 4c5203acba673c59f4ff141a1c9ebcc603b6ea5d Mon Sep 17 00:00:00 2001 From: Jaco Date: Thu, 6 May 2021 11:50:46 +0300 Subject: [PATCH] Optimize historic metadata retrieval from rpc core (#3495) * Optimize historic metadata retrieval from rpc core * Bump deps --- CHANGELOG.md | 1 + package.json | 2 +- packages/api/src/base/Init.ts | 20 ++-- packages/rpc-core/src/index.ts | 12 +- packages/typegen/package.json | 2 +- yarn.lock | 209 +++++++++++++++++---------------- 6 files changed, 127 insertions(+), 119 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f883532352..54c56022c0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -23,6 +23,7 @@ Changes: - Remove all deprecated interfaces inside `@polkadot/api-contracts` - Initial support for NMap storage keys - Support metadata v13 from Substrate (upcoming upgrade) +- Optimize historic metadata retrieval from rpc core ## 4.8.1 May 2, 2021 diff --git a/package.json b/package.json index 3850d1f787..8384895dba 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,7 @@ "@babel/core": "^7.14.0", "@babel/register": "^7.13.16", "@babel/runtime": "^7.14.0", - "@polkadot/dev": "^0.62.11", + "@polkadot/dev": "^0.62.12", "@polkadot/ts": "^0.3.64", "@polkadot/typegen": "workspace:packages/typegen", "@types/jest": "^26.0.23", diff --git a/packages/api/src/base/Init.ts b/packages/api/src/base/Init.ts index ff6ec83010..e073dada41 100644 --- a/packages/api/src/base/Init.ts +++ b/packages/api/src/base/Init.ts @@ -58,7 +58,7 @@ export abstract class Init extends Decorate { this._rx.signer = options.signer; - this._rpcCore.setRegistrySwap((hash: string | Uint8Array) => this.getBlockRegistry(hash)); + this._rpcCore.setRegistrySwap((blockHash: Uint8Array) => this.getBlockRegistry(blockHash)); if (this.hasSubscriptions) { this._rpcCore.provider.on('disconnected', this.#onProviderDisconnect); @@ -102,11 +102,9 @@ export abstract class Init extends Decorate { /** * @description Sets up a registry based on the block hash defined */ - public async getBlockRegistry (blockHash: string | Uint8Array): Promise { - // shortcut in the case where we have an immediate-same request - const lastBlockHash = u8aToU8a(blockHash); + public async getBlockRegistry (blockHash: Uint8Array): Promise { const existingViaHash = this.#registries.find(({ lastBlockHash }) => - lastBlockHash && u8aEq(lastBlockHash, lastBlockHash) + lastBlockHash && u8aEq(lastBlockHash, blockHash) ); if (existingViaHash) { @@ -134,7 +132,7 @@ export abstract class Init extends Decorate { const existingViaVersion = this.#registries.find(({ specVersion }) => specVersion.eq(version.specVersion)); if (existingViaVersion) { - existingViaVersion.lastBlockHash = lastBlockHash; + existingViaVersion.lastBlockHash = blockHash; return existingViaVersion; } @@ -144,7 +142,7 @@ export abstract class Init extends Decorate { const registry = this._initRegistry(new TypeRegistry(blockHash), this._runtimeChain as Text, version, metadata); // add our new registry - const result = { isDefault: false, lastBlockHash, metadata, metadataConsts: null, registry, specVersion: version.specVersion }; + const result = { isDefault: false, lastBlockHash: blockHash, metadata, metadataConsts: null, registry, specVersion: version.specVersion }; this.#registries.push(result); @@ -192,7 +190,7 @@ export abstract class Init extends Decorate { return [source.genesisHash, source.runtimeMetadata]; } - private _detectCapabilities (registry: Registry, blockHash?: string | Uint8Array): void { + private _detectCapabilities (registry: Registry, blockHash?: string | Uint8Array): boolean { detectedCapabilities(this._rx, blockHash) .toPromise() .then((types): void => { @@ -203,6 +201,8 @@ export abstract class Init extends Decorate { } }) .catch(undefined); + + return true; } // subscribe to metadata updates, inject the types on changes @@ -238,9 +238,7 @@ export abstract class Init extends Decorate { this._initRegistry(thisRegistry.registry.init(), this._runtimeChain as Text, version, metadata); this.injectMetadata(metadata, false, thisRegistry.registry); - this._detectCapabilities(thisRegistry.registry); - - return true; + return this._detectCapabilities(thisRegistry.registry); }) ) ) diff --git a/packages/rpc-core/src/index.ts b/packages/rpc-core/src/index.ts index bc5d9da445..3395d079d1 100644 --- a/packages/rpc-core/src/index.ts +++ b/packages/rpc-core/src/index.ts @@ -84,7 +84,7 @@ export class RpcCore { #registryDefault: Registry; - #getBlockRegistry?: (blockHash: string | Uint8Array) => Promise<{ registry: Registry }>; + #getBlockRegistry?: (blockHash: Uint8Array) => Promise<{ registry: Registry }>; readonly #storageCache = new Map(); @@ -140,8 +140,10 @@ export class RpcCore { /** * @description Sets a registry swap (typically from Api) */ - public setRegistrySwap (registrySwap: (blockHash: string | Uint8Array) => Promise<{ registry: Registry }>): void { - this.#getBlockRegistry = registrySwap; + public setRegistrySwap (registrySwap: (blockHash: Uint8Array) => Promise<{ registry: Registry }>): void { + this.#getBlockRegistry = memoize(registrySwap, { + getInstanceId: () => this.#instanceId + }); } public addUserInterfaces
(userRpc: Record>): void { @@ -211,9 +213,9 @@ export class RpcCore { const callWithRegistry = async (outputAs: OutputType, values: any[]): Promise => { const blockHash = hashIndex === -1 ? null - : values[hashIndex] as Uint8Array; + : values[hashIndex] as (Uint8Array | string | null | undefined); const { registry } = blockHash && this.#getBlockRegistry - ? await this.#getBlockRegistry(blockHash) + ? await this.#getBlockRegistry(u8aToU8a(blockHash)) : { registry: this.#registryDefault }; const params = this._formatInputs(registry, null, def, values); const data = await this.provider.send(rpcName, params.map((param): AnyJson => param.toJSON())) as AnyJson; diff --git a/packages/typegen/package.json b/packages/typegen/package.json index 718819e9fb..43fbb3e56a 100644 --- a/packages/typegen/package.json +++ b/packages/typegen/package.json @@ -36,7 +36,7 @@ "@polkadot/util": "^6.3.1", "handlebars": "^4.7.7", "websocket": "^1.0.34", - "yargs": "^16.2.0" + "yargs": "^17.0.1" }, "devDependencies": { "@types/websocket": "^1.0.2", diff --git a/yarn.lock b/yarn.lock index 08ea823b6c..ece6864452 100644 --- a/yarn.lock +++ b/yarn.lock @@ -799,14 +799,14 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-block-scoping@npm:^7.13.16": - version: 7.13.16 - resolution: "@babel/plugin-transform-block-scoping@npm:7.13.16" +"@babel/plugin-transform-block-scoping@npm:^7.14.1": + version: 7.14.1 + resolution: "@babel/plugin-transform-block-scoping@npm:7.14.1" dependencies: "@babel/helper-plugin-utils": ^7.13.0 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 4ada80ee426255e0ab75e6bf816477ecbcbef225d9110ba07b09addeae9addad1765541c405d711678f3ea7a926e26e2e6796c7f5d1d7ca7ef8b5e25080cfe58 + checksum: 33b12be483e61dbadf604f5dca3437d5a1742696afe2088eb4f72f0d911906274c345e7bedbc28b1ba00a573b04d363cf86407f46e352487252089499801c4b6 languageName: node linkType: hard @@ -1218,9 +1218,9 @@ __metadata: languageName: node linkType: hard -"@babel/preset-env@npm:^7.14.0": - version: 7.14.0 - resolution: "@babel/preset-env@npm:7.14.0" +"@babel/preset-env@npm:^7.14.1": + version: 7.14.1 + resolution: "@babel/preset-env@npm:7.14.1" dependencies: "@babel/compat-data": ^7.14.0 "@babel/helper-compilation-targets": ^7.13.16 @@ -1259,7 +1259,7 @@ __metadata: "@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.13.16 + "@babel/plugin-transform-block-scoping": ^7.14.1 "@babel/plugin-transform-classes": ^7.13.0 "@babel/plugin-transform-computed-properties": ^7.13.0 "@babel/plugin-transform-destructuring": ^7.13.17 @@ -1289,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.14.0 + "@babel/types": ^7.14.1 babel-plugin-polyfill-corejs2: ^0.2.0 babel-plugin-polyfill-corejs3: ^0.2.0 babel-plugin-polyfill-regenerator: ^0.2.0 @@ -1297,7 +1297,7 @@ __metadata: semver: ^6.3.0 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 4bfbcbf9f5c8a632554f72d55071ab906d915c5eada2d079fbc3a521078d1f3c003fab4aa350af913e9260fdf3bacab3ab9f8bcb3d4add604868a211f5469c32 + checksum: 0fbef490fdd5435727268c729e0371ec8ec95349e5a00f919ba0c142e06d95c48512fec10d6404c89c297c597ae1c45a687fa40eec33e70b97131b0c4b5355c0 languageName: node linkType: hard @@ -1396,13 +1396,13 @@ __metadata: 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.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" +"@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.14.1, @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.1 + resolution: "@babel/types@npm:7.14.1" dependencies: "@babel/helper-validator-identifier": ^7.14.0 to-fast-properties: ^2.0.0 - checksum: 145b37e3779e8462e3b234b47f539cf2fcb29cf85bc21a96997969f75798dd8144cb8c14973fbfdf9a30410607dee19d4e240f2c4b8691867f9fe59cf708859f + checksum: 27965ef192ded329d8ae28ccd5e5addd02dc477ec46e54145e5cf0d054ad65b2fc760736865295c1819d502ec9598883c17f25efdbe896ad77b400136a1aa971 languageName: node linkType: hard @@ -1886,9 +1886,9 @@ __metadata: languageName: unknown linkType: soft -"@polkadot/dev@npm:^0.62.11": - version: 0.62.11 - resolution: "@polkadot/dev@npm:0.62.11" +"@polkadot/dev@npm:^0.62.12": + version: 0.62.12 + resolution: "@polkadot/dev@npm:0.62.12" dependencies: "@babel/cli": ^7.13.16 "@babel/core": ^7.14.0 @@ -1904,20 +1904,20 @@ __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.14.0 + "@babel/preset-env": ^7.14.1 "@babel/preset-react": ^7.13.13 "@babel/preset-typescript": ^7.13.0 "@babel/register": ^7.13.16 "@babel/runtime": ^7.14.0 "@rushstack/eslint-patch": ^1.0.6 - "@typescript-eslint/eslint-plugin": 4.22.0 - "@typescript-eslint/parser": 4.22.0 + "@typescript-eslint/eslint-plugin": 4.22.1 + "@typescript-eslint/parser": 4.22.1 "@vue/component-compiler-utils": ^3.2.0 babel-jest: ^26.6.3 babel-plugin-module-extension-resolver: ^1.0.0-rc.2 babel-plugin-module-resolver: ^4.1.0 babel-plugin-styled-components: ^1.12.0 - browserslist: ^4.16.5 + browserslist: ^4.16.6 chalk: ^4.1.1 coveralls: ^3.1.0 eslint: ^7.25.0 @@ -1931,7 +1931,7 @@ __metadata: eslint-plugin-react-hooks: ^4.2.0 eslint-plugin-simple-import-sort: ^7.0.0 eslint-plugin-sort-destructure-keys: ^1.3.5 - fs-extra: ^9.1.0 + fs-extra: ^10.0.0 gh-pages: ^3.1.0 gh-release: ^5.0.0 glob: ^7.1.6 @@ -1947,7 +1947,7 @@ __metadata: prettier: ^2.2.1 rimraf: ^3.0.2 typescript: ^4.2.4 - yargs: ^16.2.0 + yargs: ^17.0.1 bin: polkadot-ci-ghact-build: scripts/polkadot-ci-ghact-build.cjs polkadot-ci-ghact-docs: scripts/polkadot-ci-ghact-docs.cjs @@ -1968,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: a6c735c3ad62d4b4cd0fccc27ffe692a39f6b920f667f0e6819964ebc2679a245cc6b7d0b9aabc3157bc9c376bf3fc5cf10deeea6ada952af96dc6a982819fa7 + checksum: a2cb11fadb41e2419a099886b211a28a986da7c239f50174f5211d71d44d07b7269ea334dddc8fd6066603a405955e2e2f0c438b32507764fea6f9d9d5d1688b languageName: node linkType: hard @@ -2068,7 +2068,7 @@ __metadata: "@types/yargs": ^16.0.1 handlebars: ^4.7.7 websocket: ^1.0.34 - yargs: ^16.2.0 + yargs: ^17.0.1 bin: polkadot-types-chain-info: ./scripts/polkadot-types-chain-info.cjs polkadot-types-from-chain: ./scripts/polkadot-types-from-chain.cjs @@ -2526,12 +2526,12 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/eslint-plugin@npm:4.22.0": - version: 4.22.0 - resolution: "@typescript-eslint/eslint-plugin@npm:4.22.0" +"@typescript-eslint/eslint-plugin@npm:4.22.1": + version: 4.22.1 + resolution: "@typescript-eslint/eslint-plugin@npm:4.22.1" dependencies: - "@typescript-eslint/experimental-utils": 4.22.0 - "@typescript-eslint/scope-manager": 4.22.0 + "@typescript-eslint/experimental-utils": 4.22.1 + "@typescript-eslint/scope-manager": 4.22.1 debug: ^4.1.1 functional-red-black-tree: ^1.0.1 lodash: ^4.17.15 @@ -2544,66 +2544,66 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 40485bbf51283616b5098b33fa5285104a80419c4dcf75659442ae780352289bc238a64591939012ebc47823485497ae6ba8a35e653b0e33ff7f58743b46c34e + checksum: 6b3384e155583779285089e83b85a38f6c6965e6529b7b6bdcf630122164981c30139468d19fade482b7b45f007f9cd83b9c8c54eca385c8f0d6269bac2138be languageName: node linkType: hard -"@typescript-eslint/experimental-utils@npm:4.22.0": - version: 4.22.0 - resolution: "@typescript-eslint/experimental-utils@npm:4.22.0" +"@typescript-eslint/experimental-utils@npm:4.22.1": + version: 4.22.1 + resolution: "@typescript-eslint/experimental-utils@npm:4.22.1" dependencies: "@types/json-schema": ^7.0.3 - "@typescript-eslint/scope-manager": 4.22.0 - "@typescript-eslint/types": 4.22.0 - "@typescript-eslint/typescript-estree": 4.22.0 + "@typescript-eslint/scope-manager": 4.22.1 + "@typescript-eslint/types": 4.22.1 + "@typescript-eslint/typescript-estree": 4.22.1 eslint-scope: ^5.0.0 eslint-utils: ^2.0.0 peerDependencies: eslint: "*" - checksum: afabf0d6f9e70b910575d8bc2e8ccd3416e8d05ed968296fc56379f71f8cf3a27107598b98f7c76a91e6b0be796dc102c866381a3af5bf24799a333532d1e997 + checksum: ddea7a1af501e0ba2a551de68e436c6f65e8ec5d68bff4f00a71ffeba8b73160f30f92de5dbdf01dcfd3f3bf5ab1ea18fe00dbd6401a256b2960c60cf475aa29 languageName: node linkType: hard -"@typescript-eslint/parser@npm:4.22.0": - version: 4.22.0 - resolution: "@typescript-eslint/parser@npm:4.22.0" +"@typescript-eslint/parser@npm:4.22.1": + version: 4.22.1 + resolution: "@typescript-eslint/parser@npm:4.22.1" dependencies: - "@typescript-eslint/scope-manager": 4.22.0 - "@typescript-eslint/types": 4.22.0 - "@typescript-eslint/typescript-estree": 4.22.0 + "@typescript-eslint/scope-manager": 4.22.1 + "@typescript-eslint/types": 4.22.1 + "@typescript-eslint/typescript-estree": 4.22.1 debug: ^4.1.1 peerDependencies: eslint: ^5.0.0 || ^6.0.0 || ^7.0.0 peerDependenciesMeta: typescript: optional: true - checksum: 679e14a5cec5bae3b392b1736f5d919897fd1a269a9d25366babfd12c1d275b320ae36a0b8be215ba14780cb1feec2b386001b4e0225ef82bd0040bf5dbaf99f + checksum: ff57b68f83c984d146a00ad122f2e4bdf53649380e125f1764b66dce3bb7418c96729499987301c3daad2856c1a3a04f897c33cf36a9d7e48ddb8848ee608d74 languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:4.22.0": - version: 4.22.0 - resolution: "@typescript-eslint/scope-manager@npm:4.22.0" +"@typescript-eslint/scope-manager@npm:4.22.1": + version: 4.22.1 + resolution: "@typescript-eslint/scope-manager@npm:4.22.1" dependencies: - "@typescript-eslint/types": 4.22.0 - "@typescript-eslint/visitor-keys": 4.22.0 - checksum: c6f5565f517373cba61d29be919c69ad0e178f2a007eed6f1d8f80518853c3c4e6a3a059e492920b71675f0828e093eb36ec9eef318b9e2b4e9e65b0e93f03b6 + "@typescript-eslint/types": 4.22.1 + "@typescript-eslint/visitor-keys": 4.22.1 + checksum: 3309e33e8d8ad2ac5531a12055553817123346e63b64a77a67e429a3574c13334576dc9f11c632d9f01aa2ba07dfdc5d0840f90130fa9a764e10e0125c4f662b languageName: node linkType: hard -"@typescript-eslint/types@npm:4.22.0": - version: 4.22.0 - resolution: "@typescript-eslint/types@npm:4.22.0" - checksum: db2717132540feba39b002cdb2483aa822e0b50c17f9deff918a52609178df071444188a1e76c07c51018c353b01509dd741272b6d482edf7d9e7d60adc6c70e +"@typescript-eslint/types@npm:4.22.1": + version: 4.22.1 + resolution: "@typescript-eslint/types@npm:4.22.1" + checksum: ce4e0673bff31ac2b75319aeaa9feffd4dd0a6cce7f335c50bcd654aa96774d168c14903990e905c7515b0df0974b050edc328d7866d329f8379b552f525cac5 languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:4.22.0, @typescript-eslint/typescript-estree@npm:^4.8.2": - version: 4.22.0 - resolution: "@typescript-eslint/typescript-estree@npm:4.22.0" +"@typescript-eslint/typescript-estree@npm:4.22.1, @typescript-eslint/typescript-estree@npm:^4.8.2": + version: 4.22.1 + resolution: "@typescript-eslint/typescript-estree@npm:4.22.1" dependencies: - "@typescript-eslint/types": 4.22.0 - "@typescript-eslint/visitor-keys": 4.22.0 + "@typescript-eslint/types": 4.22.1 + "@typescript-eslint/visitor-keys": 4.22.1 debug: ^4.1.1 globby: ^11.0.1 is-glob: ^4.0.1 @@ -2612,17 +2612,17 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 538d932361d1463c9450c155fc5696f4cc1a07db2bfd4ca9079e1f919e5062fd95d8dc128fc2fa8368c9582787cfc97ee6284083b94fe8d580cd1a9fca688efa + checksum: 7de4827b870324e668ec84fc2b40c76465e72bdec6b8eb47ca493378d9c81e0d76bb3c5d4396400c70254c6fd2d57c81bde1236fe760d698d20ead80a295ffc4 languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:4.22.0": - version: 4.22.0 - resolution: "@typescript-eslint/visitor-keys@npm:4.22.0" +"@typescript-eslint/visitor-keys@npm:4.22.1": + version: 4.22.1 + resolution: "@typescript-eslint/visitor-keys@npm:4.22.1" dependencies: - "@typescript-eslint/types": 4.22.0 + "@typescript-eslint/types": 4.22.1 eslint-visitor-keys: ^2.0.0 - checksum: 645896d05aa757fac02d952574ecda0eecd0be120162e28533c4528bb70d2162e9df62c3547217c69f18a72ceecaf212ea585afd20f976db64b59ac6de0d1ec8 + checksum: b696851b5b7383368c29136374119ba53b39ca6f239899b00cd914c301c6c223c2e99541a6bb94f039511c160cc737b2773a2dc4fb8c817e2b079d0df12a0b94 languageName: node linkType: hard @@ -3015,13 +3015,6 @@ __metadata: languageName: node linkType: hard -"at-least-node@npm:^1.0.0": - version: 1.0.0 - resolution: "at-least-node@npm:1.0.0" - checksum: 8f33efc16287ed39766065c718a2d36a469f702c66c6eb41fa460c0c62bca395301a6a02946e315ae4a84c9cc7f44c94ec73a556bc2a1049350da98d0b013afe - languageName: node - linkType: hard - "atob@npm:^2.1.2": version: 2.1.2 resolution: "atob@npm:2.1.2" @@ -3375,18 +3368,18 @@ __metadata: languageName: node linkType: hard -"browserslist@npm:^4.14.5, browserslist@npm:^4.16.3, browserslist@npm:^4.16.5": - version: 4.16.5 - resolution: "browserslist@npm:4.16.5" +"browserslist@npm:^4.14.5, browserslist@npm:^4.16.3, browserslist@npm:^4.16.6": + version: 4.16.6 + resolution: "browserslist@npm:4.16.6" dependencies: - caniuse-lite: ^1.0.30001214 + caniuse-lite: ^1.0.30001219 colorette: ^1.2.2 - electron-to-chromium: ^1.3.719 + electron-to-chromium: ^1.3.723 escalade: ^3.1.1 node-releases: ^1.1.71 bin: browserslist: cli.js - checksum: ea06cb8262a69d1479ab2c288eb939250ea0a6b172a181ce7ce9410f1ee29701095c8c13bd575b70baead87743866471814f8c0247c9785b229b04bef399e4c8 + checksum: ebb0ab279c5e61f882467f7ccd7d22c0edfcc01201eba06e85e835ca4d355e682f9aa3310bfa18c3a23bb244f0b8e498b3113dae3e9b0fa4908c5ffb4a26b3a2 languageName: node linkType: hard @@ -3489,10 +3482,10 @@ __metadata: languageName: node linkType: hard -"caniuse-lite@npm:^1.0.30001214": - version: 1.0.30001214 - resolution: "caniuse-lite@npm:1.0.30001214" - checksum: 96c09af8989fe03e6aa0cc0130be3392c4a871093f0ae7190cb1185862a63b54de14483561578564d034cf993c315d4939727badee39ed76144e94ae4ab2a0f7 +"caniuse-lite@npm:^1.0.30001219": + version: 1.0.30001223 + resolution: "caniuse-lite@npm:1.0.30001223" + checksum: 0a19e4c3689048cf7f6a47d348cc6dc849a141ae814634cc2c9b37a91dc5ba019c08d67ddf3549323ae4b13c84cb2a796204128bcd19f0dbbe844dab0058b25e languageName: node linkType: hard @@ -4440,10 +4433,10 @@ __metadata: languageName: node linkType: hard -"electron-to-chromium@npm:^1.3.719": - version: 1.3.720 - resolution: "electron-to-chromium@npm:1.3.720" - checksum: 51bb3720af1ffe2ac04e0760f4cdcf319c2e371625e7ed9e433ee962c1c7ae09e65b44afbe7ddf5c71dc9a01583c8e0015ff04b86f0222ed7cc5b5871494078d +"electron-to-chromium@npm:^1.3.723": + version: 1.3.727 + resolution: "electron-to-chromium@npm:1.3.727" + checksum: a090f19d382d78a5e22d1ccd656336c341ddd878fe0675613b53c24c12d0edbb8fe07e41ab5c42d49584617f3ece1650c20b2dceaaa3a1b583922fdf2b132b6b languageName: node linkType: hard @@ -5377,6 +5370,17 @@ __metadata: languageName: node linkType: hard +"fs-extra@npm:^10.0.0": + version: 10.0.0 + resolution: "fs-extra@npm:10.0.0" + dependencies: + graceful-fs: ^4.2.0 + jsonfile: ^6.0.1 + universalify: ^2.0.0 + checksum: 84632d143fe3125b8c3c2b1fedbbdfcfb84fc3e087522b4e138cc07edf574619925713a6609f6d5e53ede2e31ab319c7d528ea4a4a770ba6622a16bf4447cd8b + languageName: node + linkType: hard + "fs-extra@npm:^8.1.0": version: 8.1.0 resolution: "fs-extra@npm:8.1.0" @@ -5388,18 +5392,6 @@ __metadata: languageName: node linkType: hard -"fs-extra@npm:^9.1.0": - version: 9.1.0 - resolution: "fs-extra@npm:9.1.0" - dependencies: - at-least-node: ^1.0.0 - graceful-fs: ^4.2.0 - jsonfile: ^6.0.1 - universalify: ^2.0.0 - checksum: e667d8df54113b527bf5830dd9db8f142618db488894b329fe07724c7020dfacf8a372b144a74e683ae44e66f56117adca9cac165950dda7d83537c46c10dc4b - languageName: node - linkType: hard - "fs-minipass@npm:^2.0.0": version: 2.1.0 resolution: "fs-minipass@npm:2.1.0" @@ -9495,7 +9487,7 @@ resolve@^2.0.0-next.3: "@babel/core": ^7.14.0 "@babel/register": ^7.13.16 "@babel/runtime": ^7.14.0 - "@polkadot/dev": ^0.62.11 + "@polkadot/dev": ^0.62.12 "@polkadot/ts": ^0.3.64 "@polkadot/typegen": "workspace:packages/typegen" "@types/jest": ^26.0.23 @@ -11297,7 +11289,7 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"yargs@npm:^16.0.3, yargs@npm:^16.1.0, yargs@npm:^16.2.0": +"yargs@npm:^16.0.3, yargs@npm:^16.1.0": version: 16.2.0 resolution: "yargs@npm:16.2.0" dependencies: @@ -11311,3 +11303,18 @@ resolve@^2.0.0-next.3: checksum: a79ce1f043021cd645de1ffebb6149541d382ba68f4a6b5eca5d2ad65af51893371bbd78e240dc3b6cf0cbb419511ba5bda715dec992e4266e6863ea49f14feb languageName: node linkType: hard + +"yargs@npm:^17.0.1": + version: 17.0.1 + resolution: "yargs@npm:17.0.1" + dependencies: + cliui: ^7.0.2 + escalade: ^3.1.1 + get-caller-file: ^2.0.5 + require-directory: ^2.1.1 + string-width: ^4.2.0 + y18n: ^5.0.5 + yargs-parser: ^20.2.2 + checksum: a7969b48d2dea129a7d4fcc3f13e88d4f94bacbd24f720b2ce19946fa9facc42cfed89c059d953091241f4e9e9000ed9dbf86e4bb4b6ceb3a26af10ddebdd0b2 + languageName: node + linkType: hard