Add network prefix settings (#97)

* Add nework prefix settings

* Use setAddressPrefix

* Align dependencies (aka resolutions)
This commit is contained in:
Jaco Greeff 2019-07-18 12:51:27 +02:00 committed by GitHub
parent 1c46fc0f7e
commit d40f61d0b3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
12 changed files with 277 additions and 99 deletions

View File

@ -12,6 +12,11 @@
"yarn": "^1.10.1"
},
"resolutions": {
"@polkadot/api": "^0.82.0-beta.70",
"@polkadot/keyring": "^0.94.0-beta.15",
"@polkadot/types": "^0.82.0-beta.70",
"@polkadot/util": "^0.94.0-beta.15",
"@polkadot/util-crypto": "^0.94.0-beta.15",
"babel-core": "^7.0.0-bridge.0",
"typescript": "^3.5.3"
},

View File

@ -6,7 +6,7 @@
"license": "Apache-2",
"dependencies": {
"@babel/runtime": "^7.5.4",
"@polkadot/ui-identicon": "^0.42.0-beta.11",
"@polkadot/ui-identicon": "^0.42.0-beta.13",
"@types/react-router": "^5.0.3",
"@types/react-router-dom": "^4.3.4",
"react-router": "^5.0.1",

View File

@ -6,7 +6,7 @@ import { AccountsFromCtx } from '../../components/types';
import React from 'react';
import { Button, Header, Tip, withAccounts } from '../../components';
import { Button, Header, Link, Tip, unicode, withAccounts } from '../../components';
import Account from './Account';
interface Props {
@ -16,7 +16,10 @@ interface Props {
function Accounts ({ accounts }: Props): React.ReactElement<Props> {
return (
<div>
<Header label='accounts' />
<Header
label='accounts'
labelExtra={<Link to='/settings'>Settings {unicode.FWD}</Link>}
/>
{
(accounts.length === 0)
? <Tip header='add accounts' type='warn'>You currently don&apos;t have any accounts. Either create a new account or if you have an existing account you wish to use, import it with the seed phrase</Tip>

View File

@ -0,0 +1,46 @@
// Copyright 2019 @polkadot/extension-ui authors & contributors
// This software may be modified and distributed under the terms
// of the Apache-2.0 license. See the LICENSE file for details.
import { Prefix } from '@polkadot/util-crypto/address/types';
import React, { useState } from 'react';
import settings from '@polkadot/ui-settings';
import { setAddressPrefix } from '@polkadot/util-crypto';
import { Dropdown, Header } from '../../components';
import { Back } from '../../partials';
const options = settings.availablePrefixes.map(({ text, value }): { text: string; value: string } => ({
text: value === -1
? 'Substrate (default)'
: text,
value: `${value}`
}));
export default function Settings (): React.ReactElement<{}> {
const [prefix, setPrefix] = useState(`${settings.prefix}`);
// FIXME check against index, we need a better solution
const _onChangePrefix = (value: string): void => {
const prefix = parseInt(value, 10) as Prefix;
setPrefix(value);
setAddressPrefix((prefix as number) === -1 ? 42 : prefix);
settings.set({ prefix });
};
return (
<div>
<Header label='settings' />
<Back />
<Dropdown
label='display addresses formatted for'
onChange={_onChangePrefix}
options={options}
value={`${prefix}`}
/>
</div>
);
}

View File

@ -4,9 +4,12 @@
import { AuthorizeRequest, SigningRequest } from '@polkadot/extension/background/types';
import { KeyringJson } from '@polkadot/ui-keyring/types';
import { Prefix } from '@polkadot/util-crypto/address/types';
import React, { useEffect, useState } from 'react';
import { Route, Switch } from 'react-router';
import settings from '@polkadot/ui-settings';
import { setAddressPrefix } from '@polkadot/util-crypto';
import { Loading } from '../components';
import { AccountContext, ActionContext, AuthorizeContext, SigningContext } from '../components/contexts';
@ -16,11 +19,18 @@ import Authorize from './Authorize';
import Create from './Create';
import Forget from './Forget';
import Import from './Import';
import Settings from './Settings';
import Signing from './Signing';
import Welcome from './Welcome';
// eslint-disable-next-line @typescript-eslint/no-unused-vars
export default function Popup (props: {}): React.ReactElement<{}> {
// load the ui settings, actually only used for address prefix atm
// probably overkill (however can replace once we have actual others)
const { prefix } = settings.get();
// FIXME Duplicated in Settings, horrible...
setAddressPrefix((prefix === -1 ? 42 : prefix) as Prefix);
export default function Popup (): React.ReactElement<{}> {
const [accounts, setAccounts] = useState<null | KeyringJson[]>(null);
const [authRequests, setAuthRequests] = useState<null | AuthorizeRequest[]>(null);
const [signRequests, setSignRequests] = useState<null | SigningRequest[]>(null);
@ -61,6 +71,7 @@ export default function Popup (props: {}): React.ReactElement<{}> {
<Route path='/account/create' component={Create} />
<Route path='/account/forget/:address' component={Forget} />
<Route path='/account/import' component={Import} />
<Route path='/settings' component={Settings} />
<Route exact path='/' component={Root} />
</Switch>
</SigningContext.Provider>

View File

@ -3,15 +3,17 @@
// of the Apache-2.0 license. See the LICENSE file for details.
import { KeyringJson } from '@polkadot/ui-keyring/types';
import { Prefix } from '@polkadot/util-crypto/address/types';
import { AccountsFromCtx } from './types';
import React, { useState, useEffect } from 'react';
import styled from 'styled-components';
import Identicon from '@polkadot/ui-identicon';
import settings from '@polkadot/ui-settings';
import IconBox from './IconBox';
import { withAccounts } from './contexts';
import { decodeAddress } from '@polkadot/util-crypto';
import { decodeAddress, encodeAddress } from '@polkadot/util-crypto';
interface Props {
accounts: AccountsFromCtx;
@ -24,13 +26,22 @@ interface Props {
function Address ({ accounts, address, children, className, name, theme = 'polkadot' }: Props): React.ReactElement<Props> {
const [account, setAccount] = useState<KeyringJson | null>(null);
const [formatted, setFormatted] = useState<string | null>(null);
useEffect((): void => {
const addrU8a = decodeAddress(address || '').toString();
if (!address) {
return;
}
const addrU8a = decodeAddress(address);
const addrU8aStr = addrU8a.toString();
setFormatted(
encodeAddress(addrU8a, (settings.prefix === -1 ? 42 : settings.prefix) as Prefix)
);
setAccount(
accounts.find((account): boolean =>
decodeAddress(account.address).toString() === addrU8a
decodeAddress(account.address).toString() === addrU8aStr
) || null
);
}, [address]);
@ -49,7 +60,7 @@ function Address ({ accounts, address, children, className, name, theme = 'polka
intro={
<>
<div className='name'>{name || (account && account.meta.name) || '<unknown>'}</div>
<div className='address'>{address || '<unknown>'}</div>
<div className='address'>{formatted || '<unknown>'}</div>
</>
}
>

View File

@ -0,0 +1,84 @@
// Copyright 2019 @polkadot/extension-ui authors & contributors
// This software may be modified and distributed under the terms
// of the Apache-2.0 license. See the LICENSE file for details.
import React from 'react';
import styled from 'styled-components';
import Label from './Label';
import defaults from './defaults';
interface DrodownOption {
text: string;
value: string;
}
interface Props {
className?: string;
defaultValue?: string | null;
isError?: boolean;
isFocussed?: boolean;
isReadOnly?: boolean;
label?: string | null;
onBlur?: () => void;
onChange?: (value: string) => void;
options: DrodownOption[];
value?: string;
}
function Dropdown ({ className, defaultValue, label, isFocussed, onBlur, onChange, options, value }: Props): React.ReactElement<Props> {
const _onChange = ({ target: { value } }: React.ChangeEvent<HTMLSelectElement>): void => {
onChange && onChange(value.trim());
};
console.error(value);
return (
<Label
className={className}
label={label}
>
<select
autoFocus={isFocussed}
defaultValue={defaultValue || undefined}
onBlur={onBlur}
onChange={_onChange}
value={value}
>
{options.map(({ text, value }): React.ReactNode => (
<option
key={value}
value={value}
>
{text}
</option>
))}
</select>
</Label>
);
}
export default styled(Dropdown)`
select {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
background: ${({ isError, isReadOnly }): string => isError ? defaults.box.error.background : (isReadOnly ? '#eee' : '#fff')};
border-color: ${({ isError }): string => isError ? defaults.box.error.border : defaults.inputBorder};
border-radius: ${defaults.borderRadius};
border-style: solid;
border-width: 1px;
box-sizing: border-box;
color: ${({ isError }): string => isError ? defaults.box.error.border : defaults.color};
display: block;
font-family: ${defaults.fontFamily};
font-size: ${defaults.fontSize};
padding: ${({ label }): string => label ? defaults.inputPaddingLabel : defaults.inputPadding};
width: 100%;
&:read-only {
box-shadow: none;
outline: none;
}
}
`;

View File

@ -10,13 +10,18 @@ import defaults from './defaults';
interface Props {
children?: React.ReactNode;
className?: string;
label?: string;
label?: React.ReactNode;
labelExtra?: React.ReactNode;
}
function Header ({ children, className, label }: Props): React.ReactElement<Props> {
function Header ({ children, className, label, labelExtra }: Props): React.ReactElement<Props> {
return (
<h2 className={className}>
{label}{children}
<div className='label'>{label}</div>
{labelExtra && (
<div className='labelExtra'>{labelExtra}</div>
)}
{children}
</h2>
);
}
@ -24,10 +29,21 @@ function Header ({ children, className, label }: Props): React.ReactElement<Prop
export default styled(Header)`
background: ${defaults.hdrBg};
box-sizing: border-box;
color: ${defaults.hdrColor};
font-family: ${defaults.fontFamily};
font-weight: normal;
margin: 0 -1rem;
padding: 0.75rem 1rem;
text-transform: uppercase;
position: relative;
.label {
color: ${defaults.hdrColor};
font-family: ${defaults.fontFamily};
text-transform: uppercase;
}
.labelExtra {
bottom: 0.75rem;
font-size: 1rem;
position: absolute;
right: 1rem;
}
`;

View File

@ -6,6 +6,7 @@ export { default as ActionBar } from './ActionBar';
export { default as Address } from './Address';
export { default as Box } from './Box';
export { default as Button } from './Button';
export { default as Dropdown } from './Dropdown';
export { default as Header } from './Header';
export { default as Icon } from './Icon';
export { default as IconBox } from './IconBox';

View File

@ -8,6 +8,7 @@ const unicode = {
BACK: '\u21E6', // &#8678;
DOWN: '\u21E9', // &#8681;
FWD: '\u21E8', // &#8680;
GEAR: '\u2699', // &#9881;
UP: '\u21E7' // &#8679;
};

View File

@ -5,13 +5,13 @@
"author": "Jaco Greeff <jacogr@gmail.com>",
"license": "Apache-2",
"dependencies": {
"@polkadot/api": "^0.82.0-beta.67",
"@polkadot/api": "^0.82.0-beta.70",
"@polkadot/extension-ui": "^0.4.0-beta.6",
"@polkadot/ui-keyring": "^0.42.0-beta.11"
"@polkadot/ui-keyring": "^0.42.0-beta.13"
},
"devDependencies": {
"@babel/runtime": "^7.5.4",
"@polkadot/keyring": "^0.94.0-beta.12",
"@polkadot/keyring": "^0.94.0-beta.15",
"@types/chrome": "^0.0.86",
"@types/firefox-webext-browser": "^67.0.1",
"extensionizer": "^1.0.1",

162
yarn.lock
View File

@ -1861,39 +1861,39 @@
universal-user-agent "^3.0.0"
url-template "^2.0.8"
"@polkadot/api-derive@^0.82.0-beta.67":
version "0.82.0-beta.67"
resolved "https://registry.yarnpkg.com/@polkadot/api-derive/-/api-derive-0.82.0-beta.67.tgz#8e16ca37b751f47dcb93b4d24bf73bbdfbd105b5"
integrity sha512-krEMPz+CCMTOsQhfGKxolBHVHkVZdmt5WJas7ZCzkYuyRAKLp4yBVXd875g9SnIl8vEMOS0nNYaG29Z0IJwDSg==
"@polkadot/api-derive@^0.82.0-beta.70":
version "0.82.0-beta.70"
resolved "https://registry.yarnpkg.com/@polkadot/api-derive/-/api-derive-0.82.0-beta.70.tgz#e183e2a7aa969f9948db399de2a2bfe15ab27462"
integrity sha512-BqWT8bj50M0zhpXuT8XB1ZUs06lSs5z9zzTPc8Vmwoi1pJ3X3Zzkq5tNDpDQkvD2awRJ6FAzVV9zsZHrx987Cg==
dependencies:
"@babel/runtime" "^7.5.4"
"@polkadot/api" "^0.82.0-beta.67"
"@polkadot/types" "^0.82.0-beta.67"
"@polkadot/api" "^0.82.0-beta.70"
"@polkadot/types" "^0.82.0-beta.70"
"@types/memoizee" "^0.4.2"
memoizee "^0.4.14"
"@polkadot/api-metadata@^0.82.0-beta.67":
version "0.82.0-beta.67"
resolved "https://registry.yarnpkg.com/@polkadot/api-metadata/-/api-metadata-0.82.0-beta.67.tgz#5ad7327381c52b79f2b043a65ae1fd249bd45fc6"
integrity sha512-wITsMps29K5WbvuAmcJPusnqCq7qz2cn0e42uQXc+DU9fxGlHXtjZBzQxWGMnBWrSN32XHcePta6YcR00swMzw==
"@polkadot/api-metadata@^0.82.0-beta.70":
version "0.82.0-beta.70"
resolved "https://registry.yarnpkg.com/@polkadot/api-metadata/-/api-metadata-0.82.0-beta.70.tgz#bd267b24dcd2382f4f19e06577729ac000f8b5de"
integrity sha512-Z/Df/nqKy/SlSbEON8FEfygryUH+vJKG77i052SsHqIYuuPg4oaYSjQaNzuwzHeyrDfx9zF9CxRaEiJcAdiohg==
dependencies:
"@babel/runtime" "^7.5.4"
"@polkadot/types" "^0.82.0-beta.67"
"@polkadot/util" "^0.94.0-beta.12"
"@polkadot/util-crypto" "^0.94.0-beta.12"
"@polkadot/types" "^0.82.0-beta.70"
"@polkadot/util" "^0.94.0-beta.15"
"@polkadot/util-crypto" "^0.94.0-beta.15"
"@polkadot/api@^0.82.0-beta.67":
version "0.82.0-beta.67"
resolved "https://registry.yarnpkg.com/@polkadot/api/-/api-0.82.0-beta.67.tgz#41035250e4f9b696eb3df6f070a2e103c6494b7d"
integrity sha512-GCErhSLMEIFVCqAODyiyZpzmeafag/cWiATF/22FNW4izXuV9YxWGrIn91ULn54eXxCVAIdp4pU7dKPgoUWD5g==
"@polkadot/api@^0.82.0-beta.70":
version "0.82.0-beta.70"
resolved "https://registry.yarnpkg.com/@polkadot/api/-/api-0.82.0-beta.70.tgz#2665838b2a4f393b921e8110dd34b67735d12af9"
integrity sha512-FqG5uU4sXoGottMd+k70vKz5MIFggbNWSx04Tpj3YzuaZRkyIzaSlCP97+Ycq3a7Yq9XOhabKmYL4P23+w2QLQ==
dependencies:
"@babel/runtime" "^7.5.4"
"@polkadot/api-derive" "^0.82.0-beta.67"
"@polkadot/api-metadata" "^0.82.0-beta.67"
"@polkadot/rpc-core" "^0.82.0-beta.67"
"@polkadot/rpc-provider" "^0.82.0-beta.67"
"@polkadot/types" "^0.82.0-beta.67"
"@polkadot/util-crypto" "^0.94.0-beta.12"
"@polkadot/api-derive" "^0.82.0-beta.70"
"@polkadot/api-metadata" "^0.82.0-beta.70"
"@polkadot/rpc-core" "^0.82.0-beta.70"
"@polkadot/rpc-provider" "^0.82.0-beta.70"
"@polkadot/types" "^0.82.0-beta.70"
"@polkadot/util-crypto" "^0.94.0-beta.15"
"@polkadot/dev-react@^0.30.0-beta.22":
version "0.30.0-beta.22"
@ -1980,44 +1980,44 @@
typescript "^3.5.3"
vuepress "^1.0.2"
"@polkadot/jsonrpc@^0.82.0-beta.67":
version "0.82.0-beta.67"
resolved "https://registry.yarnpkg.com/@polkadot/jsonrpc/-/jsonrpc-0.82.0-beta.67.tgz#a983344df36c9dc75f744f60138d19feb8b65ddc"
integrity sha512-DRogZHdOlaIrg+JeseiiOCqgJS7dVf6oU29859qHUeYNPfdQ9QBJo6k1EJwNr3NPU1hmr4Ci8OGtCAWVWILb8g==
"@polkadot/jsonrpc@^0.82.0-beta.70":
version "0.82.0-beta.70"
resolved "https://registry.yarnpkg.com/@polkadot/jsonrpc/-/jsonrpc-0.82.0-beta.70.tgz#83608785c44d63a5a32a6156c051072a43787b57"
integrity sha512-WputxLDX1r+/vkw3oNJLQ/RJ0qotJlAFagA2tZZiz90GX5Y6uLbo7hNo7jfi4gUXm48ajDjIMwYc/tRlNH70Eg==
dependencies:
"@babel/runtime" "^7.5.4"
"@polkadot/keyring@^0.94.0-beta.12":
version "0.94.0-beta.12"
resolved "https://registry.yarnpkg.com/@polkadot/keyring/-/keyring-0.94.0-beta.12.tgz#0dd51c41d9452ae0eb08f2e015807384fe4ab223"
integrity sha512-T1rYl0DboMLCsFku/p09DY7SlzS23DSsaHQdcb4qwUfLaggACA6sQ4oxq3dRrXTWIJhYSMopcBEq60BVnXXpuw==
"@polkadot/keyring@^0.94.0-beta.15":
version "0.94.0-beta.15"
resolved "https://registry.yarnpkg.com/@polkadot/keyring/-/keyring-0.94.0-beta.15.tgz#13e31085b2e2d89c04b40c665292341413c18b77"
integrity sha512-8hG1YmZljPs2/Zip7GbFmhlGB5oUxSNzp12MQT83jujsRvDgtpG+ZORz8LumMVxXWhJR7L3nRY39xSHPO5CTvg==
dependencies:
"@babel/runtime" "^7.5.4"
"@polkadot/util" "^0.94.0-beta.12"
"@polkadot/util-crypto" "^0.94.0-beta.12"
"@polkadot/util" "^0.94.0-beta.15"
"@polkadot/util-crypto" "^0.94.0-beta.15"
"@polkadot/rpc-core@^0.82.0-beta.67":
version "0.82.0-beta.67"
resolved "https://registry.yarnpkg.com/@polkadot/rpc-core/-/rpc-core-0.82.0-beta.67.tgz#5ac3357e9e67ccb102fbc9059f6c461ce864926b"
integrity sha512-mldH4QAVtAVxi3GzIL0f4GoYPPUItRyTnbOrUQieVy+Qh+nrQGfgWn6gOqCWDqtJYsdGgfSIb+507iAIcV0vcw==
"@polkadot/rpc-core@^0.82.0-beta.70":
version "0.82.0-beta.70"
resolved "https://registry.yarnpkg.com/@polkadot/rpc-core/-/rpc-core-0.82.0-beta.70.tgz#38f06c81f4f3fe705534c352c8d01ebe88443c8a"
integrity sha512-tnK2V2cyWADKFky2GdlRHul6v3IEJKsvy1ULvr+OuVY26Bn/dkoTXsgqmEOxnbdIXitCTj9AtphsWtjDT3Tklw==
dependencies:
"@babel/runtime" "^7.5.4"
"@polkadot/jsonrpc" "^0.82.0-beta.67"
"@polkadot/rpc-provider" "^0.82.0-beta.67"
"@polkadot/types" "^0.82.0-beta.67"
"@polkadot/util" "^0.94.0-beta.12"
"@polkadot/jsonrpc" "^0.82.0-beta.70"
"@polkadot/rpc-provider" "^0.82.0-beta.70"
"@polkadot/types" "^0.82.0-beta.70"
"@polkadot/util" "^0.94.0-beta.15"
memoizee "^0.4.14"
rxjs "^6.5.2"
"@polkadot/rpc-provider@^0.82.0-beta.67":
version "0.82.0-beta.67"
resolved "https://registry.yarnpkg.com/@polkadot/rpc-provider/-/rpc-provider-0.82.0-beta.67.tgz#9617ae76f8f77320f10b43f9f9598ee4e01894b2"
integrity sha512-qiJW1eDu9ImjRbxDi+s796oCtis6fUTMMABvQoRqw/xCNa7e1cUA7mDiyvLhOEj4K9dEQ5GLDuXg8ovpZ+cNjg==
"@polkadot/rpc-provider@^0.82.0-beta.70":
version "0.82.0-beta.70"
resolved "https://registry.yarnpkg.com/@polkadot/rpc-provider/-/rpc-provider-0.82.0-beta.70.tgz#c274154467887b360a81e9b11128306162150816"
integrity sha512-agACKuvLrQpJw+CAk90m9PquZf5Prv8kDuNrMkCe7jlXUoCfl3FOvjUc004lyRaw+WAs0tV/pzZ+8PYEYdmmGw==
dependencies:
"@babel/runtime" "^7.5.4"
"@polkadot/api-metadata" "^0.82.0-beta.67"
"@polkadot/util" "^0.94.0-beta.12"
"@polkadot/util-crypto" "^0.94.0-beta.12"
"@polkadot/api-metadata" "^0.82.0-beta.70"
"@polkadot/util" "^0.94.0-beta.15"
"@polkadot/util-crypto" "^0.94.0-beta.15"
"@types/nock" "^10.0.3"
eventemitter3 "^4.0.0"
isomorphic-fetch "^2.2.1"
@ -2030,22 +2030,22 @@
dependencies:
"@types/chrome" "^0.0.86"
"@polkadot/types@^0.82.0-beta.67":
version "0.82.0-beta.67"
resolved "https://registry.yarnpkg.com/@polkadot/types/-/types-0.82.0-beta.67.tgz#245c3dbfbdaf4718ac8d2f3e75e230602a2b387a"
integrity sha512-HJExJvI7exQeLb35LXKd+rdkvgRPjjIpL4F5Iz/P3LfVbcwlZUXT8CtEr0AUw/W640h8GwcfV94mYlgdCkqR7A==
"@polkadot/types@^0.82.0-beta.70":
version "0.82.0-beta.70"
resolved "https://registry.yarnpkg.com/@polkadot/types/-/types-0.82.0-beta.70.tgz#4d4cf4c06152d14b7b89a8b8d7cd936bba794e95"
integrity sha512-PBoPn6qVAzwtI4KS69gs9geleIbnrRXhQpaqjaI3NbNcYZCCOQdf5vc/6PQNQJI4YZJ4CFb1jjN937OxxjG5ew==
dependencies:
"@babel/runtime" "^7.5.4"
"@polkadot/util" "^0.94.0-beta.12"
"@polkadot/util-crypto" "^0.94.0-beta.12"
"@polkadot/util" "^0.94.0-beta.15"
"@polkadot/util-crypto" "^0.94.0-beta.15"
"@polkadot/ui-identicon@^0.42.0-beta.11":
version "0.42.0-beta.11"
resolved "https://registry.yarnpkg.com/@polkadot/ui-identicon/-/ui-identicon-0.42.0-beta.11.tgz#21ced5eae3bd02b329e03d58ee9f5e3515f4ccc1"
integrity sha512-I2bhrtCeZGG7HvWgjkMUUzfRaDoTeWDkoipGdVAixMbrspex9oImIhWTN2gLSUbvwIy3Kf2UML+BWwXzoPfqIg==
"@polkadot/ui-identicon@^0.42.0-beta.13":
version "0.42.0-beta.13"
resolved "https://registry.yarnpkg.com/@polkadot/ui-identicon/-/ui-identicon-0.42.0-beta.13.tgz#6591b9e0e96b362531386798ffbf2e32c7c0292b"
integrity sha512-S+rKflfVdRKvePLhc9F7VWeqKxpiAK83CaYr8Tef1r1G8VpbhvYYQt3XYiNW6xI2oWTrNCbe2k2f/k0llEM6PA==
dependencies:
"@babel/runtime" "^7.5.4"
"@polkadot/ui-settings" "^0.42.0-beta.11"
"@polkadot/ui-settings" "^0.42.0-beta.13"
"@types/color" "^3.0.0"
"@types/react-copy-to-clipboard" "^4.2.6"
color "^3.1.2"
@ -2053,10 +2053,10 @@
react-copy-to-clipboard "^5.0.1"
styled-components "^4.3.1"
"@polkadot/ui-keyring@^0.42.0-beta.11":
version "0.42.0-beta.11"
resolved "https://registry.yarnpkg.com/@polkadot/ui-keyring/-/ui-keyring-0.42.0-beta.11.tgz#a9b332654d20d6cc9492f4addc8ab15573255ec8"
integrity sha512-+6asaSaQBOlYHga4/5cXu6fgUMrNpPHglAXq12HZDyomAsRzvyPMa1bfLPwN68HxEEX7+GkIO4/WKa4C7TMHPA==
"@polkadot/ui-keyring@^0.42.0-beta.13":
version "0.42.0-beta.13"
resolved "https://registry.yarnpkg.com/@polkadot/ui-keyring/-/ui-keyring-0.42.0-beta.13.tgz#1f42ec56159891b33811fbfc5f05eca4239b399c"
integrity sha512-1zIgKfHIInO6QhpM4rokXgDXGPZScM6vlUoOwHhgq9vgUJyWdznOwcS3qALHYVJlqHZGfWMyZr4bCnjIImm/HQ==
dependencies:
"@babel/runtime" "^7.5.4"
"@types/mkdirp" "^0.5.2"
@ -2066,23 +2066,23 @@
store "^2.0.12"
styled-components "^4.3.1"
"@polkadot/ui-settings@^0.42.0-beta.11":
version "0.42.0-beta.11"
resolved "https://registry.yarnpkg.com/@polkadot/ui-settings/-/ui-settings-0.42.0-beta.11.tgz#b40161b0bc06ed2345df34befb7e33ca462543d6"
integrity sha512-PtvKi214/gSu0fP+sSbFD1AWcXMeVJIyG084GbzHtceNOLuDdDtYsyspTIZ3yL+EE9BYV4OKz6blkm2l48RGAg==
"@polkadot/ui-settings@^0.42.0-beta.13":
version "0.42.0-beta.13"
resolved "https://registry.yarnpkg.com/@polkadot/ui-settings/-/ui-settings-0.42.0-beta.13.tgz#b58a6e70f500b1d92ce8124097778ee731fec9f1"
integrity sha512-9fxTwBkaKBwgxH1Vb6GFrkNyFHGG3JIkwXIuJYtRbJU/xxiaXhoMAcJXoChvhrMkWRK/rdwZ+aKY/fSMsOerng==
dependencies:
"@babel/runtime" "^7.5.4"
"@types/store" "^2.0.2"
store "^2.0.12"
"@polkadot/util-crypto@^0.94.0-beta.12":
version "0.94.0-beta.12"
resolved "https://registry.yarnpkg.com/@polkadot/util-crypto/-/util-crypto-0.94.0-beta.12.tgz#b5f42023b3b18e9e6b8601004cd426390b90adbf"
integrity sha512-H+rUBvYIwyxEZj4PNdQOKug4CjA1o1FxtmKqcZCp6ttLdbUVZRBWRtCHE5kjPBtVD5GDQHns9NDme0zbP1F1FA==
"@polkadot/util-crypto@^0.94.0-beta.15":
version "0.94.0-beta.15"
resolved "https://registry.yarnpkg.com/@polkadot/util-crypto/-/util-crypto-0.94.0-beta.15.tgz#e79178a89d2f2d4d2b35f2ca1c3fc4829cbec514"
integrity sha512-N5qFWYJKAtCXZURi7/TKb3cG8eyVYJTIupIRCdukl4QBqML8ZnpjbEDTMAW9IR9TzBnIlHxNkxFHT7ePXajUpw==
dependencies:
"@babel/runtime" "^7.5.4"
"@polkadot/util" "^0.94.0-beta.12"
"@polkadot/wasm-crypto" "^0.11.1"
"@polkadot/util" "^0.94.0-beta.15"
"@polkadot/wasm-crypto" "^0.12.1"
"@types/bip39" "^2.4.2"
"@types/bs58" "^4.0.0"
"@types/pbkdf2" "^3.0.0"
@ -2097,10 +2097,10 @@
tweetnacl "^1.0.1"
xxhashjs "^0.2.2"
"@polkadot/util@^0.94.0-beta.12":
version "0.94.0-beta.12"
resolved "https://registry.yarnpkg.com/@polkadot/util/-/util-0.94.0-beta.12.tgz#c05fd3ccad761e691ef195fee508dc12cd97e8b6"
integrity sha512-5/xjHAZ5Eo4nhNC9f+vpTczL1QuFVdKrN2xhjJutAx/lpM+3X9qlp6AAKwiR8IVqcKwPZ1tPAr3do6Ku1Z7dkQ==
"@polkadot/util@^0.94.0-beta.15":
version "0.94.0-beta.15"
resolved "https://registry.yarnpkg.com/@polkadot/util/-/util-0.94.0-beta.15.tgz#c10656ee5b6bd8ed50387b9bff4e606a076a439d"
integrity sha512-sx3kWaqOf7oCMXhxg7Dd3d0GlboieyeVBOuShslwKBnEW720AMOCuh3XmQUyUPferTbxukzqudBv7ME8y7e/pg==
dependencies:
"@babel/runtime" "^7.5.4"
"@types/bn.js" "^4.11.5"
@ -2111,10 +2111,10 @@
ip-regex "^4.1.0"
moment "^2.24.0"
"@polkadot/wasm-crypto@^0.11.1":
version "0.11.1"
resolved "https://registry.yarnpkg.com/@polkadot/wasm-crypto/-/wasm-crypto-0.11.1.tgz#5f5544659a81b5706e757577f880001de21cd298"
integrity sha512-zd4p5UjsUlr4oW/5IWKEODHX7VKa6dc94oD8WJSr7++f+UGxSpF84qW+h+16uMDhU5PbHqq31dv1w73cr+KP4Q==
"@polkadot/wasm-crypto@^0.12.1":
version "0.12.1"
resolved "https://registry.yarnpkg.com/@polkadot/wasm-crypto/-/wasm-crypto-0.12.1.tgz#c29b0048c7547b42fd85c8fed5226c462095f4e2"
integrity sha512-hwV4TB/DJ5mTOzCIvCDjrbHJZdoDteHSJ025hUcUciAVBPHpKaOvhxcXO6Thzvt4NQWyx6giTW1FtF4bpS3HTg==
"@types/babel__core@^7.1.0":
version "7.1.2"