Ledger support (#1620)

* Ledger support

* libusb dep for CircleCI

* LedgerSigner for signer app

* Bump ui-*

* Extract ledger query

* Ledger support behind ?ledger=... param

* Fix query-string dep

* Bump deps
This commit is contained in:
Jaco Greeff 2019-09-18 10:37:59 +02:00 committed by GitHub
parent a4dfaef66c
commit a92335aaf4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
19 changed files with 466 additions and 110 deletions

View File

@ -11,6 +11,9 @@ jobs:
- checkout
- restore_cache:
key: dependency-cache-{{ checksum "yarn.lock" }}
- run:
name: install-apt
command: sudo apt-get install libusb-1.0.0
- run:
name: install-deps
command: yarn install --frozen-lockfile

View File

@ -10,10 +10,10 @@
"packages/*"
],
"resolutions": {
"@polkadot/api": "^0.93.0-beta.3",
"@polkadot/api-contract": "^0.93.0-beta.3",
"@polkadot/api": "^0.93.0-beta.7",
"@polkadot/api-contract": "^0.93.0-beta.7",
"@polkadot/keyring": "^1.4.1",
"@polkadot/types": "^0.93.0-beta.3",
"@polkadot/types": "^0.93.0-beta.7",
"@polkadot/util": "^1.4.1",
"@polkadot/util-crypto": "^1.4.1",
"@types/styled-components": "4.1.8",

View File

@ -12,7 +12,7 @@
"dependencies": {
"@babel/runtime": "^7.6.0",
"@polkadot/react-components": "^0.36.0-beta.12",
"@polkadot/react-qr": "^0.45.0-beta.8",
"@polkadot/react-qr": "^0.45.0-beta.12",
"@types/file-saver": "^2.0.0",
"@types/yargs": "^13.0.2",
"babel-plugin-module-resolver": "^3.1.1",

View File

@ -33,7 +33,7 @@ function Account ({ address, className, t }: Props): React.ReactElement<Props> {
const account = keyring.getAccount(address);
setGenesisHash((account && account.meta.genesisHash) || null);
setIsEditable((account && !(account.meta.isInjected)) || false);
setIsEditable((account && !(account.meta.isInjected || account.meta.isHardware)) || false);
setIsExternal((account && account.meta.isExternal) || false);
}, [address]);

View File

@ -7,8 +7,9 @@ import { SubjectInfo } from '@polkadot/ui-keyring/observable/types';
import { ComponentProps } from './types';
import React, { useState } from 'react';
import keyring from '@polkadot/ui-keyring';
import accountObservable from '@polkadot/ui-keyring/observable/accounts';
import { withMulti, withObservable } from '@polkadot/react-api';
import { getLedger, isLedger, withMulti, withObservable } from '@polkadot/react-api';
import { Button, CardGrid } from '@polkadot/react-components';
import CreateModal from './modals/Create';
@ -22,6 +23,19 @@ interface Props extends ComponentProps, I18nProps {
accounts?: SubjectInfo[];
}
// query the ledger for the address, adding it to the keyring
async function queryLedger (): Promise<void> {
const ledger = getLedger();
try {
const { address } = await ledger.getAddress();
keyring.addHardware(address, 'ledger', { name: 'ledger' });
} catch (error) {
console.error(error);
}
}
function Overview ({ accounts = [], onStatusChange, t }: Props): React.ReactElement<Props> {
const [isCreateOpen, setIsCreateOpen] = useState(false);
const [isImportOpen, setIsImportOpen] = useState(false);
@ -54,6 +68,16 @@ function Overview ({ accounts = [], onStatusChange, t }: Props): React.ReactElem
label={t('Add via Qr')}
onClick={_toggleQr}
/>
{isLedger() && (
<>
<Button.Or />
<Button
isPrimary
label={t('Query Ledger')}
onClick={queryLedger}
/>
</>
)}
</Button.Group>
}
isEmpty={emptyScreen}

View File

@ -11,7 +11,7 @@
"license": "Apache-2.0",
"dependencies": {
"@babel/runtime": "^7.6.0",
"@polkadot/api-contract": "^0.93.0-beta.3",
"@polkadot/api-contract": "^0.93.0-beta.7",
"@polkadot/react-components": "^0.36.0-beta.12"
}
}

View File

@ -12,6 +12,7 @@
"dependencies": {
"@babel/runtime": "^7.6.0",
"@polkadot/react-components": "^0.36.0-beta.12",
"@polkadot/react-query": "^0.36.0-beta.12"
"@polkadot/react-query": "^0.36.0-beta.12",
"query-string": "^6.8.3"
}
}

View File

@ -5,6 +5,7 @@
import { AppProps, I18nProps } from '@polkadot/react-components/types';
import { Option } from './types';
import queryString from 'query-string';
import React, { useEffect, useState } from 'react';
import { Button, Dropdown } from '@polkadot/react-components';
import { ActionStatus } from '@polkadot/react-components/Status/types';
@ -18,7 +19,9 @@ interface Props extends AppProps, I18nProps {
onStatusChange: (status: ActionStatus) => void;
}
const WITH_LEDGER = false;
// check for a ledger=... string, acivate
const urlOptions = queryString.parse(location.href.split('?')[1]);
const WITH_LEDGER = !!urlOptions.ledger;
const prefixOptions = uiSettings.availablePrefixes.map((o): Option => createOption(o, ['default']));
const iconOptions = uiSettings.availableIcons.map((o): Option => createIdenticon(o, ['default']));

View File

@ -12,10 +12,11 @@
"contributors": [],
"license": "Apache-2.0",
"dependencies": {
"@babel/polyfill": "^7.6.0",
"@babel/runtime": "^7.6.0",
"@polkadot/react-components": "^0.36.0-beta.12",
"@polkadot/react-signer": "^0.36.0-beta.12",
"@polkadot/ui-assets": "^0.45.0-beta.8",
"query-string": "^6.8.2"
"@polkadot/ui-assets": "^0.45.0-beta.12",
"query-string": "^6.8.3"
}
}

View File

