Skip to content

Commit

Permalink
Merge 06e33cc into 3314317
Browse files Browse the repository at this point in the history
  • Loading branch information
elbywan authored Jun 28, 2022
2 parents 3314317 + 06e33cc commit 0ba0c20
Show file tree
Hide file tree
Showing 2,136 changed files with 66,284 additions and 67,529 deletions.
51 changes: 51 additions & 0 deletions .changeset/wild-spies-cry.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
---
"@ledgerhq/live-common": major
"@ledgerhq/devices": major
"@ledgerhq/hw-app-btc": major
"@ledgerhq/live-cli": patch
"ledger-live-desktop": patch
"live-mobile": patch
"@ledgerhq/hw-app-eth": patch
"@ledgerhq/hw-transport-node-ble": patch
"@ledgerhq/hw-transport-node-hid-noevents": patch
"@ledgerhq/hw-transport-web-ble": patch
"@ledgerhq/hw-transport-webhid": patch
"@ledgerhq/hw-transport-webusb": patch
"@ledgerhq/react-native-hw-transport-ble": patch
"@ledgerhq/icons-ui": patch
"@ledgerhq/react-ui": patch
"has-hash-commit-deps": patch
"@actions/submit-bot-report": patch
"@actions/upload-images": patch
"esbuild-utils": patch
"live-github-bot": patch
"native-modules-tools": patch
---

#### Replace [webpack](https://webpack.js.org/) with [vite.js](https://vitejs.dev/) to speed up the ledger live desktop development process.

