@ledgerhq/live-cli 24.30.0-nightly.20251215100948 → 24.30.0-nightly.20251216024112
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cli.js +278 -268
- package/package.json +3 -3
package/lib/cli.js
CHANGED
|
@@ -543744,7 +543744,7 @@ var require_package8 = __commonJS({
|
|
|
543744
543744
|
module2.exports = {
|
|
543745
543745
|
name: "@ledgerhq/live-common",
|
|
543746
543746
|
description: "Common ground for the Ledger Live apps",
|
|
543747
|
-
version: "34.55.0-nightly.
|
|
543747
|
+
version: "34.55.0-nightly.20251216024112",
|
|
543748
543748
|
repository: {
|
|
543749
543749
|
type: "git",
|
|
543750
543750
|
url: "https://github.com/LedgerHQ/ledger-live.git"
|
|
@@ -544081,7 +544081,7 @@ var require_package9 = __commonJS({
|
|
|
544081
544081
|
"package.json"(exports2, module2) {
|
|
544082
544082
|
module2.exports = {
|
|
544083
544083
|
name: "@ledgerhq/live-cli",
|
|
544084
|
-
version: "24.30.0-nightly.
|
|
544084
|
+
version: "24.30.0-nightly.20251216024112",
|
|
544085
544085
|
description: "ledger-live CLI version",
|
|
544086
544086
|
repository: {
|
|
544087
544087
|
type: "git",
|
|
@@ -650104,7 +650104,7 @@ var cosmosConfig = {
|
|
|
650104
650104
|
config_currency_axelar: {
|
|
650105
650105
|
type: "object",
|
|
650106
650106
|
default: {
|
|
650107
|
-
lcd: "https://
|
|
650107
|
+
lcd: "https://axelar-rest.publicnode.com",
|
|
650108
650108
|
minGasPrice: 0.07,
|
|
650109
650109
|
ledgerValidator: "axelarvaloper1fgklp9hemczlwtqp9jqzq3xahh38hznx7vd805",
|
|
650110
650110
|
status: {
|
|
@@ -877515,8 +877515,8 @@ var testGetTrustedInputFromTxHash_default = {
|
|
|
877515
877515
|
};
|
|
877516
877516
|
|
|
877517
877517
|
// src/commands/device/app.ts
|
|
877518
|
-
var
|
|
877519
|
-
var
|
|
877518
|
+
var import_rxjs206 = require("rxjs");
|
|
877519
|
+
var import_operators45 = require("rxjs/operators");
|
|
877520
877520
|
|
|
877521
877521
|
// ../../libs/ledger-live-common/lib-es/hw/getDeviceInfo.js
|
|
877522
877522
|
init_lib_es();
|
|
@@ -878523,8 +878523,8 @@ var quitApp_default = async (transport) => {
|
|
|
878523
878523
|
};
|
|
878524
878524
|
|
|
878525
878525
|
// ../../libs/ledger-live-common/lib-es/hw/installApp.js
|
|
878526
|
-
var
|
|
878527
|
-
var
|
|
878526
|
+
var import_rxjs204 = require("rxjs");
|
|
878527
|
+
var import_operators43 = require("rxjs/operators");
|
|
878528
878528
|
init_lib_es();
|
|
878529
878529
|
|
|
878530
878530
|
// ../../libs/ledger-live-common/lib-es/manager/api.js
|
|
@@ -879150,6 +879150,51 @@ var api_default4 = API;
|
|
|
879150
879150
|
|
|
879151
879151
|
// ../../libs/ledger-live-common/lib-es/hw/installApp.js
|
|
879152
879152
|
init_lib_es2();
|
|
879153
|
+
|
|
879154
|
+
// ../../libs/ledger-live-common/lib-es/deviceSDK/commands/quitApp.js
|
|
879155
|
+
var import_rxjs203 = require("rxjs");
|
|
879156
|
+
|
|
879157
|
+
// ../../libs/ledger-live-common/lib-es/deviceSDK/commands/getAppAndVersion.js
|
|
879158
|
+
var import_rxjs202 = require("rxjs");
|
|
879159
|
+
var import_operators41 = require("rxjs/operators");
|
|
879160
|
+
function getAppAndVersion3(transport) {
|
|
879161
|
+
return new import_rxjs202.Observable((subscriber) => {
|
|
879162
|
+
return (0, import_rxjs202.from)(transport.send(176, 1, 0, 0)).pipe((0, import_operators41.switchMap)((result2) => {
|
|
879163
|
+
let i107 = 0;
|
|
879164
|
+
const format6 = result2[i107++];
|
|
879165
|
+
if (format6 !== 1) {
|
|
879166
|
+
throw new GetAppAndVersionUnsupportedFormat("getAppAndVersion: format not supported");
|
|
879167
|
+
}
|
|
879168
|
+
const nameLength = result2[i107++];
|
|
879169
|
+
const name2 = result2.slice(i107, i107 += nameLength).toString("ascii");
|
|
879170
|
+
const versionLength = result2[i107++];
|
|
879171
|
+
const version27 = result2.slice(i107, i107 += versionLength).toString("ascii");
|
|
879172
|
+
const flagLength = result2[i107++];
|
|
879173
|
+
const flags2 = result2.slice(i107, i107 += flagLength);
|
|
879174
|
+
return (0, import_rxjs202.of)({
|
|
879175
|
+
type: "data",
|
|
879176
|
+
appAndVersion: {
|
|
879177
|
+
name: name2,
|
|
879178
|
+
version: version27,
|
|
879179
|
+
flags: flags2
|
|
879180
|
+
}
|
|
879181
|
+
});
|
|
879182
|
+
})).subscribe(subscriber);
|
|
879183
|
+
});
|
|
879184
|
+
}
|
|
879185
|
+
|
|
879186
|
+
// ../../libs/ledger-live-common/lib-es/deviceSDK/commands/quitApp.js
|
|
879187
|
+
var import_operators42 = require("rxjs/operators");
|
|
879188
|
+
function quitApp(transport) {
|
|
879189
|
+
return (0, import_rxjs203.from)(getAppAndVersion3(transport)).pipe((0, import_operators42.switchMap)(async (result2) => {
|
|
879190
|
+
if (isDashboardName(result2.appAndVersion.name)) {
|
|
879191
|
+
return;
|
|
879192
|
+
}
|
|
879193
|
+
await transport.send(176, 167, 0, 0);
|
|
879194
|
+
}));
|
|
879195
|
+
}
|
|
879196
|
+
|
|
879197
|
+
// ../../libs/ledger-live-common/lib-es/hw/installApp.js
|
|
879153
879198
|
var APP_INSTALL_RETRY_DELAY = 500;
|
|
879154
879199
|
var APP_INSTALL_RETRY_LIMIT = 5;
|
|
879155
879200
|
function installApp(transport, targetId, app, { retryLimit = APP_INSTALL_RETRY_LIMIT, retryDelayMs = APP_INSTALL_RETRY_DELAY } = {}) {
|
|
@@ -879164,7 +879209,7 @@ function installApp(transport, targetId, app, { retryLimit = APP_INSTALL_RETRY_L
|
|
|
879164
879209
|
retryLimit,
|
|
879165
879210
|
retryDelayMs
|
|
879166
879211
|
});
|
|
879167
|
-
return api_default4.install(transport, "install-app", {
|
|
879212
|
+
return quitApp(transport).pipe((0, import_operators43.switchMap)(() => api_default4.install(transport, "install-app", {
|
|
879168
879213
|
targetId,
|
|
879169
879214
|
perso: app.perso,
|
|
879170
879215
|
deleteKey: app.delete_key,
|
|
@@ -879172,51 +879217,51 @@ function installApp(transport, targetId, app, { retryLimit = APP_INSTALL_RETRY_L
|
|
|
879172
879217
|
firmwareKey: app.firmware_key,
|
|
879173
879218
|
hash: app.hash
|
|
879174
879219
|
}).pipe(
|
|
879175
|
-
(0,
|
|
879220
|
+
(0, import_operators43.retry)({
|
|
879176
879221
|
count: retryLimit,
|
|
879177
879222
|
delay: (error, retryCount) => {
|
|
879178
879223
|
if (error instanceof LockedDeviceError || error instanceof ManagerDeviceLockedError || error instanceof UnresponsiveDeviceError) {
|
|
879179
879224
|
tracer2.trace(`Not retrying on error: ${error}`, {
|
|
879180
879225
|
error
|
|
879181
879226
|
});
|
|
879182
|
-
return (0,
|
|
879227
|
+
return (0, import_rxjs204.throwError)(() => error);
|
|
879183
879228
|
}
|
|
879184
879229
|
tracer2.trace(`Retrying (${retryCount}/${retryLimit}) on error: ${error}`, {
|
|
879185
879230
|
error,
|
|
879186
879231
|
retryLimit,
|
|
879187
879232
|
retryDelayMs
|
|
879188
879233
|
});
|
|
879189
|
-
return (0,
|
|
879234
|
+
return (0, import_rxjs204.timer)(retryDelayMs);
|
|
879190
879235
|
}
|
|
879191
879236
|
}),
|
|
879192
|
-
(0,
|
|
879237
|
+
(0, import_operators43.filter)((e95) => e95.type === "bulk-progress"),
|
|
879193
879238
|
// only bulk progress interests the UI
|
|
879194
|
-
(0,
|
|
879239
|
+
(0, import_operators43.throttleTime)(100),
|
|
879195
879240
|
// throttle to only emit 10 event/s max, to not spam the UI
|
|
879196
|
-
(0,
|
|
879241
|
+
(0, import_operators43.map)((e95) => ({
|
|
879197
879242
|
progress: e95.progress
|
|
879198
879243
|
})),
|
|
879199
879244
|
// extract a stream of progress percentage
|
|
879200
|
-
(0,
|
|
879245
|
+
(0, import_operators43.catchError)((e95) => {
|
|
879201
879246
|
tracer2.trace(`Error: ${e95}`, { error: e95 });
|
|
879202
879247
|
if (!e95 || !e95.message)
|
|
879203
|
-
return (0,
|
|
879248
|
+
return (0, import_rxjs204.throwError)(() => e95);
|
|
879204
879249
|
const status = e95.message.slice(e95.message.length - 4);
|
|
879205
879250
|
if (status === "6a83" || status === "6811") {
|
|
879206
879251
|
const dependencies = getDependencies(app.name);
|
|
879207
|
-
return (0,
|
|
879252
|
+
return (0, import_rxjs204.throwError)(() => new ManagerAppDepInstallRequired("", {
|
|
879208
879253
|
appName: app.name,
|
|
879209
879254
|
dependency: dependencies.join(", ")
|
|
879210
879255
|
}));
|
|
879211
879256
|
}
|
|
879212
|
-
return (0,
|
|
879257
|
+
return (0, import_rxjs204.throwError)(() => e95);
|
|
879213
879258
|
})
|
|
879214
|
-
);
|
|
879259
|
+
)));
|
|
879215
879260
|
}
|
|
879216
879261
|
|
|
879217
879262
|
// ../../libs/ledger-live-common/lib-es/hw/uninstallApp.js
|
|
879218
|
-
var
|
|
879219
|
-
var
|
|
879263
|
+
var import_operators44 = require("rxjs/operators");
|
|
879264
|
+
var import_rxjs205 = require("rxjs");
|
|
879220
879265
|
init_lib_es();
|
|
879221
879266
|
function uninstallApp(transport, targetId, app) {
|
|
879222
879267
|
return api_default4.install(transport, "uninstall-app", {
|
|
@@ -879226,16 +879271,16 @@ function uninstallApp(transport, targetId, app) {
|
|
|
879226
879271
|
firmware: app.delete,
|
|
879227
879272
|
firmwareKey: app.delete_key,
|
|
879228
879273
|
hash: app.hash
|
|
879229
|
-
}, true).pipe((0,
|
|
879274
|
+
}, true).pipe((0, import_operators44.ignoreElements)(), (0, import_operators44.catchError)((e95) => {
|
|
879230
879275
|
if (!e95 || !e95.message)
|
|
879231
|
-
return (0,
|
|
879276
|
+
return (0, import_rxjs205.throwError)(() => e95);
|
|
879232
879277
|
const status = e95.message.slice(e95.message.length - 4);
|
|
879233
879278
|
if (status === "6a83") {
|
|
879234
|
-
return (0,
|
|
879279
|
+
return (0, import_rxjs205.throwError)(() => new ManagerAppDepUninstallRequired("", {
|
|
879235
879280
|
appName: app.name
|
|
879236
879281
|
}));
|
|
879237
879282
|
}
|
|
879238
|
-
return (0,
|
|
879283
|
+
return (0, import_rxjs205.throwError)(() => e95);
|
|
879239
879284
|
}));
|
|
879240
879285
|
}
|
|
879241
879286
|
|
|
@@ -879295,14 +879340,14 @@ var app_default = {
|
|
|
879295
879340
|
],
|
|
879296
879341
|
job: ({ device: device2, verbose, install: install2, uninstall, open: open2, quit: quit2, debug }) => withDevice(device2 || "")((t110) => {
|
|
879297
879342
|
if (quit2)
|
|
879298
|
-
return (0,
|
|
879343
|
+
return (0, import_rxjs206.from)(quitApp_default(t110));
|
|
879299
879344
|
if (open2)
|
|
879300
|
-
return (0,
|
|
879345
|
+
return (0, import_rxjs206.from)(openApp_default(t110, inferManagerApp(open2)));
|
|
879301
879346
|
if (debug)
|
|
879302
|
-
return (0,
|
|
879303
|
-
(0,
|
|
879304
|
-
(deviceInfo) => (0,
|
|
879305
|
-
(0,
|
|
879347
|
+
return (0, import_rxjs206.from)(getDeviceInfo_default(t110)).pipe(
|
|
879348
|
+
(0, import_operators45.mergeMap)(
|
|
879349
|
+
(deviceInfo) => (0, import_rxjs206.from)(getAppsCatalogForDevice2(deviceInfo)).pipe(
|
|
879350
|
+
(0, import_operators45.mergeMap)((list2) => {
|
|
879306
879351
|
const app = list2.find(
|
|
879307
879352
|
(item) => item.versionName.toLowerCase() === inferManagerApp(debug).toLowerCase()
|
|
879308
879353
|
);
|
|
@@ -879314,11 +879359,11 @@ var app_default = {
|
|
|
879314
879359
|
)
|
|
879315
879360
|
)
|
|
879316
879361
|
);
|
|
879317
|
-
return (0,
|
|
879318
|
-
(0,
|
|
879319
|
-
(deviceInfo) => (0,
|
|
879320
|
-
(0,
|
|
879321
|
-
(v2List) => (0,
|
|
879362
|
+
return (0, import_rxjs206.from)(getDeviceInfo_default(t110)).pipe(
|
|
879363
|
+
(0, import_operators45.mergeMap)(
|
|
879364
|
+
(deviceInfo) => (0, import_rxjs206.from)(getAppsCatalogForDevice2(deviceInfo)).pipe(
|
|
879365
|
+
(0, import_operators45.mergeMap)(
|
|
879366
|
+
(v2List) => (0, import_rxjs206.concat)(
|
|
879322
879367
|
...(uninstall || []).map((application) => {
|
|
879323
879368
|
const { targetId } = deviceInfo;
|
|
879324
879369
|
const list2 = v2List.map(mapApplicationV2ToApp);
|
|
@@ -879345,19 +879390,19 @@ var app_default = {
|
|
|
879345
879390
|
)
|
|
879346
879391
|
)
|
|
879347
879392
|
),
|
|
879348
|
-
verbose ? (0,
|
|
879393
|
+
verbose ? (0, import_operators45.map)((a127) => a127) : (0, import_operators45.ignoreElements)()
|
|
879349
879394
|
);
|
|
879350
879395
|
})
|
|
879351
879396
|
};
|
|
879352
879397
|
|
|
879353
879398
|
// src/commands/device/appUninstallAll.ts
|
|
879354
|
-
var
|
|
879355
|
-
var
|
|
879399
|
+
var import_rxjs217 = require("rxjs");
|
|
879400
|
+
var import_operators47 = require("rxjs/operators");
|
|
879356
879401
|
|
|
879357
879402
|
// ../../libs/ledger-live-common/lib-es/apps/listApps.js
|
|
879358
879403
|
init_lib_es5();
|
|
879359
879404
|
init_lib_es();
|
|
879360
|
-
var
|
|
879405
|
+
var import_rxjs207 = require("rxjs");
|
|
879361
879406
|
init_lib_es2();
|
|
879362
879407
|
|
|
879363
879408
|
// ../../libs/ledger-live-common/lib-es/hw/listApps.js
|
|
@@ -879439,10 +879484,10 @@ var listApps2 = ({ transport, deviceInfo, deviceProxyModel, managerDevModeEnable
|
|
|
879439
879484
|
const tracer2 = new LocalTracer("list-apps", { transport: transport.getTraceContext() });
|
|
879440
879485
|
tracer2.trace("Using new version", { deviceInfo });
|
|
879441
879486
|
if (deviceInfo.isOSU || deviceInfo.isBootloader) {
|
|
879442
|
-
return (0,
|
|
879487
|
+
return (0, import_rxjs207.throwError)(() => new UnexpectedBootloader(""));
|
|
879443
879488
|
}
|
|
879444
879489
|
const deviceModelId = transport?.deviceModel?.id || identifyTargetId(deviceInfo.targetId)?.id || deviceProxyModel;
|
|
879445
|
-
return new
|
|
879490
|
+
return new import_rxjs207.Observable((o93) => {
|
|
879446
879491
|
let sub;
|
|
879447
879492
|
async function main2() {
|
|
879448
879493
|
const provider = getProviderIdUseCase({ deviceInfo, forceProvider });
|
|
@@ -879633,13 +879678,13 @@ function listAppsUseCase(transport, deviceInfo, managerApiRepository = HttpManag
|
|
|
879633
879678
|
}
|
|
879634
879679
|
|
|
879635
879680
|
// ../../libs/ledger-live-common/lib-es/hw/installAppWithRestore.js
|
|
879636
|
-
var
|
|
879681
|
+
var import_rxjs212 = require("rxjs");
|
|
879637
879682
|
|
|
879638
879683
|
// ../../libs/ledger-live-common/lib-es/device/use-cases/appDataBackup/restoreAppDataUseCaseDI.js
|
|
879639
|
-
var
|
|
879684
|
+
var import_rxjs211 = require("rxjs");
|
|
879640
879685
|
|
|
879641
879686
|
// ../../libs/ledger-live-common/lib-es/device/use-cases/appDataBackup/restoreAppDataUseCase.js
|
|
879642
|
-
var
|
|
879687
|
+
var import_rxjs208 = require("rxjs");
|
|
879643
879688
|
|
|
879644
879689
|
// ../../libs/ledger-live-common/lib-es/device/use-cases/appDataBackup/types.js
|
|
879645
879690
|
init_lib_es();
|
|
@@ -879671,9 +879716,9 @@ var DeleteAppDataError = createCustomErrorClass("DeleteAppDataError");
|
|
|
879671
879716
|
|
|
879672
879717
|
// ../../libs/ledger-live-common/lib-es/device/use-cases/appDataBackup/restoreAppDataUseCase.js
|
|
879673
879718
|
function restoreAppDataUseCase(appName, deviceModelId, storageProvider, restoreAppDataFn) {
|
|
879674
|
-
const obs = (0,
|
|
879719
|
+
const obs = (0, import_rxjs208.from)(storageProvider.getItem(`${deviceModelId}-${appName}`)).pipe((0, import_rxjs208.switchMap)((appStorage) => {
|
|
879675
879720
|
if (!appStorage) {
|
|
879676
|
-
return (0,
|
|
879721
|
+
return (0, import_rxjs208.of)({
|
|
879677
879722
|
type: RestoreAppDataEventType.NoAppDataToRestore
|
|
879678
879723
|
});
|
|
879679
879724
|
}
|
|
@@ -879683,12 +879728,12 @@ function restoreAppDataUseCase(appName, deviceModelId, storageProvider, restoreA
|
|
|
879683
879728
|
}
|
|
879684
879729
|
|
|
879685
879730
|
// ../../libs/ledger-live-common/lib-es/device/use-cases/appDataBackup/restoreAppData.js
|
|
879686
|
-
var
|
|
879731
|
+
var import_rxjs209 = require("rxjs");
|
|
879687
879732
|
function restoreAppData(transport, appName, appData) {
|
|
879688
|
-
const obs = new
|
|
879733
|
+
const obs = new import_rxjs209.Observable((subscriber) => {
|
|
879689
879734
|
const chunkData = Buffer.from(appData, "base64");
|
|
879690
879735
|
const backupSize = chunkData.length;
|
|
879691
|
-
const sub = (0,
|
|
879736
|
+
const sub = (0, import_rxjs209.from)(restoreAppStorageInit(transport, appName, backupSize)).pipe((0, import_rxjs209.switchMap)(async () => {
|
|
879692
879737
|
subscriber.next({ type: RestoreAppDataEventType.AppDataInitialized });
|
|
879693
879738
|
const MAX_CHUNK_SIZE2 = 255;
|
|
879694
879739
|
let offset3 = 0;
|
|
@@ -879707,20 +879752,20 @@ function restoreAppData(transport, appName, appData) {
|
|
|
879707
879752
|
type: RestoreAppDataEventType.AppDataRestored
|
|
879708
879753
|
});
|
|
879709
879754
|
subscriber.complete();
|
|
879710
|
-
}), (0,
|
|
879755
|
+
}), (0, import_rxjs209.catchError)((e95) => {
|
|
879711
879756
|
if (e95 instanceof AppNotFound) {
|
|
879712
879757
|
subscriber.next({
|
|
879713
879758
|
type: RestoreAppDataEventType.NoAppDataToRestore
|
|
879714
879759
|
});
|
|
879715
879760
|
subscriber.complete();
|
|
879716
|
-
return (0,
|
|
879761
|
+
return (0, import_rxjs209.of)(null);
|
|
879717
879762
|
}
|
|
879718
879763
|
if (e95 instanceof UserRefusedOnDevice4) {
|
|
879719
879764
|
subscriber.next({
|
|
879720
879765
|
type: RestoreAppDataEventType.UserRefused
|
|
879721
879766
|
});
|
|
879722
879767
|
subscriber.complete();
|
|
879723
|
-
return (0,
|
|
879768
|
+
return (0, import_rxjs209.of)(null);
|
|
879724
879769
|
}
|
|
879725
879770
|
subscriber.complete();
|
|
879726
879771
|
throw e95;
|
|
@@ -879733,11 +879778,11 @@ function restoreAppData(transport, appName, appData) {
|
|
|
879733
879778
|
}
|
|
879734
879779
|
|
|
879735
879780
|
// ../../libs/ledger-live-common/lib-es/device/use-cases/appDataBackup/deleteAppData.js
|
|
879736
|
-
var
|
|
879781
|
+
var import_rxjs210 = require("rxjs");
|
|
879737
879782
|
function deleteAppData(appName, deviceModelId, storageProvider) {
|
|
879738
|
-
const obs = new
|
|
879783
|
+
const obs = new import_rxjs210.Observable((subscriber) => {
|
|
879739
879784
|
subscriber.next({ type: DeleteAppDataEventType.AppDataDeleteStarted });
|
|
879740
|
-
const sub = (0,
|
|
879785
|
+
const sub = (0, import_rxjs210.from)(storageProvider.getItem(`${deviceModelId}-${appName}`)).pipe((0, import_rxjs210.switchMap)(async (item) => {
|
|
879741
879786
|
if (item) {
|
|
879742
879787
|
try {
|
|
879743
879788
|
await storageProvider.removeItem(`${deviceModelId}-${appName}`);
|
|
@@ -879751,13 +879796,13 @@ function deleteAppData(appName, deviceModelId, storageProvider) {
|
|
|
879751
879796
|
subscriber.next({ type: DeleteAppDataEventType.NoAppDataToDelete });
|
|
879752
879797
|
subscriber.complete();
|
|
879753
879798
|
}
|
|
879754
|
-
}), (0,
|
|
879799
|
+
}), (0, import_rxjs210.catchError)((e95) => {
|
|
879755
879800
|
if (e95 instanceof Error || e95 instanceof DeleteAppDataError) {
|
|
879756
879801
|
subscriber.error(e95);
|
|
879757
879802
|
} else {
|
|
879758
879803
|
subscriber.error(new Error("Unknown error"));
|
|
879759
879804
|
}
|
|
879760
|
-
return (0,
|
|
879805
|
+
return (0, import_rxjs210.of)(null);
|
|
879761
879806
|
})).subscribe();
|
|
879762
879807
|
return () => {
|
|
879763
879808
|
subscriber.complete();
|
|
@@ -879779,24 +879824,24 @@ function deleteAppDataUseCaseDI(appName, deviceModelId, storageProvider) {
|
|
|
879779
879824
|
|
|
879780
879825
|
// ../../libs/ledger-live-common/lib-es/device/use-cases/appDataBackup/restoreAppDataUseCaseDI.js
|
|
879781
879826
|
function restoreAppDataUseCaseDI(transport, appName, deviceModelId, storageProvider) {
|
|
879782
|
-
return restoreAppDataUseCase(appName, deviceModelId, storageProvider, (data6) => restoreAppData(transport, appName, data6)).pipe((0,
|
|
879827
|
+
return restoreAppDataUseCase(appName, deviceModelId, storageProvider, (data6) => restoreAppData(transport, appName, data6)).pipe((0, import_rxjs211.switchMap)(() => deleteAppDataUseCaseDI(appName, deviceModelId, storageProvider)));
|
|
879783
879828
|
}
|
|
879784
879829
|
|
|
879785
879830
|
// ../../libs/ledger-live-common/lib-es/hw/installAppWithRestore.js
|
|
879786
879831
|
function installAppWithRestore(transport, targetId, app, deviceId, storage) {
|
|
879787
879832
|
const install2 = installApp(transport, targetId, app);
|
|
879788
879833
|
const restore = restoreAppDataUseCaseDI(transport, app.name, deviceId, storage);
|
|
879789
|
-
return (0,
|
|
879834
|
+
return (0, import_rxjs212.concat)(install2, restore);
|
|
879790
879835
|
}
|
|
879791
879836
|
|
|
879792
879837
|
// ../../libs/ledger-live-common/lib-es/hw/uninstallAppWithBackup.js
|
|
879793
|
-
var
|
|
879838
|
+
var import_rxjs215 = require("rxjs");
|
|
879794
879839
|
|
|
879795
879840
|
// ../../libs/ledger-live-common/lib-es/device/use-cases/appDataBackup/backupAppData.js
|
|
879796
|
-
var
|
|
879841
|
+
var import_rxjs213 = require("rxjs");
|
|
879797
879842
|
function backupAppData(transport, appName) {
|
|
879798
|
-
const obs = new
|
|
879799
|
-
const sub = (0,
|
|
879843
|
+
const obs = new import_rxjs213.Observable((subscriber) => {
|
|
879844
|
+
const sub = (0, import_rxjs213.from)(getAppStorageInfo(transport, appName)).pipe((0, import_rxjs213.switchMap)(async (appDataInfo) => {
|
|
879800
879845
|
subscriber.next({ type: BackupAppDataEventType.AppDataInfoFetched, data: appDataInfo });
|
|
879801
879846
|
const dataSize = appDataInfo.size;
|
|
879802
879847
|
if (dataSize === 0) {
|
|
@@ -879828,11 +879873,11 @@ function backupAppData(transport, appName) {
|
|
|
879828
879873
|
data: appData.toString("base64")
|
|
879829
879874
|
});
|
|
879830
879875
|
subscriber.complete();
|
|
879831
|
-
}), (0,
|
|
879876
|
+
}), (0, import_rxjs213.catchError)((e95) => {
|
|
879832
879877
|
if (e95 instanceof AppNotFound) {
|
|
879833
879878
|
subscriber.next({ type: BackupAppDataEventType.NoAppDataToBackup });
|
|
879834
879879
|
subscriber.complete();
|
|
879835
|
-
return (0,
|
|
879880
|
+
return (0, import_rxjs213.of)(null);
|
|
879836
879881
|
}
|
|
879837
879882
|
throw e95;
|
|
879838
879883
|
})).subscribe();
|
|
@@ -879844,10 +879889,10 @@ function backupAppData(transport, appName) {
|
|
|
879844
879889
|
}
|
|
879845
879890
|
|
|
879846
879891
|
// ../../libs/ledger-live-common/lib-es/device/use-cases/appDataBackup/backupAppDataUseCase.js
|
|
879847
|
-
var
|
|
879892
|
+
var import_rxjs214 = require("rxjs");
|
|
879848
879893
|
function backupAppDataUseCase(appName, deviceModelId, storageProvider, backupAppDataFn) {
|
|
879849
879894
|
let appDataInfo;
|
|
879850
|
-
const obs = backupAppDataFn().pipe((0,
|
|
879895
|
+
const obs = backupAppDataFn().pipe((0, import_rxjs214.switchMap)(async (event) => {
|
|
879851
879896
|
switch (event.type) {
|
|
879852
879897
|
case BackupAppDataEventType.AppDataInfoFetched: {
|
|
879853
879898
|
const appStorage = await storageProvider.getItem(`${deviceModelId}-${appName}`);
|
|
@@ -879884,7 +879929,7 @@ function backupAppDataUseCaseDI(transport, appName, deviceModelId, storageProvid
|
|
|
879884
879929
|
function uninstallAppWithBackup(transport, targetId, app, deviceId, storage, skipAppDataBackup = false) {
|
|
879885
879930
|
const backup = backupAppDataUseCaseDI(transport, app.name, deviceId, storage);
|
|
879886
879931
|
const uninstall = uninstallApp(transport, targetId, app);
|
|
879887
|
-
return skipAppDataBackup ? uninstall : (0,
|
|
879932
|
+
return skipAppDataBackup ? uninstall : (0, import_rxjs215.concat)(backup, uninstall);
|
|
879888
879933
|
}
|
|
879889
879934
|
|
|
879890
879935
|
// ../../libs/ledger-live-common/lib-es/device/use-cases/execWithTransport.js
|
|
@@ -879900,8 +879945,8 @@ var execWithTransport = (transport, appsBackupEnabled = false) => (args3) => {
|
|
|
879900
879945
|
|
|
879901
879946
|
// ../../libs/ledger-live-common/lib-es/hw/uninstallAllApps.js
|
|
879902
879947
|
init_lib_es();
|
|
879903
|
-
var
|
|
879904
|
-
var
|
|
879948
|
+
var import_rxjs216 = require("rxjs");
|
|
879949
|
+
var import_operators46 = require("rxjs/operators");
|
|
879905
879950
|
var command2 = async (transport) => {
|
|
879906
879951
|
const res = await transport.send(224, 1757, 0, 0, Buffer.from([]), [
|
|
879907
879952
|
StatusCodes.OK,
|
|
@@ -879927,21 +879972,21 @@ var appUninstallAll_default = {
|
|
|
879927
879972
|
args: [deviceOpt],
|
|
879928
879973
|
job: ({ device: device2 }) => withDevice(device2 || "")((t110) => {
|
|
879929
879974
|
const exec7 = execWithTransport(t110);
|
|
879930
|
-
return (0,
|
|
879931
|
-
(0,
|
|
879975
|
+
return (0, import_rxjs217.from)(command2(t110)).pipe(
|
|
879976
|
+
(0, import_operators47.mergeMap)((res) => {
|
|
879932
879977
|
if (res) {
|
|
879933
|
-
return (0,
|
|
879978
|
+
return (0, import_rxjs217.from)(["Uninstalled using bulk mode"]);
|
|
879934
879979
|
} else {
|
|
879935
|
-
return (0,
|
|
879936
|
-
(0,
|
|
879980
|
+
return (0, import_rxjs217.from)(getDeviceInfo_default(t110)).pipe(
|
|
879981
|
+
(0, import_operators47.mergeMap)(
|
|
879937
879982
|
(deviceInfo) => listAppsUseCase(t110, deviceInfo).pipe(
|
|
879938
|
-
(0,
|
|
879939
|
-
(0,
|
|
879983
|
+
(0, import_operators47.filter)((e95) => e95.type === "result"),
|
|
879984
|
+
(0, import_operators47.map)(
|
|
879940
879985
|
(e95) => reducer(e95.result, {
|
|
879941
879986
|
type: "wipe"
|
|
879942
879987
|
})
|
|
879943
879988
|
),
|
|
879944
|
-
(0,
|
|
879989
|
+
(0, import_operators47.mergeMap)((s114) => runAll(s114, exec7))
|
|
879945
879990
|
)
|
|
879946
879991
|
)
|
|
879947
879992
|
);
|
|
@@ -879954,8 +879999,8 @@ var appUninstallAll_default = {
|
|
|
879954
879999
|
// src/commands/device/appsCheckAllAppVersions.ts
|
|
879955
880000
|
var import_invariant120 = __toESM(require("invariant"));
|
|
879956
880001
|
var import_fs8 = __toESM(require("fs"));
|
|
879957
|
-
var
|
|
879958
|
-
var
|
|
880002
|
+
var import_rxjs218 = require("rxjs");
|
|
880003
|
+
var import_operators48 = require("rxjs/operators");
|
|
879959
880004
|
var blacklistApps = ["Fido U2F", "Security Key"];
|
|
879960
880005
|
var MemoFile = class {
|
|
879961
880006
|
file;
|
|
@@ -880065,16 +880110,16 @@ var findCandidates = async (deviceModel, applications, deviceInfo) => {
|
|
|
880065
880110
|
}
|
|
880066
880111
|
return candidates2;
|
|
880067
880112
|
};
|
|
880068
|
-
var installCandidate = (t110, deviceInfo, candidate) => (0,
|
|
880113
|
+
var installCandidate = (t110, deviceInfo, candidate) => (0, import_rxjs218.concat)(
|
|
880069
880114
|
...candidate.installQueue.flatMap((app) => [
|
|
880070
|
-
(0,
|
|
880071
|
-
(0,
|
|
880115
|
+
(0, import_rxjs218.defer)(() => delay(getEnv("MANAGER_INSTALL_DELAY"))),
|
|
880116
|
+
(0, import_rxjs218.defer)(() => installApp(t110, deviceInfo.targetId, app))
|
|
880072
880117
|
])
|
|
880073
880118
|
);
|
|
880074
|
-
var uninstallCandidate = (t110, deviceInfo, candidate) => (0,
|
|
880119
|
+
var uninstallCandidate = (t110, deviceInfo, candidate) => (0, import_rxjs218.concat)(
|
|
880075
880120
|
...candidate.installQueue.slice(0).reverse().flatMap((app) => [
|
|
880076
|
-
(0,
|
|
880077
|
-
(0,
|
|
880121
|
+
(0, import_rxjs218.defer)(() => delay(getEnv("MANAGER_INSTALL_DELAY"))),
|
|
880122
|
+
(0, import_rxjs218.defer)(() => uninstallApp(t110, deviceInfo.targetId, app))
|
|
880078
880123
|
])
|
|
880079
880124
|
);
|
|
880080
880125
|
var getCandidateName = (candidate) => {
|
|
@@ -880102,7 +880147,7 @@ var checkInstalled = (installed, candidate) => {
|
|
|
880102
880147
|
console.error("FAIL " + name2 + message2);
|
|
880103
880148
|
} else {
|
|
880104
880149
|
console.error("FAIL " + name2 + " was not correctly installed");
|
|
880105
|
-
return
|
|
880150
|
+
return import_rxjs218.EMPTY;
|
|
880106
880151
|
}
|
|
880107
880152
|
} else {
|
|
880108
880153
|
const hashMatches = ins.hash === candidate.version.hash;
|
|
@@ -880127,14 +880172,14 @@ var checkInstalled = (installed, candidate) => {
|
|
|
880127
880172
|
}
|
|
880128
880173
|
results = results.filter((r87) => r87.versionId !== result2.versionId).concat(result2);
|
|
880129
880174
|
if (memoFile) {
|
|
880130
|
-
return (0,
|
|
880175
|
+
return (0, import_rxjs218.from)(memoFile.writeResults(results)).pipe((0, import_operators48.ignoreElements)());
|
|
880131
880176
|
}
|
|
880132
|
-
return
|
|
880177
|
+
return import_rxjs218.EMPTY;
|
|
880133
880178
|
};
|
|
880134
880179
|
var wipeAll = (t110, deviceInfo) => listAppsUseCase(t110, deviceInfo).pipe(
|
|
880135
|
-
(0,
|
|
880136
|
-
(0,
|
|
880137
|
-
(0,
|
|
880180
|
+
(0, import_operators48.filter)((e95) => e95.type === "result"),
|
|
880181
|
+
(0, import_operators48.map)((e95) => e95.result),
|
|
880182
|
+
(0, import_operators48.mergeMap)((listAppsResult) => {
|
|
880138
880183
|
const exec7 = execWithTransport(t110);
|
|
880139
880184
|
let s114 = initState(listAppsResult);
|
|
880140
880185
|
s114 = reducer(s114, {
|
|
@@ -880157,7 +880202,7 @@ var appsCheckAllAppVersions_default = {
|
|
|
880157
880202
|
}
|
|
880158
880203
|
],
|
|
880159
880204
|
job: ({ device: device2, memo: memo3 }) => withDevice(device2 || "")((t110) => {
|
|
880160
|
-
return (0,
|
|
880205
|
+
return (0, import_rxjs218.from)(
|
|
880161
880206
|
Promise.all([getDeviceInfo_default(t110), api_default4.listApps()]).then(
|
|
880162
880207
|
async ([deviceInfo, applications]) => {
|
|
880163
880208
|
const { deviceModel } = t110;
|
|
@@ -880202,20 +880247,20 @@ var appsCheckAllAppVersions_default = {
|
|
|
880202
880247
|
}
|
|
880203
880248
|
)
|
|
880204
880249
|
).pipe(
|
|
880205
|
-
(0,
|
|
880206
|
-
([deviceInfo, candidates2]) => (0,
|
|
880207
|
-
wipeAll(t110, deviceInfo).pipe((0,
|
|
880208
|
-
(0,
|
|
880250
|
+
(0, import_operators48.mergeMap)(
|
|
880251
|
+
([deviceInfo, candidates2]) => (0, import_rxjs218.concat)(
|
|
880252
|
+
wipeAll(t110, deviceInfo).pipe((0, import_operators48.ignoreElements)()),
|
|
880253
|
+
(0, import_rxjs218.of)([deviceInfo, candidates2])
|
|
880209
880254
|
)
|
|
880210
880255
|
),
|
|
880211
|
-
(0,
|
|
880256
|
+
(0, import_operators48.mergeMap)(
|
|
880212
880257
|
([deviceInfo, candidates2]) => candidates2.reduce(
|
|
880213
|
-
(acc, candidate) => (0,
|
|
880258
|
+
(acc, candidate) => (0, import_rxjs218.concat)(
|
|
880214
880259
|
acc,
|
|
880215
|
-
(0,
|
|
880260
|
+
(0, import_rxjs218.defer)(
|
|
880216
880261
|
() => installCandidate(t110, deviceInfo, candidate).pipe(
|
|
880217
|
-
(0,
|
|
880218
|
-
(0,
|
|
880262
|
+
(0, import_operators48.ignoreElements)(),
|
|
880263
|
+
(0, import_operators48.catchError)((e95) => {
|
|
880219
880264
|
const result2 = {
|
|
880220
880265
|
versionId: candidate.version.id,
|
|
880221
880266
|
appPath: candidate.version.firmware,
|
|
@@ -880226,15 +880271,15 @@ var appsCheckAllAppVersions_default = {
|
|
|
880226
880271
|
results = results.filter((r87) => r87.versionId !== result2.versionId).concat(result2);
|
|
880227
880272
|
console.error("FAILED installing " + getCandidateName(candidate), e95);
|
|
880228
880273
|
if (memoFile) {
|
|
880229
|
-
return (0,
|
|
880274
|
+
return (0, import_rxjs218.from)(memoFile.writeResults(results)).pipe((0, import_operators48.ignoreElements)());
|
|
880230
880275
|
}
|
|
880231
|
-
return
|
|
880276
|
+
return import_rxjs218.EMPTY;
|
|
880232
880277
|
})
|
|
880233
880278
|
)
|
|
880234
880279
|
),
|
|
880235
|
-
(0,
|
|
880236
|
-
(0,
|
|
880237
|
-
() => (0,
|
|
880280
|
+
(0, import_rxjs218.defer)(() => delay(3e3)).pipe((0, import_operators48.ignoreElements)()),
|
|
880281
|
+
(0, import_rxjs218.defer)(
|
|
880282
|
+
() => (0, import_rxjs218.from)(
|
|
880238
880283
|
new Promise((resolve, reject) => {
|
|
880239
880284
|
api_default4.listInstalledApps(t110, {
|
|
880240
880285
|
targetId: deviceInfo.targetId,
|
|
@@ -880249,16 +880294,16 @@ var appsCheckAllAppVersions_default = {
|
|
|
880249
880294
|
});
|
|
880250
880295
|
})
|
|
880251
880296
|
).pipe(
|
|
880252
|
-
(0,
|
|
880253
|
-
(installed) => (0,
|
|
880297
|
+
(0, import_operators48.mergeMap)(
|
|
880298
|
+
(installed) => (0, import_rxjs218.concat)(
|
|
880254
880299
|
checkInstalled(installed, candidate),
|
|
880255
880300
|
uninstallCandidate(t110, deviceInfo, candidate)
|
|
880256
|
-
).pipe((0,
|
|
880301
|
+
).pipe((0, import_operators48.ignoreElements)())
|
|
880257
880302
|
)
|
|
880258
880303
|
)
|
|
880259
880304
|
)
|
|
880260
880305
|
),
|
|
880261
|
-
|
|
880306
|
+
import_rxjs218.EMPTY
|
|
880262
880307
|
)
|
|
880263
880308
|
)
|
|
880264
880309
|
);
|
|
@@ -880266,18 +880311,18 @@ var appsCheckAllAppVersions_default = {
|
|
|
880266
880311
|
};
|
|
880267
880312
|
|
|
880268
880313
|
// src/commands/device/appsInstallAll.ts
|
|
880269
|
-
var
|
|
880270
|
-
var
|
|
880314
|
+
var import_rxjs219 = require("rxjs");
|
|
880315
|
+
var import_operators49 = require("rxjs/operators");
|
|
880271
880316
|
var appsInstallAll_default = {
|
|
880272
880317
|
description: "test script to install and uninstall all apps",
|
|
880273
880318
|
args: [deviceOpt],
|
|
880274
880319
|
job: ({ device: device2 }) => withDevice(device2 || "")((t110) => {
|
|
880275
880320
|
const exec7 = execWithTransport(t110);
|
|
880276
|
-
return (0,
|
|
880277
|
-
(0,
|
|
880321
|
+
return (0, import_rxjs219.from)(getDeviceInfo_default(t110)).pipe(
|
|
880322
|
+
(0, import_operators49.mergeMap)(
|
|
880278
880323
|
(deviceInfo) => listAppsUseCase(t110, deviceInfo).pipe(
|
|
880279
|
-
(0,
|
|
880280
|
-
(0,
|
|
880324
|
+
(0, import_operators49.filter)((e95) => e95.type === "result"),
|
|
880325
|
+
(0, import_operators49.map)(
|
|
880281
880326
|
(e95) => e95.result.appsListNames.reduce(
|
|
880282
880327
|
(s114, name2) => reducer(s114, {
|
|
880283
880328
|
type: "install",
|
|
@@ -880286,7 +880331,7 @@ var appsInstallAll_default = {
|
|
|
880286
880331
|
initState(e95.result)
|
|
880287
880332
|
)
|
|
880288
880333
|
),
|
|
880289
|
-
(0,
|
|
880334
|
+
(0, import_operators49.mergeMap)((s114) => runAll(s114, exec7))
|
|
880290
880335
|
)
|
|
880291
880336
|
)
|
|
880292
880337
|
);
|
|
@@ -880294,8 +880339,8 @@ var appsInstallAll_default = {
|
|
|
880294
880339
|
};
|
|
880295
880340
|
|
|
880296
880341
|
// src/commands/device/appsUpdateTestAll.ts
|
|
880297
|
-
var
|
|
880298
|
-
var
|
|
880342
|
+
var import_rxjs220 = require("rxjs");
|
|
880343
|
+
var import_operators50 = require("rxjs/operators");
|
|
880299
880344
|
var prettyActionPlan = (ops) => ops.map((op) => (op.type === "install" ? "+" : "-") + op.name).join(", ");
|
|
880300
880345
|
var appsUpdateTestAll_default = {
|
|
880301
880346
|
description: "test script to install and uninstall all apps",
|
|
@@ -880308,16 +880353,16 @@ var appsUpdateTestAll_default = {
|
|
|
880308
880353
|
],
|
|
880309
880354
|
job: ({ device: device2, index }) => withDevice(device2 || "")((t110) => {
|
|
880310
880355
|
const exec7 = execWithTransport(t110);
|
|
880311
|
-
return (0,
|
|
880356
|
+
return (0, import_rxjs220.from)(getDeviceInfo_default(t110)).pipe(
|
|
880312
880357
|
// FIXME: mergeMap deprecated, using map inside pipe should do the work
|
|
880313
|
-
(0,
|
|
880358
|
+
(0, import_operators50.map)(
|
|
880314
880359
|
(deviceInfo) => listAppsUseCase(t110, deviceInfo).pipe(
|
|
880315
|
-
(0,
|
|
880316
|
-
(0,
|
|
880317
|
-
(0,
|
|
880360
|
+
(0, import_operators50.filter)((e95) => e95.type === "result"),
|
|
880361
|
+
(0, import_operators50.map)((e95) => e95.result),
|
|
880362
|
+
(0, import_operators50.mergeMap)((listAppsResult) => {
|
|
880318
880363
|
return listAppsResult.appsListNames.slice(index || 0).reduce(
|
|
880319
880364
|
($state, name2) => $state.pipe(
|
|
880320
|
-
(0,
|
|
880365
|
+
(0, import_operators50.mergeMap)((s114) => {
|
|
880321
880366
|
if (s114.currentError) {
|
|
880322
880367
|
console.error(
|
|
880323
880368
|
"FAILED " + s114.currentError.appOp.type + " " + s114.currentError.appOp.name + ": " + String(s114.currentError.error)
|
|
@@ -880332,7 +880377,7 @@ var appsUpdateTestAll_default = {
|
|
|
880332
880377
|
console.log("wipe action plan = " + prettyActionPlan(getActionPlan(s114)));
|
|
880333
880378
|
return runAll(s114, exec7);
|
|
880334
880379
|
}),
|
|
880335
|
-
(0,
|
|
880380
|
+
(0, import_operators50.mergeMap)((s114) => {
|
|
880336
880381
|
s114 = reducer(s114, {
|
|
880337
880382
|
type: "install",
|
|
880338
880383
|
name: name2
|
|
@@ -880342,8 +880387,8 @@ var appsUpdateTestAll_default = {
|
|
|
880342
880387
|
);
|
|
880343
880388
|
return runAll(s114, exec7);
|
|
880344
880389
|
}),
|
|
880345
|
-
(0,
|
|
880346
|
-
(state) => new
|
|
880390
|
+
(0, import_operators50.mergeMap)(
|
|
880391
|
+
(state) => new import_rxjs220.Observable((o93) => {
|
|
880347
880392
|
let sub;
|
|
880348
880393
|
const timeout10 = setTimeout(() => {
|
|
880349
880394
|
sub = listAppsUseCase(t110, deviceInfo).subscribe(o93);
|
|
@@ -880354,9 +880399,9 @@ var appsUpdateTestAll_default = {
|
|
|
880354
880399
|
sub.unsubscribe();
|
|
880355
880400
|
};
|
|
880356
880401
|
}).pipe(
|
|
880357
|
-
(0,
|
|
880358
|
-
(0,
|
|
880359
|
-
(0,
|
|
880402
|
+
(0, import_operators50.filter)((e95) => e95.type === "result"),
|
|
880403
|
+
(0, import_operators50.map)((e95) => e95.result),
|
|
880404
|
+
(0, import_operators50.map)((results2) => {
|
|
880360
880405
|
const app = results2.installed.find((a127) => a127.name === name2);
|
|
880361
880406
|
if (!app) {
|
|
880362
880407
|
throw new Error(
|
|
@@ -880373,11 +880418,11 @@ var appsUpdateTestAll_default = {
|
|
|
880373
880418
|
)
|
|
880374
880419
|
)
|
|
880375
880420
|
),
|
|
880376
|
-
(0,
|
|
880421
|
+
(0, import_rxjs220.of)(initState(listAppsResult))
|
|
880377
880422
|
);
|
|
880378
880423
|
})
|
|
880379
880424
|
),
|
|
880380
|
-
(0,
|
|
880425
|
+
(0, import_operators50.ignoreElements)()
|
|
880381
880426
|
)
|
|
880382
880427
|
);
|
|
880383
880428
|
})
|
|
@@ -880385,7 +880430,7 @@ var appsUpdateTestAll_default = {
|
|
|
880385
880430
|
|
|
880386
880431
|
// src/commands/device/cleanSpeculos.ts
|
|
880387
880432
|
var import_child_process2 = require("child_process");
|
|
880388
|
-
var
|
|
880433
|
+
var import_rxjs221 = require("rxjs");
|
|
880389
880434
|
var cleanSpeculos_default = {
|
|
880390
880435
|
description: "clean all docker instance of speculos",
|
|
880391
880436
|
args: [],
|
|
@@ -880394,17 +880439,17 @@ var cleanSpeculos_default = {
|
|
|
880394
880439
|
if (instances.length > 0) {
|
|
880395
880440
|
(0, import_child_process2.execSync)("docker container rm -f " + instances.join(" "));
|
|
880396
880441
|
}
|
|
880397
|
-
return (0,
|
|
880442
|
+
return (0, import_rxjs221.of)(instances.join(" "));
|
|
880398
880443
|
}
|
|
880399
880444
|
};
|
|
880400
880445
|
|
|
880401
880446
|
// src/commands/device/customLockScreenFetch.ts
|
|
880402
|
-
var
|
|
880447
|
+
var import_rxjs224 = require("rxjs");
|
|
880403
880448
|
var import_fs9 = __toESM(require("fs"));
|
|
880404
880449
|
|
|
880405
880450
|
// ../../libs/ledger-live-common/lib-es/hw/customLockScreenFetch.js
|
|
880406
|
-
var
|
|
880407
|
-
var
|
|
880451
|
+
var import_rxjs223 = require("rxjs");
|
|
880452
|
+
var import_operators52 = require("rxjs/operators");
|
|
880408
880453
|
init_lib_es();
|
|
880409
880454
|
init_lib_es5();
|
|
880410
880455
|
var import_pako = require("pako");
|
|
@@ -880430,8 +880475,8 @@ var customLockScreenFetchHash_default = async (transport) => {
|
|
|
880430
880475
|
};
|
|
880431
880476
|
|
|
880432
880477
|
// ../../libs/ledger-live-common/lib-es/hw/attemptToQuitApp.js
|
|
880433
|
-
var
|
|
880434
|
-
var
|
|
880478
|
+
var import_rxjs222 = require("rxjs");
|
|
880479
|
+
var import_operators51 = require("rxjs/operators");
|
|
880435
880480
|
|
|
880436
880481
|
// ../../libs/ledger-live-common/lib-es/appSupportsQuitApp.js
|
|
880437
880482
|
var import_semver32 = __toESM(require_semver2());
|
|
@@ -880576,9 +880621,9 @@ var minAppVersion = {
|
|
|
880576
880621
|
var appSupportsQuitApp_default = ({ name: name2, version: version27 }) => !(name2 in minAppVersion) || import_semver32.default.gte(import_semver32.default.coerce(version27) || "", minAppVersion[name2]);
|
|
880577
880622
|
|
|
880578
880623
|
// ../../libs/ledger-live-common/lib-es/hw/attemptToQuitApp.js
|
|
880579
|
-
var attemptToQuitApp = (transport, appAndVersion) => appAndVersion && appSupportsQuitApp_default(appAndVersion) ? (0,
|
|
880624
|
+
var attemptToQuitApp = (transport, appAndVersion) => appAndVersion && appSupportsQuitApp_default(appAndVersion) ? (0, import_rxjs222.from)(quitApp_default(transport)).pipe((0, import_operators51.concatMap)(() => (0, import_rxjs222.of)({
|
|
880580
880625
|
type: "appQuitted"
|
|
880581
|
-
})), (0,
|
|
880626
|
+
})), (0, import_operators51.catchError)((e95) => (0, import_rxjs222.throwError)(() => e95))) : (0, import_rxjs222.of)({
|
|
880582
880627
|
type: "appDetected"
|
|
880583
880628
|
});
|
|
880584
880629
|
var attemptToQuitApp_default = attemptToQuitApp;
|
|
@@ -880587,11 +880632,11 @@ var attemptToQuitApp_default = attemptToQuitApp;
|
|
|
880587
880632
|
var MAX_APDU_SIZE = 240;
|
|
880588
880633
|
function fetchImage({ deviceId, deviceName, request: request2 }) {
|
|
880589
880634
|
const { backupHash, allowedEmpty = false, deviceModelId } = request2;
|
|
880590
|
-
const sub = withDevice(deviceId, deviceName ? { matchDeviceByName: deviceName } : void 0)((transport) => new
|
|
880591
|
-
const timeoutSub = (0,
|
|
880635
|
+
const sub = withDevice(deviceId, deviceName ? { matchDeviceByName: deviceName } : void 0)((transport) => new import_rxjs223.Observable((subscriber) => {
|
|
880636
|
+
const timeoutSub = (0, import_rxjs223.of)({
|
|
880592
880637
|
type: "unresponsiveDevice"
|
|
880593
|
-
}).pipe((0,
|
|
880594
|
-
const sub2 = (0,
|
|
880638
|
+
}).pipe((0, import_operators52.delay)(1e3)).subscribe((e95) => subscriber.next(e95));
|
|
880639
|
+
const sub2 = (0, import_rxjs223.from)(getDeviceInfo_default(transport)).pipe((0, import_operators52.mergeMap)(async () => {
|
|
880595
880640
|
timeoutSub.unsubscribe();
|
|
880596
880641
|
const imgHash = await customLockScreenFetchHash_default(transport);
|
|
880597
880642
|
subscriber.next({ type: "currentImageHash", imgHash });
|
|
@@ -880645,15 +880690,15 @@ function fetchImage({ deviceId, deviceName, request: request2 }) {
|
|
|
880645
880690
|
const hexImage = await parseCustomLockScreenImageFormat(imageBuffer);
|
|
880646
880691
|
subscriber.next({ type: "imageFetched", hexImage });
|
|
880647
880692
|
subscriber.complete();
|
|
880648
|
-
}), (0,
|
|
880693
|
+
}), (0, import_operators52.catchError)((e95) => {
|
|
880649
880694
|
if (e95 instanceof DeviceOnDashboardExpected || e95 && e95 instanceof TransportStatusError && [28160, 27904, 28161, 27905, 27906].includes(e95.statusCode)) {
|
|
880650
|
-
return (0,
|
|
880651
|
-
return !isDashboardName(appAndVersion.name) ? attemptToQuitApp_default(transport, appAndVersion) : (0,
|
|
880695
|
+
return (0, import_rxjs223.from)(getAppAndVersion_default(transport)).pipe((0, import_operators52.concatMap)((appAndVersion) => {
|
|
880696
|
+
return !isDashboardName(appAndVersion.name) ? attemptToQuitApp_default(transport, appAndVersion) : (0, import_rxjs223.of)({
|
|
880652
880697
|
type: "appDetected"
|
|
880653
880698
|
});
|
|
880654
880699
|
}));
|
|
880655
880700
|
}
|
|
880656
|
-
return (0,
|
|
880701
|
+
return (0, import_rxjs223.throwError)(() => e95);
|
|
880657
880702
|
})).subscribe(subscriber);
|
|
880658
880703
|
return () => {
|
|
880659
880704
|
timeoutSub.unsubscribe();
|
|
@@ -880743,23 +880788,23 @@ var customLockScreenFetch_default = {
|
|
|
880743
880788
|
desc: "The device model id to use"
|
|
880744
880789
|
}
|
|
880745
880790
|
],
|
|
880746
|
-
job: (opts) => (0,
|
|
880791
|
+
job: (opts) => (0, import_rxjs224.from)(exec2(opts))
|
|
880747
880792
|
};
|
|
880748
880793
|
|
|
880749
880794
|
// src/commands/device/customLockScreenFetchAndRestore.ts
|
|
880750
|
-
var
|
|
880795
|
+
var import_rxjs227 = require("rxjs");
|
|
880751
880796
|
var import_fs10 = __toESM(require("fs"));
|
|
880752
880797
|
|
|
880753
880798
|
// ../../libs/ledger-live-common/lib-es/hw/customLockScreenLoad.js
|
|
880754
|
-
var
|
|
880755
|
-
var
|
|
880799
|
+
var import_rxjs226 = require("rxjs");
|
|
880800
|
+
var import_operators54 = require("rxjs/operators");
|
|
880756
880801
|
init_lib_es();
|
|
880757
880802
|
init_lib_es5();
|
|
880758
880803
|
var import_pako2 = require("pako");
|
|
880759
880804
|
|
|
880760
880805
|
// ../../libs/ledger-live-common/lib-es/deviceSDK/transports/core.js
|
|
880761
|
-
var
|
|
880762
|
-
var
|
|
880806
|
+
var import_rxjs225 = require("rxjs");
|
|
880807
|
+
var import_operators53 = require("rxjs/operators");
|
|
880763
880808
|
init_lib_es2();
|
|
880764
880809
|
init_Transport();
|
|
880765
880810
|
init_lib_es();
|
|
@@ -880767,7 +880812,7 @@ var LOG_TYPE4 = "device-sdk-transport";
|
|
|
880767
880812
|
var identifyTransport2 = (t110) => typeof t110.id === "string" ? t110.id : "";
|
|
880768
880813
|
var needsCleanup2 = {};
|
|
880769
880814
|
var withTransport = (deviceId, options24) => {
|
|
880770
|
-
return (job2) => new
|
|
880815
|
+
return (job2) => new import_rxjs225.Observable((subscriber) => {
|
|
880771
880816
|
const queuedJobManager = DeviceQueuedJobsManager.getInstance();
|
|
880772
880817
|
const previousQueuedJob = queuedJobManager.getLastQueuedJob(deviceId);
|
|
880773
880818
|
let resolveQueuedJob;
|
|
@@ -880864,8 +880909,8 @@ var withTransport = (deviceId, options24) => {
|
|
|
880864
880909
|
return finalize4(transportRef.current, [resolveQueuedJob]);
|
|
880865
880910
|
}
|
|
880866
880911
|
sub = job2({ transportRef }).pipe(
|
|
880867
|
-
(0,
|
|
880868
|
-
(0,
|
|
880912
|
+
(0, import_operators53.catchError)((error) => initialErrorRemapping2(error, tracer2.getContext())),
|
|
880913
|
+
(0, import_operators53.catchError)(errorRemapping2),
|
|
880869
880914
|
// close the transport and clean up everything
|
|
880870
880915
|
transportFinally2(() => {
|
|
880871
880916
|
return finalize4(transportRef.current, [resolveQueuedJob]);
|
|
@@ -880882,7 +880927,7 @@ var withTransport = (deviceId, options24) => {
|
|
|
880882
880927
|
};
|
|
880883
880928
|
});
|
|
880884
880929
|
};
|
|
880885
|
-
var transportFinally2 = (cleanup) => (observable) => new
|
|
880930
|
+
var transportFinally2 = (cleanup) => (observable) => new import_rxjs225.Observable((o93) => {
|
|
880886
880931
|
let done = false;
|
|
880887
880932
|
const finalize4 = () => {
|
|
880888
880933
|
if (done)
|
|
@@ -880919,9 +880964,9 @@ var initialErrorRemapping2 = (error, context2) => {
|
|
|
880919
880964
|
data: { error, mappedError },
|
|
880920
880965
|
context: context2
|
|
880921
880966
|
});
|
|
880922
|
-
return (0,
|
|
880967
|
+
return (0, import_rxjs225.throwError)(() => mappedError);
|
|
880923
880968
|
};
|
|
880924
|
-
var errorRemapping2 = (e95) => (0,
|
|
880969
|
+
var errorRemapping2 = (e95) => (0, import_rxjs225.throwError)(() => e95);
|
|
880925
880970
|
|
|
880926
880971
|
// ../../libs/ledger-live-common/lib-es/hw/customLockScreenLoad.js
|
|
880927
880972
|
var MAX_APDU_SIZE2 = 255;
|
|
@@ -880930,9 +880975,9 @@ var isDmkDeviceDisconnectedError = (err) => typeof err === "object" && err !== n
|
|
|
880930
880975
|
function loadImage({ deviceId, deviceName, request: request2 }) {
|
|
880931
880976
|
const { hexImage, padImage = true, deviceModelId } = request2;
|
|
880932
880977
|
const screenSpecs = getScreenSpecs(deviceModelId);
|
|
880933
|
-
const sub = withTransport(deviceId, deviceName ? { matchDeviceByName: deviceName } : void 0)(({ transportRef }) => new
|
|
880934
|
-
const timeoutSub = (0,
|
|
880935
|
-
const sub2 = (0,
|
|
880978
|
+
const sub = withTransport(deviceId, deviceName ? { matchDeviceByName: deviceName } : void 0)(({ transportRef }) => new import_rxjs226.Observable((subscriber) => {
|
|
880979
|
+
const timeoutSub = (0, import_rxjs226.of)({ type: "unresponsiveDevice" }).pipe((0, import_operators54.delay)(1e3)).subscribe((e95) => subscriber.next(e95));
|
|
880980
|
+
const sub2 = (0, import_rxjs226.from)(getDeviceInfo_default(transportRef.current)).pipe((0, import_operators54.mergeMap)(async () => {
|
|
880936
880981
|
timeoutSub.unsubscribe();
|
|
880937
880982
|
const imageData = await generateCustomLockScreenImageFormat(hexImage, true, !!padImage, screenSpecs);
|
|
880938
880983
|
const imageLength = imageData.length;
|
|
@@ -880984,25 +881029,25 @@ function loadImage({ deviceId, deviceName, request: request2 }) {
|
|
|
880984
881029
|
imageHash
|
|
880985
881030
|
});
|
|
880986
881031
|
subscriber.complete();
|
|
880987
|
-
}), (0,
|
|
881032
|
+
}), (0, import_operators54.catchError)((e95) => {
|
|
880988
881033
|
if (e95 instanceof DeviceOnDashboardExpected || e95 && e95 instanceof TransportStatusError && [28160, 27904, 28161, 27905, 27906].includes(e95.statusCode)) {
|
|
880989
|
-
return (0,
|
|
880990
|
-
return !isDashboardName(appAndVersion.name) ? attemptToQuitApp_default(transportRef.current, appAndVersion) : (0,
|
|
881034
|
+
return (0, import_rxjs226.from)(getAppAndVersion_default(transportRef.current)).pipe((0, import_operators54.concatMap)((appAndVersion) => {
|
|
881035
|
+
return !isDashboardName(appAndVersion.name) ? attemptToQuitApp_default(transportRef.current, appAndVersion) : (0, import_rxjs226.of)({
|
|
880991
881036
|
type: "appDetected"
|
|
880992
881037
|
});
|
|
880993
881038
|
}));
|
|
880994
881039
|
}
|
|
880995
|
-
return (0,
|
|
881040
|
+
return (0, import_rxjs226.throwError)(() => e95);
|
|
880996
881041
|
})).subscribe(subscriber);
|
|
880997
881042
|
return () => {
|
|
880998
881043
|
timeoutSub.unsubscribe();
|
|
880999
881044
|
sub2.unsubscribe();
|
|
881000
881045
|
};
|
|
881001
|
-
})).pipe((0,
|
|
881046
|
+
})).pipe((0, import_operators54.catchError)((err) => {
|
|
881002
881047
|
if (err.name === "TimeoutError" || isDmkDeviceDisconnectedError(err)) {
|
|
881003
|
-
return (0,
|
|
881048
|
+
return (0, import_rxjs226.throwError)(() => new DisconnectedDevice());
|
|
881004
881049
|
}
|
|
881005
|
-
return (0,
|
|
881050
|
+
return (0, import_rxjs226.throwError)(() => err);
|
|
881006
881051
|
}));
|
|
881007
881052
|
return sub;
|
|
881008
881053
|
}
|
|
@@ -881082,8 +881127,8 @@ var exec3 = async (opts) => {
|
|
|
881082
881127
|
console.log("Computing hash for input file");
|
|
881083
881128
|
console.log(hash9);
|
|
881084
881129
|
console.log("Extracting hash from device");
|
|
881085
|
-
const currentHash = await (0,
|
|
881086
|
-
withDevice(deviceId)((t110) => (0,
|
|
881130
|
+
const currentHash = await (0, import_rxjs227.firstValueFrom)(
|
|
881131
|
+
withDevice(deviceId)((t110) => (0, import_rxjs227.from)(customLockScreenFetchHash_default(t110)))
|
|
881087
881132
|
);
|
|
881088
881133
|
if (currentHash === hash9) {
|
|
881089
881134
|
console.log("Hashes match, skip backup step because we can use the one we have");
|
|
@@ -881091,8 +881136,8 @@ var exec3 = async (opts) => {
|
|
|
881091
881136
|
console.log("Hashes don't match, fetch image before updating");
|
|
881092
881137
|
}
|
|
881093
881138
|
console.log("Delete the current image (simulate the wipe from fw update)");
|
|
881094
|
-
await (0,
|
|
881095
|
-
withDevice(deviceId)((t110) => (0,
|
|
881139
|
+
await (0, import_rxjs227.firstValueFrom)(
|
|
881140
|
+
withDevice(deviceId)((t110) => (0, import_rxjs227.from)(t110.exchange(Buffer.from("e063000000", "hex"))))
|
|
881096
881141
|
);
|
|
881097
881142
|
console.log("Restoring the image we backedup");
|
|
881098
881143
|
await new Promise(
|
|
@@ -881130,19 +881175,19 @@ var customLockScreenFetchAndRestore_default = {
|
|
|
881130
881175
|
desc: "The device model id to use"
|
|
881131
881176
|
}
|
|
881132
881177
|
],
|
|
881133
|
-
job: (opts) => (0,
|
|
881178
|
+
job: (opts) => (0, import_rxjs227.from)(exec3(opts))
|
|
881134
881179
|
};
|
|
881135
881180
|
|
|
881136
881181
|
// src/commands/device/customLockScreenFetchHash.ts
|
|
881137
|
-
var
|
|
881182
|
+
var import_rxjs228 = require("rxjs");
|
|
881138
881183
|
var customLockScreenFetchHash_default2 = {
|
|
881139
881184
|
description: "Fetch the hash of the custom lock screen",
|
|
881140
881185
|
args: [deviceOpt],
|
|
881141
|
-
job: (arg) => withDevice(arg.device || "")((t110) => (0,
|
|
881186
|
+
job: (arg) => withDevice(arg.device || "")((t110) => (0, import_rxjs228.from)(customLockScreenFetchHash_default(t110)))
|
|
881142
881187
|
};
|
|
881143
881188
|
|
|
881144
881189
|
// src/commands/device/customLockScreenLoad.ts
|
|
881145
|
-
var
|
|
881190
|
+
var import_rxjs229 = require("rxjs");
|
|
881146
881191
|
var import_fs11 = __toESM(require("fs"));
|
|
881147
881192
|
var exec4 = async (opts) => {
|
|
881148
881193
|
const { fileInput, device: deviceId = "", deviceModelId } = opts;
|
|
@@ -881186,16 +881231,16 @@ var customLockScreenLoad_default = {
|
|
|
881186
881231
|
desc: "The device model id to use"
|
|
881187
881232
|
}
|
|
881188
881233
|
],
|
|
881189
|
-
job: (opts) => (0,
|
|
881234
|
+
job: (opts) => (0, import_rxjs229.from)(exec4(opts))
|
|
881190
881235
|
};
|
|
881191
881236
|
|
|
881192
881237
|
// src/commands/device/customLockScreenRemove.ts
|
|
881193
|
-
var
|
|
881238
|
+
var import_rxjs231 = require("rxjs");
|
|
881194
881239
|
|
|
881195
881240
|
// ../../libs/ledger-live-common/lib-es/hw/customLockScreenRemove.js
|
|
881196
881241
|
init_lib_es();
|
|
881197
|
-
var
|
|
881198
|
-
var
|
|
881242
|
+
var import_rxjs230 = require("rxjs");
|
|
881243
|
+
var import_operators55 = require("rxjs/operators");
|
|
881199
881244
|
var command3 = async (transport) => {
|
|
881200
881245
|
const res = await transport.send(224, 99, 0, 0, Buffer.from([]), [
|
|
881201
881246
|
StatusCodes.OK,
|
|
@@ -881222,12 +881267,12 @@ var command3 = async (transport) => {
|
|
|
881222
881267
|
var customLockScreenRemove_default = {
|
|
881223
881268
|
description: "Remove custom lock screen",
|
|
881224
881269
|
args: [deviceOpt],
|
|
881225
|
-
job: (arg) => withDevice(arg?.device || "")((t110) => (0,
|
|
881270
|
+
job: (arg) => withDevice(arg?.device || "")((t110) => (0, import_rxjs231.from)(command3(t110)))
|
|
881226
881271
|
};
|
|
881227
881272
|
|
|
881228
881273
|
// src/commands/device/devDeviceAppsScenario.ts
|
|
881229
|
-
var
|
|
881230
|
-
var
|
|
881274
|
+
var import_rxjs232 = require("rxjs");
|
|
881275
|
+
var import_operators56 = require("rxjs/operators");
|
|
881231
881276
|
var scenarios = {
|
|
881232
881277
|
"nanos160-outdated-apps": [1679, 222, 2783, 3295, 3305],
|
|
881233
881278
|
"nanos160-outdated-bitcoin-apps": [
|
|
@@ -881263,8 +881308,8 @@ var installScenario = (apps, transport, deviceInfo, scene) => {
|
|
|
881263
881308
|
appVersionsPerId[av.id] = av;
|
|
881264
881309
|
})
|
|
881265
881310
|
);
|
|
881266
|
-
return (0,
|
|
881267
|
-
...scene.map((id5) => appVersionsPerId[id5]).filter(Boolean).map((app) => (0,
|
|
881311
|
+
return (0, import_rxjs232.concat)(
|
|
881312
|
+
...scene.map((id5) => appVersionsPerId[id5]).filter(Boolean).map((app) => (0, import_rxjs232.defer)(() => installApp(transport, deviceInfo.targetId, app)))
|
|
881268
881313
|
);
|
|
881269
881314
|
};
|
|
881270
881315
|
var devDeviceAppsScenario_default = {
|
|
@@ -881283,18 +881328,18 @@ var devDeviceAppsScenario_default = {
|
|
|
881283
881328
|
if (!scene)
|
|
881284
881329
|
throw new Error("scenario is not found. available --scenario are: " + scenariosValues);
|
|
881285
881330
|
const exec7 = execWithTransport(t110);
|
|
881286
|
-
return (0,
|
|
881287
|
-
(0,
|
|
881331
|
+
return (0, import_rxjs232.from)(getDeviceInfo_default(t110)).pipe(
|
|
881332
|
+
(0, import_operators56.mergeMap)(
|
|
881288
881333
|
(deviceInfo) => listAppsUseCase(t110, deviceInfo).pipe(
|
|
881289
|
-
(0,
|
|
881290
|
-
(0,
|
|
881291
|
-
(0,
|
|
881334
|
+
(0, import_operators56.filter)((e95) => e95.type === "result"),
|
|
881335
|
+
(0, import_operators56.map)((e95) => e95.result),
|
|
881336
|
+
(0, import_operators56.mergeMap)((listAppsResult) => {
|
|
881292
881337
|
const s114 = reducer(initState(listAppsResult), {
|
|
881293
881338
|
type: "wipe"
|
|
881294
881339
|
});
|
|
881295
|
-
return (0,
|
|
881340
|
+
return (0, import_rxjs232.concat)(runAll(s114, exec7).pipe((0, import_operators56.ignoreElements)()), (0, import_rxjs232.from)(api_default4.listApps()));
|
|
881296
881341
|
}),
|
|
881297
|
-
(0,
|
|
881342
|
+
(0, import_operators56.mergeMap)((apps) => installScenario(apps, t110, deviceInfo, scene))
|
|
881298
881343
|
)
|
|
881299
881344
|
)
|
|
881300
881345
|
);
|
|
@@ -881302,17 +881347,17 @@ var devDeviceAppsScenario_default = {
|
|
|
881302
881347
|
};
|
|
881303
881348
|
|
|
881304
881349
|
// src/commands/device/deviceAppVersion.ts
|
|
881305
|
-
var
|
|
881350
|
+
var import_rxjs233 = require("rxjs");
|
|
881306
881351
|
var deviceAppVersion_default = {
|
|
881307
881352
|
args: [deviceOpt],
|
|
881308
|
-
job: ({ device: device2 }) => withDevice(device2 || "")((t110) => (0,
|
|
881353
|
+
job: ({ device: device2 }) => withDevice(device2 || "")((t110) => (0, import_rxjs233.from)(getAppAndVersion_default(t110)))
|
|
881309
881354
|
};
|
|
881310
881355
|
|
|
881311
881356
|
// src/commands/device/deviceInfo.ts
|
|
881312
|
-
var
|
|
881357
|
+
var import_rxjs234 = require("rxjs");
|
|
881313
881358
|
var deviceInfo_default = {
|
|
881314
881359
|
args: [deviceOpt],
|
|
881315
|
-
job: ({ device: device2 }) => withDevice(device2 || "")((t110) => (0,
|
|
881360
|
+
job: ({ device: device2 }) => withDevice(device2 || "")((t110) => (0, import_rxjs234.from)(getDeviceInfo_default(t110)))
|
|
881316
881361
|
};
|
|
881317
881362
|
|
|
881318
881363
|
// src/commands/device/deviceSDKFirmwareUpdate.ts
|
|
@@ -881331,36 +881376,36 @@ var import_rxjs239 = require("rxjs");
|
|
|
881331
881376
|
var import_operators62 = require("rxjs/operators");
|
|
881332
881377
|
|
|
881333
881378
|
// ../../libs/ledger-live-common/lib-es/deviceSDK/commands/getVersion.js
|
|
881334
|
-
var
|
|
881335
|
-
var
|
|
881379
|
+
var import_rxjs235 = require("rxjs");
|
|
881380
|
+
var import_operators57 = require("rxjs/operators");
|
|
881336
881381
|
function getVersion2({ transport }) {
|
|
881337
|
-
return new
|
|
881382
|
+
return new import_rxjs235.Observable((subscriber) => {
|
|
881338
881383
|
const oldTimeout = transport.unresponsiveTimeout;
|
|
881339
881384
|
transport.setExchangeUnresponsiveTimeout(1e3);
|
|
881340
881385
|
const unresponsiveCallback = () => {
|
|
881341
881386
|
subscriber.next({ type: "unresponsive" });
|
|
881342
881387
|
};
|
|
881343
881388
|
transport.on("unresponsive", unresponsiveCallback);
|
|
881344
|
-
return (0,
|
|
881389
|
+
return (0, import_rxjs235.from)(transport.send(...GET_VERSION_APDU)).pipe((0, import_operators57.switchMap)((value2) => {
|
|
881345
881390
|
transport.off("unresponsive", unresponsiveCallback);
|
|
881346
881391
|
const firmwareInfo = parseGetVersionResponse(value2);
|
|
881347
|
-
return (0,
|
|
881392
|
+
return (0, import_rxjs235.of)({
|
|
881348
881393
|
type: "data",
|
|
881349
881394
|
firmwareInfo
|
|
881350
881395
|
});
|
|
881351
|
-
}), (0,
|
|
881396
|
+
}), (0, import_operators57.finalize)(() => {
|
|
881352
881397
|
transport.setExchangeUnresponsiveTimeout(oldTimeout);
|
|
881353
881398
|
})).subscribe(subscriber);
|
|
881354
881399
|
});
|
|
881355
881400
|
}
|
|
881356
881401
|
|
|
881357
881402
|
// ../../libs/ledger-live-common/lib-es/deviceSDK/commands/firmwareUpdate/installFirmware.js
|
|
881358
|
-
var
|
|
881403
|
+
var import_rxjs236 = require("rxjs");
|
|
881359
881404
|
var import_url12 = __toESM(require("url"));
|
|
881360
881405
|
init_Transport();
|
|
881361
881406
|
var import_package22 = __toESM(require_package8());
|
|
881362
881407
|
init_lib_es2();
|
|
881363
|
-
var
|
|
881408
|
+
var import_operators58 = require("rxjs/operators");
|
|
881364
881409
|
init_lib_es();
|
|
881365
881410
|
|
|
881366
881411
|
// ../../libs/ledger-live-common/lib-es/deviceSDK/commands/core.js
|
|
@@ -881386,12 +881431,12 @@ function installFirmwareCommand(transport, { targetId, firmware }) {
|
|
|
881386
881431
|
}),
|
|
881387
881432
|
unresponsiveExpectedDuringBulk: true,
|
|
881388
881433
|
context: tracer2.getContext()
|
|
881389
|
-
}).pipe((0,
|
|
881434
|
+
}).pipe((0, import_operators58.catchError)((error) => {
|
|
881390
881435
|
tracer2.trace("Socket firmware error", { error });
|
|
881391
881436
|
return remapSocketFirmwareError(error);
|
|
881392
|
-
}), (0,
|
|
881437
|
+
}), (0, import_operators58.filter)((e95) => {
|
|
881393
881438
|
return e95.type === "bulk-progress" || e95.type === "device-permission-requested";
|
|
881394
|
-
}), (0,
|
|
881439
|
+
}), (0, import_operators58.map)((e95) => {
|
|
881395
881440
|
if (e95.type === "bulk-progress") {
|
|
881396
881441
|
return e95.index === e95.total - 1 ? {
|
|
881397
881442
|
// the penultimate APDU of the bulk part of the installation is a blocking apdu and
|
|
@@ -881407,36 +881452,36 @@ function installFirmwareCommand(transport, { targetId, firmware }) {
|
|
|
881407
881452
|
};
|
|
881408
881453
|
}
|
|
881409
881454
|
return { type: "allowSecureChannelRequested" };
|
|
881410
|
-
}), (0,
|
|
881455
|
+
}), (0, import_operators58.catchError)((error) => {
|
|
881411
881456
|
tracer2.trace("Socket unresponsive error", { error });
|
|
881412
881457
|
return remapSocketUnresponsiveError(error);
|
|
881413
881458
|
}));
|
|
881414
881459
|
}
|
|
881415
881460
|
var remapSocketUnresponsiveError = (e95) => {
|
|
881416
881461
|
if (e95 instanceof ManagerDeviceLockedError) {
|
|
881417
|
-
return (0,
|
|
881462
|
+
return (0, import_rxjs236.of)({ type: "unresponsive" });
|
|
881418
881463
|
}
|
|
881419
|
-
return (0,
|
|
881464
|
+
return (0, import_rxjs236.throwError)(e95);
|
|
881420
881465
|
};
|
|
881421
881466
|
var remapSocketFirmwareError = (e95) => {
|
|
881422
881467
|
if (!e95 || !e95.message)
|
|
881423
|
-
return (0,
|
|
881468
|
+
return (0, import_rxjs236.throwError)(() => e95);
|
|
881424
881469
|
if (e95.message.startsWith("invalid literal")) {
|
|
881425
|
-
return (0,
|
|
881470
|
+
return (0, import_rxjs236.throwError)(() => new DeviceOnDashboardExpected());
|
|
881426
881471
|
}
|
|
881427
881472
|
const status = e95 instanceof TransportStatusError ? e95.statusCode.toString(16) : e95.message.slice(e95.message.length - 4);
|
|
881428
881473
|
switch (status) {
|
|
881429
881474
|
case "6a84":
|
|
881430
881475
|
case "5103":
|
|
881431
|
-
return (0,
|
|
881476
|
+
return (0, import_rxjs236.throwError)(() => new ManagerFirmwareNotEnoughSpaceError());
|
|
881432
881477
|
case "6a85":
|
|
881433
881478
|
case "5102":
|
|
881434
|
-
return (0,
|
|
881479
|
+
return (0, import_rxjs236.throwError)(() => new UserRefusedFirmwareUpdate());
|
|
881435
881480
|
case "6985":
|
|
881436
881481
|
case "5501":
|
|
881437
|
-
return (0,
|
|
881482
|
+
return (0, import_rxjs236.throwError)(() => new UserRefusedFirmwareUpdate());
|
|
881438
881483
|
default:
|
|
881439
|
-
return (0,
|
|
881484
|
+
return (0, import_rxjs236.throwError)(() => e95);
|
|
881440
881485
|
}
|
|
881441
881486
|
};
|
|
881442
881487
|
|
|
@@ -881444,7 +881489,7 @@ var remapSocketFirmwareError = (e95) => {
|
|
|
881444
881489
|
var import_url13 = __toESM(require("url"));
|
|
881445
881490
|
var import_package23 = __toESM(require_package8());
|
|
881446
881491
|
init_lib_es2();
|
|
881447
|
-
var
|
|
881492
|
+
var import_operators59 = require("rxjs/operators");
|
|
881448
881493
|
var filterProgressEvent = (e95) => e95.type === "bulk-progress";
|
|
881449
881494
|
function flashMcuOrBootloaderCommand(transport, { targetId, version: version27 }) {
|
|
881450
881495
|
const tracer2 = new LocalTracer(LOG_TYPE5, { function: "flashMcuOrBootloaderCommand" });
|
|
@@ -881462,55 +881507,12 @@ function flashMcuOrBootloaderCommand(transport, { targetId, version: version27 }
|
|
|
881462
881507
|
}
|
|
881463
881508
|
}),
|
|
881464
881509
|
context: tracer2.getContext()
|
|
881465
|
-
}).pipe((0,
|
|
881510
|
+
}).pipe((0, import_operators59.filter)(filterProgressEvent), (0, import_operators59.map)((e95) => ({
|
|
881466
881511
|
type: "progress",
|
|
881467
881512
|
progress: e95.progress
|
|
881468
881513
|
})));
|
|
881469
881514
|
}
|
|
881470
881515
|
|
|
881471
|
-
// ../../libs/ledger-live-common/lib-es/deviceSDK/commands/quitApp.js
|
|
881472
|
-
var import_rxjs236 = require("rxjs");
|
|
881473
|
-
|
|
881474
|
-
// ../../libs/ledger-live-common/lib-es/deviceSDK/commands/getAppAndVersion.js
|
|
881475
|
-
var import_rxjs235 = require("rxjs");
|
|
881476
|
-
var import_operators58 = require("rxjs/operators");
|
|
881477
|
-
function getAppAndVersion3(transport) {
|
|
881478
|
-
return new import_rxjs235.Observable((subscriber) => {
|
|
881479
|
-
return (0, import_rxjs235.from)(transport.send(176, 1, 0, 0)).pipe((0, import_operators58.switchMap)((result2) => {
|
|
881480
|
-
let i107 = 0;
|
|
881481
|
-
const format6 = result2[i107++];
|
|
881482
|
-
if (format6 !== 1) {
|
|
881483
|
-
throw new GetAppAndVersionUnsupportedFormat("getAppAndVersion: format not supported");
|
|
881484
|
-
}
|
|
881485
|
-
const nameLength = result2[i107++];
|
|
881486
|
-
const name2 = result2.slice(i107, i107 += nameLength).toString("ascii");
|
|
881487
|
-
const versionLength = result2[i107++];
|
|
881488
|
-
const version27 = result2.slice(i107, i107 += versionLength).toString("ascii");
|
|
881489
|
-
const flagLength = result2[i107++];
|
|
881490
|
-
const flags2 = result2.slice(i107, i107 += flagLength);
|
|
881491
|
-
return (0, import_rxjs235.of)({
|
|
881492
|
-
type: "data",
|
|
881493
|
-
appAndVersion: {
|
|
881494
|
-
name: name2,
|
|
881495
|
-
version: version27,
|
|
881496
|
-
flags: flags2
|
|
881497
|
-
}
|
|
881498
|
-
});
|
|
881499
|
-
})).subscribe(subscriber);
|
|
881500
|
-
});
|
|
881501
|
-
}
|
|
881502
|
-
|
|
881503
|
-
// ../../libs/ledger-live-common/lib-es/deviceSDK/commands/quitApp.js
|
|
881504
|
-
var import_operators59 = require("rxjs/operators");
|
|
881505
|
-
function quitApp(transport) {
|
|
881506
|
-
return (0, import_rxjs236.from)(getAppAndVersion3(transport)).pipe((0, import_operators59.switchMap)(async (result2) => {
|
|
881507
|
-
if (isDashboardName(result2.appAndVersion.name)) {
|
|
881508
|
-
return;
|
|
881509
|
-
}
|
|
881510
|
-
await transport.send(176, 167, 0, 0);
|
|
881511
|
-
}));
|
|
881512
|
-
}
|
|
881513
|
-
|
|
881514
881516
|
// ../../libs/ledger-live-common/lib-es/deviceSDK/tasks/core.js
|
|
881515
881517
|
init_lib_es();
|
|
881516
881518
|
var import_rxjs237 = require("rxjs");
|
|
@@ -888278,11 +888280,19 @@ var getOnboardingStatePolling = ({
|
|
|
888278
888280
|
// Nb Empirical value
|
|
888279
888281
|
allowedErrorChecks = []
|
|
888280
888282
|
}) => {
|
|
888283
|
+
let hasQuitAppAlreadyRun = false;
|
|
888281
888284
|
const getOnboardingStateOnce = () => {
|
|
888282
888285
|
return withDevice(deviceId, {
|
|
888283
888286
|
openTimeoutMs: transportAbortTimeoutMs,
|
|
888284
888287
|
matchDeviceByName: deviceName ?? void 0
|
|
888285
|
-
})((t110) =>
|
|
888288
|
+
})((t110) => {
|
|
888289
|
+
const getVersionObs = (0, import_rxjs276.from)(getVersion(t110, { abortTimeoutMs: transportAbortTimeoutMs }));
|
|
888290
|
+
if (hasQuitAppAlreadyRun) {
|
|
888291
|
+
return getVersionObs;
|
|
888292
|
+
}
|
|
888293
|
+
hasQuitAppAlreadyRun = true;
|
|
888294
|
+
return quitApp(t110).pipe((0, import_operators90.switchMap)(() => getVersionObs));
|
|
888295
|
+
}).pipe(
|
|
888286
888296
|
(0, import_operators90.timeout)(safeGuardTimeoutMs),
|
|
888287
888297
|
// Throws a TimeoutError
|
|
888288
888298
|
(0, import_operators90.first)(),
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ledgerhq/live-cli",
|
|
3
|
-
"version": "24.30.0-nightly.
|
|
3
|
+
"version": "24.30.0-nightly.20251216024112",
|
|
4
4
|
"description": "ledger-live CLI version",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -58,8 +58,8 @@
|
|
|
58
58
|
"ts-node": "10.9.2",
|
|
59
59
|
"tsup": "7.3.0",
|
|
60
60
|
"yaml": "2.8.1",
|
|
61
|
-
"@ledgerhq/types-cryptoassets": "^7.31.0-nightly.
|
|
62
|
-
"@ledgerhq/types-live": "^6.91.0-nightly.
|
|
61
|
+
"@ledgerhq/types-cryptoassets": "^7.31.0-nightly.20251216024112",
|
|
62
|
+
"@ledgerhq/types-live": "^6.91.0-nightly.20251216024112"
|
|
63
63
|
},
|
|
64
64
|
"publishConfig": {
|
|
65
65
|
"directory": "dist"
|