diff --git a/packages/app-democracy/package.json b/packages/app-democracy/package.json index 8bd6c66750..6a921b037f 100644 --- a/packages/app-democracy/package.json +++ b/packages/app-democracy/package.json @@ -11,9 +11,9 @@ "license": "ISC", "dependencies": { "@babel/runtime": "^7.0.0-beta.51", - "@polkadot/storage": "^0.28.11", + "@polkadot/storage": "^0.28.14", "@polkadot/ui-react": "^0.19.32", "@polkadot/ui-react-rx": "^0.19.32", - "@polkadot/util-keyring": "^0.28.1" + "@polkadot/util-keyring": "^0.28.2" } } diff --git a/packages/app-example/package.json b/packages/app-example/package.json index 886405d00e..01e15700d2 100644 --- a/packages/app-example/package.json +++ b/packages/app-example/package.json @@ -11,9 +11,9 @@ "license": "ISC", "dependencies": { "@babel/runtime": "^7.0.0-beta.51", - "@polkadot/storage": "^0.28.11", + "@polkadot/storage": "^0.28.14", "@polkadot/ui-react": "^0.19.32", "@polkadot/ui-react-rx": "^0.19.32", - "@polkadot/util-keyring": "^0.28.1" + "@polkadot/util-keyring": "^0.28.2" } } diff --git a/packages/app-explorer/package.json b/packages/app-explorer/package.json index b69b9d8326..1dabe6c5a0 100644 --- a/packages/app-explorer/package.json +++ b/packages/app-explorer/package.json @@ -16,8 +16,8 @@ }, "dependencies": { "@babel/runtime": "^7.0.0-beta.51", - "@polkadot/primitives": "^0.28.11", + "@polkadot/primitives": "^0.28.14", "@polkadot/ui-app": "^0.19.32", - "@polkadot/util-crypto": "^0.28.1" + "@polkadot/util-crypto": "^0.28.2" } } diff --git a/packages/app-explorer/src/BlockHeader/Extrinsics.tsx b/packages/app-explorer/src/BlockHeader/Extrinsics.tsx new file mode 100644 index 0000000000..220b57a1a8 --- /dev/null +++ b/packages/app-explorer/src/BlockHeader/Extrinsics.tsx @@ -0,0 +1,48 @@ +// Copyright 2017-2018 @polkadot/app-explorer authors & contributors +// This software may be modified and distributed under the terms +// of the ISC license. See the LICENSE file for details. + +import { I18nProps } from '@polkadot/ui-app/types'; + +import React from 'react'; + +import withMulti from '@polkadot/ui-react-rx/with/multi'; +import withObservable from '@polkadot/ui-react-rx/with/observable'; + +import translate from '../translate'; + +type Props = I18nProps & { + hash: Uint8Array, + chainGetBlock: any +}; + +class Extrinsics extends React.PureComponent { + render () { + const { chainGetBlock, t } = this.props; + + if (!chainGetBlock || !chainGetBlock.extrinsics) { + return null; + } + + return ( + + extrinsics + + {t('extrinsics.count', { + defaultValue: '{{count}} in block', + replace: { + count: chainGetBlock.extrinsics.length + } + })} + + + ); + } + +} + +export default withMulti( + Extrinsics, + translate, + withObservable('chainGetBlock', { paramProp: 'hash' }) +); diff --git a/packages/app-explorer/src/BlockHeader/index.tsx b/packages/app-explorer/src/BlockHeader/index.tsx index d9d8630345..85866d6bb5 100644 --- a/packages/app-explorer/src/BlockHeader/index.tsx +++ b/packages/app-explorer/src/BlockHeader/index.tsx @@ -4,6 +4,7 @@ import { Header } from '@polkadot/primitives/header'; import { I18nProps } from '@polkadot/ui-app/types'; +import { ApiProps } from '@polkadot/ui-react-rx/types'; import './BlockHeader.css'; @@ -12,17 +13,20 @@ import React from 'react'; import headerHash from '@polkadot/primitives/codec/header/hash'; import classes from '@polkadot/ui-app/util/classes'; import numberFormat from '@polkadot/ui-react-rx/util/numberFormat'; +import withApi from '@polkadot/ui-react-rx/with/api'; import u8aToHex from '@polkadot/util/u8a/toHex'; import translate from '../translate'; +import Extrinsics from './Extrinsics'; -type Props = I18nProps & { +type Props = ApiProps & I18nProps & { value?: Header }; class BlockHeader extends React.PureComponent { render () { const { className, value, style } = this.props; + if (!value) { return null; } @@ -63,12 +67,27 @@ class BlockHeader extends React.PureComponent { {u8aToHex(stateRoot)} + {this.renderExtrinsics(hash)} ); } + + private renderExtrinsics (hash: Uint8Array) { + const { apiMethods } = this.props; + + if (!apiMethods['chain_getBlock']) { + return null; + } + + return ( + + ); + } } -export default translate(BlockHeader); +export default withApi( + translate(BlockHeader) +); diff --git a/packages/app-extrinsics/package.json b/packages/app-extrinsics/package.json index 9b4444e0b2..e753a1c59c 100644 --- a/packages/app-extrinsics/package.json +++ b/packages/app-extrinsics/package.json @@ -16,7 +16,7 @@ }, "dependencies": { "@babel/runtime": "^7.0.0-beta.51", - "@polkadot/extrinsics": "^0.28.11", + "@polkadot/extrinsics": "^0.28.14", "@polkadot/ui-app": "^0.19.32", "@polkadot/ui-signer": "^0.19.32", "react-dropzone": "^4.2.9" diff --git a/packages/app-staking/package.json b/packages/app-staking/package.json index 4036559d10..09e871b4c4 100644 --- a/packages/app-staking/package.json +++ b/packages/app-staking/package.json @@ -12,11 +12,11 @@ "dependencies": { "@babel/runtime": "^7.0.0-beta.51", "@polkadot/app-extrinsics": "^0.19.32", - "@polkadot/storage": "^0.28.11", + "@polkadot/storage": "^0.28.14", "@polkadot/ui-app": "^0.19.32", "@polkadot/ui-keyring": "^0.19.32", "@polkadot/ui-react": "^0.19.32", "@polkadot/ui-react-rx": "^0.19.32", - "@polkadot/util-keyring": "^0.28.1" + "@polkadot/util-keyring": "^0.28.2" } } diff --git a/packages/ui-app/package.json b/packages/ui-app/package.json index 567ab1dcd6..cced925bd3 100644 --- a/packages/ui-app/package.json +++ b/packages/ui-app/package.json @@ -11,8 +11,8 @@ "license": "ISC", "dependencies": { "@babel/runtime": "^7.0.0-beta.51", - "@polkadot/extrinsics": "^0.28.11", - "@polkadot/storage": "^0.28.11", + "@polkadot/extrinsics": "^0.28.14", + "@polkadot/storage": "^0.28.14", "@polkadot/ui-keyring": "^0.19.32", "@polkadot/ui-react": "^0.19.32", "@polkadot/ui-react-rx": "^0.19.32", diff --git a/packages/ui-app/src/util/shouldDisplaySection.ts b/packages/ui-app/src/util/shouldDisplaySection.ts index 3dfc65e718..e46e4f10c4 100644 --- a/packages/ui-app/src/util/shouldDisplaySection.ts +++ b/packages/ui-app/src/util/shouldDisplaySection.ts @@ -8,7 +8,7 @@ import { SectionVisibilityAll } from '../util/types'; import isUndefined from '@polkadot/util/is/undefined'; import isNull from '@polkadot/util/is/null'; -function anyMethodToDisplay (methods: SectionItems) { +function anyMethodToDisplay (methods: SectionItems) { if (isUndefined(methods) || isNull(methods)) { return false; } @@ -23,7 +23,7 @@ function anyMethodToDisplay (methods: SectionItems) { .length !== 0; } -export function shouldDisplaySection (section: Section, type: SectionVisibilityAll) { +export function shouldDisplaySection (section: Section, type: SectionVisibilityAll) { if (isUndefined(section)) { return false; } diff --git a/packages/ui-identicon/package.json b/packages/ui-identicon/package.json index 16ad17d448..6eea4c1bff 100644 --- a/packages/ui-identicon/package.json +++ b/packages/ui-identicon/package.json @@ -22,7 +22,7 @@ "color": "^3.0.0" }, "devDependencies": { - "@polkadot/util-crypto": "^0.28.1", + "@polkadot/util-crypto": "^0.28.2", "xmlserializer": "^0.6.1" } } diff --git a/packages/ui-keyring/package.json b/packages/ui-keyring/package.json index 9368792426..c3acf265a4 100644 --- a/packages/ui-keyring/package.json +++ b/packages/ui-keyring/package.json @@ -17,7 +17,7 @@ "dependencies": { "@babel/runtime": "^7.0.0-beta.51", "@polkadot/ui-react": "^0.19.32", - "@polkadot/util-keyring": "^0.28.1", + "@polkadot/util-keyring": "^0.28.2", "store": "^2.0.12" }, "peerDependencies": { diff --git a/packages/ui-react-rx/package.json b/packages/ui-react-rx/package.json index d1574a5a3d..e8bbf27732 100644 --- a/packages/ui-react-rx/package.json +++ b/packages/ui-react-rx/package.json @@ -36,9 +36,9 @@ }, "dependencies": { "@babel/runtime": "^7.0.0-beta.51", - "@polkadot/api-rx": "^0.28.11", - "@polkadot/extrinsics": "^0.28.11", - "@polkadot/storage": "^0.28.11", + "@polkadot/api-rx": "^0.28.14", + "@polkadot/extrinsics": "^0.28.14", + "@polkadot/storage": "^0.28.14", "rxjs-compat": "^6.2.2" }, "devDependencies": { diff --git a/packages/ui-react-rx/src/Api/index.tsx b/packages/ui-react-rx/src/Api/index.tsx index 5d87ba7c39..7296e8aed3 100644 --- a/packages/ui-react-rx/src/Api/index.tsx +++ b/packages/ui-react-rx/src/Api/index.tsx @@ -5,6 +5,7 @@ import { ProviderInterface } from '@polkadot/api-provider/types'; import { RxApiInterface } from '@polkadot/api-rx/types'; import { EncodingVersions } from '@polkadot/params/types'; +import { Header } from '@polkadot/primitives/header'; import { ApiProps } from '../types'; import React from 'react'; @@ -16,6 +17,7 @@ import defaults from '@polkadot/api-rx/defaults'; import ApiObservable from '../ApiObservable'; import ApiContext from './Context'; +import isUndefined from '@polkadot/util/is/undefined'; type Props = { api?: RxApiInterface, @@ -59,6 +61,7 @@ export default class Api extends React.PureComponent { this.state = { api, apiConnected: false, + apiMethods: {}, apiObservable: new ApiObservable(api), apiSupport: 'poc-1', setApi, @@ -76,22 +79,19 @@ export default class Api extends React.PureComponent { this.unsubscribe(); } - updateSubscriptions () { + private updateSubscriptions () { const { api } = this.state; this.unsubscribe(); this.setState({ subscriptions: [ - () => api.isConnected().subscribe((isConnected?: boolean) => { - this.setState({ apiConnected: !!isConnected }); - }), - () => api.system.chain().subscribe((chain?: string) => { - this.setState({ apiSupport: apiSupport(chain) }); - }) + this.subscribeIsConnected, + this.subscribeChain, + this.subscribeMethodCheck ].map((fn: Function) => { try { - return fn(); + return fn(api); } catch (error) { console.error(error); return null; @@ -100,7 +100,49 @@ export default class Api extends React.PureComponent { }); } - unsubscribe (): void { + private subscribeIsConnected = (api: RxApiInterface): void => { + api + .isConnected() + .subscribe((isConnected?: boolean) => { + this.setState({ apiConnected: !!isConnected }); + }); + } + + private subscribeChain = (api: RxApiInterface): void => { + api.system + .chain() + .subscribe((chain?: string) => { + this.setState({ apiSupport: apiSupport(chain) }); + }); + } + + private subscribeMethodCheck = (api: RxApiInterface): void => { + api.chain + .newHead() + .subscribe(async (header?: Header) => { + if (!header || !isUndefined(this.state.apiMethods['chain_getBlock'])) { + return; + } + + let isSupported = false; + + try { + await api.chain.getBlock(header.parentHash).toPromise(); + isSupported = true; + } catch (error) { + // console.error('chain_getBlock not supported, ignoring'); + } + + this.setState(({ apiMethods }: State) => ({ + apiMethods: { + ...apiMethods, + 'chain_getBlock': isSupported + } + })); + }); + } + + private unsubscribe (): void { const { subscriptions } = this.state; subscriptions.forEach((subscription) => { @@ -115,12 +157,13 @@ export default class Api extends React.PureComponent { } render () { - const { api, apiConnected, apiObservable, apiSupport, setApi, setApiProvider, setApiWsUrl } = this.state; + const { api, apiConnected, apiMethods, apiObservable, apiSupport, setApi, setApiProvider, setApiWsUrl } = this.state; return ( (...keys: Array): Observable => { return this.api.state - .subscribeStorage(keys) + .storage(keys) .pipe( map((result?: any) => isUndefined(result) @@ -88,8 +88,12 @@ export default class ObservableApi implements ObservableApiInterface { ); } + chainGetBlock = (hash: Uint8Array): Observable => { + return this.api.chain.getBlock(hash); + } + chainNewHead = (): Observable
=> { - return this.api.chain.subscribeNewHead().pipe( + return this.api.chain.newHead().pipe( defaultIfEmpty() ); } diff --git a/packages/ui-react-rx/src/ApiObservable/types.d.ts b/packages/ui-react-rx/src/ApiObservable/types.d.ts index 09b6e24e12..abb00c14bd 100644 --- a/packages/ui-react-rx/src/ApiObservable/types.d.ts +++ b/packages/ui-react-rx/src/ApiObservable/types.d.ts @@ -54,6 +54,7 @@ export interface ObservableApiInterface { rawStorage: (key: SectionItem, ...params: Array) => Observable, rawStorageMulti: (...keys: Array<[SectionItem, any]>) => Observable, bestNumber: () => Observable, + chainGetBlock: (hash: Uint8Array) => Observable, chainNewHead: () => Observable
, democracyLaunchPeriod: () => Observable, democracyNextTally: () => Observable, diff --git a/packages/ui-react-rx/src/types.d.ts b/packages/ui-react-rx/src/types.d.ts index 6838c360b7..12430ea869 100644 --- a/packages/ui-react-rx/src/types.d.ts +++ b/packages/ui-react-rx/src/types.d.ts @@ -20,6 +20,9 @@ export type BareProps = { export type ApiProps = { api: RxApiInterface, apiConnected: boolean, + apiMethods: { + [index: string]: boolean + }, apiObservable: ObservableApiInterface, apiSupport: EncodingVersions, setApi: (api: RxApiInterface) => void, diff --git a/packages/ui-react/package.json b/packages/ui-react/package.json index 7826102782..29db2bf2f8 100644 --- a/packages/ui-react/package.json +++ b/packages/ui-react/package.json @@ -20,7 +20,7 @@ "polkadot-identicon": "^1.0.2" }, "devDependencies": { - "@polkadot/util-keyring": "^0.28.1", + "@polkadot/util-keyring": "^0.28.2", "babel-loader": "^8.0.0-beta.2", "css-loader": "0.28.9", "empty": "^0.10.1", diff --git a/packages/ui-signer/package.json b/packages/ui-signer/package.json index 3e7b8f3067..5eae71f3bd 100644 --- a/packages/ui-signer/package.json +++ b/packages/ui-signer/package.json @@ -16,7 +16,7 @@ }, "dependencies": { "@babel/runtime": "^7.0.0-beta.51", - "@polkadot/extrinsics": "^0.28.11", + "@polkadot/extrinsics": "^0.28.14", "@polkadot/ui-app": "^0.19.32", "@polkadot/ui-keyring": "^0.19.32" }, diff --git a/packages/ui-signer/src/Modal.tsx b/packages/ui-signer/src/Modal.tsx index 2ce38fac14..e0a73cea4e 100644 --- a/packages/ui-signer/src/Modal.tsx +++ b/packages/ui-signer/src/Modal.tsx @@ -6,7 +6,6 @@ import { ApiProps } from '@polkadot/ui-react-rx/types'; import { I18nProps, BareProps } from '@polkadot/ui-app/types'; import { QueueTx, QueueTx$MessageSetStatus } from './types'; -import BN from 'bn.js'; import React from 'react'; import Button from '@polkadot/ui-app/Button'; import Modal from '@polkadot/ui-app/Modal'; @@ -45,7 +44,6 @@ class Signer extends React.PureComponent { super(props); this.state = { - // apiSupport: 'poc-1', password: '', unlockError: null }; diff --git a/yarn.lock b/yarn.lock index 01bea88ac7..44b2fe330b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -765,50 +765,50 @@ version "1.1.0" resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.0.tgz#50c1e2260ac0ed9439a181de3725a0168d59c48a" -"@polkadot/api-format@^0.28.11": - version "0.28.11" - resolved "https://registry.yarnpkg.com/@polkadot/api-format/-/api-format-0.28.11.tgz#7497f36d764016cd715795b6a62de62424d78c5b" +"@polkadot/api-format@^0.28.14": + version "0.28.14" + resolved "https://registry.yarnpkg.com/@polkadot/api-format/-/api-format-0.28.14.tgz#10a670bee5e6e41568289aa69cddb51ecf1505dd" dependencies: "@babel/runtime" "^7.0.0-beta.51" - "@polkadot/jsonrpc" "^0.28.11" - "@polkadot/primitives" "^0.28.11" - "@polkadot/util" "^0.28.1" - "@polkadot/util-keyring" "^0.28.1" + "@polkadot/jsonrpc" "^0.28.14" + "@polkadot/primitives" "^0.28.14" + "@polkadot/util" "^0.28.2" + "@polkadot/util-keyring" "^0.28.2" -"@polkadot/api-provider@^0.28.11": - version "0.28.11" - resolved "https://registry.yarnpkg.com/@polkadot/api-provider/-/api-provider-0.28.11.tgz#3d2ccbb039d84130e828e8a9883d4e5cdee10d99" +"@polkadot/api-provider@^0.28.14": + version "0.28.14" + resolved "https://registry.yarnpkg.com/@polkadot/api-provider/-/api-provider-0.28.14.tgz#d629be0bfbd53b792d3f2c80cfb510842946b79e" dependencies: "@babel/runtime" "^7.0.0-beta.51" - "@polkadot/storage" "^0.28.11" - "@polkadot/util" "^0.28.1" - "@polkadot/util-crypto" "^0.28.1" - "@polkadot/util-keyring" "^0.28.1" + "@polkadot/storage" "^0.28.14" + "@polkadot/util" "^0.28.2" + "@polkadot/util-crypto" "^0.28.2" + "@polkadot/util-keyring" "^0.28.2" "@types/nock" "^9.1.3" eventemitter3 "^2.0.3" isomorphic-fetch "^2.2.1" websocket "^1.0.25" -"@polkadot/api-rx@^0.28.11": - version "0.28.11" - resolved "https://registry.yarnpkg.com/@polkadot/api-rx/-/api-rx-0.28.11.tgz#5f0a057ea7b160b3242f12f153bff581278c9271" +"@polkadot/api-rx@^0.28.14": + version "0.28.14" + resolved "https://registry.yarnpkg.com/@polkadot/api-rx/-/api-rx-0.28.14.tgz#e399dbeabdbe200adf1cc80b5e2ea5890a464248" dependencies: "@babel/runtime" "^7.0.0-beta.51" - "@polkadot/api" "^0.28.11" - "@polkadot/api-provider" "^0.28.11" + "@polkadot/api" "^0.28.14" + "@polkadot/api-provider" "^0.28.14" "@types/rx" "^4.1.1" rxjs "^6.2.2" -"@polkadot/api@^0.28.11": - version "0.28.11" - resolved "https://registry.yarnpkg.com/@polkadot/api/-/api-0.28.11.tgz#46b2a7b395dabdc9cb47a769aec3c419a7c2e405" +"@polkadot/api@^0.28.14": + version "0.28.14" + resolved "https://registry.yarnpkg.com/@polkadot/api/-/api-0.28.14.tgz#10bd94158a6150c870a7ff31d329e36bbb3c58de" dependencies: "@babel/runtime" "^7.0.0-beta.51" - "@polkadot/api-format" "^0.28.11" - "@polkadot/api-provider" "^0.28.11" - "@polkadot/jsonrpc" "^0.28.11" - "@polkadot/params" "^0.28.11" - "@polkadot/util" "^0.28.1" + "@polkadot/api-format" "^0.28.14" + "@polkadot/api-provider" "^0.28.14" + "@polkadot/jsonrpc" "^0.28.14" + "@polkadot/params" "^0.28.14" + "@polkadot/util" "^0.28.2" "@polkadot/dev-react@^0.20.12": version "0.20.12" @@ -877,96 +877,96 @@ typedoc "^0.11.1" typescript "^2.9.2" -"@polkadot/extrinsics@^0.28.11": - version "0.28.11" - resolved "https://registry.yarnpkg.com/@polkadot/extrinsics/-/extrinsics-0.28.11.tgz#834c04b58dbdeee9750bdca7a2cc125c2411bb2e" +"@polkadot/extrinsics@^0.28.14": + version "0.28.14" + resolved "https://registry.yarnpkg.com/@polkadot/extrinsics/-/extrinsics-0.28.14.tgz#dd6dd776c4ed93437963c87df5b54c7f8f60328d" dependencies: "@babel/runtime" "^7.0.0-beta.51" - "@polkadot/params" "^0.28.11" - "@polkadot/primitives" "^0.28.11" - "@polkadot/util" "^0.28.1" + "@polkadot/params" "^0.28.14" + "@polkadot/primitives" "^0.28.14" + "@polkadot/util" "^0.28.2" -"@polkadot/jsonrpc@^0.28.11": - version "0.28.11" - resolved "https://registry.yarnpkg.com/@polkadot/jsonrpc/-/jsonrpc-0.28.11.tgz#0687b93077be6ed3dc16f1d8937918ed9647b5e8" +"@polkadot/jsonrpc@^0.28.14": + version "0.28.14" + resolved "https://registry.yarnpkg.com/@polkadot/jsonrpc/-/jsonrpc-0.28.14.tgz#89555f781c1aa3bc964c503cd2d58c5def3af3fe" dependencies: - "@polkadot/params" "^0.28.11" + "@polkadot/params" "^0.28.14" babel-runtime "^6.26.0" -"@polkadot/params@^0.28.11": - version "0.28.11" - resolved "https://registry.yarnpkg.com/@polkadot/params/-/params-0.28.11.tgz#9dea2efa3c6b4725547fd6dd8b3c2312d1d226d7" +"@polkadot/params@^0.28.14": + version "0.28.14" + resolved "https://registry.yarnpkg.com/@polkadot/params/-/params-0.28.14.tgz#ad2bd45c53aa78190e595b6cbd1bdf18ecc996ef" dependencies: "@babel/runtime" "^7.0.0-beta.51" - "@polkadot/extrinsics" "^0.28.11" - "@polkadot/params" "^0.28.11" - "@polkadot/primitives" "^0.28.11" - "@polkadot/util" "^0.28.1" - "@polkadot/util-keyring" "^0.28.1" + "@polkadot/extrinsics" "^0.28.14" + "@polkadot/params" "^0.28.14" + "@polkadot/primitives" "^0.28.14" + "@polkadot/util" "^0.28.2" + "@polkadot/util-keyring" "^0.28.2" -"@polkadot/primitives@^0.28.11": - version "0.28.11" - resolved "https://registry.yarnpkg.com/@polkadot/primitives/-/primitives-0.28.11.tgz#4c32f181a779f002d9def60cecf46237034ef270" +"@polkadot/primitives@^0.28.14": + version "0.28.14" + resolved "https://registry.yarnpkg.com/@polkadot/primitives/-/primitives-0.28.14.tgz#cb6595d938eb4f91e351ca4fc07e5220a0739ad5" dependencies: "@babel/runtime" "^7.0.0-beta.51" - "@polkadot/trie-hash" "^0.28.1" - "@polkadot/util" "^0.28.1" + "@polkadot/trie-hash" "^0.28.2" + "@polkadot/util" "^0.28.2" -"@polkadot/storage@^0.28.11": - version "0.28.11" - resolved "https://registry.yarnpkg.com/@polkadot/storage/-/storage-0.28.11.tgz#c388142dcc409fb151512f2c34b6d191656c9bd3" +"@polkadot/storage@^0.28.14": + version "0.28.14" + resolved "https://registry.yarnpkg.com/@polkadot/storage/-/storage-0.28.14.tgz#f8b16e8a4c15615d8a3a7ea88cc10a739a7a1230" dependencies: "@babel/runtime" "^7.0.0-beta.51" - "@polkadot/params" "^0.28.11" - "@polkadot/primitives" "^0.28.11" - "@polkadot/util" "^0.28.1" - "@polkadot/util-crypto" "^0.28.1" - "@polkadot/util-keyring" "^0.28.1" + "@polkadot/params" "^0.28.14" + "@polkadot/primitives" "^0.28.14" + "@polkadot/util" "^0.28.2" + "@polkadot/util-crypto" "^0.28.2" + "@polkadot/util-keyring" "^0.28.2" -"@polkadot/trie-hash@^0.28.1": - version "0.28.1" - resolved "https://registry.yarnpkg.com/@polkadot/trie-hash/-/trie-hash-0.28.1.tgz#8e220bd2280813818d6d90e4d7d826edfb0d407d" +"@polkadot/trie-hash@^0.28.2": + version "0.28.2" + resolved "https://registry.yarnpkg.com/@polkadot/trie-hash/-/trie-hash-0.28.2.tgz#89eb0bca267a5a576bf1629a1d9b173f4ab02c50" dependencies: "@babel/runtime" "^7.0.0-beta.51" - "@polkadot/util" "^0.28.1" - "@polkadot/util-crypto" "^0.28.1" - "@polkadot/util-rlp" "^0.28.1" + "@polkadot/util" "^0.28.2" + "@polkadot/util-crypto" "^0.28.2" + "@polkadot/util-rlp" "^0.28.2" "@polkadot/ts@^0.1.10": version "0.1.10" resolved "https://registry.yarnpkg.com/@polkadot/ts/-/ts-0.1.10.tgz#784d460cf4b2e9b38bb1c77f9366dd01425f220d" -"@polkadot/util-crypto@^0.28.1": - version "0.28.1" - resolved "https://registry.yarnpkg.com/@polkadot/util-crypto/-/util-crypto-0.28.1.tgz#07bef16d5b68889f96ff9b9c034b92e22bd6f63d" +"@polkadot/util-crypto@^0.28.2": + version "0.28.2" + resolved "https://registry.yarnpkg.com/@polkadot/util-crypto/-/util-crypto-0.28.2.tgz#17bf06af6e3e57c9c6541ee4a166011dfda18434" dependencies: "@babel/runtime" "^7.0.0-beta.51" - "@polkadot/util" "^0.28.1" + "@polkadot/util" "^0.28.2" blakejs "^1.1.0" js-sha3 "^0.7.0" tweetnacl "^1.0.0" xxhashjs "^0.2.2" -"@polkadot/util-keyring@^0.28.1": - version "0.28.1" - resolved "https://registry.yarnpkg.com/@polkadot/util-keyring/-/util-keyring-0.28.1.tgz#68fac78bc7154226d7e6d06acfcfaebc6232814c" +"@polkadot/util-keyring@^0.28.2": + version "0.28.2" + resolved "https://registry.yarnpkg.com/@polkadot/util-keyring/-/util-keyring-0.28.2.tgz#a391e785a0710518be349f0ca2d688c89879a69d" dependencies: "@babel/runtime" "^7.0.0-beta.51" - "@polkadot/util" "^0.28.1" - "@polkadot/util-crypto" "^0.28.1" + "@polkadot/util" "^0.28.2" + "@polkadot/util-crypto" "^0.28.2" "@types/bs58" "^3.0.30" bs58 "^4.0.1" -"@polkadot/util-rlp@^0.28.1": - version "0.28.1" - resolved "https://registry.yarnpkg.com/@polkadot/util-rlp/-/util-rlp-0.28.1.tgz#101cecbb30223fc3b66bd3448371eb5404d46ac6" +"@polkadot/util-rlp@^0.28.2": + version "0.28.2" + resolved "https://registry.yarnpkg.com/@polkadot/util-rlp/-/util-rlp-0.28.2.tgz#21c326cdca437b1b31a44bbbf26bf9adcac4fb7f" dependencies: "@babel/runtime" "^7.0.0-beta.51" - "@polkadot/util" "^0.28.1" + "@polkadot/util" "^0.28.2" -"@polkadot/util@^0.28.1": - version "0.28.1" - resolved "https://registry.yarnpkg.com/@polkadot/util/-/util-0.28.1.tgz#7c566cc46741c422d93f535fbd27db4e6eff5f80" +"@polkadot/util@^0.28.2": + version "0.28.2" + resolved "https://registry.yarnpkg.com/@polkadot/util/-/util-0.28.2.tgz#59fb5a0f3f34d73520a5e0ac54f55ccfde94a8b5" dependencies: "@babel/runtime" "^7.0.0-beta.51" "@types/bn.js" "^4.11.1"