@ledgerhq/live-cli 24.10.3-nightly.4 → 24.11.0-next.0
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 +63 -33
- 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 +26 -22
- package/lib/commands/blockchain/botPortfolio.js.map +1 -1
- package/lib/commands/blockchain/botTransfer.js +392 -219
- package/lib/commands/blockchain/botTransfer.js.map +1 -1
- package/lib/commands/blockchain/broadcast.js +42 -11
- package/lib/commands/blockchain/broadcast.js.map +1 -1
- package/lib/commands/blockchain/confirmOp.js +52 -12
- package/lib/commands/blockchain/confirmOp.js.map +1 -1
- package/lib/commands/blockchain/derivation.js +33 -31
- package/lib/commands/blockchain/derivation.js.map +1 -1
- package/lib/commands/blockchain/estimateMaxSpendable.js +56 -27
- package/lib/commands/blockchain/estimateMaxSpendable.js.map +1 -1
- package/lib/commands/blockchain/generateTestScanAccounts.js +37 -29
- package/lib/commands/blockchain/generateTestScanAccounts.js.map +1 -1
- package/lib/commands/blockchain/generateTestTransaction.js +96 -70
- package/lib/commands/blockchain/generateTestTransaction.js.map +1 -1
- package/lib/commands/blockchain/getAddress.js +24 -20
- package/lib/commands/blockchain/getAddress.js.map +1 -1
- package/lib/commands/blockchain/getTransactionStatus.js +69 -31
- package/lib/commands/blockchain/getTransactionStatus.js.map +1 -1
- package/lib/commands/blockchain/receive.js +42 -14
- package/lib/commands/blockchain/receive.js.map +1 -1
- package/lib/commands/blockchain/satstack.js +33 -30
- package/lib/commands/blockchain/satstack.js.map +1 -1
- package/lib/commands/blockchain/satstackStatus.js +5 -4
- package/lib/commands/blockchain/satstackStatus.js.map +1 -1
- package/lib/commands/blockchain/scanDescriptors.js +14 -8
- package/lib/commands/blockchain/scanDescriptors.js.map +1 -1
- package/lib/commands/blockchain/send.js +90 -61
- package/lib/commands/blockchain/send.js.map +1 -1
- package/lib/commands/blockchain/signMessage.d.ts +1 -1
- package/lib/commands/blockchain/signMessage.js +40 -15
- package/lib/commands/blockchain/signMessage.js.map +1 -1
- package/lib/commands/blockchain/sync.js +120 -27
- package/lib/commands/blockchain/sync.js.map +1 -1
- package/lib/commands/blockchain/testDetectOpCollision.js +48 -15
- package/lib/commands/blockchain/testDetectOpCollision.js.map +1 -1
- package/lib/commands/blockchain/testGetTrustedInputFromTxHash.js +86 -37
- package/lib/commands/blockchain/testGetTrustedInputFromTxHash.js.map +1 -1
- package/lib/commands/device/app.js +76 -42
- package/lib/commands/device/app.js.map +1 -1
- package/lib/commands/device/appUninstallAll.d.ts +1 -1
- package/lib/commands/device/appUninstallAll.js +29 -22
- package/lib/commands/device/appUninstallAll.js.map +1 -1
- package/lib/commands/device/appsCheckAllAppVersions.js +361 -208
- package/lib/commands/device/appsCheckAllAppVersions.js.map +1 -1
- package/lib/commands/device/appsInstallAll.js +24 -15
- package/lib/commands/device/appsInstallAll.js.map +1 -1
- package/lib/commands/device/appsUpdateTestAll.js +80 -69
- 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 +84 -37
- package/lib/commands/device/customLockScreenFetch.js.map +1 -1
- package/lib/commands/device/customLockScreenFetchAndRestore.js +110 -46
- package/lib/commands/device/customLockScreenFetchAndRestore.js.map +1 -1
- package/lib/commands/device/customLockScreenFetchHash.js +7 -5
- package/lib/commands/device/customLockScreenFetchHash.js.map +1 -1
- package/lib/commands/device/customLockScreenLoad.js +72 -25
- package/lib/commands/device/customLockScreenLoad.js.map +1 -1
- package/lib/commands/device/customLockScreenRemove.js +7 -5
- package/lib/commands/device/customLockScreenRemove.js.map +1 -1
- package/lib/commands/device/devDeviceAppsScenario.js +65 -33
- package/lib/commands/device/devDeviceAppsScenario.js.map +1 -1
- package/lib/commands/device/deviceAppVersion.js +8 -5
- package/lib/commands/device/deviceAppVersion.js.map +1 -1
- package/lib/commands/device/deviceInfo.js +8 -5
- package/lib/commands/device/deviceInfo.js.map +1 -1
- package/lib/commands/device/deviceSDKFirmwareUpdate.js +68 -22
- package/lib/commands/device/deviceSDKFirmwareUpdate.js.map +1 -1
- package/lib/commands/device/deviceSDKGetBatteryStatuses.js +8 -7
- package/lib/commands/device/deviceSDKGetBatteryStatuses.js.map +1 -1
- package/lib/commands/device/deviceSDKGetDeviceInfo.js +7 -6
- package/lib/commands/device/deviceSDKGetDeviceInfo.js.map +1 -1
- package/lib/commands/device/deviceSDKToggleOnboardingEarlyCheck.js +9 -8
- package/lib/commands/device/deviceSDKToggleOnboardingEarlyCheck.js.map +1 -1
- package/lib/commands/device/deviceVersion.js +8 -5
- package/lib/commands/device/deviceVersion.js.map +1 -1
- package/lib/commands/device/discoverDevices.js +50 -15
- package/lib/commands/device/discoverDevices.js.map +1 -1
- package/lib/commands/device/firmwareRepair.js +6 -3
- package/lib/commands/device/firmwareRepair.js.map +1 -1
- package/lib/commands/device/firmwareUpdate.js +123 -63
- package/lib/commands/device/firmwareUpdate.js.map +1 -1
- package/lib/commands/device/genuineCheck.js +12 -7
- package/lib/commands/device/genuineCheck.js.map +1 -1
- package/lib/commands/device/getBatteryStatus.js +9 -5
- package/lib/commands/device/getBatteryStatus.js.map +1 -1
- package/lib/commands/device/getDeviceRunningMode.js +10 -7
- package/lib/commands/device/getDeviceRunningMode.js.map +1 -1
- package/lib/commands/device/i18n.js +79 -27
- package/lib/commands/device/i18n.js.map +1 -1
- package/lib/commands/device/listApps.d.ts +1 -1
- package/lib/commands/device/listApps.js +12 -7
- package/lib/commands/device/listApps.js.map +1 -1
- package/lib/commands/device/managerListApps.js +28 -21
- package/lib/commands/device/managerListApps.js.map +1 -1
- package/lib/commands/device/proxy.js +350 -242
- package/lib/commands/device/proxy.js.map +1 -1
- package/lib/commands/device/reinstallConfigurationConsent.js +126 -36
- package/lib/commands/device/reinstallConfigurationConsent.js.map +1 -1
- package/lib/commands/device/repl.js +10 -5
- package/lib/commands/device/repl.js.map +1 -1
- package/lib/commands/device/speculosList.js +58 -12
- package/lib/commands/device/speculosList.js.map +1 -1
- package/lib/commands/live/balanceHistory.js +79 -44
- package/lib/commands/live/balanceHistory.js.map +1 -1
- package/lib/commands/live/countervalues.js +207 -111
- package/lib/commands/live/countervalues.js.map +1 -1
- package/lib/commands/live/envs.js +6 -4
- package/lib/commands/live/envs.js.map +1 -1
- package/lib/commands/live/exportAccounts.js +56 -30
- package/lib/commands/live/exportAccounts.js.map +1 -1
- package/lib/commands/live/ledgerKeyRingProtocol.d.ts +1 -1
- package/lib/commands/live/ledgerKeyRingProtocol.js +103 -63
- package/lib/commands/live/ledgerKeyRingProtocol.js.map +1 -1
- package/lib/commands/live/ledgerSync.js +60 -20
- package/lib/commands/live/ledgerSync.js.map +1 -1
- package/lib/commands/live/liveData.js +60 -34
- package/lib/commands/live/liveData.js.map +1 -1
- package/lib/commands/live/portfolio.js +98 -68
- package/lib/commands/live/portfolio.js.map +1 -1
- package/lib/commands/live/synchronousOnboarding.js +9 -6
- 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 +4 -2
- package/lib/commands/live/version.js.map +1 -1
- package/lib/commands/ptx/swap.js +282 -194
- 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 +48 -26
- package/lib/live-common-setup-base.js.map +1 -1
- package/lib/live-common-setup.js +123 -66
- package/lib/live-common-setup.js.map +1 -1
- package/lib/qr.js +10 -6
- package/lib/qr.js.map +1 -1
- package/lib/scan.js +92 -84
- package/lib/scan.js.map +1 -1
- package/lib/signedOperation.js +6 -6
- package/lib/signedOperation.js.map +1 -1
- package/lib/stream.js +68 -57
- package/lib/stream.js.map +1 -1
- package/lib/transaction.js +142 -60
- package/lib/transaction.js.map +1 -1
- package/package.json +9 -9
|
@@ -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,15 +3,20 @@ 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
|
+
var rxjs_1 = require("rxjs");
|
|
7
|
+
var operators_1 = require("rxjs/operators");
|
|
8
|
+
var deviceAccess_1 = require("@ledgerhq/live-common/hw/deviceAccess");
|
|
9
|
+
var getDeviceInfo_1 = __importDefault(require("@ledgerhq/live-common/hw/getDeviceInfo"));
|
|
10
|
+
var genuineCheck_1 = __importDefault(require("@ledgerhq/live-common/hw/genuineCheck"));
|
|
11
|
+
var 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:
|
|
15
|
+
job: function (_a) {
|
|
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
|
+
},
|
|
16
21
|
};
|
|
17
22
|
//# 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,6BAA4B;AAC5B,4CAA0C;AAC1C,sEAAmE;AACnE,yFAAmE;AACnE,uFAAiE;AACjE,mCAAyD;AAIzD,kBAAe;IACb,WAAW,EAAE,2CAA2C;IACxD,IAAI,EAAE,CAAC,gBAAS,CAAC;IACjB,GAAG,EAAE,UAAC,EAA+B;YAA7B,MAAM,YAAA;QACZ,OAAA,IAAA,yBAAU,EAAC,MAAM,IAAI,EAAE,CAAC,CAAC,UAAA,CAAC;YACxB,OAAA,IAAA,WAAI,EAAC,IAAA,uBAAa,EAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAA,oBAAQ,EAAC,UAAA,UAAU,IAAI,OAAA,IAAA,sBAAY,EAAC,CAAC,EAAE,UAAU,CAAC,EAA3B,CAA2B,CAAC,CAAC;QAAhF,CAAgF,CACjF;IAFD,CAEC;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
|
+
var rxjs_1 = require("rxjs");
|
|
7
|
+
var deviceAccess_1 = require("@ledgerhq/live-common/hw/deviceAccess");
|
|
8
|
+
var getBatteryStatus_1 = __importDefault(require("@ledgerhq/live-common/hw/getBatteryStatus"));
|
|
9
|
+
var scan_1 = require("../../scan");
|
|
10
10
|
exports.default = {
|
|
11
11
|
description: "Get the battery status of the current device",
|
|
12
12
|
args: [
|
|
@@ -18,6 +18,10 @@ exports.default = {
|
|
|
18
18
|
desc: "What type of request to run (00-04)",
|
|
19
19
|
},
|
|
20
20
|
],
|
|
21
|
-
job:
|
|
21
|
+
job: function (arg) {
|
|
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
|
+
},
|
|
22
26
|
};
|
|
23
27
|
//# 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,6BAAwC;AACxC,sEAAmE;AACnE,+FAAiG;AACjG,mCAAsE;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,UAAC,GAA4B;QAChC,OAAA,IAAA,yBAAU,EAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,UAAA,CAAC;YAC5B,OAAA,IAAA,WAAI,EAAC,IAAA,0BAAgB,EAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,CAAuB,CAAC,CAAC,CAAC;QAA1E,CAA0E,CAC3E;IAFD,CAEC;CACJ,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
var getDeviceRunningMode_1 = require("@ledgerhq/live-common/hw/getDeviceRunningMode");
|
|
4
|
+
var 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,10 +19,13 @@ exports.default = {
|
|
|
19
19
|
},
|
|
20
20
|
scan_1.deviceOpt,
|
|
21
21
|
],
|
|
22
|
-
job: (
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
22
|
+
job: function (_a) {
|
|
23
|
+
var device = _a.device, unresponsiveTimeoutMs = _a.unresponsiveTimeoutMs, cantOpenDeviceRetryLimit = _a.cantOpenDeviceRetryLimit;
|
|
24
|
+
return (0, getDeviceRunningMode_1.getDeviceRunningMode)({
|
|
25
|
+
deviceId: device !== null && device !== void 0 ? device : "",
|
|
26
|
+
unresponsiveTimeoutMs: unresponsiveTimeoutMs,
|
|
27
|
+
cantOpenDeviceRetryLimit: cantOpenDeviceRetryLimit,
|
|
28
|
+
});
|
|
29
|
+
},
|
|
27
30
|
};
|
|
28
31
|
//# 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,sFAGuD;AACvD,mCAAyD;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,UAAC,EAIiC;YAHrC,MAAM,YAAA,EACN,qBAAqB,2BAAA,EACrB,wBAAwB,8BAAA;QAExB,OAAA,IAAA,2CAAoB,EAAC;YACnB,QAAQ,EAAE,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE;YACtB,qBAAqB,uBAAA;YACrB,wBAAwB,0BAAA;SACzB,CAAC;IAJF,CAIE;CACL,CAAC"}
|
|
@@ -1,35 +1,87 @@
|
|
|
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
|
+
};
|
|
2
38
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
39
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
40
|
};
|
|
5
41
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
42
|
/* eslint-disable no-console */
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
43
|
+
var rxjs_1 = require("rxjs");
|
|
44
|
+
var installLanguage_1 = __importDefault(require("@ledgerhq/live-common/hw/installLanguage"));
|
|
45
|
+
var uninstallLanguage_1 = __importDefault(require("@ledgerhq/live-common/hw/uninstallLanguage"));
|
|
46
|
+
var scan_1 = require("../../scan");
|
|
47
|
+
var exec = function (opts) { return __awaiter(void 0, void 0, void 0, function () {
|
|
48
|
+
var _a, deviceId, _b, uninstall, _c, install, language;
|
|
49
|
+
return __generator(this, function (_d) {
|
|
50
|
+
switch (_d.label) {
|
|
51
|
+
case 0:
|
|
52
|
+
_a = opts.deviceId, deviceId = _a === void 0 ? "" : _a, _b = opts.uninstall, uninstall = _b === void 0 ? "" : _b, _c = opts.install, install = _c === void 0 ? "" : _c;
|
|
53
|
+
language = (uninstall || install);
|
|
54
|
+
if (!install) return [3 /*break*/, 2];
|
|
55
|
+
return [4 /*yield*/, new Promise(function (p) {
|
|
56
|
+
return (0, installLanguage_1.default)({ deviceId: deviceId, request: { language: language } }).subscribe(function (x) { return console.log(x); }, function (e) {
|
|
57
|
+
console.error(e);
|
|
58
|
+
p();
|
|
59
|
+
}, function () {
|
|
60
|
+
console.log("".concat(language, " language pack installed."));
|
|
61
|
+
p();
|
|
62
|
+
});
|
|
63
|
+
})];
|
|
64
|
+
case 1:
|
|
65
|
+
_d.sent();
|
|
66
|
+
return [3 /*break*/, 4];
|
|
67
|
+
case 2:
|
|
68
|
+
if (!uninstall) return [3 /*break*/, 4];
|
|
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
|
+
}); };
|
|
33
85
|
exports.default = {
|
|
34
86
|
description: "Test e2e functionality for device localization support",
|
|
35
87
|
args: [
|
|
@@ -47,6 +99,6 @@ exports.default = {
|
|
|
47
99
|
desc: "uninstall a language pack by its id",
|
|
48
100
|
},
|
|
49
101
|
],
|
|
50
|
-
job: (opts)
|
|
102
|
+
job: function (opts) { return (0, rxjs_1.from)(exec(opts)); },
|
|
51
103
|
};
|
|
52
104
|
//# 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,6BAA4B;AAE5B,6FAAuE;AACvE,iGAA2E;AAE3E,mCAAuC;AAUvC,IAAM,IAAI,GAAG,UAAO,IAAiB;;;;;gBAC3B,KAAgD,IAAI,SAAvC,EAAb,QAAQ,mBAAG,EAAE,KAAA,EAAE,KAAiC,IAAI,UAAvB,EAAd,SAAS,mBAAG,EAAE,KAAA,EAAE,KAAiB,IAAI,QAAT,EAAZ,OAAO,mBAAG,EAAE,KAAA,CAAU;gBACvD,QAAQ,GAAG,CAAC,SAAS,IAAI,OAAO,CAAa,CAAC;qBAEhD,OAAO,EAAP,wBAAO;gBACT,qBAAM,IAAI,OAAO,CAAO,UAAA,CAAC;wBACvB,OAAA,IAAA,yBAAe,EAAC,EAAE,QAAQ,UAAA,EAAE,OAAO,EAAE,EAAE,QAAQ,UAAA,EAAE,EAAE,CAAC,CAAC,SAAS,CAC5D,UAAA,CAAC,IAAI,OAAA,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAd,CAAc,EACnB,UAAA,CAAC;4BACC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;4BACjB,CAAC,EAAE,CAAC;wBACN,CAAC,EACD;4BACE,OAAO,CAAC,GAAG,CAAC,UAAG,QAAQ,8BAA2B,CAAC,CAAC;4BACpD,CAAC,EAAE,CAAC;wBACN,CAAC,CACF;oBAVD,CAUC,CACF,EAAA;;gBAZD,SAYC,CAAC;;;qBACO,SAAS,EAAT,wBAAS;gBAClB,qBAAM,IAAI,OAAO,CAAO,UAAA,CAAC;wBACvB,OAAA,IAAA,2BAAiB,EAAC,EAAE,QAAQ,UAAA,EAAE,QAAQ,UAAA,EAAE,CAAC,CAAC,SAAS,CACjD,UAAA,CAAC,IAAI,OAAA,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAd,CAAc,EACnB,UAAA,CAAC;4BACC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;4BACjB,CAAC,EAAE,CAAC;wBACN,CAAC,EACD;4BACE,OAAO,CAAC,GAAG,CAAC,UAAG,QAAQ,gCAA6B,CAAC,CAAC;4BACtD,CAAC,EAAE,CAAC;wBACN,CAAC,CACF;oBAVD,CAUC,CACF,EAAA;;gBAZD,SAYC,CAAC;;;;;KAEL,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,UAAC,IAAiB,IAAU,OAAA,IAAA,WAAI,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAhB,CAAgB;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/
|
|
12
|
+
job: ({ device }: ListAppsJobOpts) => import("rxjs").Observable<import("@ledgerhq/live-common/apps").ListAppResponse>;
|
|
13
13
|
};
|
|
14
14
|
export default _default;
|
|
15
15
|
//# sourceMappingURL=listApps.d.ts.map
|
|
@@ -3,15 +3,20 @@ 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
|
+
var rxjs_1 = require("rxjs");
|
|
7
|
+
var deviceAccess_1 = require("@ledgerhq/live-common/hw/deviceAccess");
|
|
8
|
+
var listApps_1 = __importDefault(require("@ledgerhq/live-common/hw/listApps"));
|
|
9
|
+
var 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
|
-
|
|
13
|
+
job: function (_a) {
|
|
14
|
+
var device = _a.device;
|
|
15
|
+
return (0, deviceAccess_1.withDevice)(device || "")(function (t) {
|
|
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
|
+
},
|
|
16
21
|
};
|
|
17
22
|
//# 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,6BAAiC;AACjC,sEAAmE;AACnE,+EAAyD;AACzD,mCAAyD;AAIzD,kBAAe;IACb,WAAW,EAAE,uCAAuC;IACpD,IAAI,EAAE,CAAC,gBAAS,CAAC;IACjB,GAAG,EAAE,UAAC,EAA2B;YAAzB,MAAM,YAAA;QACZ,OAAA,IAAA,yBAAU,EAAC,MAAM,IAAI,EAAE,CAAC,CAAC,UAAA,CAAC;YACxB,OAAA,IAAA,WAAI,EAAC,IAAA,kBAAQ,EAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CACpB,IAAA,UAAG,EAAC,UAAA,GAAG;gBACL,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACnB,CAAC,CAAC,CACH;QAJD,CAIC,CACF;IAND,CAMC;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
|
+
var rxjs_1 = require("rxjs");
|
|
7
|
+
var operators_1 = require("rxjs/operators");
|
|
8
|
+
var deviceAccess_1 = require("@ledgerhq/live-common/hw/deviceAccess");
|
|
9
|
+
var getDeviceInfo_1 = __importDefault(require("@ledgerhq/live-common/hw/getDeviceInfo"));
|
|
10
|
+
var listAppsUseCase_1 = require("@ledgerhq/live-common/device/use-cases/listAppsUseCase");
|
|
11
|
+
var scan_1 = require("../../scan");
|
|
12
12
|
exports.default = {
|
|
13
13
|
description: "List apps that can be installed on the device",
|
|
14
14
|
args: [
|
|
@@ -27,23 +27,30 @@ exports.default = {
|
|
|
27
27
|
typeDesc: "raw | json | default",
|
|
28
28
|
},
|
|
29
29
|
],
|
|
30
|
-
job: (
|
|
30
|
+
job: function (_a) {
|
|
31
|
+
var device = _a.device, format = _a.format, benchmark = _a.benchmark;
|
|
31
32
|
if (benchmark)
|
|
32
33
|
console.log("Running the whole thing 5 times to have cache and averages.");
|
|
33
|
-
return (0, deviceAccess_1.withDevice)(device || "")(
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
34
|
+
return (0, deviceAccess_1.withDevice)(device || "")(function (t) {
|
|
35
|
+
return (0, rxjs_1.from)((0, getDeviceInfo_1.default)(t)).pipe((0, operators_1.mergeMap)(function (deviceInfo) {
|
|
36
|
+
return (0, listAppsUseCase_1.listAppsUseCase)(t, deviceInfo).pipe((0, operators_1.filter)(function (e) { return e.type === "result"; }),
|
|
37
|
+
// @ts-expect-error we need better typings and safe guard to infer types
|
|
38
|
+
(0, operators_1.map)(function (e) { return e.result; }), (0, operators_1.repeat)(benchmark ? 5 : 1));
|
|
39
|
+
}), (0, operators_1.map)(function (r) {
|
|
40
|
+
return format === "raw"
|
|
41
|
+
? r
|
|
42
|
+
: format === "json"
|
|
43
|
+
? JSON.stringify(r)
|
|
44
|
+
: r.appsListNames
|
|
45
|
+
.map(function (name) {
|
|
46
|
+
var item = r.appByName[name];
|
|
47
|
+
var ins = r.installed.find(function (i) { return i.name === item.name; });
|
|
48
|
+
return ("- ".concat(item.name, " ").concat(item.version) +
|
|
49
|
+
(ins ? (ins.updated ? " (installed)" : " (outdated!)") : ""));
|
|
50
|
+
})
|
|
51
|
+
.join("\n");
|
|
52
|
+
}));
|
|
53
|
+
});
|
|
47
54
|
},
|
|
48
55
|
};
|
|
49
56
|
//# 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,6BAA4B;AAC5B,4CAA+D;AAC/D,sEAAmE;AACnE,yFAAmE;AACnE,0FAAyF;AACzF,mCAAyD;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,UAAC,EAAqD;YAAnD,MAAM,YAAA,EAAE,MAAM,YAAA,EAAE,SAAS,eAAA;QAC/B,IAAI,SAAS;YAAE,OAAO,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAC;QAE1F,OAAO,IAAA,yBAAU,EAAC,MAAM,IAAI,EAAE,CAAC,CAAC,UAAA,CAAC;YAC/B,OAAA,IAAA,WAAI,EAAC,IAAA,uBAAa,EAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CACzB,IAAA,oBAAQ,EAAC,UAAA,UAAU;gBACjB,OAAA,IAAA,iCAAe,EAAC,CAAC,EAAE,UAAU,CAAC,CAAC,IAAI,CACjC,IAAA,kBAAM,EAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAnB,CAAmB,CAAC;gBAChC,wEAAwE;gBACxE,IAAA,eAAG,EAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,MAAM,EAAR,CAAQ,CAAC,EAClB,IAAA,kBAAM,EAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAC1B;YALD,CAKC,CACF,EACD,IAAA,eAAG,EAAC,UAAA,CAAC;gBACH,OAAA,MAAM,KAAK,KAAK;oBACd,CAAC,CAAC,CAAC;oBACH,CAAC,CAAC,MAAM,KAAK,MAAM;wBACjB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;wBACnB,CAAC,CAAC,CAAC,CAAC,aAAa;6BACZ,GAAG,CAAC,UAAC,IAAY;4BAChB,IAAM,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;4BAC/B,IAAM,GAAG,GAAG,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,UAAC,CAAgB,IAAK,OAAA,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,EAApB,CAAoB,CAAC,CAAC;4BACzE,OAAO,CACL,YAAK,IAAI,CAAC,IAAI,cAAI,IAAI,CAAC,OAAO,CAAE;gCAChC,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;wBACJ,CAAC,CAAC;6BACD,IAAI,CAAC,IAAI,CAAC;YAbnB,CAamB,CACpB,CACF;QAzBD,CAyBC,CACF,CAAC;IACJ,CAAC;CACF,CAAC"}
|