From 8ad0e9cd1d029fe3f6f3c0ffadb3577194c33716 Mon Sep 17 00:00:00 2001 From: Jordan Beauchamp Date: Tue, 28 Apr 2020 10:19:31 +1200 Subject: [PATCH 1/3] Try fix #12 --- README.md | 7 +++++++ dist/index.d.ts | 1 + dist/index.js | 2 ++ types/index.ts | 2 ++ 4 files changed, 12 insertions(+) diff --git a/README.md b/README.md index ad23e76..0249bb2 100644 --- a/README.md +++ b/README.md @@ -30,3 +30,10 @@ async function main() { } ``` + +## Build +To build the package for distribution run: +``` +tsc +``` + diff --git a/dist/index.d.ts b/dist/index.d.ts index d388f66..f70f7eb 100644 --- a/dist/index.d.ts +++ b/dist/index.d.ts @@ -4,5 +4,6 @@ declare const PlugRuntimeTypes: { Doughnut: typeof Doughnut; ExtrinsicV4: typeof PlugExtrinsicV1; RewardBalance: string; + Address: string; }; export default PlugRuntimeTypes; diff --git a/dist/index.js b/dist/index.js index cdbbf10..cd386c4 100644 --- a/dist/index.js +++ b/dist/index.js @@ -23,5 +23,7 @@ const PlugRuntimeTypes = { ExtrinsicV4: Extrinsic_1.default, // The staking reward currency type RewardBalance: 'Balance', + // The chain address type is the AccountId type + Address: 'AccountId', }; exports.default = PlugRuntimeTypes; diff --git a/types/index.ts b/types/index.ts index edac28f..ee3841d 100644 --- a/types/index.ts +++ b/types/index.ts @@ -23,6 +23,8 @@ const PlugRuntimeTypes = { ExtrinsicV4: PlugExtrinsicV1, // The staking reward currency type RewardBalance: 'Balance', + // The chain address type is the AccountId type + Address: 'AccountId', }; export default PlugRuntimeTypes; From aad7b2c2c08698fa9975e8f8e4aab9a4e302d823 Mon Sep 17 00:00:00 2001 From: Jordan Beauchamp Date: Tue, 28 Apr 2020 10:20:03 +1200 Subject: [PATCH 2/3] Update to latest plug tag --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 142e57b..d7e27b7 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -4,7 +4,7 @@ jobs: docker: - image: circleci/node:10.13.0 # Run Plug node - - image: plugnet/plugblockchain:1.0.0-rc2 + - image: plugnet/plugblockchain:1.0.0-rc3.1 entrypoint: /usr/local/bin/plug command: - --dev From 5731cfb955c6a36587a15042934d94e486ec6a61 Mon Sep 17 00:00:00 2001 From: hoani Date: Mon, 22 Jun 2020 14:02:16 +1200 Subject: [PATCH 3/3] Update to polkadot api 1.8.1 compatability --- dist/Extrinsic.d.ts | 2 +- dist/Extrinsic.js | 3 +- dist/ExtrinsicPayload.js | 3 +- dist/ExtrinsicSignature.d.ts | 6 +- dist/ExtrinsicSignature.js | 4 +- dist/InterfaceTypes.d.ts | 8 +- package.json | 4 +- types/Extrinsic.ts | 4 +- types/ExtrinsicPayload.ts | 2 +- types/ExtrinsicSignature.ts | 10 +- types/InterfaceTypes.ts | 8 +- yarn.lock | 320 ++++++++++++++++++----------------- 12 files changed, 190 insertions(+), 184 deletions(-) diff --git a/dist/Extrinsic.d.ts b/dist/Extrinsic.d.ts index 7a95235..dbaa304 100644 --- a/dist/Extrinsic.d.ts +++ b/dist/Extrinsic.d.ts @@ -4,7 +4,7 @@ It has had its payload and signature type changed to use Plug versions. **/ import { Address, Call } from '@polkadot/types/interfaces/runtime'; import { ExtrinsicPayloadValue, IExtrinsicImpl, IKeyringPair, Registry, SignatureOptions } from '@polkadot/types/types'; -import { ExtrinsicOptions } from '@polkadot/types/primitive/Extrinsic/types'; +import { ExtrinsicOptions } from '@polkadot/types/extrinsic/types'; import Struct from '@polkadot/types/codec/Struct'; import PlugExtrinsicSignatureV1 from './ExtrinsicSignature'; export declare const TRANSACTION_VERSION = 4; diff --git a/dist/Extrinsic.js b/dist/Extrinsic.js index 91747d5..cbbdb81 100644 --- a/dist/Extrinsic.js +++ b/dist/Extrinsic.js @@ -3,8 +3,9 @@ // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. Object.defineProperty(exports, "__esModule", { value: true }); +exports.TRANSACTION_VERSION = void 0; const util_1 = require("@polkadot/util"); -const create_1 = require("@polkadot/types/codec/create"); +const create_1 = require("@polkadot/types/create"); const Struct_1 = require("@polkadot/types/codec/Struct"); const ExtrinsicSignature_1 = require("./ExtrinsicSignature"); exports.TRANSACTION_VERSION = 4; diff --git a/dist/ExtrinsicPayload.js b/dist/ExtrinsicPayload.js index f0f3df8..18a8286 100644 --- a/dist/ExtrinsicPayload.js +++ b/dist/ExtrinsicPayload.js @@ -3,8 +3,9 @@ // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. Object.defineProperty(exports, "__esModule", { value: true }); +exports.PayloadV1 = exports.SignedExtraV1 = exports.BasePayloadV1 = void 0; const Struct_1 = require("@polkadot/types/codec/Struct"); -const util_1 = require("@polkadot/types/primitive/Extrinsic/util"); +const util_1 = require("@polkadot/types/extrinsic/util"); // The base fields in a Plug V1 extrinsic payload exports.BasePayloadV1 = { method: 'Bytes', diff --git a/dist/ExtrinsicSignature.d.ts b/dist/ExtrinsicSignature.d.ts index 1097be6..bf221be 100644 --- a/dist/ExtrinsicSignature.d.ts +++ b/dist/ExtrinsicSignature.d.ts @@ -2,8 +2,8 @@ import Compact from '@polkadot/types/codec/Compact'; import Option from '@polkadot/types/codec/Option'; import Struct from '@polkadot/types/codec/Struct'; import { Address, Balance, Call, EcdsaSignature, Ed25519Signature, ExtrinsicEra, Index, MultiSignature, Sr25519Signature } from '@polkadot/types/interfaces'; -import { ExtrinsicSignatureOptions } from '@polkadot/types/primitive/Extrinsic/types'; -import { AnyNumber, AnyU8a, IExtrinsicEra, IExtrinsicSignature, IKeyringPair, Registry, RuntimeVersionInterface } from '@polkadot/types/types'; +import { ExtrinsicSignatureOptions } from '@polkadot/types/extrinsic/types'; +import { AnyNumber, AnyU8a, IExtrinsicEra, IExtrinsicSignature, IKeyringPair, Registry, IRuntimeVersion } from '@polkadot/types/types'; import Doughnut from './Doughnut'; import PlugExtrinsicPayloadV1, { PlugExtrinsicPayloadValue } from './ExtrinsicPayload'; export interface SignatureOptions { @@ -12,7 +12,7 @@ export interface SignatureOptions { doughnut?: Option; genesisHash: AnyU8a; nonce: AnyNumber; - runtimeVersion: RuntimeVersionInterface; + runtimeVersion: IRuntimeVersion; tip?: AnyNumber; } /** diff --git a/dist/ExtrinsicSignature.js b/dist/ExtrinsicSignature.js index 19775ec..61da956 100644 --- a/dist/ExtrinsicSignature.js +++ b/dist/ExtrinsicSignature.js @@ -3,9 +3,9 @@ // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. Object.defineProperty(exports, "__esModule", { value: true }); -const create_1 = require("@polkadot/types/codec/create"); +const create_1 = require("@polkadot/types/create"); const Struct_1 = require("@polkadot/types/codec/Struct"); -const constants_1 = require("@polkadot/types/primitive/Extrinsic/constants"); +const constants_1 = require("@polkadot/types/extrinsic/constants"); const ExtrinsicPayload_1 = require("./ExtrinsicPayload"); const util_1 = require("@polkadot/util"); /** diff --git a/dist/InterfaceTypes.d.ts b/dist/InterfaceTypes.d.ts index 817fe7d..663f370 100644 --- a/dist/InterfaceTypes.d.ts +++ b/dist/InterfaceTypes.d.ts @@ -1,10 +1,10 @@ import Option from '@polkadot/types/codec/Option'; -import { InterfaceRegistry } from '@polkadot/types/interfaceRegistry'; +import { InterfaceTypes } from '@polkadot/types/types/registry'; import Doughnut from './Doughnut'; -declare module '@polkadot/types/interfaceRegistry' { - interface InterfaceRegistry { +declare module '@polkadot/types/types/registry' { + interface InterfaceTypes { Doughnut: Doughnut; 'Option': Option; } } -export declare type PlugInterfaceTypes = keyof InterfaceRegistry; +export declare type PlugInterfaceTypes = keyof InterfaceTypes; diff --git a/package.json b/package.json index 6fa82be..7f19059 100644 --- a/package.json +++ b/package.json @@ -5,12 +5,12 @@ "main": "dist/index.js", "typings": "dist/index.d.ts", "dependencies": { - "@polkadot/types": "^1.1.1", + "@polkadot/types": "1.8.1", "@polkadot/util": "^2.3.1", "f": "^1.4.0" }, "devDependencies": { - "@polkadot/api": "^1.1.1", + "@polkadot/api": "1.8.1", "@polkadot/util-crypto": "^2.3.1", "@types/bn.js": "^4.11.6", "@types/jest": "^25.1.2", diff --git a/types/Extrinsic.ts b/types/Extrinsic.ts index 56976c3..bf0df23 100644 --- a/types/Extrinsic.ts +++ b/types/Extrinsic.ts @@ -8,11 +8,11 @@ It has had its payload and signature type changed to use Plug versions. **/ import { Address, Call } from '@polkadot/types/interfaces/runtime'; import { ExtrinsicPayloadValue, IExtrinsicImpl, IKeyringPair, Registry, SignatureOptions } from '@polkadot/types/types'; -import { ExtrinsicOptions } from '@polkadot/types/primitive/Extrinsic/types'; +import { ExtrinsicOptions } from '@polkadot/types/extrinsic/types'; import { isU8a } from '@polkadot/util'; -import { ClassOf, createType } from '@polkadot/types/codec/create'; +import { ClassOf, createType } from '@polkadot/types/create'; import Struct from '@polkadot/types/codec/Struct'; import PlugExtrinsicSignatureV1 from './ExtrinsicSignature'; diff --git a/types/ExtrinsicPayload.ts b/types/ExtrinsicPayload.ts index 90e1501..c98095e 100644 --- a/types/ExtrinsicPayload.ts +++ b/types/ExtrinsicPayload.ts @@ -7,7 +7,7 @@ import Option from '@polkadot/types/codec/Option'; import Struct from '@polkadot/types/codec/Struct'; import { Balance, ExtrinsicEra, Hash, Index } from '@polkadot/types/interfaces'; import Bytes from '@polkadot/types/primitive/Bytes'; -import { sign } from '@polkadot/types/primitive/Extrinsic/util'; +import { sign } from '@polkadot/types/extrinsic/util'; import u32 from '@polkadot/types/primitive/U32'; import { AnyNumber, AnyU8a, IExtrinsicEra, IKeyringPair, IMethod, Registry } from '@polkadot/types/types'; diff --git a/types/ExtrinsicSignature.ts b/types/ExtrinsicSignature.ts index cdad9b3..fe23ecf 100644 --- a/types/ExtrinsicSignature.ts +++ b/types/ExtrinsicSignature.ts @@ -3,7 +3,7 @@ // of the Apache-2.0 license. See the LICENSE file for details. import Compact from '@polkadot/types/codec/Compact'; -import { createType } from '@polkadot/types/codec/create'; +import { createType } from '@polkadot/types/create'; import Option from '@polkadot/types/codec/Option'; import Struct from '@polkadot/types/codec/Struct'; import { @@ -17,8 +17,8 @@ import { MultiSignature, Sr25519Signature, } from '@polkadot/types/interfaces'; -import { EMPTY_U8A, IMMORTAL_ERA } from '@polkadot/types/primitive/Extrinsic/constants'; -import { ExtrinsicSignatureOptions } from '@polkadot/types/primitive/Extrinsic/types'; +import { EMPTY_U8A, IMMORTAL_ERA } from '@polkadot/types/extrinsic/constants'; +import { ExtrinsicSignatureOptions } from '@polkadot/types/extrinsic/types'; import { AnyNumber, @@ -27,7 +27,7 @@ import { IExtrinsicSignature, IKeyringPair, Registry, - RuntimeVersionInterface, + IRuntimeVersion, } from '@polkadot/types/types'; import Doughnut from './Doughnut'; @@ -40,7 +40,7 @@ export interface SignatureOptions { doughnut?: Option; genesisHash: AnyU8a; nonce: AnyNumber; - runtimeVersion: RuntimeVersionInterface; + runtimeVersion: IRuntimeVersion; tip?: AnyNumber; } diff --git a/types/InterfaceTypes.ts b/types/InterfaceTypes.ts index 42f8b58..5113e89 100644 --- a/types/InterfaceTypes.ts +++ b/types/InterfaceTypes.ts @@ -13,12 +13,12 @@ // limitations under the License. import Option from '@polkadot/types/codec/Option'; -import { InterfaceRegistry } from '@polkadot/types/interfaceRegistry'; +import { InterfaceTypes } from '@polkadot/types/types/registry'; import Doughnut from './Doughnut'; // Merge the [[InterfaceRegistry]] definition from `@polkadot/types/interfaceRegistry` with plug types -declare module '@polkadot/types/interfaceRegistry' { - interface InterfaceRegistry { +declare module '@polkadot/types/types/registry' { + interface InterfaceTypes { // Add types that only Plug knows about. // TS will merge them into the polkadot provided [[InterfaceRegistry]] Doughnut: Doughnut; @@ -26,4 +26,4 @@ declare module '@polkadot/types/interfaceRegistry' { } } -export type PlugInterfaceTypes = keyof InterfaceRegistry; +export type PlugInterfaceTypes = keyof InterfaceTypes; diff --git a/yarn.lock b/yarn.lock index 409e879..479dc19 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9,7 +9,7 @@ dependencies: "@babel/highlight" "^7.8.3" -"@babel/core@^7.1.0", "@babel/core@^7.7.5", "@babel/core@^7.8.4": +"@babel/core@^7.1.0", "@babel/core@^7.7.5": version "7.8.4" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.8.4.tgz#d496799e5c12195b3602d0fddd77294e3e38e80e" integrity sha512-0LiLrB2PwrVI+a2/IEskBopDYSd8BCb3rOvH7D5tzoWd696TBEduBvuLVm4Nx6rltrLZqvI3MCalB2K2aVzQjA== @@ -105,16 +105,12 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/register@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.8.3.tgz#5d5d30cfcc918437535d724b8ac1e4a60c5db1f8" - integrity sha512-t7UqebaWwo9nXWClIPLPloa5pN33A2leVs8Hf0e9g9YwUP8/H9NeR7DJU+4CXo23QtjChQv5a3DjEtT83ih1rg== +"@babel/runtime@^7.10.2", "@babel/runtime@^7.9.2": + version "7.10.3" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.10.3.tgz#670d002655a7c366540c67f6fd3342cd09500364" + integrity sha512-RzGO0RLSdokm9Ipe/YD+7ww8X2Ro79qiXZF3HU9ljrM+qnJmH1Vqth+hbiQZy761LnMJTMitHDuKVYTk3k4dLw== dependencies: - find-cache-dir "^2.0.0" - lodash "^4.17.13" - make-dir "^2.1.0" - pirates "^4.0.0" - source-map-support "^0.5.16" + regenerator-runtime "^0.13.4" "@babel/runtime@^7.8.4": version "7.8.4" @@ -364,116 +360,120 @@ "@nodelib/fs.scandir" "2.1.3" fastq "^1.6.0" -"@polkadot/api-derive@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@polkadot/api-derive/-/api-derive-1.2.1.tgz#df4abae2cdf3c72d89d1c6f87e647374fe93680f" - integrity sha512-HUgIDuVAWeLlDQufU03o/vgaGtLqIlsNc86gfL5H8Y2Fodhqr8EWogSbpkFdwhIac6MWXvTjQKxdCmssA6YwRw== - dependencies: - "@babel/runtime" "^7.8.4" - "@polkadot/api" "^1.2.1" - "@polkadot/rpc-core" "^1.2.1" - "@polkadot/rpc-provider" "^1.2.1" - "@polkadot/types" "^1.2.1" - "@polkadot/util" "^2.3.1" - "@polkadot/util-crypto" "^2.3.1" +"@polkadot/api-derive@1.8.1": + version "1.8.1" + resolved "https://registry.yarnpkg.com/@polkadot/api-derive/-/api-derive-1.8.1.tgz#0253e23c922a3a94c19de64f6c64904e3cc11648" + integrity sha512-/eDtnfdfiEcm28s6IKYHw0i1Y8ZBONAKuuP7NQWKehQD6JkPBBtEheTTjl1r3sPQMP+bSD/rFU+G4kB4Ly2RhA== + dependencies: + "@babel/runtime" "^7.9.2" + "@polkadot/api" "1.8.1" + "@polkadot/rpc-core" "1.8.1" + "@polkadot/rpc-provider" "1.8.1" + "@polkadot/types" "1.8.1" + "@polkadot/util" "^2.6.2" + "@polkadot/util-crypto" "^2.6.2" bn.js "^5.1.1" memoizee "^0.4.14" rxjs "^6.5.4" -"@polkadot/api@^1.1.1", "@polkadot/api@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@polkadot/api/-/api-1.2.1.tgz#ac10db7d2759a6b09d94597372dec32b2cf19153" - integrity sha512-5xC+0M3df+IYDY2u7q7VBUYqa9niFaXhaMCbr4+8lIjs8WyUuOFKABG8EvMQOEZYVtBu2/tCIm5HMSIcb+AaHQ== - dependencies: - "@babel/runtime" "^7.8.4" - "@polkadot/api-derive" "^1.2.1" - "@polkadot/keyring" "^2.3.1" - "@polkadot/metadata" "^1.2.1" - "@polkadot/rpc-core" "^1.2.1" - "@polkadot/rpc-provider" "^1.2.1" - "@polkadot/types" "^1.2.1" - "@polkadot/util" "^2.3.1" - "@polkadot/util-crypto" "^2.3.1" +"@polkadot/api@1.8.1": + version "1.8.1" + resolved "https://registry.yarnpkg.com/@polkadot/api/-/api-1.8.1.tgz#a8341ddcacbe60c1236e46bdb0246c971f7f4485" + integrity sha512-3x+7Q/Gsol/UnWsA/dqbvysQ4nZ0ffmCrUJiTu6U7JrVP+a8PLrGU4asr+aqtSvY861iHfZjv8xmSqIiGjRuUw== + dependencies: + "@babel/runtime" "^7.9.2" + "@polkadot/api-derive" "1.8.1" + "@polkadot/keyring" "^2.6.2" + "@polkadot/metadata" "1.8.1" + "@polkadot/rpc-core" "1.8.1" + "@polkadot/rpc-provider" "1.8.1" + "@polkadot/types" "1.8.1" + "@polkadot/util" "^2.6.2" + "@polkadot/util-crypto" "^2.6.2" bn.js "^5.1.1" eventemitter3 "^4.0.0" rxjs "^6.5.4" -"@polkadot/jsonrpc@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@polkadot/jsonrpc/-/jsonrpc-1.2.1.tgz#08c6744369ab4c6ea02004c2c1b73486c0a5c43c" - integrity sha512-VJq+u/q+R6iJDlXbX/Scn3kgoGocXT7tdGykUaUcryaLZe1VnxQFzww5kMfidr+eXtfxNQsw979J0O76W2VdUQ== +"@polkadot/keyring@^2.6.2": + version "2.14.1" + resolved "https://registry.yarnpkg.com/@polkadot/keyring/-/keyring-2.14.1.tgz#b729ba3d974c232f526ecefd1096d7c59cede2d1" + integrity sha512-objz3p2BG/UuV8exxf69GrPE3nKmTOrxI+4Cz2kxAbG3KpbVsYdQJZW3ij9tftuQdX6SAxvy6AqrzBvEOF1qaA== dependencies: - "@babel/runtime" "^7.8.4" - "@polkadot/types" "^1.2.1" - "@polkadot/util" "^2.3.1" + "@babel/runtime" "^7.10.2" + "@polkadot/util" "2.14.1" + "@polkadot/util-crypto" "2.14.1" -"@polkadot/keyring@^2.3.1": - version "2.3.1" - resolved "https://registry.yarnpkg.com/@polkadot/keyring/-/keyring-2.3.1.tgz#64ed052760c6ebf3e71a2413a0f362d8522d0060" - integrity sha512-MvkyR/ohYAsSQrSEVBo6w/S5S9i4AEPYGNqPOyR7erEJD3YQjZhJJkJx23w6XsbWr0XDfzJG9SQ5uq585DIi4g== +"@polkadot/metadata@1.8.1": + version "1.8.1" + resolved "https://registry.yarnpkg.com/@polkadot/metadata/-/metadata-1.8.1.tgz#879a3f011fcd78765e6560eefc6ce1124d94c02a" + integrity sha512-mVCcEU9U9r8jGFWPYyxwwiZlFFZK2LgDLzKDexkJqfB2HmgeEVxIBBGFdrclYb1yeNlojKq2ge7P4V4Zr5ShJQ== dependencies: - "@babel/runtime" "^7.8.4" - "@polkadot/util" "^2.3.1" - "@polkadot/util-crypto" "^2.3.1" - -"@polkadot/metadata@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@polkadot/metadata/-/metadata-1.2.1.tgz#0b36f9b0c8533a029643aa1114d6c961c2e3c041" - integrity sha512-35yApYyInGQELiy0GqE6mbxBn0lUwgpkC/PXV6q+Y6eW0TNQR1eUSr9K4NUisBlZe4s9HDpclR3b39SVvlNr6g== - dependencies: - "@babel/runtime" "^7.8.4" - "@polkadot/types" "^1.2.1" - "@polkadot/util" "^2.3.1" - "@polkadot/util-crypto" "^2.3.1" + "@babel/runtime" "^7.9.2" + "@polkadot/types" "1.8.1" + "@polkadot/util" "^2.6.2" + "@polkadot/util-crypto" "^2.6.2" bn.js "^5.1.1" -"@polkadot/rpc-core@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@polkadot/rpc-core/-/rpc-core-1.2.1.tgz#26b9ac765e08fcb2d976fa73ca7a7259d4c3caa0" - integrity sha512-oo43JM2O6gRVBusDk4EW8A+Ns5EVCpAvahYJTbbj7t34c0ToyUDhush/S6DquvgmAhdFxEELs8ilkeQSksegZg== +"@polkadot/rpc-core@1.8.1": + version "1.8.1" + resolved "https://registry.yarnpkg.com/@polkadot/rpc-core/-/rpc-core-1.8.1.tgz#be1c9393e8a4509fcd12e6ea1c54e5c686125a96" + integrity sha512-eepA2xLhtNfdtKgv9c2k8rMmFMjmrFqtTjy12APuqCY8qBk4q32X5gXYmioV76Ie8PaMq4bkBF6fYiXa08qxDw== dependencies: - "@babel/runtime" "^7.8.4" - "@polkadot/jsonrpc" "^1.2.1" - "@polkadot/metadata" "^1.2.1" - "@polkadot/rpc-provider" "^1.2.1" - "@polkadot/types" "^1.2.1" - "@polkadot/util" "^2.3.1" + "@babel/runtime" "^7.9.2" + "@polkadot/metadata" "1.8.1" + "@polkadot/rpc-provider" "1.8.1" + "@polkadot/types" "1.8.1" + "@polkadot/util" "^2.6.2" memoizee "^0.4.14" rxjs "^6.5.4" -"@polkadot/rpc-provider@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@polkadot/rpc-provider/-/rpc-provider-1.2.1.tgz#7478c5657eded5ce940234945d2e1da47f195b6c" - integrity sha512-Z8S5hSbWHjj+slEbjux3JvEmbcsse8ZB/eyBHsySJ3XMTUIOWmpfxO3CBRuVWXxfZXLCXDzphKlE8dNFtEgIlg== +"@polkadot/rpc-provider@1.8.1": + version "1.8.1" + resolved "https://registry.yarnpkg.com/@polkadot/rpc-provider/-/rpc-provider-1.8.1.tgz#66b4894658081cb8c701cacb2a11f1532bd49e44" + integrity sha512-zkwehn1dgXZvwWppS/W7BdU6SZ1WxGkxXBtLEcEzSY43WxPcwpXm0iWy9JkWzVJ28xGenFjk4ngLquNBzL1hSw== dependencies: - "@babel/runtime" "^7.8.4" - "@polkadot/jsonrpc" "^1.2.1" - "@polkadot/metadata" "^1.2.1" - "@polkadot/types" "^1.2.1" - "@polkadot/util" "^2.3.1" - "@polkadot/util-crypto" "^2.3.1" + "@babel/runtime" "^7.9.2" + "@polkadot/metadata" "1.8.1" + "@polkadot/types" "1.8.1" + "@polkadot/util" "^2.6.2" + "@polkadot/util-crypto" "^2.6.2" bn.js "^5.1.1" eventemitter3 "^4.0.0" isomorphic-fetch "^2.2.1" websocket "^1.0.31" -"@polkadot/types@^1.1.1", "@polkadot/types@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@polkadot/types/-/types-1.2.1.tgz#d3734942ec5e03b9ab0cf19c453bf54ff7608c76" - integrity sha512-fvDoDr2b6LgtWqIxWOhEHazq5N01hy8yNQb6BxI5thmHfq/21vpMO4cUkcDlPI1tmQKRbC5LxJ4yvxQBZPMppw== +"@polkadot/types@1.8.1": + version "1.8.1" + resolved "https://registry.yarnpkg.com/@polkadot/types/-/types-1.8.1.tgz#1ff499653aefbcc6ff852c830b74e9a31ac12806" + integrity sha512-UVyrNhW8khUw7nDNOdEdZNJvG4Nlq1wBOTmmOFnpihBY95jVtk63jUjcb8CjR5/kJgpAIYumZ3XupZ8BgN1KPw== dependencies: - "@babel/core" "^7.8.4" - "@babel/register" "^7.8.3" - "@babel/runtime" "^7.8.4" - "@polkadot/api" "^1.2.1" - "@polkadot/metadata" "^1.2.1" - "@polkadot/util" "^2.3.1" - "@polkadot/util-crypto" "^2.3.1" + "@babel/runtime" "^7.9.2" + "@polkadot/metadata" "1.8.1" + "@polkadot/util" "^2.6.2" + "@polkadot/util-crypto" "^2.6.2" + "@types/bn.js" "^4.11.6" bn.js "^5.1.1" memoizee "^0.4.14" rxjs "^6.5.4" - websocket "^1.0.31" - yargs "^15.1.0" + +"@polkadot/util-crypto@2.14.1", "@polkadot/util-crypto@^2.6.2": + version "2.14.1" + resolved "https://registry.yarnpkg.com/@polkadot/util-crypto/-/util-crypto-2.14.1.tgz#34a42454d3c0ea20e352d1ea71bb911d59b37835" + integrity sha512-8xFUhjrKGisLCtEPZClCrjY7DwpGx6K6n2pRiD1/Q/qoyuDy/pNWDNCqspkwHeaYN40McT/7XmRmM6ExYaNREA== + dependencies: + "@babel/runtime" "^7.10.2" + "@polkadot/util" "2.14.1" + "@polkadot/wasm-crypto" "^1.2.1" + base-x "^3.0.8" + bip39 "^3.0.2" + blakejs "^1.1.0" + bn.js "^5.1.2" + bs58 "^4.0.1" + elliptic "^6.5.2" + js-sha3 "^0.8.0" + pbkdf2 "^3.1.1" + tweetnacl "^1.0.3" + xxhashjs "^0.2.2" "@polkadot/util-crypto@^2.3.1": version "2.3.1" @@ -494,6 +494,18 @@ tweetnacl "^1.0.3" xxhashjs "^0.2.2" +"@polkadot/util@2.14.1", "@polkadot/util@^2.6.2": + version "2.14.1" + resolved "https://registry.yarnpkg.com/@polkadot/util/-/util-2.14.1.tgz#c4521e3855b874d5ebcc0635b767f60ea6d88593" + integrity sha512-Rp/74CsAedjzd/ERLcOw9WUEsMDOnvI+Bp3k9UpT3vZKRa/foxK4N+H5TmItZRwP4FETMqizU0mKF3rGg17btg== + dependencies: + "@babel/runtime" "^7.10.2" + "@types/bn.js" "^4.11.6" + bn.js "^5.1.2" + camelcase "^5.3.1" + chalk "^4.1.0" + ip-regex "^4.1.0" + "@polkadot/util@^2.3.1": version "2.3.1" resolved "https://registry.yarnpkg.com/@polkadot/util/-/util-2.3.1.tgz#ea4142386e66db14eae78c8fda4fb62693cf072a" @@ -510,6 +522,11 @@ resolved "https://registry.yarnpkg.com/@polkadot/wasm-crypto/-/wasm-crypto-1.0.1.tgz#80a2a6e8d63a7decdd1163cc49b263ccef4ad36d" integrity sha512-l6izEdPXl4V8SBU9m3ct5PkHcdKZVDJMb10CFPNuNXT5OXMRaDs+Rlt/EHKjh8wbv8s9EOqy42BSHO8Qqrcg/g== +"@polkadot/wasm-crypto@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@polkadot/wasm-crypto/-/wasm-crypto-1.2.1.tgz#2189702447acd28d763886359576c87562241767" + integrity sha512-nckIoZBV4nBZdeKwFwH5t7skS7L7GO5EFUl5B1F6uCjUfdNpDz3DtqbYQHcLdCZNmG4TDLg6w/1J+rkl2SiUZw== + "@samverschueren/stream-to-observable@^0.3.0": version "0.3.0" resolved "https://registry.yarnpkg.com/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.0.tgz#ecdf48d532c58ea477acfcab80348424f8d0662f" @@ -995,6 +1012,13 @@ base-x@^3.0.2, base-x@^3.0.7: dependencies: safe-buffer "^5.0.1" +base-x@^3.0.8: + version "3.0.8" + resolved "https://registry.yarnpkg.com/base-x/-/base-x-3.0.8.tgz#1e1106c2537f0162e8b52474a557ebb09000018d" + integrity sha512-Rl/1AWP4J/zRrk54hhlxH4drNxPJXYUaKffODVI53/dAsV4t9fBxyxYKAVPU1XBHxYwOWP9h9H0hM2MVw4YfJA== + dependencies: + safe-buffer "^5.0.1" + base@^0.11.1: version "0.11.2" resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" @@ -1040,6 +1064,11 @@ bn.js@^5.1.1: resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.1.1.tgz#48efc4031a9c4041b9c99c6941d903463ab62eb5" integrity sha512-IUTD/REb78Z2eodka1QZyyEk66pciRcP6Sroka0aI3tG/iwIdYLrBD62RsubR7vqdt3WyX8p4jxeatzmRSphtA== +bn.js@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.1.2.tgz#c9686902d3c9a27729f43ab10f9d79c2004da7b0" + integrity sha512-40rZaf3bUNKTVYu9sIeeEGOg7g14Yvnj9kH7b50EiwX0Q7A6umbvfI5tvHaOERH0XigqKkfLkFQxzb4e6CIXnA== + brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" @@ -1203,6 +1232,14 @@ chalk@^3.0.0: ansi-styles "^4.1.0" supports-color "^7.1.0" +chalk@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" + integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + chardet@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" @@ -1324,11 +1361,6 @@ commander@^2.20.0: resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== -commondir@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" - integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= - component-emitter@^1.2.1: version "1.3.0" resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" @@ -1926,9 +1958,9 @@ event-emitter@^0.3.5: es5-ext "~0.10.14" eventemitter3@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.0.tgz#d65176163887ee59f386d64c82610b696a4a74eb" - integrity sha512-qerSRB0p+UDEssxTtm6EDKcE7W4OaoisfIMl4CngyEhjpYglocpNg6UEqCvemdGhosAsg4sO2dXJOdyBifPGCg== + version "4.0.4" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.4.tgz#b5463ace635a083d018bdc7c917b4c5f10a85384" + integrity sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ== exec-sh@^0.3.2: version "0.3.4" @@ -2171,15 +2203,6 @@ fill-range@^7.0.1: dependencies: to-regex-range "^5.0.1" -find-cache-dir@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7" - integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ== - dependencies: - commondir "^1.0.1" - make-dir "^2.0.0" - pkg-dir "^3.0.0" - find-up@^2.0.0, find-up@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" @@ -2187,13 +2210,6 @@ find-up@^2.0.0, find-up@^2.1.0: dependencies: locate-path "^2.0.0" -find-up@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" - integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== - dependencies: - locate-path "^3.0.0" - find-up@^4.0.0, find-up@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" @@ -3492,14 +3508,6 @@ locate-path@^2.0.0: p-locate "^2.0.0" path-exists "^3.0.0" -locate-path@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" - integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== - dependencies: - p-locate "^3.0.0" - path-exists "^3.0.0" - locate-path@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" @@ -3567,14 +3575,6 @@ lru-queue@0.1: dependencies: es5-ext "~0.10.2" -make-dir@^2.0.0, make-dir@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" - integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== - dependencies: - pify "^4.0.1" - semver "^5.6.0" - make-dir@^3.0.0: version "3.0.2" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.0.2.tgz#04a1acbf22221e1d6ef43559f43e05a90dbb4392" @@ -4030,7 +4030,7 @@ p-limit@^1.1.0: dependencies: p-try "^1.0.0" -p-limit@^2.0.0, p-limit@^2.2.0: +p-limit@^2.2.0: version "2.2.2" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.2.tgz#61279b67721f5287aa1c13a9a7fbbc48c9291b1e" integrity sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ== @@ -4044,13 +4044,6 @@ p-locate@^2.0.0: dependencies: p-limit "^1.1.0" -p-locate@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" - integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== - dependencies: - p-limit "^2.0.0" - p-locate@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" @@ -4180,6 +4173,17 @@ pbkdf2@^3.0.9: safe-buffer "^5.0.1" sha.js "^2.4.8" +pbkdf2@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.1.tgz#cb8724b0fada984596856d1a6ebafd3584654b94" + integrity sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg== + dependencies: + create-hash "^1.1.2" + create-hmac "^1.1.4" + ripemd160 "^2.0.1" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + performance-now@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" @@ -4195,12 +4199,7 @@ pify@^2.0.0: resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= -pify@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" - integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== - -pirates@^4.0.0, pirates@^4.0.1: +pirates@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87" integrity sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA== @@ -4214,13 +4213,6 @@ pkg-dir@^2.0.0: dependencies: find-up "^2.1.0" -pkg-dir@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" - integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw== - dependencies: - find-up "^3.0.0" - pkg-dir@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" @@ -4376,6 +4368,11 @@ regenerator-runtime@^0.13.2: resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz#7cf6a77d8f5c6f60eb73c5fc1955b2ceb01e6bf5" integrity sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw== +regenerator-runtime@^0.13.4: + version "0.13.5" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz#d878a1d094b4306d10b9096484b33ebd55e26697" + integrity sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA== + regex-not@^1.0.0, regex-not@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" @@ -4562,13 +4559,20 @@ run-parallel@^1.1.9: resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.1.9.tgz#c9dd3a7cf9f4b2c4b6244e173a6ed866e61dd679" integrity sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q== -rxjs@^6.3.3, rxjs@^6.4.0, rxjs@^6.5.4: +rxjs@^6.3.3, rxjs@^6.4.0: version "6.5.4" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.4.tgz#e0777fe0d184cec7872df147f303572d414e211c" integrity sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q== dependencies: tslib "^1.9.0" +rxjs@^6.5.4: + version "6.5.5" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.5.tgz#c5c884e3094c8cfee31bf27eb87e54ccfc87f9ec" + integrity sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ== + dependencies: + tslib "^1.9.0" + safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.2: version "5.2.0" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519" @@ -4618,7 +4622,7 @@ semver-compare@^1.0.0: resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w= -"semver@2 || 3 || 4 || 5", semver@^5.4.1, semver@^5.5, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0: +"semver@2 || 3 || 4 || 5", semver@^5.4.1, semver@^5.5, semver@^5.5.0, semver@^5.5.1: version "5.7.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== @@ -4755,7 +4759,7 @@ source-map-resolve@^0.5.0: source-map-url "^0.4.0" urix "^0.1.0" -source-map-support@^0.5.16, source-map-support@^0.5.6: +source-map-support@^0.5.6: version "0.5.16" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.16.tgz#0ae069e7fe3ba7538c64c98515e35339eac5a042" integrity sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ== @@ -5485,7 +5489,7 @@ yargs-parser@^16.1.0: camelcase "^5.0.0" decamelize "^1.2.0" -yargs@^15.0.0, yargs@^15.1.0: +yargs@^15.0.0: version "15.1.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.1.0.tgz#e111381f5830e863a89550bd4b136bb6a5f37219" integrity sha512-T39FNN1b6hCW4SOIk1XyTOWxtXdcen0t+XYrysQmChzSipvhBO8Bj0nK1ozAasdk24dNWuMZvr4k24nz+8HHLg==