diff --git a/package.json b/package.json index 2c0ca804aa..b0b3100ec2 100644 --- a/package.json +++ b/package.json @@ -33,10 +33,10 @@ "afterSign": "electron-builder-notarize" }, "resolutions": { - "@polkadot/api": "^2.1.2-20", - "@polkadot/api-contract": "^2.1.2-20", + "@polkadot/api": "^2.1.2-23", + "@polkadot/api-contract": "^2.1.2-23", "@polkadot/keyring": "^3.5.1", - "@polkadot/types": "^2.1.2-20", + "@polkadot/types": "^2.1.2-23", "@polkadot/util": "^3.5.1", "@polkadot/util-crypto": "^3.5.1", "@polkadot/wasm-crypto": "^1.4.1", diff --git a/packages/page-contracts/package.json b/packages/page-contracts/package.json index 34f5cd8eab..fe1f40dae4 100644 --- a/packages/page-contracts/package.json +++ b/packages/page-contracts/package.json @@ -12,6 +12,6 @@ "license": "Apache-2.0", "dependencies": { "@babel/runtime": "^7.11.2", - "@polkadot/api-contract": "^2.1.2-20" + "@polkadot/api-contract": "^2.1.2-23" } } diff --git a/packages/page-contracts/src/Codes/Upload.tsx b/packages/page-contracts/src/Codes/Upload.tsx index 685bb0d4fa..ad8936256e 100644 --- a/packages/page-contracts/src/Codes/Upload.tsx +++ b/packages/page-contracts/src/Codes/Upload.tsx @@ -1,13 +1,13 @@ // Copyright 2017-2020 @polkadot/app-contracts authors & contributors // SPDX-License-Identifier: Apache-2.0 -import { Hash } from '@polkadot/types/interfaces'; +import { SubmittableExtrinsic } from '@polkadot/api/types'; -import React, { useCallback, useState } from 'react'; -import { SubmittableResult } from '@polkadot/api'; +import React, { useCallback, useEffect, useMemo, useState } from 'react'; +import { CodePromise, CodeSubmittableResult } from '@polkadot/api-contract'; import { InputAddress, InputFile, Modal, TxButton } from '@polkadot/react-components'; -import { useAccountId, useNonEmptyString } from '@polkadot/react-hooks'; -import { compactAddLength, isNull, isWasm } from '@polkadot/util'; +import { useAccountId, useApi, useNonEmptyString } from '@polkadot/react-hooks'; +import { isNull, isWasm } from '@polkadot/util'; import { ABI, InputName } from '../shared'; import store from '../store'; @@ -20,42 +20,46 @@ interface Props { function Upload ({ onClose }: Props): React.ReactElement { const { t } = useTranslation(); + const { api } = useApi(); const [accountId, setAccountId] = useAccountId(); + const [uploadTx, setUploadTx] = useState | null>(null); const [[wasm, isWasmValid], setWasm] = useState<[Uint8Array | null, boolean]>([null, false]); const [name, isNameValid, setName] = useNonEmptyString(); - const { abi, contractAbi, errorText, isAbiError, isAbiSupplied, isAbiValid, onChangeAbi, onRemoveAbi } = useAbi(); + const { contractAbi, errorText, isAbiError, isAbiSupplied, isAbiValid, onChangeAbi, onRemoveAbi } = useAbi(); + + const code = useMemo( + () => isAbiValid && isWasmValid && wasm && contractAbi + ? new CodePromise(api, contractAbi, wasm) + : null, + [api, contractAbi, isAbiValid, isWasmValid, wasm] + ); + + useEffect((): void => { + setUploadTx(() => code ? code.createBlueprint() : null); + }, [code]); const _onAddWasm = useCallback( (wasm: Uint8Array, name: string): void => { - setWasm([compactAddLength(wasm), isWasm(wasm)]); - setName(name.replace('.wasm', '')); + setWasm([wasm, isWasm(wasm)]); + setName(name.replace('.wasm', '').replace('_', ' ')); }, [setName] ); const _onSuccess = useCallback( - (result: SubmittableResult): void => { - const record = result.findRecord('contracts', 'CodeStored'); - - if (record) { - const codeHash = record.event.data[0]; - - if (!codeHash || !name) { - return; - } - - store - .saveCode(codeHash as Hash, { abi, name, tags: [] }) - .then() - .catch((error: any): void => { - console.error('Unable to save code', error); - }); - } + (result: CodeSubmittableResult<'promise'>): void => { + result.blueprint && store + .saveCode(result.blueprint.codeHash, { + abi: JSON.stringify(result.blueprint.abi.json), + name: name || '', + tags: [] + }) + .catch(console.error); }, - [abi, name] + [name] ); - const isSubmittable = !!accountId && (!isNull(name) && isNameValid) && isWasmValid && isAbiSupplied && isAbiValid; + const isSubmittable = !!accountId && (!isNull(name) && isNameValid) && isWasmValid && isAbiSupplied && isAbiValid && !!uploadTx; return ( @@ -98,13 +102,12 @@ function Upload ({ onClose }: Props): React.ReactElement { diff --git a/packages/page-contracts/src/Contracts/Call.tsx b/packages/page-contracts/src/Contracts/Call.tsx index 40f49ab597..b24c50b734 100644 --- a/packages/page-contracts/src/Contracts/Call.tsx +++ b/packages/page-contracts/src/Contracts/Call.tsx @@ -8,7 +8,7 @@ import BN from 'bn.js'; import React, { useCallback, useState, useEffect } from 'react'; import styled from 'styled-components'; import { Button, Dropdown, Expander, InputAddress, InputBalance, Modal, TxButton } from '@polkadot/react-components'; -import { PromiseContract as ApiContract } from '@polkadot/api-contract'; +import { ContractPromise as ApiContract } from '@polkadot/api-contract'; import { useAccountId, useFormField } from '@polkadot/react-hooks'; import { BN_ZERO } from '@polkadot/util'; diff --git a/packages/page-contracts/src/Contracts/Contract.tsx b/packages/page-contracts/src/Contracts/Contract.tsx index a82fcee49d..de21ab888e 100644 --- a/packages/page-contracts/src/Contracts/Contract.tsx +++ b/packages/page-contracts/src/Contracts/Contract.tsx @@ -6,7 +6,7 @@ import { ContractInfo } from '@polkadot/types/interfaces'; import React, { useCallback } from 'react'; import keyring from '@polkadot/ui-keyring'; -import { PromiseContract } from '@polkadot/api-contract'; +import { ContractPromise } from '@polkadot/api-contract'; import { AddressInfo, AddressMini, Button, Forget } from '@polkadot/react-components'; import { useApi, useCall, useToggle } from '@polkadot/react-hooks'; import { Option } from '@polkadot/types'; @@ -17,7 +17,7 @@ import { useTranslation } from '../translate'; interface Props { className?: string; - contract: PromiseContract; + contract: ContractPromise; onCall: (index?: number) => void; } diff --git a/packages/page-contracts/src/Contracts/index.tsx b/packages/page-contracts/src/Contracts/index.tsx index db0fb91a5a..459cce1ad5 100644 --- a/packages/page-contracts/src/Contracts/index.tsx +++ b/packages/page-contracts/src/Contracts/index.tsx @@ -5,7 +5,7 @@ import { StringOrNull } from '@polkadot/react-components/types'; import React, { useCallback, useMemo, useRef, useState } from 'react'; import { ApiPromise } from '@polkadot/api'; -import { PromiseContract as ApiContract } from '@polkadot/api-contract'; +import { ContractPromise as ApiContract } from '@polkadot/api-contract'; import { Table } from '@polkadot/react-components'; import { useApi } from '@polkadot/react-hooks'; diff --git a/packages/page-contracts/src/Contracts/util.tsx b/packages/page-contracts/src/Contracts/util.tsx index 3d3fb54a1d..3a3cbe9988 100644 --- a/packages/page-contracts/src/Contracts/util.tsx +++ b/packages/page-contracts/src/Contracts/util.tsx @@ -6,7 +6,7 @@ import { StringOrNull } from '@polkadot/react-components/types'; import React from 'react'; import { ApiPromise } from '@polkadot/api'; -import { PromiseContract as Contract } from '@polkadot/api-contract'; +import { ContractPromise as Contract } from '@polkadot/api-contract'; import { getContractAbi } from '@polkadot/react-components/util'; import MessageSignature from '../shared/MessageSignature'; diff --git a/packages/page-contracts/src/Deploy.tsx b/packages/page-contracts/src/Deploy.tsx index 616dc16700..c2706ac784 100644 --- a/packages/page-contracts/src/Deploy.tsx +++ b/packages/page-contracts/src/Deploy.tsx @@ -3,14 +3,11 @@ import { SubmittableExtrinsic } from '@polkadot/api/types'; import { StringOrNull } from '@polkadot/react-components/types'; -import { AccountId } from '@polkadot/types/interfaces'; import { CodeStored } from './types'; import BN from 'bn.js'; import React, { useCallback, useEffect, useMemo, useState } from 'react'; -import { useHistory } from 'react-router-dom'; -import { SubmittableResult } from '@polkadot/api'; -import { PromiseBlueprint } from '@polkadot/api-contract'; +import { BlueprintPromise, BlueprintSubmittableResult } from '@polkadot/api-contract'; import { Dropdown, InputAddress, InputBalance, Modal, TxButton } from '@polkadot/react-components'; import { useFormField, useNonEmptyString, useNonZeroBn, useApi } from '@polkadot/react-hooks'; import keyring from '@polkadot/ui-keyring'; @@ -23,17 +20,15 @@ import useWeight from './useWeight'; import { ENDOWMENT } from './constants'; interface Props { - basePath: string; codeHash: string; constructorIndex: number; onClose: () => void; setConstructorIndex: React.Dispatch; } -function Deploy ({ basePath, codeHash, constructorIndex = 0, onClose, setConstructorIndex }: Props): React.ReactElement { +function Deploy ({ codeHash, constructorIndex = 0, onClose, setConstructorIndex }: Props): React.ReactElement { const { t } = useTranslation(); const { api } = useApi(); - const history = useHistory(); const weight = useWeight(); const [initTx, setInitTx] = useState | null>(null); const [params, setParams] = useState([]); @@ -50,13 +45,13 @@ function Deploy ({ basePath, codeHash, constructorIndex = 0, onClose, setConstru ); const [name, isNameValid, setName] = useNonEmptyString(code.json.name); - const { abi, contractAbi, errorText, isAbiError, isAbiSupplied, isAbiValid, onChangeAbi, onRemoveAbi } = useAbi([code.json.abi, code.contractAbi], codeHash, true); + const { contractAbi, errorText, isAbiError, isAbiSupplied, isAbiValid, onChangeAbi, onRemoveAbi } = useAbi([code.json.abi, code.contractAbi], codeHash, true); const blueprint = useMemo( - () => codeHash && contractAbi - ? new PromiseBlueprint(api, contractAbi, codeHash) + () => isAbiValid && codeHash && contractAbi + ? new BlueprintPromise(api, contractAbi, codeHash) : null, - [api, codeHash, contractAbi] + [api, codeHash, contractAbi, isAbiValid] ); const constructOptions = useMemo( @@ -79,7 +74,7 @@ function Deploy ({ basePath, codeHash, constructorIndex = 0, onClose, setConstru endowment && setInitTx((): SubmittableExtrinsic<'promise'> | null => { if (blueprint) { try { - return blueprint.instantiate(constructorIndex, endowment, weight.weight, ...params); + return blueprint.createContract(constructorIndex, endowment, weight.weight, ...params); } catch (error) { console.error(error); @@ -92,30 +87,21 @@ function Deploy ({ basePath, codeHash, constructorIndex = 0, onClose, setConstru }, [blueprint, constructorIndex, endowment, params, weight]); const _onSuccess = useCallback( - (result: SubmittableResult): void => { - const section = api.tx.contracts ? 'contracts' : 'contract'; - const records = result.filterRecords(section, 'Instantiated'); - - if (records.length) { - // find the last EventRecord (in the case of multiple contracts deployed - we should really be - // more clever here to find the exact contract deployed, this works for eg. Delegator) - const address = records[records.length - 1].event.data[1] as unknown as AccountId; - - keyring.saveContract(address.toString(), { + (result: BlueprintSubmittableResult<'promise'>): void => { + if (result.contract) { + keyring.saveContract(result.contract.address.toString(), { contract: { - abi, + abi: JSON.stringify(result.contract.abi.json), genesisHash: api.genesisHash.toHex() }, name, tags: [] }); - history.push(basePath); - onClose && onClose(); } }, - [abi, api, basePath, history, name, onClose] + [api, name, onClose] ); const isValid = isNameValid && isEndowmentValid && weight.isValid && isAccountIdValid; diff --git a/packages/page-contracts/src/index.tsx b/packages/page-contracts/src/index.tsx index 522110188c..4edbdd1d2d 100644 --- a/packages/page-contracts/src/index.tsx +++ b/packages/page-contracts/src/index.tsx @@ -111,7 +111,6 @@ function ContractsApp ({ basePath, className = '' }: Props): React.ReactElement< /> {codeHash && isDeployOpen && ( { onChange={onChange} placeholder={ isSupplied && !isValid - ? ( - <> - {t('invalid ABI file selected')} - {!!errorText && ( - <> - {' — '} - {t(errorText)} - - )} - - ) + ? <>{t('invalid ABI file selected')}{!!errorText && ` — ${errorText}`} : t('click to select or drag and drop a JSON ABI file') } /> diff --git a/packages/page-contracts/src/shared/Messages.tsx b/packages/page-contracts/src/shared/Messages.tsx index ebef36b7df..7a2fe79fe4 100644 --- a/packages/page-contracts/src/shared/Messages.tsx +++ b/packages/page-contracts/src/shared/Messages.tsx @@ -6,7 +6,7 @@ import { ContractInfo } from '@polkadot/types/interfaces'; import React, { useCallback, useEffect, useState } from 'react'; import styled from 'styled-components'; -import { Abi, PromiseContract } from '@polkadot/api-contract'; +import { Abi, ContractPromise } from '@polkadot/api-contract'; import { Expander, IconLink } from '@polkadot/react-components'; import { useApi, useCall } from '@polkadot/react-hooks'; import { Option } from '@polkadot/types'; @@ -16,7 +16,7 @@ import { useTranslation } from '../translate'; export interface Props { className?: string; - contract?: PromiseContract; + contract?: ContractPromise; contractAbi: Abi; isLabelled?: boolean; isRemovable?: boolean; diff --git a/packages/page-contracts/src/store.ts b/packages/page-contracts/src/store.ts index d09876d4d0..6dd5ee791b 100644 --- a/packages/page-contracts/src/store.ts +++ b/packages/page-contracts/src/store.ts @@ -69,13 +69,9 @@ class Store extends EventEmitter { private addCode (key: string, json: CodeJson): void { try { - const abi = json.abi - ? JSON.parse(json.abi) as Record - : null; - this.allCode[json.codeHash] = { - contractAbi: abi - ? new Abi(abi) + contractAbi: json.abi + ? new Abi(json.abi) : undefined, json }; diff --git a/packages/page-contracts/src/useAbi.ts b/packages/page-contracts/src/useAbi.ts index f8fdddfaa5..e809f410d9 100644 --- a/packages/page-contracts/src/useAbi.ts +++ b/packages/page-contracts/src/useAbi.ts @@ -8,7 +8,6 @@ import { Abi } from '@polkadot/api-contract'; import { u8aToString } from '@polkadot/util'; import store from './store'; -import { useTranslation } from './translate'; interface UseAbi { abi: string | null; @@ -22,7 +21,6 @@ interface UseAbi { } export default function useAbi (initialValue: [string | null | undefined, Abi | null | undefined] = [null, null], codeHash: StringOrNull = null, isRequired = false): UseAbi { - const { t } = useTranslation(); const [[abi, contractAbi, isAbiSupplied, isAbiValid], setAbi] = useState<[string | null | undefined, Abi | null | undefined, boolean, boolean]>([initialValue[0], initialValue[1], !!initialValue[1], !isRequired || !!initialValue[1]]); const [[isAbiError, errorText], setError] = useState<[boolean, string | null]>([false, null]); @@ -38,13 +36,7 @@ export default function useAbi (initialValue: [string | null | undefined, Abi | const json = u8aToString(u8a); try { - const abi = JSON.parse(json) as Record; - - if (!abi.metadataVersion) { - throw new Error(t('You are using an ABI with an outdated format. Please generate a new one.')); - } - - setAbi([json, new Abi(abi), true, true]); + setAbi([json, new Abi(json), true, true]); codeHash && store.saveCode( codeHash, @@ -57,7 +49,7 @@ export default function useAbi (initialValue: [string | null | undefined, Abi | setError([true, error]); } }, - [codeHash, t] + [codeHash] ); const onRemoveAbi = useCallback( diff --git a/packages/react-api/package.json b/packages/react-api/package.json index 9b98ec94a4..fd909ce699 100644 --- a/packages/react-api/package.json +++ b/packages/react-api/package.json @@ -31,7 +31,7 @@ "homepage": "https://github.com/polkadot-js/ui/tree/master/packages/ui-reactive#readme", "dependencies": { "@babel/runtime": "^7.11.2", - "@polkadot/api": "^2.1.2-20", + "@polkadot/api": "^2.1.2-23", "@polkadot/extension-dapp": "^0.35.0-beta.12", "rxjs-compat": "^6.6.3" } diff --git a/yarn.lock b/yarn.lock index 2a88403f27..8b42fb1a60 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2039,57 +2039,57 @@ __metadata: languageName: node linkType: hard -"@polkadot/api-contract@npm:^2.1.2-20": - version: 2.1.2-20 - resolution: "@polkadot/api-contract@npm:2.1.2-20" +"@polkadot/api-contract@npm:^2.1.2-23": + version: 2.1.2-23 + resolution: "@polkadot/api-contract@npm:2.1.2-23" dependencies: "@babel/runtime": ^7.11.2 - "@polkadot/api": 2.1.2-20 - "@polkadot/rpc-core": 2.1.2-20 - "@polkadot/types": 2.1.2-20 + "@polkadot/api": 2.1.2-23 + "@polkadot/rpc-core": 2.1.2-23 + "@polkadot/types": 2.1.2-23 "@polkadot/util": ^3.5.1 bn.js: ^5.1.3 rxjs: ^6.6.3 - checksum: 138f3f2ec27b6772d87d988b2c69fcbc303c821f2c68d1e99af52afe6eb257a0d3395b3350c450a73f7abc8657cb79fe07f54ca073bf38c13d3dae14fb8b9910 + checksum: c7580494c919dcc521c69f480d0e2994b7c07cb3b7bd2217abb13ccc643d5fd0865540bda2e7dcbe3e9f90355100ae29eac66c92b3a6d5e5ca1c406792003bd2 languageName: node linkType: hard -"@polkadot/api-derive@npm:2.1.2-20": - version: 2.1.2-20 - resolution: "@polkadot/api-derive@npm:2.1.2-20" +"@polkadot/api-derive@npm:2.1.2-23": + version: 2.1.2-23 + resolution: "@polkadot/api-derive@npm:2.1.2-23" dependencies: "@babel/runtime": ^7.11.2 - "@polkadot/api": 2.1.2-20 - "@polkadot/rpc-core": 2.1.2-20 - "@polkadot/rpc-provider": 2.1.2-20 - "@polkadot/types": 2.1.2-20 + "@polkadot/api": 2.1.2-23 + "@polkadot/rpc-core": 2.1.2-23 + "@polkadot/rpc-provider": 2.1.2-23 + "@polkadot/types": 2.1.2-23 "@polkadot/util": ^3.5.1 "@polkadot/util-crypto": ^3.5.1 bn.js: ^5.1.3 memoizee: ^0.4.14 rxjs: ^6.6.3 - checksum: c3294b0cf54e499e260faaaf23ffea74b7188df80efc80b3f7ce8630b5afe55f2dfdb209b15a5e7edcba673e1a52837bfdc4f84e7f9b85d5d5fc6ca1560818a5 + checksum: a8ab3ef976aec27ba7aac21b4ebbe95b282728da94cdaea9ea56e161cf6a1f53d5623fc1cc1e86978a869c80fbd492b727a8c32273f0a987f43699f05821e013 languageName: node linkType: hard -"@polkadot/api@npm:^2.1.2-20": - version: 2.1.2-20 - resolution: "@polkadot/api@npm:2.1.2-20" +"@polkadot/api@npm:^2.1.2-23": + version: 2.1.2-23 + resolution: "@polkadot/api@npm:2.1.2-23" dependencies: "@babel/runtime": ^7.11.2 - "@polkadot/api-derive": 2.1.2-20 + "@polkadot/api-derive": 2.1.2-23 "@polkadot/keyring": ^3.5.1 - "@polkadot/metadata": 2.1.2-20 - "@polkadot/rpc-core": 2.1.2-20 - "@polkadot/rpc-provider": 2.1.2-20 - "@polkadot/types": 2.1.2-20 - "@polkadot/types-known": 2.1.2-20 + "@polkadot/metadata": 2.1.2-23 + "@polkadot/rpc-core": 2.1.2-23 + "@polkadot/rpc-provider": 2.1.2-23 + "@polkadot/types": 2.1.2-23 + "@polkadot/types-known": 2.1.2-23 "@polkadot/util": ^3.5.1 "@polkadot/util-crypto": ^3.5.1 bn.js: ^5.1.3 eventemitter3: ^4.0.7 rxjs: ^6.6.3 - checksum: 680d0fe4d9e3613cc888cb309a44e2a589fc8bef6bb727bd3bfba8432242a485348691b2c78b83b591a5767e15d44164dc1f3b93856252e0e2053c26300617c0 + checksum: 00a752c764499df433dcff386895683a9faf31f12b789aac7456efc92d331c280723e2939b586a21dda8d2b9a5691667d7f2bef3d6fe298d960b2a26c0db2939 languageName: node linkType: hard @@ -2145,7 +2145,7 @@ __metadata: resolution: "@polkadot/app-contracts@workspace:packages/page-contracts" dependencies: "@babel/runtime": ^7.11.2 - "@polkadot/api-contract": ^2.1.2-20 + "@polkadot/api-contract": ^2.1.2-23 languageName: unknown linkType: soft @@ -2525,17 +2525,17 @@ __metadata: languageName: node linkType: hard -"@polkadot/metadata@npm:2.1.2-20": - version: 2.1.2-20 - resolution: "@polkadot/metadata@npm:2.1.2-20" +"@polkadot/metadata@npm:2.1.2-23": + version: 2.1.2-23 + resolution: "@polkadot/metadata@npm:2.1.2-23" dependencies: "@babel/runtime": ^7.11.2 - "@polkadot/types": 2.1.2-20 - "@polkadot/types-known": 2.1.2-20 + "@polkadot/types": 2.1.2-23 + "@polkadot/types-known": 2.1.2-23 "@polkadot/util": ^3.5.1 "@polkadot/util-crypto": ^3.5.1 bn.js: ^5.1.3 - checksum: f08a577035578d691f26142dd5e18ba3202849f176ec422ba2150a1cbdba939701f7e0a699cab4d9d188a165b1c3ddc9ff06f01f0c1663ab31ed44b5137fc0e5 + checksum: 874d82dd9bae258e122502efd3ebcb2a5060c2d410085fc30ca9b8b1aba6544561452ddbf6dde39b96379a7bd74e35f4d04382d8e0c1044d8bdcc9ee4c4a6fc7 languageName: node linkType: hard @@ -2544,7 +2544,7 @@ __metadata: resolution: "@polkadot/react-api@workspace:packages/react-api" dependencies: "@babel/runtime": ^7.11.2 - "@polkadot/api": ^2.1.2-20 + "@polkadot/api": ^2.1.2-23 "@polkadot/extension-dapp": ^0.35.0-beta.12 rxjs-compat: ^6.6.3 languageName: unknown @@ -2667,35 +2667,35 @@ __metadata: languageName: unknown linkType: soft -"@polkadot/rpc-core@npm:2.1.2-20": - version: 2.1.2-20 - resolution: "@polkadot/rpc-core@npm:2.1.2-20" +"@polkadot/rpc-core@npm:2.1.2-23": + version: 2.1.2-23 + resolution: "@polkadot/rpc-core@npm:2.1.2-23" dependencies: "@babel/runtime": ^7.11.2 - "@polkadot/metadata": 2.1.2-20 - "@polkadot/rpc-provider": 2.1.2-20 - "@polkadot/types": 2.1.2-20 + "@polkadot/metadata": 2.1.2-23 + "@polkadot/rpc-provider": 2.1.2-23 + "@polkadot/types": 2.1.2-23 "@polkadot/util": ^3.5.1 memoizee: ^0.4.14 rxjs: ^6.6.3 - checksum: ff6126e73801ddbd01e9d7b5687be820ac5442be5c4a9d4f0ea1d54ef67cae11c1eff7a7b61bde713f279dfbb3d02217cb58a2b6d801844a1711c261171db14a + checksum: c732fea7e17b7c14529984638d1a75f5728e3a830d67216317f58564b1eee101797137ddee4a26a0cec3b557788074b454835b982ecb2688bf36dc21f05692f5 languageName: node linkType: hard -"@polkadot/rpc-provider@npm:2.1.2-20": - version: 2.1.2-20 - resolution: "@polkadot/rpc-provider@npm:2.1.2-20" +"@polkadot/rpc-provider@npm:2.1.2-23": + version: 2.1.2-23 + resolution: "@polkadot/rpc-provider@npm:2.1.2-23" dependencies: "@babel/runtime": ^7.11.2 - "@polkadot/metadata": 2.1.2-20 - "@polkadot/types": 2.1.2-20 + "@polkadot/metadata": 2.1.2-23 + "@polkadot/types": 2.1.2-23 "@polkadot/util": ^3.5.1 "@polkadot/util-crypto": ^3.5.1 "@polkadot/x-fetch": ^0.3.2 "@polkadot/x-ws": ^0.3.2 bn.js: ^5.1.3 eventemitter3: ^4.0.7 - checksum: 70033a1b200505cf8a743a7e223aff098aee574e31790e3a912f5f6b1eb2faaa13e851729a202b73f6b56d5eac69e257ad5eaca78e6db9e2deee5544e92b8709 + checksum: 5ce02ea0e875045016fe010a33865889715ec8e6e5c0834728dc44389068d33f735f5d67dfeb8d6c8addb8b96a9c8d9a0e3b372aa0559bd1715b6ff83878bbdb languageName: node linkType: hard @@ -2708,31 +2708,31 @@ __metadata: languageName: node linkType: hard -"@polkadot/types-known@npm:2.1.2-20": - version: 2.1.2-20 - resolution: "@polkadot/types-known@npm:2.1.2-20" +"@polkadot/types-known@npm:2.1.2-23": + version: 2.1.2-23 + resolution: "@polkadot/types-known@npm:2.1.2-23" dependencies: "@babel/runtime": ^7.11.2 - "@polkadot/types": 2.1.2-20 + "@polkadot/types": 2.1.2-23 "@polkadot/util": ^3.5.1 bn.js: ^5.1.3 - checksum: 595324baab89b64a248b9b7a957bd84772ba1149ceeb62b95d9d4c4ef4c0c2be1467ebb8dd3debfb9db373d7610e50fb72b5abeed156e87319793f1e13dbac15 + checksum: bd61e8c289ec02ac19c82dbd06587897ec462a77427d78b29ae7051818464f42705c5cb10d5fd2d21d6adc499e1d0f3b1864fc6e63a6840e9effdc74156c922d languageName: node linkType: hard -"@polkadot/types@npm:^2.1.2-20": - version: 2.1.2-20 - resolution: "@polkadot/types@npm:2.1.2-20" +"@polkadot/types@npm:^2.1.2-23": + version: 2.1.2-23 + resolution: "@polkadot/types@npm:2.1.2-23" dependencies: "@babel/runtime": ^7.11.2 - "@polkadot/metadata": 2.1.2-20 + "@polkadot/metadata": 2.1.2-23 "@polkadot/util": ^3.5.1 "@polkadot/util-crypto": ^3.5.1 "@types/bn.js": ^4.11.6 bn.js: ^5.1.3 memoizee: ^0.4.14 rxjs: ^6.6.3 - checksum: 16e9885e94e5537031788b7581fa3ebb7aaa8b989ae604b9f67637ed20ea018d1c90b31b06f996d1317ecce769abc71108e4cf0e68614efd596db31524c0541a + checksum: 488d5222962f14907a4406215c34ff6f33cfd5c57e679341d3e7c66010ffc67645e55b1680ec867fe3083bb0aa9dea2f82883a1e9135f0a3a48640154ac1ee92 languageName: node linkType: hard