To fully embrace the "bundleless" vite.js approach, it is necessary to transpile our packages contained in the monorepository to the ESM format, and [subpath exports](https://nodejs.org/api/packages.html#subpath-exports) have been added to silently map to commonjs or esm depending on the need.

#### 🔥 BREAKING CHANGES for `@ledgerhq/live-common`, `@ledgerhq/devices` and `@ledgerhq/hw-app-btc` consumers.

As highlighted [here](https://github.com/nodejs/node#39994), it is not possible to target folders directly when using subpath exports.

The workaround is to suffix the call with `/index` (or `/`).

For instance…

```ts
import * as currencies from "@ledgerhq/live-common/currencies";
```

…must be rewritten to…

```ts
import * as currencies from "@ledgerhq/live-common/currencies/index;";
```

…or:

```ts
import * as currencies from "@ledgerhq/live-common/currencies/;";
```
7 changes: 5 additions & 2 deletions .pnpmfile.cjs
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,8 @@ function readPackage(pkg, context) {
addDevDependencies(
/^@ledgerhq\/(hw-app.*|hw-transport.*|cryptoassets|devices|errors|logs|react-native-hid|react-native-hw-transport-ble|types-.*)$/,
{
jest: "^27.4.7",
"ts-jest": "^27.1.2",
jest: "^28.1.1",
"ts-jest": "^28.0.5",
"ts-node": "^10.4.0",
"@types/node": "*",
"@types/jest": "*",
Expand Down Expand Up @@ -159,6 +159,9 @@ function readPackage(pkg, context) {
addPeerDependencies("jest-worker", {
metro: "*",
}),
addPeerDependencies("react-lottie", {
"prop-types": "*",
}),
// "dmg-builder" is required to build .dmg electron apps on macs,
// but is not declared as such by app-builder-lib.
// I'm not adding it as a dependency because if I did,
Expand Down
2 changes: 1 addition & 1 deletion apps/cli/src/cli.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import commandLineArgs from "command-line-args";
import { closeAllDevices } from "./live-common-setup";
import commandsMain from "./commands-index";
// TODO cli-transaction.js => cli.js
import perFamily from "@ledgerhq/live-common/lib/generated/cli-transaction";
import perFamily from "@ledgerhq/live-common/generated/cli-transaction";

const commands = {
...Object.values(perFamily)
Expand Down
16 changes: 8 additions & 8 deletions apps/cli/src/commands/app.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import { from, concat } from "rxjs";
import { map, mergeMap, ignoreElements } from "rxjs/operators";
import manager from "@ledgerhq/live-common/lib/manager";
import type { DeviceInfo } from "@ledgerhq/live-common/lib/types/manager";
import { withDevice } from "@ledgerhq/live-common/lib/hw/deviceAccess";
import getDeviceInfo from "@ledgerhq/live-common/lib/hw/getDeviceInfo";
import openApp from "@ledgerhq/live-common/lib/hw/openApp";
import quitApp from "@ledgerhq/live-common/lib/hw/quitApp";
import installApp from "@ledgerhq/live-common/lib/hw/installApp";
import uninstallApp from "@ledgerhq/live-common/lib/hw/uninstallApp";
import manager from "@ledgerhq/live-common/manager/index";
import type { DeviceInfo } from "@ledgerhq/live-common/types/manager";
import { withDevice } from "@ledgerhq/live-common/hw/deviceAccess";
import getDeviceInfo from "@ledgerhq/live-common/hw/getDeviceInfo";
import openApp from "@ledgerhq/live-common/hw/openApp";
import quitApp from "@ledgerhq/live-common/hw/quitApp";
import installApp from "@ledgerhq/live-common/hw/installApp";
import uninstallApp from "@ledgerhq/live-common/hw/uninstallApp";
import { deviceOpt, inferManagerApp } from "../scan";
export default {
description: "Manage Ledger device's apps",
Expand Down
8 changes: 4 additions & 4 deletions apps/cli/src/commands/appUninstallAll.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
/* eslint-disable no-console */
import { from } from "rxjs";
import { mergeMap, filter, map } from "rxjs/operators";
import { withDevice } from "@ledgerhq/live-common/lib/hw/deviceAccess";
import getDeviceInfo from "@ledgerhq/live-common/lib/hw/getDeviceInfo";
import { reducer, runAll } from "@ledgerhq/live-common/lib/apps";
import { listApps, execWithTransport } from "@ledgerhq/live-common/lib/apps/hw";
import { withDevice } from "@ledgerhq/live-common/hw/deviceAccess";
import getDeviceInfo from "@ledgerhq/live-common/hw/getDeviceInfo";
import { reducer, runAll } from "@ledgerhq/live-common/apps/index";
import { listApps, execWithTransport } from "@ledgerhq/live-common/apps/hw";
import { deviceOpt } from "../scan";
export default {
description: "uninstall all apps in the device",
Expand Down
24 changes: 12 additions & 12 deletions apps/cli/src/commands/appsCheckAllAppVersions.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,22 +9,22 @@ import {
filter,
map,
} from "rxjs/operators";
import { withDevice } from "@ledgerhq/live-common/lib/hw/deviceAccess";
import getDeviceInfo from "@ledgerhq/live-common/lib/hw/getDeviceInfo";
import ManagerAPI from "@ledgerhq/live-common/lib/api/Manager";
import network from "@ledgerhq/live-common/lib/network";
import installApp from "@ledgerhq/live-common/lib/hw/installApp";
import uninstallApp from "@ledgerhq/live-common/lib/hw/uninstallApp";
import { withDevice } from "@ledgerhq/live-common/hw/deviceAccess";
import getDeviceInfo from "@ledgerhq/live-common/hw/getDeviceInfo";
import ManagerAPI from "@ledgerhq/live-common/api/Manager";
import network from "@ledgerhq/live-common/network";
import installApp from "@ledgerhq/live-common/hw/installApp";
import uninstallApp from "@ledgerhq/live-common/hw/uninstallApp";
import type {
DeviceInfo,
ApplicationVersion,
Application,
} from "@ledgerhq/live-common/lib/types/manager";
import { initState, reducer, runAll } from "@ledgerhq/live-common/lib/apps";
import { listApps, execWithTransport } from "@ledgerhq/live-common/lib/apps/hw";
import { delay } from "@ledgerhq/live-common/lib/promise";
import { getEnv } from "@ledgerhq/live-common/lib/env";
import { getDependencies } from "@ledgerhq/live-common/lib/apps/polyfill";
} from "@ledgerhq/live-common/types/manager";
import { initState, reducer, runAll } from "@ledgerhq/live-common/apps/index";
import { listApps, execWithTransport } from "@ledgerhq/live-common/apps/hw";
import { delay } from "@ledgerhq/live-common/promise";
import { getEnv } from "@ledgerhq/live-common/env";
import { getDependencies } from "@ledgerhq/live-common/apps/polyfill";
import { deviceOpt } from "../scan";
type ResultCommon = {
versionId: number;
Expand Down
8 changes: 4 additions & 4 deletions apps/cli/src/commands/appsInstallAll.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
/* eslint-disable no-console */
import { from } from "rxjs";
import { mergeMap, filter, map } from "rxjs/operators";
import { withDevice } from "@ledgerhq/live-common/lib/hw/deviceAccess";
import getDeviceInfo from "@ledgerhq/live-common/lib/hw/getDeviceInfo";
import { initState, reducer, runAll } from "@ledgerhq/live-common/lib/apps";
import { listApps, execWithTransport } from "@ledgerhq/live-common/lib/apps/hw";
import { withDevice } from "@ledgerhq/live-common/hw/deviceAccess";
import getDeviceInfo from "@ledgerhq/live-common/hw/getDeviceInfo";
import { initState, reducer, runAll } from "@ledgerhq/live-common/apps/index";
import { listApps, execWithTransport } from "@ledgerhq/live-common/apps/hw";
import { deviceOpt } from "../scan";
export default {
description: "test script to install and uninstall all apps",
Expand Down
10 changes: 5 additions & 5 deletions apps/cli/src/commands/appsUpdateTestAll.ts
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
/* eslint-disable no-console */
import { from, of, Observable } from "rxjs";
import { mergeMap, ignoreElements, filter, map } from "rxjs/operators";
import { withDevice } from "@ledgerhq/live-common/lib/hw/deviceAccess";
import getDeviceInfo from "@ledgerhq/live-common/lib/hw/getDeviceInfo";
import { withDevice } from "@ledgerhq/live-common/hw/deviceAccess";
import getDeviceInfo from "@ledgerhq/live-common/hw/getDeviceInfo";
import {
initState,
reducer,
runAll,
getActionPlan,
} from "@ledgerhq/live-common/lib/apps";
import { listApps, execWithTransport } from "@ledgerhq/live-common/lib/apps/hw";
import type { AppOp } from "@ledgerhq/live-common/lib/apps/types";
} from "@ledgerhq/live-common/apps/index";
import { listApps, execWithTransport } from "@ledgerhq/live-common/apps/hw";
import type { AppOp } from "@ledgerhq/live-common/apps/types";
import { deviceOpt } from "../scan";

const prettyActionPlan = (ops: AppOp[]) =>
Expand Down
10 changes: 5 additions & 5 deletions apps/cli/src/commands/balanceHistory.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@ import { BigNumber } from "bignumber.js";
import asciichart from "asciichart";
import invariant from "invariant";
import { map } from "rxjs/operators";
import { toBalanceHistoryRaw } from "@ledgerhq/live-common/lib/account";
import type { PortfolioRange } from "@ledgerhq/live-common/lib/types";
import { toBalanceHistoryRaw } from "@ledgerhq/live-common/account/index";
import type { PortfolioRange } from "@ledgerhq/live-common/types/index";
import {
getBalanceHistory,
getPortfolioCount,
} from "@ledgerhq/live-common/lib/portfolio/v2";
import { getRanges } from "@ledgerhq/live-common/lib/portfolio/v2/range";
import { formatCurrencyUnit } from "@ledgerhq/live-common/lib/currencies";
} from "@ledgerhq/live-common/portfolio/v2/index";
import { getRanges } from "@ledgerhq/live-common/portfolio/v2/range";
import { formatCurrencyUnit } from "@ledgerhq/live-common/currencies/index";
import { scan, scanCommonOpts } from "../scan";
import type { ScanCommonOpts } from "../scan";
const histoFormatters = {
Expand Down
4 changes: 2 additions & 2 deletions apps/cli/src/commands/bot.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
/* eslint-disable no-console */
import { generateMnemonic } from "bip39";
import { from } from "rxjs";
import { getEnv } from "@ledgerhq/live-common/lib/env";
import { bot } from "@ledgerhq/live-common/lib/bot";
import { getEnv } from "@ledgerhq/live-common/env";
import { bot } from "@ledgerhq/live-common/bot/index";
import { currencyOpt } from "../scan";
export default {
description:
Expand Down
6 changes: 3 additions & 3 deletions apps/cli/src/commands/botPortfolio.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import { from, defer, throwError } from "rxjs";
import { catchError, filter, map, mergeAll, timeoutWith } from "rxjs/operators";
import { listSupportedCurrencies } from "@ledgerhq/live-common/lib/currencies";
import { getCurrencyBridge } from "@ledgerhq/live-common/lib/bridge";
import { accountFormatters } from "@ledgerhq/live-common/lib/account";
import { listSupportedCurrencies } from "@ledgerhq/live-common/currencies/index";
import { getCurrencyBridge } from "@ledgerhq/live-common/bridge/index";
import { accountFormatters } from "@ledgerhq/live-common/account/index";
const blacklist = ["decred", "tezos", "stellar", "ethereum_classic"];
export default {
description:
Expand Down
20 changes: 10 additions & 10 deletions apps/cli/src/commands/botTransfer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,30 +11,30 @@ import {
import {
listSupportedCurrencies,
getFiatCurrencyByTicker,
} from "@ledgerhq/live-common/lib/currencies";
} from "@ledgerhq/live-common/currencies/index";
import {
getAccountBridge,
getCurrencyBridge,
} from "@ledgerhq/live-common/lib/bridge";
import { getEnv, setEnv } from "@ledgerhq/live-common/lib/env";
import { promiseAllBatched } from "@ledgerhq/live-common/lib/promise";
import { Account } from "@ledgerhq/live-common/lib/types";
import { makeBridgeCacheSystem } from "@ledgerhq/live-common/lib/bridge/cache";
} from "@ledgerhq/live-common/bridge/index";
import { getEnv, setEnv } from "@ledgerhq/live-common/env";
import { promiseAllBatched } from "@ledgerhq/live-common/promise";
import { Account } from "@ledgerhq/live-common/types/index";
import { makeBridgeCacheSystem } from "@ledgerhq/live-common/bridge/cache";
import {
autoSignTransaction,
getImplicitDeviceAction,
} from "@ledgerhq/live-common/lib/bot/engine";
} from "@ledgerhq/live-common/bot/engine";
import {
createImplicitSpeculos,
releaseSpeculosDevice,
} from "@ledgerhq/live-common/lib/load/speculos";
import { formatOperation } from "@ledgerhq/live-common/lib/account";
} from "@ledgerhq/live-common/load/speculos";
import { formatOperation } from "@ledgerhq/live-common/account/index";
import {
calculate,
inferTrackingPairForAccounts,
initialState,
loadCountervalues,
} from "@ledgerhq/live-common/lib/countervalues/logic";
} from "@ledgerhq/live-common/countervalues/logic";

const CONCURRENT = 3;

Expand Down
4 changes: 2 additions & 2 deletions apps/cli/src/commands/broadcast.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { from } from "rxjs";
import { map, concatMap } from "rxjs/operators";
import { getAccountBridge } from "@ledgerhq/live-common/lib/bridge";
import { toOperationRaw } from "@ledgerhq/live-common/lib/account";
import { getAccountBridge } from "@ledgerhq/live-common/bridge/index";
import { toOperationRaw } from "@ledgerhq/live-common/account/index";
import { scan, scanCommonOpts } from "../scan";
import type { ScanCommonOpts } from "../scan";
import type { InferSignedOperationsOpts } from "../signedOperation";
Expand Down
16 changes: 8 additions & 8 deletions apps/cli/src/commands/countervalues.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,26 +6,26 @@ import { BigNumber } from "bignumber.js";
import asciichart from "asciichart";
import invariant from "invariant";
import { Observable } from "rxjs";
import { toBalanceHistoryRaw } from "@ledgerhq/live-common/lib/account";
import type { PortfolioRange } from "@ledgerhq/live-common/lib/types";
import { getPortfolioCountByDate } from "@ledgerhq/live-common/lib/portfolio/v2";
import { toBalanceHistoryRaw } from "@ledgerhq/live-common/account/index";
import type { PortfolioRange } from "@ledgerhq/live-common/types/index";
import { getPortfolioCountByDate } from "@ledgerhq/live-common/portfolio/v2/index";
import {
getRanges,
getDates,
} from "@ledgerhq/live-common/lib/portfolio/v2/range";
import type { Currency } from "@ledgerhq/live-common/lib/types";
} from "@ledgerhq/live-common/portfolio/v2/range";
import type { Currency } from "@ledgerhq/live-common/types/index";
import {
formatCurrencyUnit,
findCurrencyByTicker,
listFiatCurrencies,
} from "@ledgerhq/live-common/lib/currencies";
} from "@ledgerhq/live-common/currencies/index";
import {
initialState,
calculateMany,
loadCountervalues,
resolveTrackingPairs,
} from "@ledgerhq/live-common/lib/countervalues/logic";
import CountervaluesAPI from "@ledgerhq/live-common/lib/countervalues/api";
} from "@ledgerhq/live-common/countervalues/logic";
import CountervaluesAPI from "@ledgerhq/live-common/countervalues/api/index";
const histoFormatters = {
stats: (histo, currency, countervalue) =>
(currency.ticker + " to " + countervalue.ticker).padEnd(12) +
Expand Down
8 changes: 4 additions & 4 deletions apps/cli/src/commands/derivation.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
import { of } from "rxjs";
import { listSupportedCurrencies } from "@ledgerhq/live-common/lib/currencies";
import { listSupportedCurrencies } from "@ledgerhq/live-common/currencies/index";
import {
getDerivationModesForCurrency,
runDerivationScheme,
getDerivationScheme,
} from "@ledgerhq/live-common/lib/derivation";
import { setEnv, getEnv } from "@ledgerhq/live-common/lib/env";
import { getAccountPlaceholderName } from "@ledgerhq/live-common/lib/account";
} from "@ledgerhq/live-common/derivation";
import { setEnv, getEnv } from "@ledgerhq/live-common/env";
import { getAccountPlaceholderName } from "@ledgerhq/live-common/account/index";
export default {
args: [],
job: () =>
Expand Down
38 changes: 29 additions & 9 deletions apps/cli/src/commands/devDeviceAppsScenario.ts
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
import { from, concat, defer, Observable } from "rxjs";
import { mergeMap, filter, map, ignoreElements } from "rxjs/operators";
import { withDevice } from "@ledgerhq/live-common/lib/hw/deviceAccess";
import getDeviceInfo from "@ledgerhq/live-common/lib/hw/getDeviceInfo";
import { withDevice } from "@ledgerhq/live-common/hw/deviceAccess";
import getDeviceInfo from "@ledgerhq/live-common/hw/getDeviceInfo";
import {
initState,
ListAppsResult,
reducer,
runAll,
} from "@ledgerhq/live-common/lib/apps";
import ManagerAPI from "@ledgerhq/live-common/lib/api/Manager";
import { listApps, execWithTransport } from "@ledgerhq/live-common/lib/apps/hw";
import installApp from "@ledgerhq/live-common/lib/hw/installApp";
} from "@ledgerhq/live-common/apps/index";
import ManagerAPI from "@ledgerhq/live-common/api/Manager";
import { listApps, execWithTransport } from "@ledgerhq/live-common/apps/hw";
import installApp from "@ledgerhq/live-common/hw/installApp";
import { deviceOpt } from "../scan";
import { Application } from "@ledgerhq/live-common/lib/types/manager";
import { Application } from "@ledgerhq/live-common/types/manager";
type Scenario = number[];
// how to add a scenario:
// wget https://manager.api.live.ledger.com/api/applications
Expand All @@ -22,8 +22,28 @@ type Scenario = number[];
const scenarios: Record<string, Scenario> = {
"nanos160-outdated-apps": [1679, 222, 2783, 3295, 3305],
"nanos160-outdated-bitcoin-apps": [
3295, 3305, 3319, 3325, 3302, 3324, 3298, 3297, 3318, 3309, 3322, 3304,
3296, 3308, 3299, 3300, 3312, 3303, 3301, 3315, 3314, 3323,
3295,
3305,
3319,
3325,
3302,
3324,
3298,
3297,
3318,
3309,
3322,
3304,
3296,
3308,
3299,
3300,
3312,
3303,
3301,
3315,
3314,
3323,
],
};
const scenariosValues = Object.keys(scenarios).join(" | ");
Expand Down
Loading

0 comments on commit 0ba0c20

Please sign in to comment.