@ -32,6 +32,7 @@ function createWebpack ({ alias = {}, context, name = 'index' }) {
context,
devtool,
entry: [
'@babel/polyfill',
`./src/${name}.tsx`,
isProd
? null

View File

@ -31,7 +31,7 @@
"homepage": "https://github.com/polkadot-js/ui/tree/master/packages/ui-reactive#readme",
"dependencies": {
"@babel/runtime": "^7.6.0",
"@polkadot/api": "^0.93.0-beta.3",
"@polkadot/api": "^0.93.0-beta.7",
"@polkadot/extension-dapp": "^0.11.0-beta.5",
"edgeware-node-types": "^1.0.10",
"rxjs-compat": "^6.5.3"

View File

@ -5,6 +5,7 @@
import Api, { api } from './Api';
import ApiContext from './ApiContext';
export * from './ledger';
export * from './with';
export {

View File

@ -0,0 +1,24 @@
// Copyright 2017-2019 @polkadot/react-api 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 { Ledger } from '@polkadot/ui-keyring';
import uiSettings from '@polkadot/ui-settings';
let ledger: Ledger | null = null;
export function isLedger (): boolean {
return uiSettings.ledgerConn !== 'none';
}
export function clearLedger (): void {
ledger = null;
}
export function getLedger (): Ledger {
if (!ledger) {
ledger = new Ledger(uiSettings.ledgerConn as 'u2f');
}
return ledger;
}

View File

@ -13,10 +13,10 @@
"@babel/runtime": "^7.6.0",
"@polkadot/keyring": "^1.4.1",
"@polkadot/react-api": "^0.36.0-beta.12",
"@polkadot/react-identicon": "^0.45.0-beta.8",
"@polkadot/react-identicon": "^0.45.0-beta.12",
"@polkadot/react-query": "^0.36.0-beta.12",
"@polkadot/ui-keyring": "^0.45.0-beta.8",
"@polkadot/ui-settings": "^0.45.0-beta.8",
"@polkadot/ui-keyring": "^0.45.0-beta.12",
"@polkadot/ui-settings": "^0.45.0-beta.12",
"@types/chart.js": "^2.8.5",
"@types/i18next": "^13.0.0",
"@types/react-copy-to-clipboard": "^4.2.6",

View File

@ -28,9 +28,11 @@ export default function CryptoType ({ accountId, className, label = '' }: Props)
setType(
current.meta.isInjected
? 'injected'
: current.meta.isExternal
? 'external'
: current.type
: current.meta.isHardware
? current.meta.hardwareType || 'hardware'
: current.meta.isExternal
? 'external'
: current.type
);
}
} catch (error) {

View File

@ -12,6 +12,6 @@
"dependencies": {
"@babel/runtime": "^7.6.0",
"@polkadot/react-components": "^0.36.0-beta.12",
"@polkadot/react-qr": "^0.45.0-beta.8"
"@polkadot/react-qr": "^0.45.0-beta.12"
}
}

View File

@ -0,0 +1,22 @@
// Copyright 2017-2019 @polkadot/react-signer 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 { Signer, SignerResult } from '@polkadot/api/types';
import { SignerPayloadJSON } from '@polkadot/types/types';
import { getLedger } from '@polkadot/react-api';
import { createType } from '@polkadot/types';
export class LedgerSigner implements Signer {
public async signPayload (payload: SignerPayloadJSON): Promise<SignerResult> {
const raw = createType('ExtrinsicPayload', payload, { version: payload.version });
const { signature } = await getLedger().sign(raw.toU8a(true));
return { id: 0, signature };
}
}
const ledgerSigner = new LedgerSigner();
export default ledgerSigner;

View File

@ -23,6 +23,7 @@ import keyring from '@polkadot/ui-keyring';
import { assert, isFunction } from '@polkadot/util';
import { format } from '@polkadot/util/logger';
import ledgerSigner from './LedgerSigner';
import PasswordCheck from './PasswordCheck';
import Transaction from './Transaction';
import Qr from './Qr';
@ -141,7 +142,7 @@ class Signer extends React.PureComponent<Props, State> {
return null;
}
const isExternal = this.isExternal(currentItem.accountId);
const { isExternal, isHardware, hardwareType } = this.isExternal(currentItem.accountId);
return (
<Modal.Actions>
@ -174,9 +175,11 @@ class Signer extends React.PureComponent<Props, State> {
? t('Scan Signature Qr')
: currentItem.isUnsigned
? t('Submit (no signature)')
: isExternal
? t('Sign via Qr')
: t('Sign and Submit')
: isHardware
? t('Sign via {{hardwareType}}', { replace: { hardwareType: hardwareType || 'hardware' } })
: isExternal
? t('Sign via Qr')
: t('Sign and Submit')
}
/>
</>
@ -262,9 +265,9 @@ class Signer extends React.PureComponent<Props, State> {
);
}
private isExternal (accountId?: string | null): boolean {
private isExternal (accountId?: string | null): { isExternal: boolean; isHardware: boolean; hardwareType?: string } {
if (!accountId) {
return false;
return { isExternal: false, isHardware: false };
}
let publicKey;
@ -274,12 +277,16 @@ class Signer extends React.PureComponent<Props, State> {
} catch (error) {
console.error(error);
return false;
return { isExternal: false, isHardware: false };
}
const pair = keyring.getPair(publicKey);
return !!pair.meta.isExternal;
return {
isExternal: !!pair.meta.isExternal,
isHardware: !!pair.meta.isHardware,
hardwareType: pair.meta.hardwareType
};
}
private unlockAccount (accountId: string, password?: string): string | null {
@ -368,8 +375,6 @@ class Signer extends React.PureComponent<Props, State> {
}
private signQrPayload = (payload: SignerPayloadJSON): Promise<SignerResult> => {
console.error('signQrPayload', payload);
return new Promise((resolve, reject): void => {
this.setState({
isQrVisible: true,
@ -482,12 +487,15 @@ class Signer extends React.PureComponent<Props, State> {
const params = [];
if (pair) {
const { address, meta: { isExternal, isInjected, source } } = pair;
const { address, meta: { isExternal, isHardware, isInjected, source } } = pair;
queueSetTxStatus(id, 'signing');
// set the signer
if (isExternal) {
if (isHardware) {
api.setSigner(ledgerSigner);
params.push(address);
} else if (isExternal) {
queueSetTxStatus(id, 'qr');
api.setSigner({ signPayload: this.signQrPayload });
params.push(address);

424
yarn.lock
View File

@ -695,6 +695,14 @@
"@babel/helper-regex" "^7.4.4"
regexpu-core "^4.5.4"
"@babel/polyfill@^7.6.0":
version "7.6.0"
resolved "https://registry.yarnpkg.com/@babel/polyfill/-/polyfill-7.6.0.tgz#6d89203f8b6cd323e8d946e47774ea35dc0619cc"
integrity sha512-q5BZJI0n/B10VaQQvln1IlDK3BTBJFbADx7tv+oXDPIDZuTo37H5Adb9jhlXm/fEN4Y7/64qD9mnrJJG7rmaTw==
dependencies:
core-js "^2.6.5"
regenerator-runtime "^0.13.2"
"@babel/preset-env@^7.0.0 < 7.4.0":
version "7.3.4"
resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.3.4.tgz#887cf38b6d23c82f19b5135298bdb160062e33e1"
@ -838,7 +846,7 @@
core-js "^2.6.5"
regenerator-runtime "^0.13.2"
"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.3.1", "@babel/runtime@^7.4.0", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.0":
"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.3.1", "@babel/runtime@^7.4.0", "@babel/runtime@^7.4.4", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.0":
version "7.6.0"
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.6.0.tgz#4fc1d642a9fd0299754e8b5de62c631cf5568205"
integrity sha512-89eSBLJsxNxOERC0Op4vd+0Bqm6wRMqMbFtV3i0/fbaWw/mJ8Q3eBvgX0G4SyrOOLCtbu98HspF8o09MRT+KzQ==
@ -1167,6 +1175,79 @@
"@types/istanbul-reports" "^1.1.1"
"@types/yargs" "^13.0.0"
"@ledgerhq/devices@^4.70.0":
version "4.70.0"
resolved "https://registry.yarnpkg.com/@ledgerhq/devices/-/devices-4.70.0.tgz#db335f555851cd575edc9e08c4c7d8b468710d61"
integrity sha512-xgcPls2BJivdG4pK8l4RFBf0CaMUNApP0sb+Izr9OlwbOH9iyLcLL2XC9AJuvoHGO1DUkDrCM2TkXJIx3Ui+Xg==
dependencies:
"@ledgerhq/errors" "^4.70.0"
"@ledgerhq/logs" "^4.70.0"
rxjs "^6.5.3"
"@ledgerhq/errors@^4.70.0":
version "4.70.0"
resolved "https://registry.yarnpkg.com/@ledgerhq/errors/-/errors-4.70.0.tgz#3ec196ed8f1211ed2f4e84969c26e9e97a3a4bc0"
integrity sha512-XFFuVGJ34dhkIfqTUGudPvnSx3cRGuZ+oVr8lR4UFuc29TwDVjf1X4GJ5wQU4XUqS4rNe+I+Tq7BK7V1DFX9lQ==
"@ledgerhq/hw-transport-node-hid-noevents@^4.70.0":
version "4.70.0"
resolved "https://registry.yarnpkg.com/@ledgerhq/hw-transport-node-hid-noevents/-/hw-transport-node-hid-noevents-4.70.0.tgz#c2b235c5b80898b0f78fecc75a19421724a4def9"
integrity sha512-i+0zmxlpx+MtXAxJA/rr/M0j4wDDm8hRLu+Xq7dBLky7ANJernyR/Xkrgn0y0VFec20pWk3T00EyIZ3S3M2Uyg==
dependencies:
"@ledgerhq/devices" "^4.70.0"
"@ledgerhq/errors" "^4.70.0"
"@ledgerhq/hw-transport" "^4.70.0"
"@ledgerhq/logs" "^4.70.0"
node-hid "^0.7.9"
"@ledgerhq/hw-transport-node-hid@^4.70.0":
version "4.70.0"
resolved "https://registry.yarnpkg.com/@ledgerhq/hw-transport-node-hid/-/hw-transport-node-hid-4.70.0.tgz#7ded1ae6d5ad5bf06de1cceadc8480401eef303c"
integrity sha512-/KyfYoKLqnJwwRKf6t4oYaTWlUwF2u8+KdyIrPzDcBqCSgml6dYR9hPyem/R8xoHelmn1XuzCd0n5bBBeeNMsQ==
dependencies:
"@ledgerhq/devices" "^4.70.0"
"@ledgerhq/errors" "^4.70.0"
"@ledgerhq/hw-transport" "^4.70.0"
"@ledgerhq/hw-transport-node-hid-noevents" "^4.70.0"
"@ledgerhq/logs" "^4.70.0"
lodash "^4.17.15"
node-hid "^0.7.9"
usb "^1.6.0"
"@ledgerhq/hw-transport-u2f@^4.70.0":
version "4.70.0"
resolved "https://registry.yarnpkg.com/@ledgerhq/hw-transport-u2f/-/hw-transport-u2f-4.70.0.tgz#1f10465d7cab016f787c552d05aa48c6bd235a58"
integrity sha512-ttQtwdg/reTUWUwySwf13+3u3skr6/l3MaTFwxMri9H6sq+EicrcH+8pD74JtZ3gT/GhESskwGpo7QzfaO+YQQ==
dependencies:
"@ledgerhq/errors" "^4.70.0"
"@ledgerhq/hw-transport" "^4.70.0"
"@ledgerhq/logs" "^4.70.0"
u2f-api "0.2.7"
"@ledgerhq/hw-transport-webusb@^4.70.0":
version "4.70.0"
resolved "https://registry.yarnpkg.com/@ledgerhq/hw-transport-webusb/-/hw-transport-webusb-4.70.0.tgz#7fe27d06d6b5f6bd9f1499ed80b66d83a97c8f25"
integrity sha512-HxxSdYTXWLdgFPN51yKp6LKea4HJsE+Y0Y+YIbpD8toOhAz4G3trf8n0nHTagBaDGIWTK5JTXMFO2XTv4Gt4vg==
dependencies:
"@ledgerhq/devices" "^4.70.0"
"@ledgerhq/errors" "^4.70.0"
"@ledgerhq/hw-transport" "^4.70.0"
"@ledgerhq/logs" "^4.70.0"
"@ledgerhq/hw-transport@^4.35.0", "@ledgerhq/hw-transport@^4.70.0":
version "4.70.0"
resolved "https://registry.yarnpkg.com/@ledgerhq/hw-transport/-/hw-transport-4.70.0.tgz#2733b83c6d600f8d3c5ffb588d010e40b9d0bcc3"
integrity sha512-kl3TGlpy6iH3byVT+9Df9ObN3Ahi7O6eg8FHAWORO4jGUHROPiI8FYL03DTEvBXG5GqyKN1NfvvcKyC3N2dL2w==
dependencies:
"@ledgerhq/devices" "^4.70.0"
"@ledgerhq/errors" "^4.70.0"
events "^3.0.0"
"@ledgerhq/logs@^4.70.0":
version "4.70.0"
resolved "https://registry.yarnpkg.com/@ledgerhq/logs/-/logs-4.70.0.tgz#b5176430ccb5a81becce25fcbbd8afcfa91a4388"
integrity sha512-hyMppU1b2tBDRyKJiV71RnN51Tkkriv/7DHQF9thAmrwEDFmfmEwAQaS2VyeIogir0HD7aDcKg7DnHqgiWe/8g==
"@lerna/add@3.16.2":
version "3.16.2"
resolved "https://registry.yarnpkg.com/@lerna/add/-/add-3.16.2.tgz#90ecc1be7051cfcec75496ce122f656295bd6e94"
@ -1931,45 +2012,45 @@
once "^1.4.0"
universal-user-agent "^4.0.0"
"@polkadot/api-contract@^0.93.0-beta.3":
version "0.93.0-beta.3"
resolved "https://registry.yarnpkg.com/@polkadot/api-contract/-/api-contract-0.93.0-beta.3.tgz#7647b8419c142c7791a372f2a993febc654931d8"
integrity sha512-byPO8SS+P6pz3njvWzpqmxbSmOsP28Wa3pK/vvMboysf9S2Z70fhOwF9ZDQSj2wujD5ZOi3hKRCoERgc9h8obg==
"@polkadot/api-contract@^0.93.0-beta.7":
version "0.93.0-beta.7"
resolved "https://registry.yarnpkg.com/@polkadot/api-contract/-/api-contract-0.93.0-beta.7.tgz#1b41572c58e4490ecb93b1b06f6ead6b01f49d69"
integrity sha512-i1vGfd7B+FvUHHeplKzq73GFSV0IkFX+aCIzSWS/dK5SZGlZH1q9hyoK62s2x1czSb87y4jK2mJXxVoLEuy7uA==
dependencies:
"@babel/runtime" "^7.6.0"
"@polkadot/types" "^0.93.0-beta.3"
"@polkadot/types" "^0.93.0-beta.7"
"@polkadot/api-derive@^0.93.0-beta.3":
version "0.93.0-beta.3"
resolved "https://registry.yarnpkg.com/@polkadot/api-derive/-/api-derive-0.93.0-beta.3.tgz#d15c351ec68866e9d036baadc077b159bede378e"
integrity sha512-oAlL5HrQXYq3EFvOalEB7EpYP+U27QIsgRZuDHKbYzwk5KTIe6LNy88XKFiw5hCG4M84adqF6Za+IPV18SE8lw==
"@polkadot/api-derive@^0.93.0-beta.7":
version "0.93.0-beta.7"
resolved "https://registry.yarnpkg.com/@polkadot/api-derive/-/api-derive-0.93.0-beta.7.tgz#57c14722f641adc74d55706d7fd1a2f0f749fd2c"
integrity sha512-7LNkq/WGOvoyUin6yoOszQj2H8LA02OKqlWLSyDLHP5Ldag4JOjE6agHgwQgiRDwxn7tOZIKY+rniOlaiXDkTg==
dependencies:
"@babel/runtime" "^7.6.0"
"@polkadot/api" "^0.93.0-beta.3"
"@polkadot/types" "^0.93.0-beta.3"
"@polkadot/api" "^0.93.0-beta.7"
"@polkadot/types" "^0.93.0-beta.7"
"@polkadot/api-metadata@^0.93.0-beta.3":
version "0.93.0-beta.3"
resolved "https://registry.yarnpkg.com/@polkadot/api-metadata/-/api-metadata-0.93.0-beta.3.tgz#62e58e48a8a16d56517a88df08a62018f4ceaf89"
integrity sha512-c8gCFbO7h+3j/Msq0KwP3iX3FLaLdOJMEQAY/FcoWXiL0xE4bKHqH9EinBJhGje5YrGnLLt5ifPB0I2PKooDYw==
"@polkadot/api-metadata@^0.93.0-beta.7":
version "0.93.0-beta.7"
resolved "https://registry.yarnpkg.com/@polkadot/api-metadata/-/api-metadata-0.93.0-beta.7.tgz#e152fe2f4678c72776ee0e565ac26dae5bc61a14"
integrity sha512-pkodoQisyJrYpfhvKAoTjiwKJt3TEjm3oKlnC2PDs6t+OFldRt2e2k9oybYl9upYhMyhsIeTUoIcxYEwzZ6VOg==
dependencies:
"@babel/runtime" "^7.6.0"
"@polkadot/types" "^0.93.0-beta.3"
"@polkadot/types" "^0.93.0-beta.7"
"@polkadot/util" "^1.4.1"
"@polkadot/util-crypto" "^1.4.1"
"@polkadot/api@^0.93.0-beta.3":
version "0.93.0-beta.3"
resolved "https://registry.yarnpkg.com/@polkadot/api/-/api-0.93.0-beta.3.tgz#6a1151de6dcc03732d27737de9128df028a74eda"
integrity sha512-uIx+xJAgfVdb0aqQipNhl+hECXvjh0EbzyYsSBl5xe0ke07jSkX3UrIiPMpms5MZjX6aIWhZiEVTweqpTl+M4A==
"@polkadot/api@^0.93.0-beta.7":
version "0.93.0-beta.7"
resolved "https://registry.yarnpkg.com/@polkadot/api/-/api-0.93.0-beta.7.tgz#66c343b41115e46646a229e18418c1879d33405b"
integrity sha512-pkYJThrZFtU16IU1wg6NazsuYwLlmXCHzP/OlMMAWdIuC95aoo2YaYJf8FXvyw4LN+tNUX1I3dikP+IDr+rh/Q==
dependencies:
"@babel/runtime" "^7.6.0"
"@polkadot/api-derive" "^0.93.0-beta.3"
"@polkadot/api-metadata" "^0.93.0-beta.3"
"@polkadot/api-derive" "^0.93.0-beta.7"
"@polkadot/api-metadata" "^0.93.0-beta.7"
"@polkadot/keyring" "^1.4.1"
"@polkadot/rpc-core" "^0.93.0-beta.3"
"@polkadot/rpc-provider" "^0.93.0-beta.3"
"@polkadot/types" "^0.93.0-beta.3"
"@polkadot/rpc-core" "^0.93.0-beta.7"
"@polkadot/rpc-provider" "^0.93.0-beta.7"
"@polkadot/types" "^0.93.0-beta.7"
"@polkadot/util-crypto" "^1.4.1"
"@polkadot/dev-react@^0.31.0-beta.8":
@ -2068,10 +2149,10 @@
dependencies:
"@babel/runtime" "^7.6.0"
"@polkadot/jsonrpc@^0.93.0-beta.3":
version "0.93.0-beta.3"
resolved "https://registry.yarnpkg.com/@polkadot/jsonrpc/-/jsonrpc-0.93.0-beta.3.tgz#c241da07d2e8aeec9f84f7b399274792032f34a5"
integrity sha512-N2wvHQEgCzxmA3NJR3kGyVwz29UEefCJXPV0zUO76kJmf8seVgJ5Vyo8OUs7mQCF6B1pqjPdLrkUAU/44L2KOw==
"@polkadot/jsonrpc@^0.93.0-beta.7":
version "0.93.0-beta.7"
resolved "https://registry.yarnpkg.com/@polkadot/jsonrpc/-/jsonrpc-0.93.0-beta.7.tgz#bb297b2c90855729e9b9a021bf2b01b85ccdebfc"
integrity sha512-gvV0RelF80r5bBRzDxSkxC9pfn4Mpa/WPr8od/igrw6Ayz9EvUU8BQOdyx8t+PFnkofcP+EGrBSbHRT/TGMmTw==
dependencies:
"@babel/runtime" "^7.6.0"
@ -2084,14 +2165,14 @@
"@polkadot/util" "^1.4.1"
"@polkadot/util-crypto" "^1.4.1"
"@polkadot/react-identicon@^0.45.0-beta.8":
version "0.45.0-beta.8"
resolved "https://registry.yarnpkg.com/@polkadot/react-identicon/-/react-identicon-0.45.0-beta.8.tgz#03e362b5864b0ee41670e77da7c86aae7d9cc5b5"
integrity sha512-Nc0yPU4CV5prtob0AQ0J+PTA+O/OjFnXkyHuKlRqGFoTvlKc8s63ysCbcAVTHaUwQSbe7RndXVNwnQsNEhCbmQ==
"@polkadot/react-identicon@^0.45.0-beta.12":
version "0.45.0-beta.12"
resolved "https://registry.yarnpkg.com/@polkadot/react-identicon/-/react-identicon-0.45.0-beta.12.tgz#7552b118023b44f625bf8501d30dca2ebf8cf286"
integrity sha512-vjRBmxgcYKKvpl2Tv5bKs2B+F/W60XXdSAfsLOHm94csL/B4EMqEoezIlRN0kGNds30OHni0UgMU9LBFt9j+tQ==
dependencies:
"@babel/runtime" "^7.6.0"
"@polkadot/ui-settings" "^0.45.0-beta.8"
"@polkadot/ui-shared" "^0.45.0-beta.8"
"@polkadot/ui-settings" "^0.45.0-beta.12"
"@polkadot/ui-shared" "^0.45.0-beta.12"
"@types/color" "^3.0.0"
"@types/react-copy-to-clipboard" "^4.2.6"
color "^3.1.2"
@ -2099,35 +2180,35 @@
react-copy-to-clipboard "^5.0.1"
styled-components "^4.3.1"
"@polkadot/react-qr@^0.45.0-beta.8":
version "0.45.0-beta.8"
resolved "https://registry.yarnpkg.com/@polkadot/react-qr/-/react-qr-0.45.0-beta.8.tgz#94dadab87d0e865ce03c7c5fcdbfc89cc74b6dd4"
integrity sha512-6OrJNuN2kEC5Lyv7IN8Ra4Z+Nu0/yzh9G6I1owdY46ZDX9ds2toCIV4GzztbK5Bhsnx76HKGVdkPaazRXzlrPA==
"@polkadot/react-qr@^0.45.0-beta.12":
version "0.45.0-beta.12"
resolved "https://registry.yarnpkg.com/@polkadot/react-qr/-/react-qr-0.45.0-beta.12.tgz#d63517cba8e0b20ec56dbb099b4de5bdec7b4bfd"
integrity sha512-fFYaS63Mk+oKWr2U4Ww3sy/R4OUFDW2rGQ1TBmzHU74YUMoQyNM3BNO7tvNH15rG1fzLshXj8s8nzRbWgiRMjA==
dependencies:
"@babel/runtime" "^7.6.0"
"@types/react-qr-reader" "^2.1.1"
qrcode-generator "^1.4.3"
react-qr-reader "^2.2.1"
"@polkadot/rpc-core@^0.93.0-beta.3":
version "0.93.0-beta.3"
resolved "https://registry.yarnpkg.com/@polkadot/rpc-core/-/rpc-core-0.93.0-beta.3.tgz#0e56aeb6fc43563af109ac02cc7532350785e6f8"
integrity sha512-aqVcp5JuY8tSHgWO+SBZPFXPy/rL3ydk0Oted7aLGNbz3kT2I5MprqHluwcuxdaGDghk+MWY7xRqaVg5ErAMvA==
"@polkadot/rpc-core@^0.93.0-beta.7":
version "0.93.0-beta.7"
resolved "https://registry.yarnpkg.com/@polkadot/rpc-core/-/rpc-core-0.93.0-beta.7.tgz#41cc8fec60885961964b219a26842a556521f7b4"
integrity sha512-SchbJBhGJy+3444LKNWaMj41EGRuHuQJtkt4KvIlDzEWMrTWAgrWiyIgvbx/8KD7ZbH09nXk36JDxDm1sYWn1g==
dependencies:
"@babel/runtime" "^7.6.0"
"@polkadot/jsonrpc" "^0.93.0-beta.3"
"@polkadot/rpc-provider" "^0.93.0-beta.3"
"@polkadot/types" "^0.93.0-beta.3"
"@polkadot/jsonrpc" "^0.93.0-beta.7"
"@polkadot/rpc-provider" "^0.93.0-beta.7"
"@polkadot/types" "^0.93.0-beta.7"
"@polkadot/util" "^1.4.1"
rxjs "^6.5.3"
"@polkadot/rpc-provider@^0.93.0-beta.3":
version "0.93.0-beta.3"
resolved "https://registry.yarnpkg.com/@polkadot/rpc-provider/-/rpc-provider-0.93.0-beta.3.tgz#242a0e12ea346a54fd83fbd46cb79566e90225ea"
integrity sha512-/A386Bn9mmvpoulwMEMnJTEGAWI1m4+Wu5jaStVoWnVdueTm2zkNwswe4+ypkXDJGHbdRY5k3mmFepy6cGlJWQ==
"@polkadot/rpc-provider@^0.93.0-beta.7":
version "0.93.0-beta.7"
resolved "https://registry.yarnpkg.com/@polkadot/rpc-provider/-/rpc-provider-0.93.0-beta.7.tgz#03a11c24c6ae2b0f33f471d2cf9175eee3b82409"
integrity sha512-sBqlgQ7Jx/tjzZI6Fkx1KsviPBX1xpGd3vHT0QBZjj6VIu5dp0I90UC7xOU9Zq2B6yE8TUGUcpy7zDyL+95GXQ==
dependencies:
"@babel/runtime" "^7.6.0"
"@polkadot/api-metadata" "^0.93.0-beta.3"
"@polkadot/api-metadata" "^0.93.0-beta.7"
"@polkadot/util" "^1.4.1"
"@polkadot/util-crypto" "^1.4.1"
"@types/nock" "^10.0.3"
@ -2142,10 +2223,10 @@
dependencies:
"@types/chrome" "^0.0.88"
"@polkadot/types@^0.93.0-beta.3":
version "0.93.0-beta.3"
resolved "https://registry.yarnpkg.com/@polkadot/types/-/types-0.93.0-beta.3.tgz#2a5843c35b3fb3369390e66236ff20968099b9fe"
integrity sha512-RlwhdtnQXq9yHgNwQJ2Rnl0RtklGucPFJE2in6gCNrvAE9V+KbJqXrwGtCqbt/CmGySTZclaL9yJ9Qzg1JgS1w==
"@polkadot/types@^0.93.0-beta.7":
version "0.93.0-beta.7"
resolved "https://registry.yarnpkg.com/@polkadot/types/-/types-0.93.0-beta.7.tgz#c45d3aa2eff3082d8a45a9c0ec9fbbaa103e9008"
integrity sha512-WwvAcfFC0j4lqBskl1TsJ3AkfvFggdtcKtS0qvmBxzvJZsTP7mdbHYECBTnT6TmNRi142a67rOHh4x+/UkWb6Q==
dependencies:
"@babel/runtime" "^7.6.0"
"@polkadot/util" "^1.4.1"
@ -2153,39 +2234,45 @@
"@types/memoizee" "^0.4.3"
memoizee "^0.4.14"
"@polkadot/ui-assets@^0.45.0-beta.8":
version "0.45.0-beta.8"
resolved "https://registry.yarnpkg.com/@polkadot/ui-assets/-/ui-assets-0.45.0-beta.8.tgz#9a7b93147435a81be35e9c9ea079cbfac44510c9"
integrity sha512-kZciq3a6p69+SCxV/Gf7U6VHEslV8jhxVKMSZMLJV9YSCfEeI97/SB9V3OPRrTtBTF1f2YVUJwGq7gXkOvJ8BA==
"@polkadot/ui-assets@^0.45.0-beta.12":
version "0.45.0-beta.12"
resolved "https://registry.yarnpkg.com/@polkadot/ui-assets/-/ui-assets-0.45.0-beta.12.tgz#f0f89f1524291462637921554031b2958196d4e9"
integrity sha512-7eJq0w/ikKpZAYrKOvIHqLMCiuQ9lIvsu2o0VNTxkfUvZLPKUbhFFFHLjFyESl48bYdUIfgnqwIZ4bPRXeCHFw==
dependencies:
"@babel/runtime" "^7.6.0"
"@polkadot/ui-keyring@^0.45.0-beta.8":
version "0.45.0-beta.8"
resolved "https://registry.yarnpkg.com/@polkadot/ui-keyring/-/ui-keyring-0.45.0-beta.8.tgz#29c1e7491a910408b9684e81e83dc797dc71a992"
integrity sha512-Y/EezRsu1j2uwPwYsoCJA0LlSwuSIrBA5u/VsaCwx520OWH5sV0Wm5UvzvM7hS7l3Z/FlKDH7WtPSS6V1jhOTQ==
"@polkadot/ui-keyring@^0.45.0-beta.12":
version "0.45.0-beta.12"
resolved "https://registry.yarnpkg.com/@polkadot/ui-keyring/-/ui-keyring-0.45.0-beta.12.tgz#1624e8ab032a8ba0df36277da283645bab7f39fd"
integrity sha512-IxAR4TD+Umm2UCQsadV1EXHvksgMWg2vgdEwA2tFIPBE5c5GClreOsvgvRt+5WjHZ4cmaHMv+93C1U5p3/lqUg==
dependencies:
"@babel/runtime" "^7.6.0"
"@ledgerhq/hw-transport-node-hid" "^4.70.0"
"@ledgerhq/hw-transport-u2f" "^4.70.0"
"@ledgerhq/hw-transport-webusb" "^4.70.0"
"@types/ledgerhq__hw-transport-node-hid" "^4.21.1"
"@types/ledgerhq__hw-transport-u2f" "^4.21.1"
"@types/mkdirp" "^0.5.2"
"@types/store" "^2.0.2"
extensionizer "^1.0.1"
ledger-polkadot "^0.0.4"
mkdirp "^0.5.1"
store "^2.0.12"
styled-components "^4.3.1"
"@polkadot/ui-settings@^0.45.0-beta.8":
version "0.45.0-beta.8"
resolved "https://registry.yarnpkg.com/@polkadot/ui-settings/-/ui-settings-0.45.0-beta.8.tgz#2323e417e8b2fcf0579a223f77ff31fded412551"
integrity sha512-QTlWJCzDo1sLi7QMmH/bBn3UDEhLSo5vJsF0Vi3dmiQyZLscHpzANRmtgW5oqIsO0FoEh3QvwHlhN6UjlmfNPg==
"@polkadot/ui-settings@^0.45.0-beta.12":
version "0.45.0-beta.12"
resolved "https://registry.yarnpkg.com/@polkadot/ui-settings/-/ui-settings-0.45.0-beta.12.tgz#cbd647df564533cd599f259a3b96a6d63cc75c6e"
integrity sha512-UBsv1i5/KEPvCotL4PBdiSx2YJDxlVN4jtwLTOA5AcOJcITubY/caV/07TJMFQ+80t8dJAxB5J7vdQF+WI4/ZA==
dependencies:
"@babel/runtime" "^7.6.0"
"@types/store" "^2.0.2"
store "^2.0.12"
"@polkadot/ui-shared@^0.45.0-beta.8":
version "0.45.0-beta.8"
resolved "https://registry.yarnpkg.com/@polkadot/ui-shared/-/ui-shared-0.45.0-beta.8.tgz#9ee93536d3f455f2a40d385d234e4f6e82222029"
integrity sha512-6sPYuMV6pGG8aEE7pWf2M/HpcUzrN2QJ9AQlEirQvWdsY1hiutlEe9uq+Cq4lcFmKy0/nabhBdimxpv5yntmKQ==
"@polkadot/ui-shared@^0.45.0-beta.12":
version "0.45.0-beta.12"
resolved "https://registry.yarnpkg.com/@polkadot/ui-shared/-/ui-shared-0.45.0-beta.12.tgz#f218ba6d7415270fa01c9c016028484646e2e4cc"
integrity sha512-9hBE3+/Ez97Dzf4P/NHwdDAVCAzz46Or/L/4rVCTlagH0GQWT8k/J9agbAiTmp6i6SEhqWJBjgc/aYB1NBTgig==
dependencies:
"@babel/runtime" "^7.6.0"
"@types/color" "^3.0.0"
@ -2433,6 +2520,30 @@
resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.3.tgz#bdfd69d61e464dcc81b25159c270d75a73c1a636"
integrity sha512-Il2DtDVRGDcqjDtE+rF8iqg1CArehSK84HZJCT7AMITlyXRBpuPhqGLDQMowraqqu1coEaimg4ZOqggt6L6L+A==
"@types/ledgerhq__hw-transport-node-hid@^4.21.1":
version "4.22.1"
resolved "https://registry.yarnpkg.com/@types/ledgerhq__hw-transport-node-hid/-/ledgerhq__hw-transport-node-hid-4.22.1.tgz#0f075f8965c7234126eb19bc8d569b73cc9a6f8e"
integrity sha512-EVdR5HWKUsuQOeg8DUqyhAtCooPsYpA3q+xvEdcZsgXxD/R8XNuYxSDCKNVyl0nEfobfJisb7f3Ta+Shf58izw==
dependencies:
"@types/ledgerhq__hw-transport" "*"
"@types/node" "*"
"@types/node-hid" "*"
"@types/ledgerhq__hw-transport-u2f@^4.21.1":
version "4.21.1"
resolved "https://registry.yarnpkg.com/@types/ledgerhq__hw-transport-u2f/-/ledgerhq__hw-transport-u2f-4.21.1.tgz#8193aa3199cc5ba6cf7f9d880a88f2993a6c6c3b"
integrity sha512-8mVUb2/Oj3VtP/ERpm//HL/JOLxKFZycMeFjKxkRMp3283Vz0slBkeHxSdjxRQjiZi7zRu9amQ8dPXnr1B5nIg==
dependencies:
"@types/ledgerhq__hw-transport" "*"
"@types/node" "*"
"@types/ledgerhq__hw-transport@*":
version "4.21.2"
resolved "https://registry.yarnpkg.com/@types/ledgerhq__hw-transport/-/ledgerhq__hw-transport-4.21.2.tgz#92eaea9e4669df2c8ec5292b694097d1629b05c1"
integrity sha512-NhJwkdxdsqj/ZTq9KuBYtN+rDYOVYrlR3ByYNfK78iUOIlmXcXFBtfkhBUpX8c7dbE5uJZOjDdM3EC7Kf3Fakg==
dependencies:
"@types/node" "*"
"@types/memoizee@^0.4.3":
version "0.4.3"
resolved "https://registry.yarnpkg.com/@types/memoizee/-/memoizee-0.4.3.tgz#f48270d19327c1709620132cf54d598650f98492"
@ -2457,6 +2568,13 @@
dependencies:
"@types/node" "*"
"@types/node-hid@*":
version "0.7.3"
resolved "https://registry.yarnpkg.com/@types/node-hid/-/node-hid-0.7.3.tgz#993762b795473dc2ad8ee041f870838735087532"
integrity sha512-ip+Un3Ps0Qok3W3fMgYxaYxVYcbjDYM7yXNm8Uf1sggvSeXL/Q+vZG0AdSDWDQO9apQSE7Yieb4SjfymF1OqPA==
dependencies:
"@types/node" "*"
"@types/node@*", "@types/node@^12.7.5":
version "12.7.5"
resolved "https://registry.yarnpkg.com/@types/node/-/node-12.7.5.tgz#e19436e7f8e9b4601005d73673b6dc4784ffcc2f"
@ -3807,7 +3925,7 @@ binary-extensions@^1.0.0:
resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65"
integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==
bindings@^1.5.0:
bindings@^1.4.0, bindings@^1.5.0:
version "1.5.0"
resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df"
integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==
@ -3832,6 +3950,13 @@ bip66@^1.1.5:
dependencies:
safe-buffer "^5.0.1"
bl@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/bl/-/bl-3.0.0.tgz#3611ec00579fd18561754360b21e9f784500ff88"
integrity sha512-EUAyP5UHU5hxF8BPT0LKW8gjYLhq1DQIcneOX/pL/m2Alo+OYDQAJlHq+yseMP50Os2nHXOSic6Ss3vSQeyf4A==
dependencies:
readable-stream "^3.0.1"
blakejs@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/blakejs/-/blakejs-1.1.0.tgz#69df92ef953aa88ca51a32df6ab1c54a155fc7a5"
@ -5438,6 +5563,13 @@ decode-uri-component@^0.2.0:
resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545"
integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=
decompress-response@^3.3.0:
version "3.3.0"
resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3"
integrity sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=
dependencies:
mimic-response "^1.0.0"
dedent@^0.7.0:
version "0.7.0"
resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c"
@ -5602,7 +5734,7 @@ detect-indent@^5.0.0:
resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-5.0.0.tgz#3871cc0a6a002e8c3e5b3cf7f336264675f06b9d"
integrity sha1-OHHMCmoALow+Wzz38zYmRnXwa50=
detect-libc@^1.0.2:
detect-libc@^1.0.2, detect-libc@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b"
integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=
@ -5936,7 +6068,7 @@ encoding@^0.1.11:
dependencies:
iconv-lite "~0.4.13"
end-of-stream@^1.0.0, end-of-stream@^1.1.0:
end-of-stream@^1.0.0, end-of-stream@^1.1.0, end-of-stream@^1.4.1:
version "1.4.1"
resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43"
integrity sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==
@ -6498,6 +6630,11 @@ expand-range@^1.8.1:
dependencies:
fill-range "^2.1.0"
expand-template@^2.0.3:
version "2.0.3"
resolved "https://registry.yarnpkg.com/expand-template/-/expand-template-2.0.3.tgz#6e14b3fcee0f3a6340ecb57d2e8918692052a47c"
integrity sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==
expand-tilde@^2.0.0, expand-tilde@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502"
@ -7005,6 +7142,11 @@ from2@^2.1.0:
inherits "^2.0.1"
readable-stream "^2.0.0"
fs-constants@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad"
integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==
fs-extra@^7.0.0, fs-extra@^7.0.1:
version "7.0.1"
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9"
@ -7230,6 +7372,11 @@ gitconfiglocal@^1.0.0:
dependencies:
ini "^1.3.2"
github-from-package@0.0.0:
version "0.0.0"
resolved "https://registry.yarnpkg.com/github-from-package/-/github-from-package-0.0.0.tgz#97fb5d96bfde8973313f20e8288ef9a167fa64ce"
integrity sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4=
glob-base@^0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4"
@ -9468,6 +9615,14 @@ lead@^1.0.0:
dependencies:
flush-write-stream "^1.0.2"
ledger-polkadot@^0.0.4:
version "0.0.4"
resolved "https://registry.yarnpkg.com/ledger-polkadot/-/ledger-polkadot-0.0.4.tgz#3f9b56287fe25e51314df7c573a5b4dc8e620c7f"
integrity sha512-krXq/BC3K6VHKS4U1Ou+7HUEWCP4OkinK7z8NW5T2/NjQ62u1m9SeyHCXT03ycpU/WqhQWO7tuhvX3zhNH5eqA==
dependencies:
"@babel/runtime" "^7.4.4"
"@ledgerhq/hw-transport" "^4.35.0"
left-pad@^1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.3.0.tgz#5b8a3a7765dfe001261dde915589e782f8c94d1e"
@ -10170,6 +10325,11 @@ mimic-fn@^2.0.0, mimic-fn@^2.1.0:
resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
mimic-response@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b"
integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==
min-document@^2.19.0:
version "2.19.0"
resolved "https://registry.yarnpkg.com/min-document/-/min-document-2.19.0.tgz#7bd282e3f5842ed295bb748cdd9f1ffa2c824685"
@ -10398,7 +10558,12 @@ mz@^2.5.0, mz@^2.7.0:
object-assign "^4.0.1"
thenify-all "^1.0.0"
nan@^2.11.0, nan@^2.12.1, nan@^2.14.0:
nan@2.13.2:
version "2.13.2"
resolved "https://registry.yarnpkg.com/nan/-/nan-2.13.2.tgz#f51dc7ae66ba7d5d55e1e6d4d8092e802c9aefe7"
integrity sha512-TghvYc72wlMGMVMluVo9WRJc0mB8KxxF/gZ4YYFy7V2ZQX9l7rgbPg7vjS9mt6U5HXODVFVI2bOduCzwOMv/lw==
nan@^2.11.0, nan@^2.12.1, nan@^2.13.2, nan@^2.14.0:
version "2.14.0"
resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c"
integrity sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==
@ -10425,6 +10590,11 @@ nanomatch@^1.2.9:
snapdragon "^0.8.1"
to-regex "^3.0.1"
napi-build-utils@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/napi-build-utils/-/napi-build-utils-1.0.1.tgz#1381a0f92c39d66bf19852e7873432fc2123e508"
integrity sha512-boQj1WFgQH3v4clhu3mTNfP+vOBxorDlE8EKiMjUlLG3C4qAESnn9AxIOkFgTR2c9LtzNjPrjS60cT27ZKBhaA==
natural-compare@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
@ -10477,6 +10647,13 @@ no-case@^2.2.0:
dependencies:
lower-case "^1.1.1"
node-abi@^2.7.0:
version "2.11.0"
resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-2.11.0.tgz#b7dce18815057544a049be5ae75cd1fdc2e9ea59"
integrity sha512-kuy/aEg75u40v378WRllQ4ZexaXJiCvB68D2scDXclp/I4cRq6togpbOoKhmN07tns9Zldu51NNERo0wehfX9g==
dependencies:
semver "^5.4.1"
node-fetch-npm@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/node-fetch-npm/-/node-fetch-npm-2.0.2.tgz#7258c9046182dca345b4208eda918daf33697ff7"
@ -10521,6 +10698,15 @@ node-gyp@^5.0.2:
tar "^4.4.8"
which "1"
node-hid@^0.7.9:
version "0.7.9"
resolved "https://registry.yarnpkg.com/node-hid/-/node-hid-0.7.9.tgz#cc0cdf1418a286a7667f0b63642b5eeb544ccd05"
integrity sha512-vJnonTqmq3frCyTumJqG4g2IZcny3ynkfmbfDfQ90P3ZhRzcWYS/Um1ux6HFmAxmkaQnrZqIYHcGpL7kdqY8jA==
dependencies:
bindings "^1.5.0"
nan "^2.13.2"
prebuild-install "^5.3.0"
node-int64@^0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b"
@ -10594,6 +10780,11 @@ node-releases@^1.1.29:
dependencies:
semver "^5.3.0"
noop-logger@^0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/noop-logger/-/noop-logger-0.1.1.tgz#94a2b1633c4f1317553007d8966fd0e841b6a4c2"
integrity sha1-lKKxYzxPExdVMAfYlm/Q6EG2pMI=
nopt@1.0.10:
version "1.0.10"
resolved "https://registry.yarnpkg.com/nopt/-/nopt-1.0.10.tgz#6ddd21bd2a31417b92727dd585f8a6f37608ebee"
@ -10734,7 +10925,7 @@ npm-run-path@^3.0.0:
dependencies:
path-key "^3.0.0"
"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.2, npmlog@^4.1.2:
"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.1, npmlog@^4.0.2, npmlog@^4.1.2:
version "4.1.2"
resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b"
integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==
@ -12304,6 +12495,27 @@ postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.16, postcss@^7.0.1
source-map "^0.6.1"
supports-color "^6.1.0"
prebuild-install@^5.2.4, prebuild-install@^5.3.0:
version "5.3.2"
resolved "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-5.3.2.tgz#6392e9541ac0b879ef0f22b3d65037417eb2035e"
integrity sha512-INDfXzTPnhT+WYQemqnAXlP7SvfiFMopMozSgXCZ+RDLb279gKfIuLk4o7PgEawLp3WrMgIYGBpkxpraROHsSA==
dependencies:
detect-libc "^1.0.3"
expand-template "^2.0.3"
github-from-package "0.0.0"
minimist "^1.2.0"
mkdirp "^0.5.1"
napi-build-utils "^1.0.1"
node-abi "^2.7.0"
noop-logger "^0.1.1"
npmlog "^4.0.1"
pump "^3.0.0"
rc "^1.2.7"
simple-get "^3.0.3"
tar-fs "^2.0.0"
tunnel-agent "^0.6.0"
which-pm-runs "^1.0.0"
precss@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/precss/-/precss-4.0.0.tgz#518ce5c4d31eac9bd268c538ae6fb462f3bf57b3"
@ -12572,7 +12784,7 @@ query-string@^5.0.1:
object-assign "^4.1.0"
strict-uri-encode "^1.0.0"
query-string@^6.8.2:
query-string@^6.8.3:
version "6.8.3"
resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.8.3.tgz#fd9fb7ffb068b79062b43383685611ee47777d4b"
integrity sha512-llcxWccnyaWlODe7A9hRjkvdCKamEKTh+wH8ITdTc3OhchaqUZteiSCX/2ablWHVrkVIe04dntnaZJ7BdyW0lQ==
@ -12965,7 +13177,7 @@ read@1, read@~1.0.1:
string_decoder "~1.1.1"
util-deprecate "~1.0.1"
"readable-stream@2 || 3", readable-stream@^3.0.2, readable-stream@^3.0.6, readable-stream@^3.1.1:
"readable-stream@2 || 3", readable-stream@^3.0.1, readable-stream@^3.0.2, readable-stream@^3.0.6, readable-stream@^3.1.1:
version "3.4.0"
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.4.0.tgz#a51c26754658e0a3c21dbf59163bd45ba6f447fc"
integrity sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==
@ -13763,6 +13975,20 @@ signal-exit@^3.0.0, signal-exit@^3.0.2:
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d"
integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=
simple-concat@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.0.tgz#7344cbb8b6e26fb27d66b2fc86f9f6d5997521c6"
integrity sha1-c0TLuLbib7J9ZrL8hvn21Zl1IcY=
simple-get@^3.0.3:
version "3.0.3"
resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-3.0.3.tgz#924528ac3f9d7718ce5e9ec1b1a69c0be4d62efa"
integrity sha512-Wvre/Jq5vgoz31Z9stYWPLn0PqRqmBDpFSdypAnHu5AvRVCYPRYGnvryNLiXu8GOBNDH82J2FRHUGMjjHUpXFw==
dependencies:
decompress-response "^3.3.0"
once "^1.3.1"
simple-concat "^1.0.0"
simple-swizzle@^0.2.2:
version "0.2.2"
resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a"
@ -14494,6 +14720,27 @@ tapable@^1.0.0, tapable@^1.1.3:
resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2"
integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==
tar-fs@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.0.0.tgz#677700fc0c8b337a78bee3623fdc235f21d7afad"
integrity sha512-vaY0obB6Om/fso8a8vakQBzwholQ7v5+uy+tF3Ozvxv1KNezmVQAiWtcNmMHFSFPqL3dJA8ha6gdtFbfX9mcxA==
dependencies:
chownr "^1.1.1"
mkdirp "^0.5.1"
pump "^3.0.0"
tar-stream "^2.0.0"
tar-stream@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.1.0.tgz#d1aaa3661f05b38b5acc9b7020efdca5179a2cc3"
integrity sha512-+DAn4Nb4+gz6WZigRzKEZl1QuJVOLtAwwF+WUxy1fJ6X63CaGaUAxJRD2KEn1OMfcbCjySTYpNC6WmfQoIEOdw==
dependencies:
bl "^3.0.0"
end-of-stream "^1.4.1"
fs-constants "^1.0.0"
inherits "^2.0.3"
readable-stream "^3.1.1"
tar@^4, tar@^4.4.10, tar@^4.4.8:
version "4.4.10"
resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.10.tgz#946b2810b9a5e0b26140cf78bea6b0b0d689eba1"
@ -14970,6 +15217,11 @@ typescript@3.5.x, typescript@^3.6.3:
resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.6.3.tgz#fea942fabb20f7e1ca7164ff626f1a9f3f70b4da"
integrity sha512-N7bceJL1CtRQ2RiG0AQME13ksR7DiuQh/QehubYcghzv20tnh+MQnQIuJddTmsbqYj+dztchykemz0zFzlvdQw==
u2f-api@0.2.7:
version "0.2.7"
resolved "https://registry.yarnpkg.com/u2f-api/-/u2f-api-0.2.7.tgz#17bf196b242f6bf72353d9858e6a7566cc192720"
integrity sha512-fqLNg8vpvLOD5J/z4B6wpPg4Lvowz1nJ9xdHcCzdUPKcFE/qNCceV2gNZxSJd5vhAZemHr/K/hbzVA0zxB5mkg==
uc.micro@^1.0.1, uc.micro@^1.0.5:
version "1.0.6"
resolved "https://registry.yarnpkg.com/uc.micro/-/uc.micro-1.0.6.tgz#9c411a802a409a91fc6cf74081baba34b24499ac"
@ -15243,6 +15495,15 @@ url@^0.11.0:
punycode "1.3.2"
querystring "0.2.0"
usb@^1.6.0:
version "1.6.0"
resolved "https://registry.yarnpkg.com/usb/-/usb-1.6.0.tgz#bc5d4decf4ffca32d1136717edcf73366137a789"
integrity sha512-52DyWlCk9K+iw3LnvY95WXSnpHjxJoI++aGkV8HiMNPc4zmvDQlYvWAzrkbJ2JH3oUcx26XfU5sZcG4RAcVkMg==
dependencies:
bindings "^1.4.0"
nan "2.13.2"
prebuild-install "^5.2.4"
use@^3.1.0:
version "3.1.1"
resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f"
@ -15840,6 +16101,11 @@ which-module@^2.0.0:
resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"
integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=
which-pm-runs@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/which-pm-runs/-/which-pm-runs-1.0.0.tgz#670b3afbc552e0b55df6b7780ca74615f23ad1cb"
integrity sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs=
which@1, which@^1.2.14, which@^1.2.9, which@^1.3.0, which@^1.3.1:
version "1.3.1"
resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a"