fix: build error

This commit is contained in:
bartosz-lipinski 2021-04-15 23:52:56 -05:00
parent 94e0d0f569
commit 5d1f45c79c
17 changed files with 63 additions and 505 deletions

View File

@ -3,6 +3,7 @@
"version": "0.0.1",
"dependencies": {
"@solana/wallet-base": "0.0.1",
"@solana/wallet-ledger": "0.0.1",
"@oyster/common": "0.0.1",
"@solana/spl-token": "0.0.13",
"@solana/spl-token-swap": "0.1.0",

View File

@ -13,6 +13,7 @@
"@solana/spl-token-registry": "^0.2.0",
"@solana/spl-token-swap": "0.1.0",
"@solana/wallet-base": "0.0.1",
"@solana/wallet-ledger": "0.0.1",
"@solana/web3.js": "^0.86.2",
"@testing-library/jest-dom": "^4.2.4",
"@testing-library/react": "^9.5.0",

View File

@ -1,7 +1,7 @@
import React, { useEffect, useState } from 'react';
import {
ConnectButton,
CurrentUserWalletBadge,
CurrentUserBadge,
NumericInput,
useMint,
useUserAccounts,
@ -106,10 +106,7 @@ export function Input(props: {
</div>
{props.chain === ASSET_CHAIN.Ethereum ? (
<EthereumConnect />
) : connected ? (
<CurrentUserWalletBadge showDisconnect={true} />
) : (
<ConnectButton type="text" size="large" allowWalletChange={true} />
) : (<ConnectButton type="text" size="large" allowWalletChange={true} />
)}
</div>
);

View File

@ -30,6 +30,7 @@
"@solana/spl-token": "0.0.13",
"@solana/spl-token-swap": "0.1.0",
"@solana/wallet-base": "0.0.1",
"@solana/wallet-ledger": "0.0.1",
"@solana/web3.js": "^0.86.2",
"@testing-library/jest-dom": "^4.2.4",
"@testing-library/react": "^9.5.0",

View File

@ -1,7 +1,6 @@
export { ExplorerLink } from './ExplorerLink/index';
export { ConnectButton } from './ConnectButton/index';
export { CurrentUserBadge } from './CurrentUserBadge/index';
export { CurrentUserWalletBadge } from './CurrentUserWalletBadge/index';
export { Identicon } from './Identicon/index';
export { Info } from './Icons/info';
export { NumericInput } from './Input/numeric';

View File

@ -3,6 +3,7 @@
"version": "0.1.0",
"dependencies": {
"@solana/wallet-base": "0.0.1",
"@solana/wallet-ledger": "0.0.1",
"@ant-design/icons": "^4.4.0",
"@ant-design/pro-layout": "^6.7.0",
"@babel/preset-typescript": "^7.12.13",

View File

@ -13,6 +13,7 @@
"@solana/spl-token-registry": "^0.2.0",
"@solana/spl-token-swap": "0.1.0",
"@solana/wallet-base": "0.0.1",
"@solana/wallet-ledger": "0.0.1",
"@solana/web3.js": "^0.86.2",
"@testing-library/jest-dom": "^4.2.4",
"@testing-library/react": "^9.5.0",

View File

@ -119,7 +119,7 @@ export const AuctionCreateView = () => {
/>
)}
{step === 1 && (
<UploadStep
<SelectItemsStep
attributes={attributes}
setAttributes={setAttributes}
confirm={() => gotoStep(2)}
@ -230,7 +230,7 @@ const CategoryStep = (props: { confirm: (category: MetadataCategory) => void })
);
};
const UploadStep = (props: {
const SelectItemsStep = (props: {
attributes: IMetadataExtension;
setAttributes: (attr: IMetadataExtension) => void;
confirm: () => void;
@ -246,93 +246,17 @@ const UploadStep = (props: {
})
}, [])
const uploadMsg = (category: MetadataCategory) => {
switch (category) {
case MetadataCategory.Audio:
return "Upload your audio creation (MP3, FLAC, WAV)"
case MetadataCategory.Image:
return "Upload your image creation (PNG, JPG, GIF)"
case MetadataCategory.Video:
return "Upload your video creation (MP4)"
default:
return "Please go back and choose a category"
}
}
return (
<>
<Row className="call-to-action">
<h2>Now, let's upload your creation</h2>
<h2>Select which item to sell</h2>
<p style={{ fontSize: '1.2rem' }}>
Your file will be uploaded to the decentralized web via Arweave.
Depending on file type, can take up to 1 minute. Arweave is a new type
of storage that backs data with sustainable and perpetual endowments,
allowing users and developers to truly store data forever for the
very first time.
Select the item(s) that you want to list.
</p>
</Row>
<Row className="content-action">
<h3>{uploadMsg(props.attributes.category)}</h3>
<Dragger
style={{ padding: 20 }}
multiple={false}
customRequest={info => {
// dont upload files here, handled outside of the control
info?.onSuccess?.({}, null as any)
}}
fileList={mainFile ? [mainFile] : []}
onChange={async info => {
const file = info.file.originFileObj;
if (file) setMainFile(file)
if (props.attributes.category != MetadataCategory.Audio) {
const reader = new FileReader();
reader.onload = function (event) {
setImage((event.target?.result as string) || '')
}
if (file) reader.readAsDataURL(file)
}
}}
>
<div className="ant-upload-drag-icon">
<h3 style={{ fontWeight: 700 }}>Upload your creation</h3>
</div>
<p className="ant-upload-text">
Drag and drop, or click to browse
</p>
</Dragger>
</Row>
{props.attributes.category == MetadataCategory.Audio &&
<Row className="content-action">
<h3>Optionally, you can upload a cover image or video (PNG, JPG, GIF, MP4)</h3>
<Dragger
style={{ padding: 20 }}
multiple={false}
customRequest={info => {
// dont upload files here, handled outside of the control
info?.onSuccess?.({}, null as any)
}}
fileList={coverFile ? [coverFile] : []}
onChange={async info => {
const file = info.file.originFileObj;
if (file) setCoverFile(file)
if (props.attributes.category == MetadataCategory.Audio) {
const reader = new FileReader();
reader.onload = function (event) {
setImage((event.target?.result as string) || '')
}
if (file) reader.readAsDataURL(file)
}
}}
>
<div className="ant-upload-drag-icon">
<h3 style={{ fontWeight: 700 }}>Upload your cover image or video</h3>
</div>
<p className="ant-upload-text">
Drag and drop, or click to browse
</p>
</Dragger>
</Row>
}
<Row>
<Button
type="primary"

View File

@ -12,6 +12,7 @@
"@solana/spl-token": "0.0.13",
"@solana/spl-token-swap": "0.1.0",
"@solana/wallet-base": "0.0.1",
"@solana/wallet-ledger": "0.0.1",
"@solana/web3.js": "^0.86.2",
"@testing-library/jest-dom": "^4.2.4",
"@testing-library/react": "^9.5.0",

View File

@ -1,48 +0,0 @@
{
"name": "@solana/wallet-base",
"version": "0.0.1",
"dependencies": {
"@solana/web3.js": "^0.86.2",
"eventemitter3": "^4.0.7",
"typescript": "^4.1.3"
},
"scripts": {
"build": "tsc",
"start": "npm-run-all --parallel watch watch-css watch-css-src",
"watch-css": "less-watch-compiler src/ dist/lib/",
"watch-css-src": "less-watch-compiler src/ src/",
"watch": "tsc --watch",
"test": "jest test",
"clean": "rm -rf dist",
"prepare": "run-s clean build"
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
},
"repository": {
"type": "git",
"url": "https://github.com/solana-labs/oyster"
},
"main": "dist/lib/index.js",
"types": "dist/lib/index.d.ts",
"exports": {
".": "./dist/lib/"
},
"devDependencies": {
"@types/bn.js": "^5.1.0",
"@types/bs58": "^4.0.1",
"@types/node": "^12.12.62",
"arweave-deploy": "^1.9.1",
"gh-pages": "^3.1.0",
"prettier": "^2.1.2"
}
}

View File

@ -1,17 +0,0 @@
import { PublicKey, Transaction } from '@solana/web3.js';
import EventEmitter from 'eventemitter3';
export interface WalletAdapter extends EventEmitter {
publicKey: PublicKey | null;
signTransaction: (transaction: Transaction) => Promise<Transaction>;
signAllTransactions: (transaction: Transaction[]) => Promise<Transaction[]>;
connect: () => any;
disconnect: () => any;
}
export interface WalletProvider {
name: string;
url: string;
icon: string;
adapter: WalletAdapter;
}

View File

@ -1,23 +0,0 @@
{
"compilerOptions": {
"module": "commonjs",
"target": "es2019",
"outDir": "./dist/lib",
"rootDir": "./src",
"composite": true,
"declaration": true,
"declarationMap": true,
"sourceMap": true,
"jsx": "react",
"strict": true,
"esModuleInterop": true,
"resolveJsonModule": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true,
"typeRoots": ["types", "../../types", "../../node_modules/@types"]
},
"include": ["src/**/*"],
"exclude": ["src/**/*.test.ts", "**/node_modules"]
}

View File

@ -1,45 +0,0 @@
{
"name": "@solana/wallet-ledger",
"version": "0.0.1",
"dependencies": {
"@ledgerhq/hw-transport-webusb": "^5.41.0",
"@solana/wallet-base": "^0.0.1",
"@solana/web3.js": "^0.86.2",
"bn.js": "^5.1.3",
"bs58": "^4.0.1",
"buffer-layout": "^1.2.0",
"eventemitter3": "^4.0.7",
"lodash": "^4.17.20",
"typescript": "^4.1.3"
},
"scripts": {
"build": "tsc",
"start": "npm-run-all --parallel watch watch-css watch-css-src",
"watch-css": "less-watch-compiler src/ dist/lib/",
"watch-css-src": "less-watch-compiler src/ src/",
"watch": "tsc --watch",
"test": "jest test",
"clean": "rm -rf dist",
"prepare": "run-s clean build"
},
"main": "dist/lib/index.js",
"types": "dist/lib/index.d.ts",
"exports": {
".": "./dist/lib/"
},
"repository": {
"type": "git",
"url": "https://github.com/solana-labs/oyster"
},
"homepage": ".",
"devDependencies": {
"@types/ledgerhq__hw-transport": "^4.21.3",
"@types/ledgerhq__hw-transport-webusb": "^4.70.1",
"@types/bn.js": "^5.1.0",
"@types/bs58": "^4.0.1",
"@types/node": "^12.12.62",
"arweave-deploy": "^1.9.1",
"gh-pages": "^3.1.0",
"prettier": "^2.1.2"
}
}

View File

@ -1,133 +0,0 @@
import type Transport from '@ledgerhq/hw-transport';
import type { Transaction } from '@solana/web3.js';
import { PublicKey } from '@solana/web3.js';
const INS_GET_PUBKEY = 0x05;
const INS_SIGN_MESSAGE = 0x06;
const P1_NON_CONFIRM = 0x00;
const P1_CONFIRM = 0x01;
const P2_EXTEND = 0x01;
const P2_MORE = 0x02;
const MAX_PAYLOAD = 255;
const LEDGER_CLA = 0xe0;
/*
* Helper for chunked send of large payloads
*/
async function ledgerSend(
transport: Transport,
instruction: number,
p1: number,
payload: Buffer,
) {
let p2 = 0;
let payloadOffset = 0;
if (payload.length > MAX_PAYLOAD) {
while (payload.length - payloadOffset > MAX_PAYLOAD) {
const chunk = payload.slice(payloadOffset, payloadOffset + MAX_PAYLOAD);
payloadOffset += MAX_PAYLOAD;
console.log(
'send',
(p2 | P2_MORE).toString(16),
chunk.length.toString(16),
chunk,
);
const reply = await transport.send(
LEDGER_CLA,
instruction,
p1,
p2 | P2_MORE,
chunk,
);
if (reply.length !== 2) {
throw new Error('Received unexpected reply payload');
}
p2 |= P2_EXTEND;
}
}
const chunk = payload.slice(payloadOffset);
console.log('send', p2.toString(16), chunk.length.toString(16), chunk);
const reply = await transport.send(LEDGER_CLA, instruction, p1, p2, chunk);
return reply.slice(0, reply.length - 2);
}
const BIP32_HARDENED_BIT = (1 << 31) >>> 0;
function harden(n: number = 0) {
return (n | BIP32_HARDENED_BIT) >>> 0;
}
export function getSolanaDerivationPath(account?: number, change?: number) {
var length;
if (account !== undefined) {
if (change !== undefined) {
length = 4;
} else {
length = 3;
}
} else {
length = 2;
}
var derivationPath = Buffer.alloc(1 + length * 4);
// eslint-disable-next-line
var offset = 0;
offset = derivationPath.writeUInt8(length, offset);
offset = derivationPath.writeUInt32BE(harden(44), offset); // Using BIP44
offset = derivationPath.writeUInt32BE(harden(501), offset); // Solana's BIP44 path
if (length > 2) {
offset = derivationPath.writeUInt32BE(harden(account), offset);
if (length === 4) {
// @FIXME: https://github.com/project-serum/spl-token-wallet/issues/59
offset = derivationPath.writeUInt32BE(harden(change), offset);
}
}
return derivationPath;
}
export async function signTransaction(
transport: Transport,
transaction: Transaction,
derivationPath: Buffer = getSolanaDerivationPath(),
) {
const messageBytes = transaction.serializeMessage();
return signBytes(transport, messageBytes, derivationPath);
}
export async function signBytes(
transport: Transport,
bytes: Buffer,
derivationPath: Buffer = getSolanaDerivationPath(),
) {
const numPaths = Buffer.alloc(1);
numPaths.writeUInt8(1, 0);
const payload = Buffer.concat([numPaths, derivationPath, bytes]);
// @FIXME: must enable blind signing in Solana Ledger App per https://github.com/project-serum/spl-token-wallet/issues/71
// See also https://github.com/project-serum/spl-token-wallet/pull/23#issuecomment-712317053
return ledgerSend(transport, INS_SIGN_MESSAGE, P1_CONFIRM, payload);
}
export async function getPublicKey(
transport: Transport,
derivationPath: Buffer = getSolanaDerivationPath(),
) {
const publicKeyBytes = await ledgerSend(
transport,
INS_GET_PUBKEY,
P1_NON_CONFIRM,
derivationPath,
);
return new PublicKey(publicKeyBytes);
}

View File

@ -1,88 +0,0 @@
import type Transport from '@ledgerhq/hw-transport';
import type { Transaction } from '@solana/web3.js';
import EventEmitter from 'eventemitter3';
import { PublicKey } from '@solana/web3.js';
import TransportWebUSB from '@ledgerhq/hw-transport-webusb';
import { WalletAdapter, WalletProvider } from '@solana/wallet-base';
import { getPublicKey, signTransaction } from './core';
export class LedgerWalletAdapter extends EventEmitter implements WalletAdapter {
_connecting: boolean;
_publicKey: PublicKey | null;
_transport: Transport | null;
constructor() {
super();
this._connecting = false;
this._publicKey = null;
this._transport = null;
}
get publicKey() {
return this._publicKey;
}
async signTransaction(transaction: Transaction) {
if (!this._transport || !this._publicKey) {
throw new Error('Not connected to Ledger');
}
// @TODO: account selection (derivation path changes with account)
const signature = await signTransaction(this._transport, transaction);
transaction.addSignature(this._publicKey, signature);
return transaction;
}
async signAllTransactions(transactions: Transaction[]) {
return transactions;
}
async connect() {
if (this._connecting) {
return;
}
this._connecting = true;
try {
// @TODO: transport selection (WebUSB, WebHID, bluetooth, ...)
this._transport = await TransportWebUSB.create();
// @TODO: account selection
this._publicKey = await getPublicKey(this._transport);
this.emit('connect', this._publicKey);
} catch (error) {
await this.disconnect();
throw error;
} finally {
this._connecting = false;
}
}
async disconnect() {
let emit = false;
if (this._transport) {
await this._transport.close();
this._transport = null;
emit = true;
}
this._connecting = false;
this._publicKey = null;
if (emit) {
this.emit('disconnect');
}
}
}
const ASSETS_URL =
'https://raw.githubusercontent.com/solana-labs/oyster/main/assets/wallets/';
export const LedgerProvider: WalletProvider = {
name: 'Ledger',
url: 'https://www.ledger.com',
icon: `${ASSETS_URL}ledger.svg`,
adapter: new LedgerWalletAdapter(),
};

View File

@ -1,23 +0,0 @@
{
"compilerOptions": {
"module": "commonjs",
"target": "es2019",
"outDir": "./dist/lib",
"rootDir": "./src",
"composite": true,
"declaration": true,
"declarationMap": true,
"sourceMap": true,
"jsx": "react",
"strict": true,
"esModuleInterop": true,
"resolveJsonModule": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true,
"typeRoots": ["types", "../../types", "../../node_modules/@types"]
},
"include": ["src/**/*"],
"exclude": ["src/**/*.test.ts", "**/node_modules"]
}

View File

@ -1999,44 +1999,44 @@
dependencies:
"@json-rpc-tools/types" "^1.6.1"
"@ledgerhq/devices@^5.48.0":
version "5.48.0"
resolved "https://registry.yarnpkg.com/@ledgerhq/devices/-/devices-5.48.0.tgz#8a05213acdd54581df52a4fb4f1b43fde1a2a018"
integrity sha512-qIaL0K5Gh9kfePvptB8GGKEHGUAZuJHYmy9eDmIk6RZbgiYJ5njP/u5zQgKxijZArBgssdK/dtxEH4ueTiqkkA==
"@ledgerhq/devices@^5.49.0":
version "5.49.0"
resolved "https://registry.yarnpkg.com/@ledgerhq/devices/-/devices-5.49.0.tgz#86733944ea724acb974b136e46487a90ee0bfa6e"
integrity sha512-14VSO+NeR/O8VSXXnlBsA0DAluzanJVEjHLDJubU5NZjEttXVF9gdQh1j10+MKW0f8H23IkdqwswVQIB9ZPomQ==
dependencies:
"@ledgerhq/errors" "^5.48.0"
"@ledgerhq/logs" "^5.48.0"
"@ledgerhq/errors" "^5.49.0"
"@ledgerhq/logs" "^5.49.0"
rxjs "^6.6.7"
semver "^7.3.5"
"@ledgerhq/errors@^5.48.0":
version "5.48.0"
resolved "https://registry.yarnpkg.com/@ledgerhq/errors/-/errors-5.48.0.tgz#f77e098d9e9bb4443ed57f4a5f46c97fb25f8a7a"
integrity sha512-817t7M0hi7j0xY6uuG0F3kjbkaEP9hHlxfDBpb3EWkTvkg5SgHaDmvHYTjUoE1HhaPypHLjEii7URx2boOfQVA==
"@ledgerhq/errors@^5.49.0":
version "5.49.0"
resolved "https://registry.yarnpkg.com/@ledgerhq/errors/-/errors-5.49.0.tgz#8ecb43bb702504d9fc94ee12022d81d6e36cb5ce"
integrity sha512-+uhoSsAnzZiZ2CUk/dv4Uo8lrl0jn2izYJATSbC5aZFd0Yl7PWZ1SMHMkvPVEgQvWZcu4iQZ67rlKOtj5tUFWA==
"@ledgerhq/hw-transport-webusb@^5.41.0":
version "5.48.0"
resolved "https://registry.yarnpkg.com/@ledgerhq/hw-transport-webusb/-/hw-transport-webusb-5.48.0.tgz#62e5bffffba853d4e06103f7c8e9b6c87ca0f994"
integrity sha512-tO+p11aRQx9q9ifmi/NCbCBKQ738lp+PROy1BWSzjCJcUEz1sKTLeRTLE2Xze25KebhuM2YR1NgkX5LN1z4upA==
version "5.49.0"
resolved "https://registry.yarnpkg.com/@ledgerhq/hw-transport-webusb/-/hw-transport-webusb-5.49.0.tgz#3edbeca4d1c554d36acf9bd2cc5a79250eeab101"
integrity sha512-oWgaVdAmQ9lOUnq1dhmCBP9v1ghEV+YBh0nHi7JtdpuLBuGd9red1HXdg5INE2J10rxO/wra3OoHcJlQguR8ew==
dependencies:
"@ledgerhq/devices" "^5.48.0"
"@ledgerhq/errors" "^5.48.0"
"@ledgerhq/hw-transport" "^5.48.0"
"@ledgerhq/logs" "^5.48.0"
"@ledgerhq/devices" "^5.49.0"
"@ledgerhq/errors" "^5.49.0"
"@ledgerhq/hw-transport" "^5.49.0"
"@ledgerhq/logs" "^5.49.0"
"@ledgerhq/hw-transport@^5.48.0":
version "5.48.0"
resolved "https://registry.yarnpkg.com/@ledgerhq/hw-transport/-/hw-transport-5.48.0.tgz#de6ac00074e85bd61bfb3647f5973b053aa28d48"
integrity sha512-fyy55GDu/UU3fxWqltF7+1PabqMzKxyiWvd1Z89DB+8ZZuz3cq0iN7ey9p4zat2YpIFonVIxKJqyYZZelzsGQA==
"@ledgerhq/hw-transport@^5.49.0":
version "5.49.0"
resolved "https://registry.yarnpkg.com/@ledgerhq/hw-transport/-/hw-transport-5.49.0.tgz#f0c7c22c19e38d9338ec1056713f80e0a669cc31"
integrity sha512-mfQNSxZ3cTXo+l6SEM+D92YaW46GkP1IiWo9OkHPnsq8y8IxSD6QJOEiAAZtvpGvV1eRqqrVyanoFRTuHcZjZA==
dependencies:
"@ledgerhq/devices" "^5.48.0"
"@ledgerhq/errors" "^5.48.0"
"@ledgerhq/devices" "^5.49.0"
"@ledgerhq/errors" "^5.49.0"
events "^3.3.0"
"@ledgerhq/logs@^5.48.0":
version "5.48.0"
resolved "https://registry.yarnpkg.com/@ledgerhq/logs/-/logs-5.48.0.tgz#e3628e3d48819ce74f116d6128a5f7324843bcca"
integrity sha512-ItOEw1BDsN7q43/uku44izA9y5f6va79KrO5SeYNcojAa3gLn6u02ADLzdHJtuvGEf9DBwCTRPlJmlT7kIaFPQ==
"@ledgerhq/logs@^5.49.0":
version "5.49.0"
resolved "https://registry.yarnpkg.com/@ledgerhq/logs/-/logs-5.49.0.tgz#e14e34df1605c17d6b90eb32c591c7b3de3fbae8"
integrity sha512-Ynl2JzRwh8l9PoXrDNihXEicpVo6Ra2lYZoqSYfVH/v/2/TSa/JB9Qll8P85XFYkS3ouDTTbp1S5KViaTkqD5g==
"@lerna/add@3.21.0":
version "3.21.0"
@ -3096,6 +3096,30 @@
dotenv "8.2.0"
mkdirp "1.0.4"
"@solana/wallet-base@0.0.1", "@solana/wallet-base@^0.0.1":
version "0.0.1"
resolved "https://registry.yarnpkg.com/@solana/wallet-base/-/wallet-base-0.0.1.tgz#9b1a898b0d4ca029fe2cf1dad1b00f63448e394c"
integrity sha512-9trTSPktrXuZMOSbGFgBn9V+bcnCkUfJOCJeE7UcisqZUhrxUsuryUUsmUtHn3pblGsTpZqHOdto/IMtsvQ32w==
dependencies:
"@solana/web3.js" "^0.86.2"
eventemitter3 "^4.0.7"
typescript "^4.1.3"
"@solana/wallet-ledger@0.0.1":
version "0.0.1"
resolved "https://registry.yarnpkg.com/@solana/wallet-ledger/-/wallet-ledger-0.0.1.tgz#485dbf00072cf5f1ad5e0586885f84dad8e13e85"
integrity sha512-AKj/xeg50nyuBMx+c6TSIfA03pzM2z1u4uQJQGNF1p4P5mSjgabo2r3ABYlTt+vuRAG5XSxQQNuKD2Zsv5AnEA==
dependencies:
"@ledgerhq/hw-transport-webusb" "^5.41.0"
"@solana/wallet-base" "^0.0.1"
"@solana/web3.js" "^0.86.2"
bn.js "^5.1.3"
bs58 "^4.0.1"
buffer-layout "^1.2.0"
eventemitter3 "^4.0.7"
lodash "^4.17.20"
typescript "^4.1.3"
"@solana/web3.js@^0.86.1", "@solana/web3.js@^0.86.2":
version "0.86.4"
resolved "https://registry.yarnpkg.com/@solana/web3.js/-/web3.js-0.86.4.tgz#69216d3928ca4727c25a1ea96c405e897156ac3b"
@ -3784,21 +3808,6 @@
resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.7.tgz#98a993516c859eb0d5c4c8f098317a9ea68db9ad"
integrity sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==
"@types/ledgerhq__hw-transport-webusb@^4.70.1":
version "4.70.1"
resolved "https://registry.yarnpkg.com/@types/ledgerhq__hw-transport-webusb/-/ledgerhq__hw-transport-webusb-4.70.1.tgz#ea80859607a46030f001bce462e1e7443b27ec43"
integrity sha512-s+bt/fU5cH7etjLrNRn2LebZZqUL+YHIWciC1T6SUw2kyFpSqQQmjcM81ZrMR/tccQGfYTy3ebrJx9ZK3Mn+HA==
dependencies:
"@types/ledgerhq__hw-transport" "*"
"@types/node" "*"
"@types/ledgerhq__hw-transport@*", "@types/ledgerhq__hw-transport@^4.21.3":
version "4.21.3"
resolved "https://registry.yarnpkg.com/@types/ledgerhq__hw-transport/-/ledgerhq__hw-transport-4.21.3.tgz#1e658da6b5d01ffab92f9660cf57121aecfa7e2c"
integrity sha512-6QveiZLsFLq9WZDk8HWAZhivoGzyz5S8WV36hpUe7KrVDaTR1fDdB+syorrNRhYbyjraAuUJrIdJR5p/7doq8g==
dependencies:
"@types/node" "*"
"@types/lodash@^4.14.159":
version "4.14.168"
resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.168.tgz#fe24632e79b7ade3f132891afff86caa5e5ce008"