@ledgerhq/live-cli 24.10.3-nightly.0 → 24.10.3-nightly.2
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 +33 -63
- package/lib/cli.js.map +1 -1
- package/lib/commands/blockchain/bot.js +7 -7
- package/lib/commands/blockchain/bot.js.map +1 -1
- package/lib/commands/blockchain/botPortfolio.js +22 -26
- package/lib/commands/blockchain/botPortfolio.js.map +1 -1
- package/lib/commands/blockchain/botTransfer.js +219 -392
- package/lib/commands/blockchain/botTransfer.js.map +1 -1
- package/lib/commands/blockchain/broadcast.js +11 -42
- package/lib/commands/blockchain/broadcast.js.map +1 -1
- package/lib/commands/blockchain/confirmOp.js +12 -52
- package/lib/commands/blockchain/confirmOp.js.map +1 -1
- package/lib/commands/blockchain/derivation.js +31 -33
- package/lib/commands/blockchain/derivation.js.map +1 -1
- package/lib/commands/blockchain/estimateMaxSpendable.js +27 -56
- package/lib/commands/blockchain/estimateMaxSpendable.js.map +1 -1
- package/lib/commands/blockchain/generateTestScanAccounts.js +29 -37
- package/lib/commands/blockchain/generateTestScanAccounts.js.map +1 -1
- package/lib/commands/blockchain/generateTestTransaction.js +70 -96
- package/lib/commands/blockchain/generateTestTransaction.js.map +1 -1
- package/lib/commands/blockchain/getAddress.js +20 -24
- package/lib/commands/blockchain/getAddress.js.map +1 -1
- package/lib/commands/blockchain/getTransactionStatus.js +31 -69
- package/lib/commands/blockchain/getTransactionStatus.js.map +1 -1
- package/lib/commands/blockchain/receive.js +14 -42
- package/lib/commands/blockchain/receive.js.map +1 -1
- package/lib/commands/blockchain/satstack.js +30 -33
- package/lib/commands/blockchain/satstack.js.map +1 -1
- package/lib/commands/blockchain/satstackStatus.js +4 -5
- package/lib/commands/blockchain/satstackStatus.js.map +1 -1
- package/lib/commands/blockchain/scanDescriptors.js +8 -14
- package/lib/commands/blockchain/scanDescriptors.js.map +1 -1
- package/lib/commands/blockchain/send.js +61 -90
- package/lib/commands/blockchain/send.js.map +1 -1
- package/lib/commands/blockchain/signMessage.d.ts +1 -1
- package/lib/commands/blockchain/signMessage.js +15 -40
- package/lib/commands/blockchain/signMessage.js.map +1 -1
- package/lib/commands/blockchain/sync.js +27 -120
- package/lib/commands/blockchain/sync.js.map +1 -1
- package/lib/commands/blockchain/testDetectOpCollision.js +15 -48
- package/lib/commands/blockchain/testDetectOpCollision.js.map +1 -1
- package/lib/commands/blockchain/testGetTrustedInputFromTxHash.js +37 -86
- package/lib/commands/blockchain/testGetTrustedInputFromTxHash.js.map +1 -1
- package/lib/commands/device/app.js +42 -76
- package/lib/commands/device/app.js.map +1 -1
- package/lib/commands/device/appUninstallAll.d.ts +1 -1
- package/lib/commands/device/appUninstallAll.js +22 -29
- package/lib/commands/device/appUninstallAll.js.map +1 -1
- package/lib/commands/device/appsCheckAllAppVersions.js +208 -361
- package/lib/commands/device/appsCheckAllAppVersions.js.map +1 -1
- package/lib/commands/device/appsInstallAll.js +15 -24
- package/lib/commands/device/appsInstallAll.js.map +1 -1
- package/lib/commands/device/appsUpdateTestAll.js +69 -80
- package/lib/commands/device/appsUpdateTestAll.js.map +1 -1
- package/lib/commands/device/cleanSpeculos.js +4 -4
- package/lib/commands/device/cleanSpeculos.js.map +1 -1
- package/lib/commands/device/customLockScreenFetch.js +37 -84
- package/lib/commands/device/customLockScreenFetch.js.map +1 -1
- package/lib/commands/device/customLockScreenFetchAndRestore.js +46 -110
- package/lib/commands/device/customLockScreenFetchAndRestore.js.map +1 -1
- package/lib/commands/device/customLockScreenFetchHash.js +5 -7
- package/lib/commands/device/customLockScreenFetchHash.js.map +1 -1
- package/lib/commands/device/customLockScreenLoad.js +25 -72
- package/lib/commands/device/customLockScreenLoad.js.map +1 -1
- package/lib/commands/device/customLockScreenRemove.js +5 -7
- package/lib/commands/device/customLockScreenRemove.js.map +1 -1
- package/lib/commands/device/devDeviceAppsScenario.js +33 -65
- package/lib/commands/device/devDeviceAppsScenario.js.map +1 -1
- package/lib/commands/device/deviceAppVersion.js +5 -8
- package/lib/commands/device/deviceAppVersion.js.map +1 -1
- package/lib/commands/device/deviceInfo.js +5 -8
- package/lib/commands/device/deviceInfo.js.map +1 -1
- package/lib/commands/device/deviceSDKFirmwareUpdate.js +22 -68
- package/lib/commands/device/deviceSDKFirmwareUpdate.js.map +1 -1
- package/lib/commands/device/deviceSDKGetBatteryStatuses.js +7 -8
- package/lib/commands/device/deviceSDKGetBatteryStatuses.js.map +1 -1
- package/lib/commands/device/deviceSDKGetDeviceInfo.js +6 -7
- package/lib/commands/device/deviceSDKGetDeviceInfo.js.map +1 -1
- package/lib/commands/device/deviceSDKToggleOnboardingEarlyCheck.js +8 -9
- package/lib/commands/device/deviceSDKToggleOnboardingEarlyCheck.js.map +1 -1
- package/lib/commands/device/deviceVersion.js +5 -8
- package/lib/commands/device/deviceVersion.js.map +1 -1
- package/lib/commands/device/discoverDevices.js +15 -50
- package/lib/commands/device/discoverDevices.js.map +1 -1
- package/lib/commands/device/firmwareRepair.js +3 -6
- package/lib/commands/device/firmwareRepair.js.map +1 -1
- package/lib/commands/device/firmwareUpdate.js +63 -123
- package/lib/commands/device/firmwareUpdate.js.map +1 -1
- package/lib/commands/device/genuineCheck.js +7 -12
- package/lib/commands/device/genuineCheck.js.map +1 -1
- package/lib/commands/device/getBatteryStatus.js +5 -9
- package/lib/commands/device/getBatteryStatus.js.map +1 -1
- package/lib/commands/device/getDeviceRunningMode.js +7 -10
- package/lib/commands/device/getDeviceRunningMode.js.map +1 -1
- package/lib/commands/device/i18n.js +27 -79
- package/lib/commands/device/i18n.js.map +1 -1
- package/lib/commands/device/listApps.d.ts +1 -1
- package/lib/commands/device/listApps.js +7 -12
- package/lib/commands/device/listApps.js.map +1 -1
- package/lib/commands/device/managerListApps.js +21 -28
- package/lib/commands/device/managerListApps.js.map +1 -1
- package/lib/commands/device/proxy.js +242 -350
- package/lib/commands/device/proxy.js.map +1 -1
- package/lib/commands/device/reinstallConfigurationConsent.js +36 -126
- package/lib/commands/device/reinstallConfigurationConsent.js.map +1 -1
- package/lib/commands/device/repl.js +5 -10
- package/lib/commands/device/repl.js.map +1 -1
- package/lib/commands/device/speculosList.js +12 -58
- package/lib/commands/device/speculosList.js.map +1 -1
- package/lib/commands/live/balanceHistory.js +44 -79
- package/lib/commands/live/balanceHistory.js.map +1 -1
- package/lib/commands/live/countervalues.js +111 -207
- package/lib/commands/live/countervalues.js.map +1 -1
- package/lib/commands/live/envs.js +4 -6
- package/lib/commands/live/envs.js.map +1 -1
- package/lib/commands/live/exportAccounts.js +30 -56
- package/lib/commands/live/exportAccounts.js.map +1 -1
- package/lib/commands/live/ledgerKeyRingProtocol.d.ts +1 -1
- package/lib/commands/live/ledgerKeyRingProtocol.js +63 -103
- package/lib/commands/live/ledgerKeyRingProtocol.js.map +1 -1
- package/lib/commands/live/ledgerSync.js +20 -60
- package/lib/commands/live/ledgerSync.js.map +1 -1
- package/lib/commands/live/liveData.js +34 -60
- package/lib/commands/live/liveData.js.map +1 -1
- package/lib/commands/live/portfolio.js +68 -98
- package/lib/commands/live/portfolio.js.map +1 -1
- package/lib/commands/live/synchronousOnboarding.js +6 -9
- package/lib/commands/live/synchronousOnboarding.js.map +1 -1
- package/lib/commands/live/user.js +4 -4
- package/lib/commands/live/user.js.map +1 -1
- package/lib/commands/live/version.js +2 -4
- package/lib/commands/live/version.js.map +1 -1
- package/lib/commands/ptx/swap.js +194 -282
- package/lib/commands/ptx/swap.js.map +1 -1
- package/lib/commands-index.d.ts +9 -9
- package/lib/commands-index.js +64 -64
- package/lib/commands-index.js.map +1 -1
- package/lib/live-common-setup-base.js +26 -48
- package/lib/live-common-setup-base.js.map +1 -1
- package/lib/live-common-setup.js +66 -123
- package/lib/live-common-setup.js.map +1 -1
- package/lib/qr.js +6 -10
- package/lib/qr.js.map +1 -1
- package/lib/scan.js +84 -92
- package/lib/scan.js.map +1 -1
- package/lib/signedOperation.js +6 -6
- package/lib/signedOperation.js.map +1 -1
- package/lib/stream.js +57 -68
- package/lib/stream.js.map +1 -1
- package/lib/transaction.js +60 -142
- package/lib/transaction.js.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"firmwareUpdate.js","sourceRoot":"","sources":["../../../src/commands/device/firmwareUpdate.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"firmwareUpdate.js","sourceRoot":"","sources":["../../../src/commands/device/firmwareUpdate.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,20 +3,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
6
|
+
const rxjs_1 = require("rxjs");
|
|
7
|
+
const operators_1 = require("rxjs/operators");
|
|
8
|
+
const deviceAccess_1 = require("@ledgerhq/live-common/hw/deviceAccess");
|
|
9
|
+
const getDeviceInfo_1 = __importDefault(require("@ledgerhq/live-common/hw/getDeviceInfo"));
|
|
10
|
+
const genuineCheck_1 = __importDefault(require("@ledgerhq/live-common/hw/genuineCheck"));
|
|
11
|
+
const scan_1 = require("../../scan");
|
|
12
12
|
exports.default = {
|
|
13
13
|
description: "Perform a genuine check with Ledger's HSM",
|
|
14
14
|
args: [scan_1.deviceOpt],
|
|
15
|
-
job:
|
|
16
|
-
var device = _a.device;
|
|
17
|
-
return (0, deviceAccess_1.withDevice)(device || "")(function (t) {
|
|
18
|
-
return (0, rxjs_1.from)((0, getDeviceInfo_1.default)(t)).pipe((0, operators_1.mergeMap)(function (deviceInfo) { return (0, genuineCheck_1.default)(t, deviceInfo); }));
|
|
19
|
-
});
|
|
20
|
-
},
|
|
15
|
+
job: ({ device }) => (0, deviceAccess_1.withDevice)(device || "")(t => (0, rxjs_1.from)((0, getDeviceInfo_1.default)(t)).pipe((0, operators_1.mergeMap)(deviceInfo => (0, genuineCheck_1.default)(t, deviceInfo)))),
|
|
21
16
|
};
|
|
22
17
|
//# sourceMappingURL=genuineCheck.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"genuineCheck.js","sourceRoot":"","sources":["../../../src/commands/device/genuineCheck.ts"],"names":[],"mappings":";;;;;AAAA
|
|
1
|
+
{"version":3,"file":"genuineCheck.js","sourceRoot":"","sources":["../../../src/commands/device/genuineCheck.ts"],"names":[],"mappings":";;;;;AAAA,+BAA4B;AAC5B,8CAA0C;AAC1C,wEAAmE;AACnE,2FAAmE;AACnE,yFAAiE;AACjE,qCAAyD;AAIzD,kBAAe;IACb,WAAW,EAAE,2CAA2C;IACxD,IAAI,EAAE,CAAC,gBAAS,CAAC;IACjB,GAAG,EAAE,CAAC,EAAE,MAAM,EAAuB,EAAE,EAAE,CACvC,IAAA,yBAAU,EAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAC3B,IAAA,WAAI,EAAC,IAAA,uBAAa,EAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAA,oBAAQ,EAAC,UAAU,CAAC,EAAE,CAAC,IAAA,sBAAY,EAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CACjF;CACJ,CAAC"}
|
|
@@ -3,10 +3,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
const rxjs_1 = require("rxjs");
|
|
7
|
+
const deviceAccess_1 = require("@ledgerhq/live-common/hw/deviceAccess");
|
|
8
|
+
const getBatteryStatus_1 = __importDefault(require("@ledgerhq/live-common/hw/getBatteryStatus"));
|
|
9
|
+
const scan_1 = require("../../scan");
|
|
10
10
|
exports.default = {
|
|
11
11
|
description: "Get the battery status of the current device",
|
|
12
12
|
args: [
|
|
@@ -18,10 +18,6 @@ exports.default = {
|
|
|
18
18
|
desc: "What type of request to run (00-04)",
|
|
19
19
|
},
|
|
20
20
|
],
|
|
21
|
-
job:
|
|
22
|
-
return (0, deviceAccess_1.withDevice)(arg.device || "")(function (t) {
|
|
23
|
-
return (0, rxjs_1.from)((0, getBatteryStatus_1.default)(t, [parseInt(arg.p2 || "0")]));
|
|
24
|
-
});
|
|
25
|
-
},
|
|
21
|
+
job: (arg) => (0, deviceAccess_1.withDevice)(arg.device || "")(t => (0, rxjs_1.from)((0, getBatteryStatus_1.default)(t, [parseInt(arg.p2 || "0")]))),
|
|
26
22
|
};
|
|
27
23
|
//# sourceMappingURL=getBatteryStatus.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getBatteryStatus.js","sourceRoot":"","sources":["../../../src/commands/device/getBatteryStatus.ts"],"names":[],"mappings":";;;;;AAAA
|
|
1
|
+
{"version":3,"file":"getBatteryStatus.js","sourceRoot":"","sources":["../../../src/commands/device/getBatteryStatus.ts"],"names":[],"mappings":";;;;;AAAA,+BAAwC;AACxC,wEAAmE;AACnE,iGAAiG;AACjG,qCAAsE;AAItE,kBAAe;IACb,WAAW,EAAE,8CAA8C;IAC3D,IAAI,EAAE;QACJ,kBAAW;QACX,gBAAS;QACT;YACE,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,qCAAqC;SAC5C;KACF;IACD,GAAG,EAAE,CAAC,GAA4B,EAAwB,EAAE,CAC1D,IAAA,yBAAU,EAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAC/B,IAAA,WAAI,EAAC,IAAA,0BAAgB,EAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,CAAuB,CAAC,CAAC,CAAC,CAC3E;CACJ,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
const getDeviceRunningMode_1 = require("@ledgerhq/live-common/hw/getDeviceRunningMode");
|
|
4
|
+
const scan_1 = require("../../scan");
|
|
5
5
|
exports.default = {
|
|
6
6
|
description: "Get the mode (bootloader, main, locked-device, disconnected-or-locked-device) in which the device is",
|
|
7
7
|
args: [
|
|
@@ -19,13 +19,10 @@ exports.default = {
|
|
|
19
19
|
},
|
|
20
20
|
scan_1.deviceOpt,
|
|
21
21
|
],
|
|
22
|
-
job:
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
cantOpenDeviceRetryLimit: cantOpenDeviceRetryLimit,
|
|
28
|
-
});
|
|
29
|
-
},
|
|
22
|
+
job: ({ device, unresponsiveTimeoutMs, cantOpenDeviceRetryLimit, }) => (0, getDeviceRunningMode_1.getDeviceRunningMode)({
|
|
23
|
+
deviceId: device ?? "",
|
|
24
|
+
unresponsiveTimeoutMs,
|
|
25
|
+
cantOpenDeviceRetryLimit,
|
|
26
|
+
}),
|
|
30
27
|
};
|
|
31
28
|
//# sourceMappingURL=getDeviceRunningMode.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getDeviceRunningMode.js","sourceRoot":"","sources":["../../../src/commands/device/getDeviceRunningMode.ts"],"names":[],"mappings":";;AACA,
|
|
1
|
+
{"version":3,"file":"getDeviceRunningMode.js","sourceRoot":"","sources":["../../../src/commands/device/getDeviceRunningMode.ts"],"names":[],"mappings":";;AACA,wFAGuD;AACvD,qCAAyD;AAOzD,kBAAe;IACb,WAAW,EACT,sGAAsG;IACxG,IAAI,EAAE;QACJ;YACE,IAAI,EAAE,qBAAqB;YAC3B,KAAK,EAAE,GAAG;YACV,IAAI,EAAE,oIAAoI;YAC1I,IAAI,EAAE,MAAM;SACb;QACD;YACE,IAAI,EAAE,uBAAuB;YAC7B,KAAK,EAAE,GAAG;YACV,IAAI,EAAE,sEAAsE;YAC5E,IAAI,EAAE,MAAM;SACb;QACD,gBAAS;KACV;IACD,GAAG,EAAE,CAAC,EACJ,MAAM,EACN,qBAAqB,EACrB,wBAAwB,GACa,EAAiD,EAAE,CACxF,IAAA,2CAAoB,EAAC;QACnB,QAAQ,EAAE,MAAM,IAAI,EAAE;QACtB,qBAAqB;QACrB,wBAAwB;KACzB,CAAC;CACL,CAAC"}
|
|
@@ -1,87 +1,35 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
-
function step(op) {
|
|
16
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
-
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
18
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
-
switch (op[0]) {
|
|
21
|
-
case 0: case 1: t = op; break;
|
|
22
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
-
default:
|
|
26
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
-
if (t[2]) _.ops.pop();
|
|
31
|
-
_.trys.pop(); continue;
|
|
32
|
-
}
|
|
33
|
-
op = body.call(thisArg, _);
|
|
34
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
39
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
40
4
|
};
|
|
41
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
6
|
/* eslint-disable no-console */
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
return [4 /*yield*/, new Promise(function (p) {
|
|
70
|
-
return (0, uninstallLanguage_1.default)({ deviceId: deviceId, language: language }).subscribe(function (x) { return console.log(x); }, function (e) {
|
|
71
|
-
console.error(e);
|
|
72
|
-
p();
|
|
73
|
-
}, function () {
|
|
74
|
-
console.log("".concat(language, " language pack uninstalled."));
|
|
75
|
-
p();
|
|
76
|
-
});
|
|
77
|
-
})];
|
|
78
|
-
case 3:
|
|
79
|
-
_d.sent();
|
|
80
|
-
_d.label = 4;
|
|
81
|
-
case 4: return [2 /*return*/];
|
|
82
|
-
}
|
|
83
|
-
});
|
|
84
|
-
}); };
|
|
7
|
+
const rxjs_1 = require("rxjs");
|
|
8
|
+
const installLanguage_1 = __importDefault(require("@ledgerhq/live-common/hw/installLanguage"));
|
|
9
|
+
const uninstallLanguage_1 = __importDefault(require("@ledgerhq/live-common/hw/uninstallLanguage"));
|
|
10
|
+
const scan_1 = require("../../scan");
|
|
11
|
+
const exec = async (opts) => {
|
|
12
|
+
const { deviceId = "", uninstall = "", install = "" } = opts;
|
|
13
|
+
const language = (uninstall || install);
|
|
14
|
+
if (install) {
|
|
15
|
+
await new Promise(p => (0, installLanguage_1.default)({ deviceId, request: { language } }).subscribe(x => console.log(x), e => {
|
|
16
|
+
console.error(e);
|
|
17
|
+
p();
|
|
18
|
+
}, () => {
|
|
19
|
+
console.log(`${language} language pack installed.`);
|
|
20
|
+
p();
|
|
21
|
+
}));
|
|
22
|
+
}
|
|
23
|
+
else if (uninstall) {
|
|
24
|
+
await new Promise(p => (0, uninstallLanguage_1.default)({ deviceId, language }).subscribe(x => console.log(x), e => {
|
|
25
|
+
console.error(e);
|
|
26
|
+
p();
|
|
27
|
+
}, () => {
|
|
28
|
+
console.log(`${language} language pack uninstalled.`);
|
|
29
|
+
p();
|
|
30
|
+
}));
|
|
31
|
+
}
|
|
32
|
+
};
|
|
85
33
|
exports.default = {
|
|
86
34
|
description: "Test e2e functionality for device localization support",
|
|
87
35
|
args: [
|
|
@@ -99,6 +47,6 @@ exports.default = {
|
|
|
99
47
|
desc: "uninstall a language pack by its id",
|
|
100
48
|
},
|
|
101
49
|
],
|
|
102
|
-
job:
|
|
50
|
+
job: (opts) => (0, rxjs_1.from)(exec(opts)),
|
|
103
51
|
};
|
|
104
52
|
//# sourceMappingURL=i18n.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../../src/commands/device/i18n.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../../src/commands/device/i18n.ts"],"names":[],"mappings":";;;;;AAAA,+BAA+B;AAC/B,+BAA4B;AAE5B,+FAAuE;AACvE,mGAA2E;AAE3E,qCAAuC;AAUvC,MAAM,IAAI,GAAG,KAAK,EAAE,IAAiB,EAAE,EAAE;IACvC,MAAM,EAAE,QAAQ,GAAG,EAAE,EAAE,SAAS,GAAG,EAAE,EAAE,OAAO,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC;IAC7D,MAAM,QAAQ,GAAG,CAAC,SAAS,IAAI,OAAO,CAAa,CAAC;IAEpD,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,IAAI,OAAO,CAAO,CAAC,CAAC,EAAE,CAC1B,IAAA,yBAAe,EAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,SAAS,CAC5D,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EACnB,CAAC,CAAC,EAAE;YACF,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjB,CAAC,EAAE,CAAC;QACN,CAAC,EACD,GAAG,EAAE;YACH,OAAO,CAAC,GAAG,CAAC,GAAG,QAAQ,2BAA2B,CAAC,CAAC;YACpD,CAAC,EAAE,CAAC;QACN,CAAC,CACF,CACF,CAAC;IACJ,CAAC;SAAM,IAAI,SAAS,EAAE,CAAC;QACrB,MAAM,IAAI,OAAO,CAAO,CAAC,CAAC,EAAE,CAC1B,IAAA,2BAAiB,EAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,SAAS,CACjD,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EACnB,CAAC,CAAC,EAAE;YACF,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjB,CAAC,EAAE,CAAC;QACN,CAAC,EACD,GAAG,EAAE;YACH,OAAO,CAAC,GAAG,CAAC,GAAG,QAAQ,6BAA6B,CAAC,CAAC;YACtD,CAAC,EAAE,CAAC;QACN,CAAC,CACF,CACF,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAEF,kBAAe;IACb,WAAW,EAAE,wDAAwD;IACrE,IAAI,EAAE;QACJ,gBAAS;QACT;YACE,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,GAAG;YACV,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,mCAAmC;SAC1C;QACD;YACE,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,GAAG;YACV,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,qCAAqC;SAC5C;KACF;IACD,GAAG,EAAE,CAAC,IAAiB,EAAO,EAAE,CAAC,IAAA,WAAI,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;CAClD,CAAC"}
|
|
@@ -9,7 +9,7 @@ declare const _default: {
|
|
|
9
9
|
descOpt: string;
|
|
10
10
|
desc: string;
|
|
11
11
|
}[];
|
|
12
|
-
job: ({ device }: ListAppsJobOpts) => import("rxjs").Observable<import("@ledgerhq/live-common/apps").ListAppResponse>;
|
|
12
|
+
job: ({ device }: ListAppsJobOpts) => import("rxjs").Observable<import("@ledgerhq/live-common/lib/apps/types").ListAppResponse>;
|
|
13
13
|
};
|
|
14
14
|
export default _default;
|
|
15
15
|
//# sourceMappingURL=listApps.d.ts.map
|
|
@@ -3,20 +3,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
const rxjs_1 = require("rxjs");
|
|
7
|
+
const deviceAccess_1 = require("@ledgerhq/live-common/hw/deviceAccess");
|
|
8
|
+
const listApps_1 = __importDefault(require("@ledgerhq/live-common/hw/listApps"));
|
|
9
|
+
const scan_1 = require("../../scan");
|
|
10
10
|
exports.default = {
|
|
11
11
|
description: "list all installed apps on the device",
|
|
12
12
|
args: [scan_1.deviceOpt],
|
|
13
|
-
job:
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
return (0, rxjs_1.from)((0, listApps_1.default)(t)).pipe((0, rxjs_1.tap)(function (res) {
|
|
17
|
-
console.log(res);
|
|
18
|
-
}));
|
|
19
|
-
});
|
|
20
|
-
},
|
|
13
|
+
job: ({ device }) => (0, deviceAccess_1.withDevice)(device || "")(t => (0, rxjs_1.from)((0, listApps_1.default)(t)).pipe((0, rxjs_1.tap)(res => {
|
|
14
|
+
console.log(res);
|
|
15
|
+
}))),
|
|
21
16
|
};
|
|
22
17
|
//# sourceMappingURL=listApps.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listApps.js","sourceRoot":"","sources":["../../../src/commands/device/listApps.ts"],"names":[],"mappings":";;;;;AAAA
|
|
1
|
+
{"version":3,"file":"listApps.js","sourceRoot":"","sources":["../../../src/commands/device/listApps.ts"],"names":[],"mappings":";;;;;AAAA,+BAAiC;AACjC,wEAAmE;AACnE,iFAAyD;AACzD,qCAAyD;AAIzD,kBAAe;IACb,WAAW,EAAE,uCAAuC;IACpD,IAAI,EAAE,CAAC,gBAAS,CAAC;IACjB,GAAG,EAAE,CAAC,EAAE,MAAM,EAAmB,EAAE,EAAE,CACnC,IAAA,yBAAU,EAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAC3B,IAAA,WAAI,EAAC,IAAA,kBAAQ,EAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CACpB,IAAA,UAAG,EAAC,GAAG,CAAC,EAAE;QACR,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC,CAAC,CACH,CACF;CACJ,CAAC"}
|
|
@@ -3,12 +3,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
6
|
+
const rxjs_1 = require("rxjs");
|
|
7
|
+
const operators_1 = require("rxjs/operators");
|
|
8
|
+
const deviceAccess_1 = require("@ledgerhq/live-common/hw/deviceAccess");
|
|
9
|
+
const getDeviceInfo_1 = __importDefault(require("@ledgerhq/live-common/hw/getDeviceInfo"));
|
|
10
|
+
const listAppsUseCase_1 = require("@ledgerhq/live-common/device/use-cases/listAppsUseCase");
|
|
11
|
+
const scan_1 = require("../../scan");
|
|
12
12
|
exports.default = {
|
|
13
13
|
description: "List apps that can be installed on the device",
|
|
14
14
|
args: [
|
|
@@ -27,30 +27,23 @@ exports.default = {
|
|
|
27
27
|
typeDesc: "raw | json | default",
|
|
28
28
|
},
|
|
29
29
|
],
|
|
30
|
-
job:
|
|
31
|
-
var device = _a.device, format = _a.format, benchmark = _a.benchmark;
|
|
30
|
+
job: ({ device, format, benchmark }) => {
|
|
32
31
|
if (benchmark)
|
|
33
32
|
console.log("Running the whole thing 5 times to have cache and averages.");
|
|
34
|
-
return (0, deviceAccess_1.withDevice)(device || "")(
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
return ("- ".concat(item.name, " ").concat(item.version) +
|
|
49
|
-
(ins ? (ins.updated ? " (installed)" : " (outdated!)") : ""));
|
|
50
|
-
})
|
|
51
|
-
.join("\n");
|
|
52
|
-
}));
|
|
53
|
-
});
|
|
33
|
+
return (0, deviceAccess_1.withDevice)(device || "")(t => (0, rxjs_1.from)((0, getDeviceInfo_1.default)(t)).pipe((0, operators_1.mergeMap)(deviceInfo => (0, listAppsUseCase_1.listAppsUseCase)(t, deviceInfo).pipe((0, operators_1.filter)(e => e.type === "result"),
|
|
34
|
+
// @ts-expect-error we need better typings and safe guard to infer types
|
|
35
|
+
(0, operators_1.map)(e => e.result), (0, operators_1.repeat)(benchmark ? 5 : 1))), (0, operators_1.map)(r => format === "raw"
|
|
36
|
+
? r
|
|
37
|
+
: format === "json"
|
|
38
|
+
? JSON.stringify(r)
|
|
39
|
+
: r.appsListNames
|
|
40
|
+
.map((name) => {
|
|
41
|
+
const item = r.appByName[name];
|
|
42
|
+
const ins = r.installed.find((i) => i.name === item.name);
|
|
43
|
+
return (`- ${item.name} ${item.version}` +
|
|
44
|
+
(ins ? (ins.updated ? " (installed)" : " (outdated!)") : ""));
|
|
45
|
+
})
|
|
46
|
+
.join("\n"))));
|
|
54
47
|
},
|
|
55
48
|
};
|
|
56
49
|
//# sourceMappingURL=managerListApps.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"managerListApps.js","sourceRoot":"","sources":["../../../src/commands/device/managerListApps.ts"],"names":[],"mappings":";;;;;AAAA
|
|
1
|
+
{"version":3,"file":"managerListApps.js","sourceRoot":"","sources":["../../../src/commands/device/managerListApps.ts"],"names":[],"mappings":";;;;;AAAA,+BAA4B;AAC5B,8CAA+D;AAC/D,wEAAmE;AACnE,2FAAmE;AACnE,4FAAyF;AACzF,qCAAyD;AASzD,kBAAe;IACb,WAAW,EAAE,+CAA+C;IAC5D,IAAI,EAAE;QACJ,gBAAS;QACT;YACE,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,GAAG;YACV,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,yDAAyD;SACpE;QACD;YACE,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,GAAG;YACV,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,sBAAsB;SACjC;KACF;IACD,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAA0B,EAAE,EAAE;QAC7D,IAAI,SAAS;YAAE,OAAO,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAC;QAE1F,OAAO,IAAA,yBAAU,EAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAClC,IAAA,WAAI,EAAC,IAAA,uBAAa,EAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CACzB,IAAA,oBAAQ,EAAC,UAAU,CAAC,EAAE,CACpB,IAAA,iCAAe,EAAC,CAAC,EAAE,UAAU,CAAC,CAAC,IAAI,CACjC,IAAA,kBAAM,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC;QAChC,wEAAwE;QACxE,IAAA,eAAG,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAClB,IAAA,kBAAM,EAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAC1B,CACF,EACD,IAAA,eAAG,EAAC,CAAC,CAAC,EAAE,CACN,MAAM,KAAK,KAAK;YACd,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,MAAM,KAAK,MAAM;gBACjB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;gBACnB,CAAC,CAAC,CAAC,CAAC,aAAa;qBACZ,GAAG,CAAC,CAAC,IAAY,EAAE,EAAE;oBACpB,MAAM,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;oBAC/B,MAAM,GAAG,GAAG,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAgB,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC;oBACzE,OAAO,CACL,KAAK,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE;wBAChC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAC7D,CAAC;gBACJ,CAAC,CAAC;qBACD,IAAI,CAAC,IAAI,CAAC,CACpB,CACF,CACF,CAAC;IACJ,CAAC;CACF,CAAC"}
|