diff --git a/package.json b/package.json index f3b92fce4a..2fed87d2bd 100644 --- a/package.json +++ b/package.json @@ -10,10 +10,10 @@ "packages/*" ], "resolutions": { - "@polkadot/api": "^0.97.0-beta.2", - "@polkadot/api-contract": "^0.97.0-beta.2", + "@polkadot/api": "^0.97.0-beta.3", + "@polkadot/api-contract": "^0.97.0-beta.3", "@polkadot/keyring": "^1.7.0-beta.6", - "@polkadot/types": "^0.97.0-beta.2", + "@polkadot/types": "^0.97.0-beta.3", "@polkadot/util": "^1.7.0-beta.6", "@polkadot/util-crypto": "^1.7.0-beta.6", "babel-core": "^7.0.0-bridge.0", diff --git a/packages/app-contracts/package.json b/packages/app-contracts/package.json index 8efabf4005..141c314c96 100644 --- a/packages/app-contracts/package.json +++ b/packages/app-contracts/package.json @@ -11,7 +11,7 @@ "license": "Apache-2.0", "dependencies": { "@babel/runtime": "^7.7.1", - "@polkadot/api-contract": "^0.97.0-beta.2", + "@polkadot/api-contract": "^0.97.0-beta.3", "@polkadot/react-components": "^0.37.0-beta.72" } } diff --git a/packages/app-staking/src/Overview/Address.tsx b/packages/app-staking/src/Overview/Address.tsx index 1f4013be19..d76a8486f5 100644 --- a/packages/app-staking/src/Overview/Address.tsx +++ b/packages/app-staking/src/Overview/Address.tsx @@ -47,7 +47,7 @@ interface StakingState { const WITH_VALIDATOR_PREFS = { validatorPayment: true }; function Address ({ address, authorsMap, className, defaultName, filter, isElected, isFavorite, lastAuthors, myAccounts, onFavorite, points, recentlyOnline, stakingInfo, t, withNominations = true }: Props): React.ReactElement | null { - const { isSubstrateV2 } = useContext(ApiContext); + const { api, isSubstrateV2 } = useContext(ApiContext); const [extraInfo, setExtraInfo] = useState<[React.ReactNode, React.ReactNode][] | undefined>(); const [hasActivity, setHasActivity] = useState(true); const [{ balanceOpts, controllerId, hasNominators, isNominatorMe, nominators, sessionId, stashId }, setStakingState] = useState({ @@ -123,6 +123,9 @@ function Address ({ address, authorsMap, className, defaultName, filter, isElect const lastBlockNumber = authorsMap[stashId]; const isAuthor = lastAuthors && lastAuthors.includes(stashId); const _onFavorite = (): void => onFavorite(stashId); + const _onQueryStats = (): void => { + window.location.hash = `/staking/query/${stashId}`; + }; return ( } isDisabled={isSubstrateV2 && !hasActivity} + overlay={ + api.query.imOnline?.authoredBlocks && ( + + ) + } stakingInfo={stakingInfo} value={stashId} withBalance={balanceOpts} @@ -275,6 +287,13 @@ export default withMulti( .staking--label.controllerSpacer { margin-top: 0.5rem; } + + .staking--stats { + bottom: 0.75rem; + cursor: pointer; + position: absolute; + right: 0.5rem; + } `, translate, withCalls( diff --git a/packages/app-staking/src/Overview/index.tsx b/packages/app-staking/src/Overview/index.tsx index edba10ceef..a488b429b9 100644 --- a/packages/app-staking/src/Overview/index.tsx +++ b/packages/app-staking/src/Overview/index.tsx @@ -14,7 +14,7 @@ import Summary from './Summary'; interface Props extends BareProps, ComponentProps {} -export default function Overview ({ allControllers, allStashes, recentlyOnline, stakingOverview }: Props): React.ReactElement { +export default function Overview ({ allControllers, allStashes, className, recentlyOnline, stakingOverview }: Props): React.ReactElement { const { isSubstrateV2 } = useContext(ApiContext); const { byAuthor, lastBlockAuthors, lastBlockNumber } = useContext(BlockAuthorsContext); const [next, setNext] = useState([]); @@ -31,7 +31,7 @@ export default function Overview ({ allControllers, allStashes, recentlyOnline, }, [allControllers, allStashes, validators]); return ( -
+
{ const [labels, setLabels] = useState([]); - const [values, setValues] = useState([]); + const [{ avgSet, idxSet }, setValues] = useState<{ avgSet: number[]; idxSet: BN[] }>({ avgSet: [], idxSet: [] }); useEffect((): void => { setLabels( @@ -50,19 +48,29 @@ function Validator ({ blockCounts, className, currentIndex, t }: Props): React.R useEffect((): void => { if (blockCounts) { - setValues( - blockCounts.map((value, index): Value => ({ - label: labels[index], - value - })) - ); + const avgSet: number[] = []; + const idxSet: BN[] = []; + + blockCounts.reduce((total: BN, value, index): BN => { + total = total.add(value); + + avgSet.push(total.toNumber() / (index + 1)); + idxSet.push(value); + + return total; + }, new BN(0)); + + setValues({ avgSet, idxSet }); } }, [blockCounts, labels]); return (

{t('blocks per session')}

- +
); } diff --git a/packages/app-staking/src/Query/index.tsx b/packages/app-staking/src/Query/index.tsx index 10436c07eb..f5c5a33f1c 100644 --- a/packages/app-staking/src/Query/index.tsx +++ b/packages/app-staking/src/Query/index.tsx @@ -2,15 +2,17 @@ // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. -import { BareProps } from '@polkadot/react-components/types'; +import { I18nProps } from '@polkadot/react-components/types'; import { ComponentProps } from '../types'; -import React from 'react'; +import React, { useState } from 'react'; import { withRouter, RouteComponentProps } from 'react-router-dom'; +import { Button, InputAddressSimple } from '@polkadot/react-components'; +import translate from '../translate'; import Validator from './Validator'; -interface Props extends BareProps, ComponentProps, RouteComponentProps<{}> { +interface Props extends I18nProps, ComponentProps, RouteComponentProps<{}> { match: { isExact: boolean; params: { @@ -21,17 +23,62 @@ interface Props extends BareProps, ComponentProps, RouteComponentProps<{}> { }; } -function Query ({ stakingOverview, match: { params: { value } } }: Props): React.ReactElement { - if (!stakingOverview) { - return
loading
; - } +// const _onQuery = (): void => { +// if (isValid && value.length !== 0) { +// window.location.hash = `/explorer/query/${value}`; +// } +// }; + +// return ( +// +// +//
); } -export default withRouter(Query); +export default translate(withRouter(Query)); diff --git a/packages/app-staking/src/index.tsx b/packages/app-staking/src/index.tsx index 3276835a16..7c1b321aa4 100644 --- a/packages/app-staking/src/index.tsx +++ b/packages/app-staking/src/index.tsx @@ -9,13 +9,14 @@ import { AccountId, BlockNumber } from '@polkadot/types/interfaces'; import { SubjectInfo } from '@polkadot/ui-keyring/observable/types'; import { ComponentProps } from './types'; -import React from 'react'; +import React, { useContext } from 'react'; import { Route, Switch } from 'react-router'; +import { useRouteMatch } from 'react-router-dom'; import styled from 'styled-components'; import { Option } from '@polkadot/types'; import { HelpOverlay } from '@polkadot/react-components'; import Tabs from '@polkadot/react-components/Tabs'; -import { withCalls, withMulti, withObservable } from '@polkadot/react-api'; +import { ApiContext, withCalls, withMulti, withObservable } from '@polkadot/react-api'; import accountObservable from '@polkadot/ui-keyring/observable/accounts'; import Accounts from './Actions/Accounts'; @@ -36,7 +37,9 @@ const EMPY_ACCOUNTS: string[] = []; const EMPTY_ALL: [string[], string[]] = [EMPY_ACCOUNTS, EMPY_ACCOUNTS]; function App ({ allAccounts, allStashesAndControllers: [allStashes, allControllers] = EMPTY_ALL, basePath, className, recentlyOnline, stakingOverview, t }: Props): React.ReactElement { - const _renderComponent = (Component: React.ComponentType): () => React.ReactNode => { + const { api } = useContext(ApiContext); + const routeMatch = useRouteMatch({ path: basePath, strict: true }); + const _renderComponent = (Component: React.ComponentType, className?: string): () => React.ReactNode => { // eslint-disable-next-line react/display-name return (): React.ReactNode => { if (!allAccounts) { @@ -48,6 +51,7 @@ function App ({ allAccounts, allStashesAndControllers: [allStashes, allControlle allAccounts={allAccounts} allControllers={allControllers} allStashes={allStashes} + className={className} recentlyOnline={recentlyOnline} stakingOverview={stakingOverview} /> @@ -63,8 +67,10 @@ function App ({ allAccounts, allStashesAndControllers: [allStashes, allControlle basePath={basePath} hidden={ !allAccounts || Object.keys(allAccounts).length === 0 - ? ['actions'] - : [] + ? ['actions', 'query'] + : api.query.imOnline?.authoredBlocks + ? [] + : ['query'] } items={[ { @@ -75,6 +81,11 @@ function App ({ allAccounts, allStashesAndControllers: [allStashes, allControlle { name: 'actions', text: t('Account actions') + }, + { + hasParams: true, + name: 'query', + text: t('Validator stats') } ]} /> @@ -82,8 +93,9 @@ function App ({ allAccounts, allStashesAndControllers: [allStashes, allControlle - + + {_renderComponent(Overview, routeMatch?.isExact ? '' : 'staking--hidden')()} ); } @@ -93,6 +105,14 @@ export default withMulti( .rx--updated { background: transparent !important; } + + .staking--hidden { + display: none; + } + + .staking--queryInput { + margin-bottom: 1.5rem; + } `, translate, withCalls( diff --git a/packages/app-staking/src/types.ts b/packages/app-staking/src/types.ts index 2cf6cf7af7..f7cee5ae38 100644 --- a/packages/app-staking/src/types.ts +++ b/packages/app-staking/src/types.ts @@ -11,6 +11,7 @@ export interface ComponentProps { allAccounts?: SubjectInfo; allControllers: string[]; allStashes: string[]; + className?: string; recentlyOnline?: DerivedHeartbeats; stakingOverview?: DerivedStakingOverview; } diff --git a/packages/app-storage/src/Query.tsx b/packages/app-storage/src/Query.tsx index b36ab03f55..3a3ab53078 100644 --- a/packages/app-storage/src/Query.tsx +++ b/packages/app-storage/src/Query.tsx @@ -86,7 +86,7 @@ function getCachedComponent (query: QueryTypes): CacheInstance { if (isConst) { const { meta, method, section } = key as unknown as ConstValue; - renderHelper = withCallDiv(`consts.${section}.${method}`); + renderHelper = withCallDiv(`consts.${section}.${method}`, { withIndicator: true }); type = meta.type.toString(); } else { const values: any[] = params.map(({ value }): any => value); diff --git a/packages/app-storage/src/Selection/Consts.tsx b/packages/app-storage/src/Selection/Consts.tsx index 61480be0b2..3195e5421e 100644 --- a/packages/app-storage/src/Selection/Consts.tsx +++ b/packages/app-storage/src/Selection/Consts.tsx @@ -2,7 +2,7 @@ // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. -import { ConstantCodec } from '@polkadot/api-metadata/consts/types'; +import { ConstantCodec } from '@polkadot/metadata/Decorated/types'; import { I18nProps } from '@polkadot/react-components/types'; import { ConstValue } from '@polkadot/react-components/InputConsts/types'; import { ComponentProps } from '../types'; diff --git a/packages/react-api/package.json b/packages/react-api/package.json index 27bd44d90b..6564c92cf5 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.7.1", - "@polkadot/api": "^0.97.0-beta.2", + "@polkadot/api": "^0.97.0-beta.3", "@polkadot/extension-dapp": "^0.14.0-beta.4", "edgeware-node-types": "^1.0.10", "rxjs-compat": "^6.5.3" diff --git a/packages/react-components/src/AddressRow.tsx b/packages/react-components/src/AddressRow.tsx index 6a1ac0bf8d..de671005d3 100644 --- a/packages/react-components/src/AddressRow.tsx +++ b/packages/react-components/src/AddressRow.tsx @@ -31,6 +31,7 @@ export interface Props extends I18nProps, RowProps { label?: string; accounts_info?: DeriveAccountInfo; noDefaultNameOpacity?: boolean; + overlay?: React.ReactNode; stakingInfo?: DerivedStaking; value: AccountId | AccountIndex | Address | string | null; withAddressOrName?: boolean; @@ -83,7 +84,7 @@ class AddressRow extends Row { } public render (): React.ReactNode { - const { accounts_info = {}, className, isContract, isDisabled, isInline, label, style } = this.props; + const { accounts_info = {}, className, isContract, isDisabled, isInline, label, overlay, style } = this.props; const { accountId, accountIndex } = accounts_info; const isValid = this.props.isValid || accountId || accountIndex; @@ -104,6 +105,7 @@ class AddressRow extends Row { {this.renderButtons()}
{this.renderChildren()} + {overlay} ); } diff --git a/packages/react-components/src/Chart/Line.tsx b/packages/react-components/src/Chart/Line.tsx index 88872c5b2d..09b5e33872 100644 --- a/packages/react-components/src/Chart/Line.tsx +++ b/packages/react-components/src/Chart/Line.tsx @@ -8,16 +8,12 @@ import BN from 'bn.js'; import React, { useEffect, useState } from 'react'; import ChartJs from 'chart.js'; import { Line } from 'react-chartjs-2'; -import { bnToBn } from '@polkadot/util'; - -interface Value { - label: string; - value: number | BN; -} interface Props extends BareProps { aspectRatio?: number; - values: Value[]; + labels: string[]; + legends: string[]; + values: (number | BN)[][]; } interface State { @@ -26,37 +22,43 @@ interface State { jsonValues?: string; } +interface Dataset { + data: number[]; + fill: boolean; + label: string; + backgroundColor: string; + borderColor: string; + hoverBackgroundColor: string; +} + interface Config { labels: string[]; - datasets: { - data: number[]; - fill: boolean; - backgroundColor: string; - borderColor: string; - hoverBackgroundColor: string; - }[]; + datasets: Dataset[]; } +const COLORS = ['#ff8c00', '#acacac']; + const alphaColor = (hexColor: string): string => ChartJs.helpers.color(hexColor).alpha(0.65).rgbString(); -function calculateOptions (aspectRatio: number, values: Value[], jsonValues: string): State { - const chartData = values.reduce((data, { label, value }): Config => { - const dataset = data.datasets[0]; +function calculateOptions (aspectRatio: number, legends: string[], labels: string[], values: (number | BN)[][], jsonValues: string): State { + const chartData = values.reduce((config, values, index): Config => { + const color = alphaColor(COLORS[index]); + const data = values.map((value): number => BN.isBN(value) ? value.toNumber() : value); - dataset.data.push(bnToBn(value).toNumber()); - data.labels.push(label); - - return data; - }, { - labels: [] as string[], - datasets: [{ - data: [] as number[], + config.datasets.push({ + data, fill: false, - backgroundColor: alphaColor('#ff8c00'), - borderColor: alphaColor('#ff8c00'), - hoverBackgroundColor: alphaColor('#ff8c00') - }] + label: legends[index], + backgroundColor: color, + borderColor: color, + hoverBackgroundColor: color + }); + + return config; + }, { + labels, + datasets: [] as Dataset[] }); return { @@ -80,16 +82,16 @@ function calculateOptions (aspectRatio: number, values: Value[], jsonValues: str }; } -export default function LineChart ({ aspectRatio = 4, className, style, values }: Props): React.ReactElement | null { +export default function LineChart ({ aspectRatio = 10, className, labels, legends, style, values }: Props): React.ReactElement | null { const [{ chartData, chartOptions, jsonValues }, setState] = useState({}); useEffect((): void => { const newJsonValues = JSON.stringify(values); if (newJsonValues !== jsonValues) { - setState(calculateOptions(aspectRatio, values, newJsonValues)); + setState(calculateOptions(aspectRatio, legends, labels, values, newJsonValues)); } - }, [values]); + }, [labels, legends, values]); if (!chartData) { return null; diff --git a/packages/react-components/src/InputAddressSimple.tsx b/packages/react-components/src/InputAddressSimple.tsx index cf945946e3..f9c6275462 100644 --- a/packages/react-components/src/InputAddressSimple.tsx +++ b/packages/react-components/src/InputAddressSimple.tsx @@ -12,13 +12,16 @@ import IdentityIcon from './IdentityIcon'; import Input from './Input'; interface Props extends BareProps { + children?: React.ReactNode; + defaultValue?: string | null; help?: React.ReactNode; label?: React.ReactNode; onChange?: (address: string | null) => void; + onEnter?: () => void; } -function InputAddressSimple ({ className, help, label, onChange }: Props): React.ReactElement { - const [address, setAddress] = useState(null); +function InputAddressSimple ({ children, className, defaultValue, help, label, onChange, onEnter }: Props): React.ReactElement { + const [address, setAddress] = useState(defaultValue || null); const _onChange = (_address: string): void => { const address = addressToAddress(_address) || null; @@ -31,11 +34,15 @@ function InputAddressSimple ({ className, help, label, onChange }: Props): React return (
+ onEnter={onEnter} + > + {children} + = 8" -"@polkadot/api-contract@^0.97.0-beta.2": - version "0.97.0-beta.2" - resolved "https://registry.yarnpkg.com/@polkadot/api-contract/-/api-contract-0.97.0-beta.2.tgz#50df47306abae1aca8634c7a1da80662ea040c81" - integrity sha512-YSPmfrmXQbgvfeIWJKjEafN7mFhOP/9RH98gAQdefcISGYmTKCTIXQGUQ2CJonO/bNuWylXbgeZ9X3ZpgcT3yw== +"@polkadot/api-contract@^0.97.0-beta.3": + version "0.97.0-beta.3" + resolved "https://registry.yarnpkg.com/@polkadot/api-contract/-/api-contract-0.97.0-beta.3.tgz#254831a7ebd98bc788b5ec78ca115e4e79315294" + integrity sha512-0t8Cx16h9ekQm83+JDZnPraOiSWBLDhoSzEx/lxZmvtbs/jwcmAh1F5mZ3MQgUYiNrsFuaSkcQbNZCWnAhDSDw== dependencies: "@babel/runtime" "^7.7.1" - "@polkadot/types" "^0.97.0-beta.2" + "@polkadot/types" "^0.97.0-beta.3" -"@polkadot/api-derive@^0.97.0-beta.2": - version "0.97.0-beta.2" - resolved "https://registry.yarnpkg.com/@polkadot/api-derive/-/api-derive-0.97.0-beta.2.tgz#8d784938bd9f84eb9a050dbea1b91787a4a8bb2f" - integrity sha512-urBDQvfH1zmtZkiPG7vQdbYX5bhJqx5qZ9GO7GiQPhdaumopM1Hgcddw2w9WzLOVB/iQqkf6y1JXJQA6GrcC5Q== +"@polkadot/api-derive@^0.97.0-beta.3": + version "0.97.0-beta.3" + resolved "https://registry.yarnpkg.com/@polkadot/api-derive/-/api-derive-0.97.0-beta.3.tgz#b6bc465e5d40f1154428dc3ee3a2dda5ff9ad4d0" + integrity sha512-s8I2V+hAufzh/KizOHz9OZ/WbBZccxaU7GCw10gUJNadPDwL46bEAwmcxSWi4CbZk3dEK7+V32zumF3ZQ2mukA== dependencies: "@babel/runtime" "^7.7.1" - "@polkadot/api" "^0.97.0-beta.2" - "@polkadot/types" "^0.97.0-beta.2" + "@polkadot/api" "^0.97.0-beta.3" + "@polkadot/types" "^0.97.0-beta.3" -"@polkadot/api-metadata@^0.97.0-beta.2": - version "0.97.0-beta.2" - resolved "https://registry.yarnpkg.com/@polkadot/api-metadata/-/api-metadata-0.97.0-beta.2.tgz#518a896d0c53042241191b98c7e61761da063956" - integrity sha512-/0PiQ1B1KiUTF8uJ3lczdNyMGctKSvE0w8Ddcy8svc7Wp7nxpU8fZx+WIK8yeyzqvfZJ2vVcYgmPdal54i8dow== +"@polkadot/api@^0.97.0-beta.3": + version "0.97.0-beta.3" + resolved "https://registry.yarnpkg.com/@polkadot/api/-/api-0.97.0-beta.3.tgz#096200d0afe8ca751135402368979605114c8bb2" + integrity sha512-sLPt+w3pqvhGzQV33cQlHPJSFXZjl4HASari4n7986SXNwfwvznAP8NlzCtm6bKCC4oC1p+kc9AgY9AH7pzgUA== dependencies: "@babel/runtime" "^7.7.1" - "@polkadot/types" "^0.97.0-beta.2" - "@polkadot/util" "^1.7.0-beta.6" - "@polkadot/util-crypto" "^1.7.0-beta.6" - -"@polkadot/api@^0.97.0-beta.2": - version "0.97.0-beta.2" - resolved "https://registry.yarnpkg.com/@polkadot/api/-/api-0.97.0-beta.2.tgz#839760529e4a6ac9244edce884e7cb4f6a6f92b6" - integrity sha512-jF+10ifwnMPBEe/1S9+hBX/kJS2ONLlQ5JOWaykYtgLT1cjbt+WGLl4DxTSaPfCDVsl+6dj03F0xrmFomIrYNg== - dependencies: - "@babel/runtime" "^7.7.1" - "@polkadot/api-derive" "^0.97.0-beta.2" - "@polkadot/api-metadata" "^0.97.0-beta.2" + "@polkadot/api-derive" "^0.97.0-beta.3" "@polkadot/keyring" "^1.7.0-beta.6" - "@polkadot/rpc-core" "^0.97.0-beta.2" - "@polkadot/rpc-provider" "^0.97.0-beta.2" - "@polkadot/types" "^0.97.0-beta.2" + "@polkadot/metadata" "^0.97.0-beta.3" + "@polkadot/rpc-core" "^0.97.0-beta.3" + "@polkadot/rpc-provider" "^0.97.0-beta.3" + "@polkadot/types" "^0.97.0-beta.3" "@polkadot/util-crypto" "^1.7.0-beta.6" "@polkadot/dev-react@^0.32.0-beta.13": @@ -2171,10 +2161,10 @@ dependencies: "@babel/runtime" "^7.7.1" -"@polkadot/jsonrpc@^0.97.0-beta.2": - version "0.97.0-beta.2" - resolved "https://registry.yarnpkg.com/@polkadot/jsonrpc/-/jsonrpc-0.97.0-beta.2.tgz#a9a1190db828a9a68a2967d2a55e3e0a30598e6f" - integrity sha512-pU4C6LW2IiDWRjB31F4zlG1YKE+Fxwine1Kl3lAhdOjcREoC2jQesBKfzjZyWMBCjM2dLeyOHpl2WMWHIYdWzw== +"@polkadot/jsonrpc@^0.97.0-beta.3": + version "0.97.0-beta.3" + resolved "https://registry.yarnpkg.com/@polkadot/jsonrpc/-/jsonrpc-0.97.0-beta.3.tgz#358dde1388a511dbfe232aa128c3e89c8928900f" + integrity sha512-laL7SwVNitXmygHWZYmDMLONDO/SnII+0hqeIcy4DGvLGwt1XWyqUiv8Vkqwo9mgAboFAS05PgN3SsVmJItpFg== dependencies: "@babel/runtime" "^7.7.1" @@ -2187,6 +2177,16 @@ "@polkadot/util" "^1.7.0-beta.6" "@polkadot/util-crypto" "^1.7.0-beta.6" +"@polkadot/metadata@^0.97.0-beta.3": + version "0.97.0-beta.3" + resolved "https://registry.yarnpkg.com/@polkadot/metadata/-/metadata-0.97.0-beta.3.tgz#66108239c342b8bce096b933596fa6ff75552597" + integrity sha512-GBHrLoE9DRVUctUhumMbp/xW441MHNkcUoiByjVvr1g0TtuZbgvTjC63uxJby98xeIIv63TCHKIoGs5xanztQg== + dependencies: + "@babel/runtime" "^7.7.1" + "@polkadot/types" "^0.97.0-beta.3" + "@polkadot/util" "^1.7.0-beta.6" + "@polkadot/util-crypto" "^1.7.0-beta.6" + "@polkadot/react-identicon@^0.47.0-beta.5": version "0.47.0-beta.5" resolved "https://registry.yarnpkg.com/@polkadot/react-identicon/-/react-identicon-0.47.0-beta.5.tgz#705436ffcaa15b1bc0ae966dfd5361abe8a82892" @@ -2212,25 +2212,25 @@ qrcode-generator "^1.4.4" react-qr-reader "^2.2.1" -"@polkadot/rpc-core@^0.97.0-beta.2": - version "0.97.0-beta.2" - resolved "https://registry.yarnpkg.com/@polkadot/rpc-core/-/rpc-core-0.97.0-beta.2.tgz#035a72d84e85e97e30996a331d50646d0b868dc8" - integrity sha512-fHUgx6Q4QJWG/b8kIsiy3vMMQn4Z+Zf2Jagr/0S7DggyDaIcvUFiolqLTQNM+qNXsOBhN2rJDlUMxNdLhCYN7Q== +"@polkadot/rpc-core@^0.97.0-beta.3": + version "0.97.0-beta.3" + resolved "https://registry.yarnpkg.com/@polkadot/rpc-core/-/rpc-core-0.97.0-beta.3.tgz#8374f63fa391882cb6748dd92b9cddfb5f6cd98a" + integrity sha512-ebNuz4AtHj5DHdBtV1lXxGM07WJIAPUBRrbHqaKN4VcLXoimNtAxcQdXfzWeN4TP1MhdjGko7Xe1ZoNXBn8jwQ== dependencies: "@babel/runtime" "^7.7.1" - "@polkadot/jsonrpc" "^0.97.0-beta.2" - "@polkadot/rpc-provider" "^0.97.0-beta.2" - "@polkadot/types" "^0.97.0-beta.2" + "@polkadot/jsonrpc" "^0.97.0-beta.3" + "@polkadot/rpc-provider" "^0.97.0-beta.3" + "@polkadot/types" "^0.97.0-beta.3" "@polkadot/util" "^1.7.0-beta.6" rxjs "^6.5.3" -"@polkadot/rpc-provider@^0.97.0-beta.2": - version "0.97.0-beta.2" - resolved "https://registry.yarnpkg.com/@polkadot/rpc-provider/-/rpc-provider-0.97.0-beta.2.tgz#7951ffc927a9e86b47b51593ff66011d82a56306" - integrity sha512-83Ai2++CTCURBkEhPzYoT6La9Q4nx488q3ekKD+yOFqSXrCIsBJrVZen3cKpSNkxsRllNGEEFY4o6eqa6JIWMw== +"@polkadot/rpc-provider@^0.97.0-beta.3": + version "0.97.0-beta.3" + resolved "https://registry.yarnpkg.com/@polkadot/rpc-provider/-/rpc-provider-0.97.0-beta.3.tgz#492ad6f98a46d8247c56b4db15ca5e957c4e9396" + integrity sha512-Z+G0O0InPUV4eJuuAkgBLG09Q5ZxAANIVH3ywr7IgCEHfg8y4+ZekXfI+hXFjvpLICPjc5RqEtwVWSpfIwEhQg== dependencies: "@babel/runtime" "^7.7.1" - "@polkadot/api-metadata" "^0.97.0-beta.2" + "@polkadot/metadata" "^0.97.0-beta.3" "@polkadot/util" "^1.7.0-beta.6" "@polkadot/util-crypto" "^1.7.0-beta.6" eventemitter3 "^4.0.0" @@ -2244,10 +2244,10 @@ dependencies: "@types/chrome" "^0.0.91" -"@polkadot/types@^0.97.0-beta.2": - version "0.97.0-beta.2" - resolved "https://registry.yarnpkg.com/@polkadot/types/-/types-0.97.0-beta.2.tgz#181a481a62da478b2848c335ea34490177397ed1" - integrity sha512-LSlmDAG778cfZ2r7uF2wy+aEDWc+17J6PHJwHElgJQAwFdmsRuDrilpCIwrCRBASI8lGXq3I88w+z3WkraYyWA== +"@polkadot/types@^0.97.0-beta.3": + version "0.97.0-beta.3" + resolved "https://registry.yarnpkg.com/@polkadot/types/-/types-0.97.0-beta.3.tgz#8cbb0626ef4192c99ea364a84969ab4878f9a14b" + integrity sha512-7AdPa+y8A5hpDg8dJd0DFN2jZ1TeVrxLhIVnHJER+UE42XqAw5IHiw4bHFvJ+HPTxa8Nj1Aeg45J7shkLS1EiA== dependencies: "@babel/runtime" "^7.7.1" "@polkadot/util" "^1.7.0-beta.6"