diff --git a/packages/app-explorer/package.json b/packages/app-explorer/package.json index f21a878a0a..b37db181e9 100644 --- a/packages/app-explorer/package.json +++ b/packages/app-explorer/package.json @@ -12,8 +12,8 @@ }, "dependencies": { "@babel/runtime": "^7.0.0-beta.47", - "@polkadot/primitives-codec": "^0.16.12", - "@polkadot/primitives-json": "^0.16.12", + "@polkadot/primitives-codec": "^0.16.15", + "@polkadot/primitives-json": "^0.16.15", "@polkadot/ui-app": "^0.6.10", "@polkadot/util-crypto": "^0.22.2" } diff --git a/packages/app-explorer/src/index.css b/packages/app-explorer/src/index.css index e0156a8cb1..a9730c9535 100644 --- a/packages/app-explorer/src/index.css +++ b/packages/app-explorer/src/index.css @@ -10,6 +10,18 @@ background: transparent !important; } +.explorer--NodeInfo { + font-size: 0.75rem; + opacity: 0.5; + margin-bottom: 0.5rem; + text-align: left; +} + +.explorer--NodeInfo div { + display: inline-block; + margin-right: 0.5rem; +} + .explorer--BestHash, .explorer--BestNumber { font-weight: 100; diff --git a/packages/app-explorer/src/index.js b/packages/app-explorer/src/index.js index 28961a456c..b3423c18f9 100644 --- a/packages/app-explorer/src/index.js +++ b/packages/app-explorer/src/index.js @@ -10,7 +10,10 @@ import './index.css'; import React from 'react'; import classes from '@polkadot/ui-app/util/classes'; +import Chain from '@polkadot/ui-react-rx/Chain'; import BestNumber from '@polkadot/ui-react-rx/BestNumber'; +import NodeName from '@polkadot/ui-react-rx/NodeName'; +import NodeVersion from '@polkadot/ui-react-rx/NodeVersion'; import BestHash from './BestHash'; import BlockHeaders from './BlockHeaders'; @@ -24,6 +27,16 @@ function ExplorerApp ({ className, style, t }: Props): React$Node { className={classes('explorer--App', className)} style={style} > +
+ + + +
+ values: Array, + apiSupport: EncodingVersions }; -export default class Extrinsic extends React.PureComponent { +class Extrinsic extends React.PureComponent { state: State; constructor (props: Props) { @@ -40,10 +44,22 @@ export default class Extrinsic extends React.PureComponent { this.state = { extrinsic: props.defaultValue, - values: [] + values: [], + apiSupport: 'poc-1' }; } + componentDidMount () { + // FIXME should be shared component, no unmount here + this.props.api.system.version().subscribe((nodeVersion?: string) => { + this.setState({ + apiSupport: nodeVersion === undefined || nodeVersion === '0.1.0' + ? 'poc-1' + : 'latest' + }); + }); + } + render (): React$Node { const { className, defaultValue, isError, isPrivate, labelMethod, labelSection, style } = this.props; const { extrinsic } = this.state; @@ -73,7 +89,7 @@ export default class Extrinsic extends React.PureComponent { nextState (newState: $Shape): void { this.setState(newState, () => { const { onChange } = this.props; - const { extrinsic, values } = this.state; + const { apiSupport, extrinsic, values } = this.state; const params = Object.values(extrinsic.params); const isValid = values.length === params.length && params.reduce((isValid, param, index) => @@ -82,7 +98,7 @@ export default class Extrinsic extends React.PureComponent { !isUndefined(values[index].value) && values[index].isValid, true); const value = isValid && extrinsic.params - ? encode(extrinsic, values.map((p) => p.value)) + ? encode(extrinsic, values.map((p) => p.value), apiSupport) : new Uint8Array([]); onChange({ @@ -101,3 +117,5 @@ export default class Extrinsic extends React.PureComponent { this.nextState({ values }); } } + +export default withApi(Extrinsic); diff --git a/packages/ui-app/package.json b/packages/ui-app/package.json index e41d280d3b..d2295b634c 100644 --- a/packages/ui-app/package.json +++ b/packages/ui-app/package.json @@ -12,11 +12,11 @@ }, "dependencies": { "@babel/runtime": "^7.0.0-beta.47", - "@polkadot/extrinsics-substrate": "^0.16.12", - "@polkadot/storage-substrate": "^0.16.12", + "@polkadot/extrinsics-substrate": "^0.16.15", + "@polkadot/storage-substrate": "^0.16.15", "@polkadot/ui-keyring": "^0.6.10", - "@polkadot/ui-react": "^0.13.13", - "@polkadot/ui-react-rx": "^0.13.13", + "@polkadot/ui-react": "^0.13.19", + "@polkadot/ui-react-rx": "^0.13.19", "i18next": "^11.1.1", "i18next-browser-languagedetector": "^2.2.0", "i18next-xhr-backend": "^1.5.1", diff --git a/packages/ui-keyring/package.json b/packages/ui-keyring/package.json index 19a09283d6..1797be65fb 100644 --- a/packages/ui-keyring/package.json +++ b/packages/ui-keyring/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@babel/runtime": "^7.0.0-beta.47", - "@polkadot/ui-react": "^0.13.13", + "@polkadot/ui-react": "^0.13.19", "@polkadot/util-keyring": "^0.22.2", "store": "^2.0.12" }, diff --git a/packages/ui-signer/package.json b/packages/ui-signer/package.json index a3e01142bc..b00f984c30 100644 --- a/packages/ui-signer/package.json +++ b/packages/ui-signer/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@babel/runtime": "^7.0.0-beta.47", - "@polkadot/extrinsics": "^0.16.12", + "@polkadot/extrinsics": "^0.16.15", "@polkadot/ui-app": "^0.6.10", "@polkadot/ui-keyring": "^0.6.10" }, diff --git a/packages/ui-signer/src/Modal.js b/packages/ui-signer/src/Modal.js index e4f7f2f84e..98a5e294db 100644 --- a/packages/ui-signer/src/Modal.js +++ b/packages/ui-signer/src/Modal.js @@ -3,6 +3,7 @@ // of the ISC license. See the LICENSE file for details. // @flow +import type { EncodingVersions } from '@polkadot/extrinsics-codec/types'; import type { ApiProps } from '@polkadot/ui-react-rx/types'; import type { I18nProps } from '@polkadot/ui-app/types'; import type { QueueTx, QueueTx$MessageSetStatus } from './types'; @@ -32,6 +33,7 @@ type UnlockI18n = { } type State = { + apiSupport: EncodingVersions, currentItem?: QueueTx, password: string, unlockError: UnlockI18n | null @@ -44,12 +46,13 @@ class Signer extends React.PureComponent { super(props); this.state = { + apiSupport: 'poc-1', password: '', unlockError: null }; } - static getDerivedStateFromProps ({ queue }: Props, { currentItem, password, unlockError }: State): State { + static getDerivedStateFromProps ({ queue }: Props, { apiSupport, currentItem, password, unlockError }: State): State { const nextItem = queue.find(({ status }) => status === 'queued' ); @@ -64,12 +67,24 @@ class Signer extends React.PureComponent { ); return { + apiSupport, currentItem: nextItem, password: isSame ? password : '', unlockError: isSame ? unlockError : null }; } + componentDidMount () { + // FIXME should be shared component, no unmount here + this.props.api.system.version().subscribe((nodeVersion?: string) => { + this.setState({ + apiSupport: nodeVersion === undefined || nodeVersion === '0.1.0' + ? 'poc-1' + : 'latest' + }); + }); + } + componentDidUpdate (prevProps: Props, prevState: State) { const { currentItem } = this.state; @@ -226,14 +241,19 @@ class Signer extends React.PureComponent { } const { api, queueSetStatus } = this.props; + const { apiSupport } = this.state; queueSetStatus(id, 'sending'); let data = values; if (rpc.isSigned === true && publicKey) { - // flowlint-next-line unclear-type:off - data = [signMessage(publicKey, nonce, ((data[0]: any): Uint8Array)).data]; + data = [ + signMessage( + // flowlint-next-line unclear-type:off + publicKey, nonce, ((data[0]: any): Uint8Array), apiSupport + ).data + ]; } const { error, result, status } = await submitMessage(api, data, rpc); diff --git a/packages/ui-signer/src/sign.js b/packages/ui-signer/src/sign.js index 588c935f73..6daf0b33d6 100644 --- a/packages/ui-signer/src/sign.js +++ b/packages/ui-signer/src/sign.js @@ -4,6 +4,7 @@ // @flow import type BN from 'bn.js'; +import type { EncodingVersions } from '@polkadot/extrinsics-codec/types'; import type { Signed } from './types'; import encodeCall from '@polkadot/extrinsics-codec/encode/call'; @@ -11,12 +12,14 @@ import keyring from '@polkadot/ui-keyring'; import u8aConcat from '@polkadot/util/u8a/concat'; import u8aToHex from '@polkadot/util/u8a/toHex'; -export default function signMessage (publicKey: Uint8Array, nonce: BN | number, value: Uint8Array): Signed { - const message = encodeCall(publicKey, nonce, value); +export default function signMessage (publicKey: Uint8Array, nonce: BN | number, value: Uint8Array, apiSupport: EncodingVersions): Signed { + console.log('signMessage : support ::', apiSupport); + + const message = encodeCall(publicKey, nonce, value, apiSupport); const signature = keyring.getPair(publicKey).sign(message); - console.log(` message :: ${u8aToHex(message)}`); - console.log(`signature :: ${u8aToHex(signature)}`); + console.log(`signMessage : message :: ${u8aToHex(message)}`); + console.log(`signMessage : signature :: ${u8aToHex(signature)}`); return { data: u8aConcat(message, signature), diff --git a/yarn.lock b/yarn.lock index f67b19bc64..9410a11fd6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -719,22 +719,22 @@ version "1.0.2" resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.0.2.tgz#d056b68999769728a1cff8d643bc59eb6f0be436" -"@polkadot/api-format@^0.12.12": - version "0.12.12" - resolved "https://registry.yarnpkg.com/@polkadot/api-format/-/api-format-0.12.12.tgz#46213ab7c6a1f67036bcd485f4d23e36fefe3f97" +"@polkadot/api-format@^0.12.15": + version "0.12.15" + resolved "https://registry.yarnpkg.com/@polkadot/api-format/-/api-format-0.12.15.tgz#62341ea7086bd39f60fc6fff20767f86cc34e0e7" dependencies: "@babel/runtime" "^7.0.0-beta.47" - "@polkadot/jsonrpc" "^0.16.12" - "@polkadot/primitives-json" "^0.16.12" + "@polkadot/jsonrpc" "^0.16.15" + "@polkadot/primitives-json" "^0.16.15" "@polkadot/util" "^0.22.2" "@polkadot/util-keyring" "^0.22.2" -"@polkadot/api-provider@^0.12.12": - version "0.12.12" - resolved "https://registry.yarnpkg.com/@polkadot/api-provider/-/api-provider-0.12.12.tgz#67c0e2c479fb6f8eb1a53034d2c8cf98a45b8fb8" +"@polkadot/api-provider@^0.12.15": + version "0.12.15" + resolved "https://registry.yarnpkg.com/@polkadot/api-provider/-/api-provider-0.12.15.tgz#92205e42e2f7ae159fdf6a9fac666756289bf136" dependencies: "@babel/runtime" "^7.0.0-beta.47" - "@polkadot/storage-substrate" "^0.16.12" + "@polkadot/storage-substrate" "^0.16.15" "@polkadot/util" "^0.22.2" "@polkadot/util-crypto" "^0.22.2" "@polkadot/util-keyring" "^0.22.2" @@ -742,24 +742,24 @@ isomorphic-fetch "^2.2.1" websocket "^1.0.25" -"@polkadot/api-rx@^0.12.12": - version "0.12.12" - resolved "https://registry.yarnpkg.com/@polkadot/api-rx/-/api-rx-0.12.12.tgz#9003a56efb8cc99b11fab948094370832c352948" +"@polkadot/api-rx@^0.12.15": + version "0.12.15" + resolved "https://registry.yarnpkg.com/@polkadot/api-rx/-/api-rx-0.12.15.tgz#75fbb5b9b090d7f732ad3004101a897560128d5b" dependencies: "@babel/runtime" "^7.0.0-beta.47" - "@polkadot/api" "^0.12.12" - "@polkadot/api-provider" "^0.12.12" + "@polkadot/api" "^0.12.15" + "@polkadot/api-provider" "^0.12.15" rxjs "^5.5.10" -"@polkadot/api@^0.12.12": - version "0.12.12" - resolved "https://registry.yarnpkg.com/@polkadot/api/-/api-0.12.12.tgz#f51a315322f6d25f931cb7becf7fb46eb717f557" +"@polkadot/api@^0.12.15": + version "0.12.15" + resolved "https://registry.yarnpkg.com/@polkadot/api/-/api-0.12.15.tgz#ca6fb0c8b669cc1702b9a5935a56a575a85c4be5" dependencies: "@babel/runtime" "^7.0.0-beta.47" - "@polkadot/api-format" "^0.12.12" - "@polkadot/api-provider" "^0.12.12" - "@polkadot/jsonrpc" "^0.16.12" - "@polkadot/params" "^0.16.12" + "@polkadot/api-format" "^0.12.15" + "@polkadot/api-provider" "^0.12.15" + "@polkadot/jsonrpc" "^0.16.15" + "@polkadot/params" "^0.16.15" "@polkadot/util" "^0.22.2" "@polkadot/dev-react@^0.19.11": @@ -817,136 +817,137 @@ mkdirp "^0.5.1" rimraf "^2.6.2" -"@polkadot/extrinsics-codec@^0.16.12": - version "0.16.12" - resolved "https://registry.yarnpkg.com/@polkadot/extrinsics-codec/-/extrinsics-codec-0.16.12.tgz#0e394354a92088f0a2c1dcb088d69b157c7a45fa" +"@polkadot/extrinsics-codec@^0.16.15": + version "0.16.15" + resolved "https://registry.yarnpkg.com/@polkadot/extrinsics-codec/-/extrinsics-codec-0.16.15.tgz#92e752736af2c61ae24b371ebee6f44b5daa2db8" dependencies: "@babel/runtime" "^7.0.0-beta.47" - "@polkadot/extrinsics" "^0.16.12" - "@polkadot/params" "^0.16.12" + "@polkadot/extrinsics" "^0.16.15" + "@polkadot/params" "^0.16.15" "@polkadot/util" "^0.22.2" bn.js "^4.11.8" -"@polkadot/extrinsics-substrate@^0.16.12": - version "0.16.12" - resolved "https://registry.yarnpkg.com/@polkadot/extrinsics-substrate/-/extrinsics-substrate-0.16.12.tgz#acb202bcf3915783568797d604e5372efe094db3" +"@polkadot/extrinsics-substrate@^0.16.15": + version "0.16.15" + resolved "https://registry.yarnpkg.com/@polkadot/extrinsics-substrate/-/extrinsics-substrate-0.16.15.tgz#c8ad42f38b568629a3de9089413a8275ef06dc8d" dependencies: "@babel/runtime" "^7.0.0-beta.47" - "@polkadot/extrinsics" "^0.16.12" + "@polkadot/extrinsics" "^0.16.15" -"@polkadot/extrinsics@^0.16.12": - version "0.16.12" - resolved "https://registry.yarnpkg.com/@polkadot/extrinsics/-/extrinsics-0.16.12.tgz#d7583bdf8b76afa9a58b8bc6274a1afcc8042511" +"@polkadot/extrinsics@^0.16.15": + version "0.16.15" + resolved "https://registry.yarnpkg.com/@polkadot/extrinsics/-/extrinsics-0.16.15.tgz#103cd7beb4049fee07d86ac34f02e14360dc9b32" dependencies: "@babel/runtime" "^7.0.0-beta.47" - "@polkadot/params" "^0.16.12" - "@polkadot/primitives" "^0.16.12" + "@polkadot/params" "^0.16.15" + "@polkadot/primitives" "^0.16.15" "@polkadot/util" "^0.22.2" -"@polkadot/jsonrpc@^0.16.12": - version "0.16.12" - resolved "https://registry.yarnpkg.com/@polkadot/jsonrpc/-/jsonrpc-0.16.12.tgz#0fa923ed8736d31f08419bff04bb5e6f52ce7eef" +"@polkadot/jsonrpc@^0.16.15": + version "0.16.15" + resolved "https://registry.yarnpkg.com/@polkadot/jsonrpc/-/jsonrpc-0.16.15.tgz#aaa9bdff6af8fb32b49740843e203490a5285f15" dependencies: - "@polkadot/params" "^0.16.12" + "@polkadot/params" "^0.16.15" babel-runtime "^6.26.0" -"@polkadot/params@^0.16.12": - version "0.16.12" - resolved "https://registry.yarnpkg.com/@polkadot/params/-/params-0.16.12.tgz#2e5512e3d890d9d9b5bfd6a44539f7ef32a369ae" +"@polkadot/params@^0.16.15": + version "0.16.15" + resolved "https://registry.yarnpkg.com/@polkadot/params/-/params-0.16.15.tgz#31d419b6bdb815cdb87cd1a3bd251a670a5e02c7" dependencies: "@babel/runtime" "^7.0.0-beta.47" - "@polkadot/extrinsics" "^0.16.12" - "@polkadot/extrinsics-substrate" "^0.16.12" - "@polkadot/primitives" "^0.16.12" + "@polkadot/extrinsics" "^0.16.15" + "@polkadot/extrinsics-substrate" "^0.16.15" + "@polkadot/primitives" "^0.16.15" "@polkadot/util" "^0.22.2" -"@polkadot/primitives-builder@^0.16.12": - version "0.16.12" - resolved "https://registry.yarnpkg.com/@polkadot/primitives-builder/-/primitives-builder-0.16.12.tgz#413d71443bff6fa611e7651390003bfbac728961" +"@polkadot/primitives-builder@^0.16.15": + version "0.16.15" + resolved "https://registry.yarnpkg.com/@polkadot/primitives-builder/-/primitives-builder-0.16.15.tgz#89e986a6e7167247beea8dc2dcc8278b7cfd4404" dependencies: "@babel/runtime" "^7.0.0-beta.47" - "@polkadot/primitives" "^0.16.12" - "@polkadot/primitives-codec" "^0.16.12" + "@polkadot/primitives" "^0.16.15" + "@polkadot/primitives-codec" "^0.16.15" "@polkadot/util" "^0.22.2" "@polkadot/util-crypto" "^0.22.2" "@polkadot/util-triehash" "^0.22.2" -"@polkadot/primitives-codec@^0.16.12": - version "0.16.12" - resolved "https://registry.yarnpkg.com/@polkadot/primitives-codec/-/primitives-codec-0.16.12.tgz#18bf1f2eb44689a38e9f7f91ed8f94a30c461a71" +"@polkadot/primitives-codec@^0.16.15": + version "0.16.15" + resolved "https://registry.yarnpkg.com/@polkadot/primitives-codec/-/primitives-codec-0.16.15.tgz#ecbe4c9cfc77da49361920ded193c5c2ff2c7aa0" dependencies: "@babel/runtime" "^7.0.0-beta.47" - "@polkadot/primitives" "^0.16.12" - "@polkadot/primitives-builder" "^0.16.12" - "@polkadot/primitives-rlp" "^0.16.12" + "@polkadot/primitives" "^0.16.15" + "@polkadot/primitives-builder" "^0.16.15" + "@polkadot/primitives-rlp" "^0.16.15" "@polkadot/util" "^0.22.2" "@polkadot/util-keyring" "^0.22.2" -"@polkadot/primitives-json@^0.16.12": - version "0.16.12" - resolved "https://registry.yarnpkg.com/@polkadot/primitives-json/-/primitives-json-0.16.12.tgz#59e971ffa3888bbbe9ec7c60180d2e6b91378355" +"@polkadot/primitives-json@^0.16.15": + version "0.16.15" + resolved "https://registry.yarnpkg.com/@polkadot/primitives-json/-/primitives-json-0.16.15.tgz#decb1fa9a134dd92a792d16a970bc9c1e783b81b" dependencies: "@babel/runtime" "^7.0.0-beta.47" - "@polkadot/primitives" "^0.16.12" - "@polkadot/primitives-builder" "^0.16.12" + "@polkadot/primitives" "^0.16.15" + "@polkadot/primitives-builder" "^0.16.15" "@polkadot/util" "^0.22.2" -"@polkadot/primitives-rlp@^0.16.12": - version "0.16.12" - resolved "https://registry.yarnpkg.com/@polkadot/primitives-rlp/-/primitives-rlp-0.16.12.tgz#5f1a23f748280970d5b9ac1950ec2d273c9b392b" +"@polkadot/primitives-rlp@^0.16.15": + version "0.16.15" + resolved "https://registry.yarnpkg.com/@polkadot/primitives-rlp/-/primitives-rlp-0.16.15.tgz#863b78da6273887631193730fab96e5d81c11b33" dependencies: "@babel/runtime" "^7.0.0-beta.47" - "@polkadot/primitives" "^0.16.12" - "@polkadot/primitives-builder" "^0.16.12" + "@polkadot/primitives" "^0.16.15" + "@polkadot/primitives-builder" "^0.16.15" "@polkadot/util" "^0.22.2" "@polkadot/util-crypto" "^0.22.2" -"@polkadot/primitives@^0.16.12": - version "0.16.12" - resolved "https://registry.yarnpkg.com/@polkadot/primitives/-/primitives-0.16.12.tgz#761caa7b741d73d65a8ed6311d59a1994f914316" +"@polkadot/primitives@^0.16.15": + version "0.16.15" + resolved "https://registry.yarnpkg.com/@polkadot/primitives/-/primitives-0.16.15.tgz#b7f63adc89eb744d956ec93344dd74886cf9139e" dependencies: "@babel/runtime" "^7.0.0-beta.47" "@polkadot/util" "^0.22.2" -"@polkadot/storage-substrate@^0.16.12": - version "0.16.12" - resolved "https://registry.yarnpkg.com/@polkadot/storage-substrate/-/storage-substrate-0.16.12.tgz#6d43c3877af7f4e18387252298fd447e98e1af15" +"@polkadot/storage-substrate@^0.16.15": + version "0.16.15" + resolved "https://registry.yarnpkg.com/@polkadot/storage-substrate/-/storage-substrate-0.16.15.tgz#f0ab2dc9c85ebe9f72e223d15bb84ef3f42dc5ad" dependencies: "@babel/runtime" "^7.0.0-beta.47" - "@polkadot/storage" "^0.16.12" + "@polkadot/storage" "^0.16.15" "@polkadot/util" "^0.22.2" -"@polkadot/storage@^0.16.12": - version "0.16.12" - resolved "https://registry.yarnpkg.com/@polkadot/storage/-/storage-0.16.12.tgz#38a2f439e970a7d156bd441fedbc41cdc7e136fb" +"@polkadot/storage@^0.16.15": + version "0.16.15" + resolved "https://registry.yarnpkg.com/@polkadot/storage/-/storage-0.16.15.tgz#e1cb8cf618ab75eb6483a236a52da14a46e15781" dependencies: "@babel/runtime" "^7.0.0-beta.47" - "@polkadot/params" "^0.16.12" - "@polkadot/primitives" "^0.16.12" + "@polkadot/params" "^0.16.15" + "@polkadot/primitives" "^0.16.15" "@polkadot/util" "^0.22.2" "@polkadot/util-keyring" "^0.22.2" -"@polkadot/ui-identicon@^0.13.13": - version "0.13.13" - resolved "https://registry.yarnpkg.com/@polkadot/ui-identicon/-/ui-identicon-0.13.13.tgz#cf17c9c632beef53e5deb9efc2a9df6edaacbffe" +"@polkadot/ui-identicon@^0.13.19": + version "0.13.19" + resolved "https://registry.yarnpkg.com/@polkadot/ui-identicon/-/ui-identicon-0.13.19.tgz#b788b7c5a4c5d1b0a0178223629439c085f5e167" dependencies: "@babel/runtime" "^7.0.0-beta.47" color "^3.0.0" -"@polkadot/ui-react-rx@^0.13.13": - version "0.13.13" - resolved "https://registry.yarnpkg.com/@polkadot/ui-react-rx/-/ui-react-rx-0.13.13.tgz#33a060f348ed0a07dfe28b3ddf08c6dcd0bf56ca" +"@polkadot/ui-react-rx@^0.13.19": + version "0.13.19" + resolved "https://registry.yarnpkg.com/@polkadot/ui-react-rx/-/ui-react-rx-0.13.19.tgz#30e398c1bbed3bfe906a53082ebcac447ab8ff93" dependencies: "@babel/runtime" "^7.0.0-beta.47" - "@polkadot/api-rx" "^0.12.12" - "@polkadot/storage-substrate" "^0.16.12" + "@polkadot/api-rx" "^0.12.15" + "@polkadot/extrinsics-codec" "^0.16.15" + "@polkadot/storage-substrate" "^0.16.15" -"@polkadot/ui-react@^0.13.13": - version "0.13.13" - resolved "https://registry.yarnpkg.com/@polkadot/ui-react/-/ui-react-0.13.13.tgz#233da9b2753c32c447fc944361201065c004ccc8" +"@polkadot/ui-react@^0.13.19": + version "0.13.19" + resolved "https://registry.yarnpkg.com/@polkadot/ui-react/-/ui-react-0.13.19.tgz#8085524bfafbd04bea3c33c19b3ee87f8c83a398" dependencies: "@babel/runtime" "^7.0.0-beta.47" - "@polkadot/ui-identicon" "^0.13.13" + "@polkadot/ui-identicon" "^0.13.19" "@polkadot/util-crypto@^0.22.2": version "0.22.2"