Support both poc-1 & latest encodings (#62)

* Support both poc-1 & latest encodings

* v.
This commit is contained in:
Jaco Greeff 2018-05-28 18:43:14 +02:00 committed by GitHub
parent 5fb30b8b0e
commit 4790214a24
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
11 changed files with 179 additions and 112 deletions

View File

@ -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"
}

View File

@ -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;

View File

@ -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}
>
<div className='explorer--NodeInfo'>
<Chain label={t('app.chain', {
defaultValue: 'chain: '
})} />
<NodeName label={t('app.name', {
defaultValue: 'client: '
})}
/>
<NodeVersion label='v.' />
</div>
<BestNumber
className='explorer--BestNumber'
label={t('app.bestNumber', {

View File

@ -12,7 +12,7 @@
},
"dependencies": {
"@babel/runtime": "^7.0.0-beta.47",
"@polkadot/extrinsics-codec": "^0.16.12",
"@polkadot/extrinsics-codec": "^0.16.15",
"@polkadot/ui-app": "^0.6.10",
"@polkadot/ui-signer": "^0.6.10",
"react-dropzone": "^4.2.9"

View File

@ -3,8 +3,10 @@
// of the ISC license. See the LICENSE file for details.
// @flow
import type { EncodingVersions } from '@polkadot/extrinsics-codec/types';
import type { Extrinsic$Method } from '@polkadot/extrinsics/types';
import type { BareProps } from '@polkadot/ui-app/types';
import type { ApiProps } from '@polkadot/ui-react-rx/types';
import type { RawParam } from '@polkadot/ui-app/Params/types';
import type { EncodedMessage } from '@polkadot/ui-signer/types';
@ -15,10 +17,11 @@ import InputExtrinsic from '@polkadot/ui-app/InputExtrinsic';
import Params from '@polkadot/ui-app/Params';
import classes from '@polkadot/ui-app/util/classes';
import isUndefined from '@polkadot/util/is/undefined';
import withApi from '@polkadot/ui-react-rx/with/api';
import paramComponents from './Params';
type Props = BareProps & {
type Props = BareProps & ApiProps & {
defaultValue: Extrinsic$Method,
isError?: boolean,
isPrivate?: boolean,
@ -29,10 +32,11 @@ type Props = BareProps & {
type State = {
extrinsic: Extrinsic$Method,
values: Array<RawParam>
values: Array<RawParam>,
apiSupport: EncodingVersions
};
export default class Extrinsic extends React.PureComponent<Props, State> {
class Extrinsic extends React.PureComponent<Props, State> {
state: State;
constructor (props: Props) {
@ -40,10 +44,22 @@ export default class Extrinsic extends React.PureComponent<Props, State> {
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<Props, State> {
nextState (newState: $Shape<State>): 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<Props, State> {
!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<Props, State> {
this.nextState({ values });
}
}
export default withApi(Extrinsic);

View File

@ -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",

View File

@ -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"
},

View File

@ -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"
},

View File

@ -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<Props, State> {
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<Props, State> {
);
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<Props, State> {
}
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);

View File

@ -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),

181
yarn.lock
View File

@ -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"