mirror of https://github.com/certusone/oyster.git
fix: build error
This commit is contained in:
parent
94e0d0f569
commit
5d1f45c79c
|
@ -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",
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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>
|
||||
);
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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';
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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"
|
||||
}
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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"]
|
||||
}
|
|
@ -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"
|
||||
}
|
||||
}
|
|
@ -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);
|
||||
}
|
|
@ -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(),
|
||||
};
|
|
@ -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"]
|
||||
}
|
93
yarn.lock
93
yarn.lock
|
@ -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"
|
||||
|
|
Loading…
Reference in New Issue