@ledgerhq/device-core 0.6.6-nightly.6 → 0.6.6
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/.turbo/turbo-build.log +1 -1
- package/CHANGELOG.md +11 -43
- package/lib/capabilities/isCustomLockScreenSupported.test.d.ts +2 -0
- package/lib/capabilities/isCustomLockScreenSupported.test.d.ts.map +1 -0
- package/lib/capabilities/isCustomLockScreenSupported.test.js +26 -0
- package/lib/capabilities/isCustomLockScreenSupported.test.js.map +1 -0
- package/lib/capabilities/isEditDeviceNameSupported.test.d.ts +2 -0
- package/lib/capabilities/isEditDeviceNameSupported.test.d.ts.map +1 -0
- package/lib/capabilities/isEditDeviceNameSupported.test.js +25 -0
- package/lib/capabilities/isEditDeviceNameSupported.test.js.map +1 -0
- package/lib/capabilities/isSyncOnboardingSupported.test.d.ts +2 -0
- package/lib/capabilities/isSyncOnboardingSupported.test.d.ts.map +1 -0
- package/lib/capabilities/isSyncOnboardingSupported.test.js +18 -0
- package/lib/capabilities/isSyncOnboardingSupported.test.js.map +1 -0
- package/lib/commands/entities/AppStorageInfo.test.d.ts +2 -0
- package/lib/commands/entities/AppStorageInfo.test.d.ts.map +1 -0
- package/lib/commands/entities/AppStorageInfo.test.js +48 -0
- package/lib/commands/entities/AppStorageInfo.test.js.map +1 -0
- package/lib/commands/use-cases/app-backup/backupAppStorage.test.d.ts +2 -0
- package/lib/commands/use-cases/app-backup/backupAppStorage.test.d.ts.map +1 -0
- package/lib/commands/use-cases/app-backup/backupAppStorage.test.js +47 -0
- package/lib/commands/use-cases/app-backup/backupAppStorage.test.js.map +1 -0
- package/lib/commands/use-cases/app-backup/getAppStorageInfo.test.d.ts +2 -0
- package/lib/commands/use-cases/app-backup/getAppStorageInfo.test.d.ts.map +1 -0
- package/lib/commands/use-cases/app-backup/getAppStorageInfo.test.js +58 -0
- package/lib/commands/use-cases/app-backup/getAppStorageInfo.test.js.map +1 -0
- package/lib/commands/use-cases/app-backup/restoreAppStorage.test.d.ts +2 -0
- package/lib/commands/use-cases/app-backup/restoreAppStorage.test.d.ts.map +1 -0
- package/lib/commands/use-cases/app-backup/restoreAppStorage.test.js +51 -0
- package/lib/commands/use-cases/app-backup/restoreAppStorage.test.js.map +1 -0
- package/lib/commands/use-cases/app-backup/restoreAppStorageCommit.test.d.ts +2 -0
- package/lib/commands/use-cases/app-backup/restoreAppStorageCommit.test.d.ts.map +1 -0
- package/lib/commands/use-cases/app-backup/restoreAppStorageCommit.test.js +40 -0
- package/lib/commands/use-cases/app-backup/restoreAppStorageCommit.test.js.map +1 -0
- package/lib/commands/use-cases/app-backup/restoreAppStorageInit.test.d.ts +2 -0
- package/lib/commands/use-cases/app-backup/restoreAppStorageInit.test.d.ts.map +1 -0
- package/lib/commands/use-cases/app-backup/restoreAppStorageInit.test.js +55 -0
- package/lib/commands/use-cases/app-backup/restoreAppStorageInit.test.js.map +1 -0
- package/lib/commands/use-cases/consent/reinstallConfigurationConsent.test.d.ts +2 -0
- package/lib/commands/use-cases/consent/reinstallConfigurationConsent.test.d.ts.map +1 -0
- package/lib/commands/use-cases/consent/reinstallConfigurationConsent.test.js +39 -0
- package/lib/commands/use-cases/consent/reinstallConfigurationConsent.test.js.map +1 -0
- package/lib/commands/use-cases/isBootloaderVersionSupported.test.d.ts +2 -0
- package/lib/commands/use-cases/isBootloaderVersionSupported.test.d.ts.map +1 -0
- package/lib/commands/use-cases/isBootloaderVersionSupported.test.js +63 -0
- package/lib/commands/use-cases/isBootloaderVersionSupported.test.js.map +1 -0
- package/lib/commands/use-cases/isCharonSupported.test.d.ts +2 -0
- package/lib/commands/use-cases/isCharonSupported.test.d.ts.map +1 -0
- package/lib/commands/use-cases/isCharonSupported.test.js +46 -0
- package/lib/commands/use-cases/isCharonSupported.test.js.map +1 -0
- package/lib/commands/use-cases/isDeviceLocalizationSupported.test.d.ts +2 -0
- package/lib/commands/use-cases/isDeviceLocalizationSupported.test.d.ts.map +1 -0
- package/lib/commands/use-cases/isDeviceLocalizationSupported.test.js +55 -0
- package/lib/commands/use-cases/isDeviceLocalizationSupported.test.js.map +1 -0
- package/lib/commands/use-cases/isHardwareVersionSupported.test.d.ts +2 -0
- package/lib/commands/use-cases/isHardwareVersionSupported.test.d.ts.map +1 -0
- package/lib/commands/use-cases/isHardwareVersionSupported.test.js +36 -0
- package/lib/commands/use-cases/isHardwareVersionSupported.test.js.map +1 -0
- package/lib/commands/use-cases/isRecoverSupported.test.d.ts +2 -0
- package/lib/commands/use-cases/isRecoverSupported.test.d.ts.map +1 -0
- package/lib/commands/use-cases/isRecoverSupported.test.js +54 -0
- package/lib/commands/use-cases/isRecoverSupported.test.js.map +1 -0
- package/lib/commands/use-cases/parseGetDeviceNameResponse.test.d.ts +2 -0
- package/lib/commands/use-cases/parseGetDeviceNameResponse.test.d.ts.map +1 -0
- package/lib/commands/use-cases/parseGetDeviceNameResponse.test.js +27 -0
- package/lib/commands/use-cases/parseGetDeviceNameResponse.test.js.map +1 -0
- package/lib/commands/use-cases/parseGetVersionResponse.test.d.ts +2 -0
- package/lib/commands/use-cases/parseGetVersionResponse.test.d.ts.map +1 -0
- package/lib/commands/use-cases/parseGetVersionResponse.test.js +145 -0
- package/lib/commands/use-cases/parseGetVersionResponse.test.js.map +1 -0
- package/lib/firmwareUpdate/shouldForceFirmwareUpdate.test.d.ts +2 -0
- package/lib/firmwareUpdate/shouldForceFirmwareUpdate.test.d.ts.map +1 -0
- package/lib/firmwareUpdate/shouldForceFirmwareUpdate.test.js +69 -0
- package/lib/firmwareUpdate/shouldForceFirmwareUpdate.test.js.map +1 -0
- package/lib/index.d.ts +0 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js.map +1 -1
- package/lib/managerApi/repositories/HttpManagerApiRepository.test.d.ts +2 -0
- package/lib/managerApi/repositories/HttpManagerApiRepository.test.d.ts.map +1 -0
- package/lib/managerApi/repositories/HttpManagerApiRepository.test.js +390 -0
- package/lib/managerApi/repositories/HttpManagerApiRepository.test.js.map +1 -0
- package/lib/managerApi/use-cases/getAppsCatalogForDevice.d.ts +1 -1
- package/lib/managerApi/use-cases/getAppsCatalogForDevice.d.ts.map +1 -1
- package/lib/managerApi/use-cases/getLatestFirmwareForDevice.test.d.ts +2 -0
- package/lib/managerApi/use-cases/getLatestFirmwareForDevice.test.d.ts.map +1 -0
- package/lib/managerApi/use-cases/getLatestFirmwareForDevice.test.js +169 -0
- package/lib/managerApi/use-cases/getLatestFirmwareForDevice.test.js.map +1 -0
- package/lib-es/capabilities/isCustomLockScreenSupported.test.d.ts +2 -0
- package/lib-es/capabilities/isCustomLockScreenSupported.test.d.ts.map +1 -0
- package/lib-es/capabilities/isCustomLockScreenSupported.test.js +24 -0
- package/lib-es/capabilities/isCustomLockScreenSupported.test.js.map +1 -0
- package/lib-es/capabilities/isEditDeviceNameSupported.test.d.ts +2 -0
- package/lib-es/capabilities/isEditDeviceNameSupported.test.d.ts.map +1 -0
- package/lib-es/capabilities/isEditDeviceNameSupported.test.js +23 -0
- package/lib-es/capabilities/isEditDeviceNameSupported.test.js.map +1 -0
- package/lib-es/capabilities/isSyncOnboardingSupported.test.d.ts +2 -0
- package/lib-es/capabilities/isSyncOnboardingSupported.test.d.ts.map +1 -0
- package/lib-es/capabilities/isSyncOnboardingSupported.test.js +16 -0
- package/lib-es/capabilities/isSyncOnboardingSupported.test.js.map +1 -0
- package/lib-es/commands/entities/AppStorageInfo.test.d.ts +2 -0
- package/lib-es/commands/entities/AppStorageInfo.test.d.ts.map +1 -0
- package/lib-es/commands/entities/AppStorageInfo.test.js +46 -0
- package/lib-es/commands/entities/AppStorageInfo.test.js.map +1 -0
- package/lib-es/commands/use-cases/app-backup/backupAppStorage.test.d.ts +2 -0
- package/lib-es/commands/use-cases/app-backup/backupAppStorage.test.d.ts.map +1 -0
- package/lib-es/commands/use-cases/app-backup/backupAppStorage.test.js +45 -0
- package/lib-es/commands/use-cases/app-backup/backupAppStorage.test.js.map +1 -0
- package/lib-es/commands/use-cases/app-backup/getAppStorageInfo.test.d.ts +2 -0
- package/lib-es/commands/use-cases/app-backup/getAppStorageInfo.test.d.ts.map +1 -0
- package/lib-es/commands/use-cases/app-backup/getAppStorageInfo.test.js +56 -0
- package/lib-es/commands/use-cases/app-backup/getAppStorageInfo.test.js.map +1 -0
- package/lib-es/commands/use-cases/app-backup/restoreAppStorage.test.d.ts +2 -0
- package/lib-es/commands/use-cases/app-backup/restoreAppStorage.test.d.ts.map +1 -0
- package/lib-es/commands/use-cases/app-backup/restoreAppStorage.test.js +49 -0
- package/lib-es/commands/use-cases/app-backup/restoreAppStorage.test.js.map +1 -0
- package/lib-es/commands/use-cases/app-backup/restoreAppStorageCommit.test.d.ts +2 -0
- package/lib-es/commands/use-cases/app-backup/restoreAppStorageCommit.test.d.ts.map +1 -0
- package/lib-es/commands/use-cases/app-backup/restoreAppStorageCommit.test.js +38 -0
- package/lib-es/commands/use-cases/app-backup/restoreAppStorageCommit.test.js.map +1 -0
- package/lib-es/commands/use-cases/app-backup/restoreAppStorageInit.test.d.ts +2 -0
- package/lib-es/commands/use-cases/app-backup/restoreAppStorageInit.test.d.ts.map +1 -0
- package/lib-es/commands/use-cases/app-backup/restoreAppStorageInit.test.js +53 -0
- package/lib-es/commands/use-cases/app-backup/restoreAppStorageInit.test.js.map +1 -0
- package/lib-es/commands/use-cases/consent/reinstallConfigurationConsent.test.d.ts +2 -0
- package/lib-es/commands/use-cases/consent/reinstallConfigurationConsent.test.d.ts.map +1 -0
- package/lib-es/commands/use-cases/consent/reinstallConfigurationConsent.test.js +37 -0
- package/lib-es/commands/use-cases/consent/reinstallConfigurationConsent.test.js.map +1 -0
- package/lib-es/commands/use-cases/isBootloaderVersionSupported.test.d.ts +2 -0
- package/lib-es/commands/use-cases/isBootloaderVersionSupported.test.d.ts.map +1 -0
- package/lib-es/commands/use-cases/isBootloaderVersionSupported.test.js +61 -0
- package/lib-es/commands/use-cases/isBootloaderVersionSupported.test.js.map +1 -0
- package/lib-es/commands/use-cases/isCharonSupported.test.d.ts +2 -0
- package/lib-es/commands/use-cases/isCharonSupported.test.d.ts.map +1 -0
- package/lib-es/commands/use-cases/isCharonSupported.test.js +44 -0
- package/lib-es/commands/use-cases/isCharonSupported.test.js.map +1 -0
- package/lib-es/commands/use-cases/isDeviceLocalizationSupported.test.d.ts +2 -0
- package/lib-es/commands/use-cases/isDeviceLocalizationSupported.test.d.ts.map +1 -0
- package/lib-es/commands/use-cases/isDeviceLocalizationSupported.test.js +53 -0
- package/lib-es/commands/use-cases/isDeviceLocalizationSupported.test.js.map +1 -0
- package/lib-es/commands/use-cases/isHardwareVersionSupported.test.d.ts +2 -0
- package/lib-es/commands/use-cases/isHardwareVersionSupported.test.d.ts.map +1 -0
- package/lib-es/commands/use-cases/isHardwareVersionSupported.test.js +34 -0
- package/lib-es/commands/use-cases/isHardwareVersionSupported.test.js.map +1 -0
- package/lib-es/commands/use-cases/isRecoverSupported.test.d.ts +2 -0
- package/lib-es/commands/use-cases/isRecoverSupported.test.d.ts.map +1 -0
- package/lib-es/commands/use-cases/isRecoverSupported.test.js +52 -0
- package/lib-es/commands/use-cases/isRecoverSupported.test.js.map +1 -0
- package/lib-es/commands/use-cases/parseGetDeviceNameResponse.test.d.ts +2 -0
- package/lib-es/commands/use-cases/parseGetDeviceNameResponse.test.d.ts.map +1 -0
- package/lib-es/commands/use-cases/parseGetDeviceNameResponse.test.js +25 -0
- package/lib-es/commands/use-cases/parseGetDeviceNameResponse.test.js.map +1 -0
- package/lib-es/commands/use-cases/parseGetVersionResponse.test.d.ts +2 -0
- package/lib-es/commands/use-cases/parseGetVersionResponse.test.d.ts.map +1 -0
- package/lib-es/commands/use-cases/parseGetVersionResponse.test.js +143 -0
- package/lib-es/commands/use-cases/parseGetVersionResponse.test.js.map +1 -0
- package/lib-es/firmwareUpdate/shouldForceFirmwareUpdate.test.d.ts +2 -0
- package/lib-es/firmwareUpdate/shouldForceFirmwareUpdate.test.d.ts.map +1 -0
- package/lib-es/firmwareUpdate/shouldForceFirmwareUpdate.test.js +67 -0
- package/lib-es/firmwareUpdate/shouldForceFirmwareUpdate.test.js.map +1 -0
- package/lib-es/index.d.ts +0 -1
- package/lib-es/index.d.ts.map +1 -1
- package/lib-es/index.js.map +1 -1
- package/lib-es/managerApi/repositories/HttpManagerApiRepository.test.d.ts +2 -0
- package/lib-es/managerApi/repositories/HttpManagerApiRepository.test.d.ts.map +1 -0
- package/lib-es/managerApi/repositories/HttpManagerApiRepository.test.js +388 -0
- package/lib-es/managerApi/repositories/HttpManagerApiRepository.test.js.map +1 -0
- package/lib-es/managerApi/use-cases/getAppsCatalogForDevice.d.ts +1 -1
- package/lib-es/managerApi/use-cases/getAppsCatalogForDevice.d.ts.map +1 -1
- package/lib-es/managerApi/use-cases/getLatestFirmwareForDevice.test.d.ts +2 -0
- package/lib-es/managerApi/use-cases/getLatestFirmwareForDevice.test.d.ts.map +1 -0
- package/lib-es/managerApi/use-cases/getLatestFirmwareForDevice.test.js +167 -0
- package/lib-es/managerApi/use-cases/getLatestFirmwareForDevice.test.js.map +1 -0
- package/package.json +6 -6
- package/src/index.ts +0 -1
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { StatusCodes } from "@ledgerhq/hw-transport";
|
|
2
|
+
import { restoreAppStorageInit, parseResponse } from "./restoreAppStorageInit";
|
|
3
|
+
import { InvalidAppNameLength } from "../../../errors";
|
|
4
|
+
jest.mock("@ledgerhq/hw-transport");
|
|
5
|
+
describe("restoreAppStorageInit", () => {
|
|
6
|
+
let transport;
|
|
7
|
+
const response = Buffer.from([0x90, 0x00]);
|
|
8
|
+
beforeEach(() => {
|
|
9
|
+
transport = {
|
|
10
|
+
send: jest.fn().mockResolvedValue(response),
|
|
11
|
+
getTraceContext: jest.fn().mockResolvedValue(undefined),
|
|
12
|
+
};
|
|
13
|
+
});
|
|
14
|
+
afterEach(() => {
|
|
15
|
+
jest.clearAllMocks();
|
|
16
|
+
});
|
|
17
|
+
it("should call the send function with correct parameters", async () => {
|
|
18
|
+
const appName = "MyApp";
|
|
19
|
+
const backupSize = 1234;
|
|
20
|
+
await restoreAppStorageInit(transport, appName, backupSize);
|
|
21
|
+
const data = Buffer.concat([
|
|
22
|
+
Buffer.from(backupSize.toString(16).padStart(8, "0"), "hex"), // BACKUP_LEN
|
|
23
|
+
Buffer.from(appName, "ascii"), // APP_NAME
|
|
24
|
+
]);
|
|
25
|
+
const args = [
|
|
26
|
+
0xe0,
|
|
27
|
+
0x6c,
|
|
28
|
+
0x00,
|
|
29
|
+
0x00,
|
|
30
|
+
data,
|
|
31
|
+
[
|
|
32
|
+
StatusCodes.OK,
|
|
33
|
+
StatusCodes.APP_NOT_FOUND_OR_INVALID_CONTEXT,
|
|
34
|
+
StatusCodes.DEVICE_IN_RECOVERY_MODE,
|
|
35
|
+
StatusCodes.USER_REFUSED_ON_DEVICE,
|
|
36
|
+
StatusCodes.PIN_NOT_SET,
|
|
37
|
+
StatusCodes.INVALID_APP_NAME_LENGTH,
|
|
38
|
+
StatusCodes.INVALID_BACKUP_LENGTH,
|
|
39
|
+
],
|
|
40
|
+
];
|
|
41
|
+
expect(transport.send).toHaveBeenCalledWith(...args);
|
|
42
|
+
});
|
|
43
|
+
describe("parseResponse", () => {
|
|
44
|
+
it("should parse the response data correctly", () => {
|
|
45
|
+
expect(() => parseResponse(response)).not.toThrow();
|
|
46
|
+
});
|
|
47
|
+
it("should throw TransportStatusError if the response status is invalid", () => {
|
|
48
|
+
const data = Buffer.from([0x67, 0x0a]);
|
|
49
|
+
expect(() => parseResponse(data)).toThrow(new InvalidAppNameLength("Invalid application name length, two chars minimum."));
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
});
|
|
53
|
+
//# sourceMappingURL=restoreAppStorageInit.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"restoreAppStorageInit.test.js","sourceRoot":"","sources":["../../../../src/commands/use-cases/app-backup/restoreAppStorageInit.test.ts"],"names":[],"mappings":"AAAA,OAAkB,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAEvD,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;AAEpC,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,IAAI,SAAoB,CAAC;IACzB,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAE3C,UAAU,CAAC,GAAG,EAAE;QACd,SAAS,GAAG;YACV,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,QAAQ,CAAC;YAC3C,eAAe,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC;SAChC,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;QACrE,MAAM,OAAO,GAAG,OAAO,CAAC;QACxB,MAAM,UAAU,GAAG,IAAI,CAAC;QACxB,MAAM,qBAAqB,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QAE5D,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,EAAE,aAAa;YAC3E,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,WAAW;SAC3C,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG;YACX,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ;gBACE,WAAW,CAAC,EAAE;gBACd,WAAW,CAAC,gCAAgC;gBAC5C,WAAW,CAAC,uBAAuB;gBACnC,WAAW,CAAC,sBAAsB;gBAClC,WAAW,CAAC,WAAW;gBACvB,WAAW,CAAC,uBAAuB;gBACnC,WAAW,CAAC,qBAAqB;aAClC;SACF,CAAC;QAEF,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QAC7B,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;YAClD,MAAM,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACtD,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,qEAAqE,EAAE,GAAG,EAAE;YAC7E,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;YACvC,MAAM,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CACvC,IAAI,oBAAoB,CAAC,qDAAqD,CAAC,CAChF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reinstallConfigurationConsent.test.d.ts","sourceRoot":"","sources":["../../../../src/commands/use-cases/consent/reinstallConfigurationConsent.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { StatusCodes, TransportStatusError } from "@ledgerhq/hw-transport";
|
|
2
|
+
import { reinstallConfigurationConsent } from "./reinstallConfigurationConsent";
|
|
3
|
+
import { PinNotSet, UserRefusedOnDevice } from "@ledgerhq/errors";
|
|
4
|
+
describe("reinstallConfigurationConsent", () => {
|
|
5
|
+
let transport;
|
|
6
|
+
beforeEach(() => {
|
|
7
|
+
transport = {
|
|
8
|
+
send: jest.fn().mockResolvedValue(Buffer.from([])),
|
|
9
|
+
getTraceContext: jest.fn().mockResolvedValue(undefined),
|
|
10
|
+
};
|
|
11
|
+
});
|
|
12
|
+
afterEach(() => {
|
|
13
|
+
jest.clearAllMocks();
|
|
14
|
+
});
|
|
15
|
+
describe("success cases", () => {
|
|
16
|
+
it("should call the send function with correct parameters", async () => {
|
|
17
|
+
transport.send = jest.fn().mockResolvedValue(Buffer.from([0x90, 0x00]));
|
|
18
|
+
await reinstallConfigurationConsent(transport, [0x00, 0x00, 0x00, 0x00]);
|
|
19
|
+
expect(transport.send).toHaveBeenCalledWith(0xe0, 0x6f, 0x00, 0x00, Buffer.from([0x00, 0x00, 0x00, 0x00]), [StatusCodes.OK, StatusCodes.USER_REFUSED_ON_DEVICE, StatusCodes.PIN_NOT_SET]);
|
|
20
|
+
});
|
|
21
|
+
});
|
|
22
|
+
describe("error cases", () => {
|
|
23
|
+
it("should throw UserRefusedOnDevice if the user refused on device", async () => {
|
|
24
|
+
transport.send = jest.fn().mockResolvedValue(Buffer.from([0x55, 0x01]));
|
|
25
|
+
await expect(reinstallConfigurationConsent(transport, [0x00, 0x00, 0x00, 0x00])).rejects.toThrow(new UserRefusedOnDevice("User refused on device"));
|
|
26
|
+
});
|
|
27
|
+
it("should throw PINNotSet if the PIN is not set", async () => {
|
|
28
|
+
transport.send = jest.fn().mockResolvedValue(Buffer.from([0x55, 0x02]));
|
|
29
|
+
await expect(reinstallConfigurationConsent(transport, [0x00, 0x00, 0x00, 0x00])).rejects.toThrow(new PinNotSet("PIN not set"));
|
|
30
|
+
});
|
|
31
|
+
it("should throw TransportStatusError if the response status is invalid", async () => {
|
|
32
|
+
transport.send = jest.fn().mockResolvedValue(Buffer.from([0x6f, 0x00]));
|
|
33
|
+
await expect(reinstallConfigurationConsent(transport, [0x00, 0x00, 0x00, 0x00])).rejects.toThrow(new TransportStatusError(0x6f00));
|
|
34
|
+
});
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
//# sourceMappingURL=reinstallConfigurationConsent.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reinstallConfigurationConsent.test.js","sourceRoot":"","sources":["../../../../src/commands/use-cases/consent/reinstallConfigurationConsent.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isBootloaderVersionSupported.test.d.ts","sourceRoot":"","sources":["../../../src/commands/use-cases/isBootloaderVersionSupported.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { DeviceModelId } from "@ledgerhq/devices";
|
|
2
|
+
import { isBootloaderVersionSupported } from "./isBootloaderVersionSupported";
|
|
3
|
+
const { nanoS, nanoSP, nanoX, stax, europa, apex } = DeviceModelId;
|
|
4
|
+
test("isBootloaderVersionSupported", () => {
|
|
5
|
+
/**
|
|
6
|
+
* Nano S
|
|
7
|
+
* */
|
|
8
|
+
expect(isBootloaderVersionSupported("1.9.0", nanoS)).toBe(false);
|
|
9
|
+
expect(isBootloaderVersionSupported("1.9.0-whatever0", nanoS)).toBe(false);
|
|
10
|
+
expect(isBootloaderVersionSupported("2.0.0", nanoS)).toBe(true);
|
|
11
|
+
expect(isBootloaderVersionSupported("2.0.0-rc1", nanoS)).toBe(true);
|
|
12
|
+
expect(isBootloaderVersionSupported("2.0.1", nanoS)).toBe(true);
|
|
13
|
+
expect(isBootloaderVersionSupported("2.0.1-whatever0", nanoS)).toBe(true);
|
|
14
|
+
expect(isBootloaderVersionSupported("2.1.0", nanoS)).toBe(true);
|
|
15
|
+
expect(isBootloaderVersionSupported("2.1.0-whatever0", nanoS)).toBe(true);
|
|
16
|
+
expect(isBootloaderVersionSupported("3.0.0", nanoS)).toBe(true);
|
|
17
|
+
expect(isBootloaderVersionSupported("3.0.0-whatever0", nanoS)).toBe(true);
|
|
18
|
+
/**
|
|
19
|
+
* Nano X
|
|
20
|
+
* */
|
|
21
|
+
expect(isBootloaderVersionSupported("1.9.0", nanoX)).toBe(false);
|
|
22
|
+
expect(isBootloaderVersionSupported("1.9.0-whatever0", nanoX)).toBe(false);
|
|
23
|
+
expect(isBootloaderVersionSupported("2.0.0", nanoX)).toBe(true);
|
|
24
|
+
expect(isBootloaderVersionSupported("2.0.0-rc1", nanoX)).toBe(true);
|
|
25
|
+
expect(isBootloaderVersionSupported("2.0.1", nanoX)).toBe(true);
|
|
26
|
+
expect(isBootloaderVersionSupported("2.0.1-whatever0", nanoX)).toBe(true);
|
|
27
|
+
expect(isBootloaderVersionSupported("2.1.0", nanoX)).toBe(true);
|
|
28
|
+
expect(isBootloaderVersionSupported("2.1.0-whatever0", nanoX)).toBe(true);
|
|
29
|
+
expect(isBootloaderVersionSupported("3.0.0", nanoX)).toBe(true);
|
|
30
|
+
expect(isBootloaderVersionSupported("3.0.0-whatever0", nanoX)).toBe(true);
|
|
31
|
+
/**
|
|
32
|
+
* Nano SP
|
|
33
|
+
* */
|
|
34
|
+
expect(isBootloaderVersionSupported("0.9.0", nanoSP)).toBe(false);
|
|
35
|
+
expect(isBootloaderVersionSupported("0.9.0-whatever0", nanoSP)).toBe(false);
|
|
36
|
+
expect(isBootloaderVersionSupported("1.0.0", nanoSP)).toBe(true);
|
|
37
|
+
expect(isBootloaderVersionSupported("1.0.0-rc1", nanoSP)).toBe(true);
|
|
38
|
+
expect(isBootloaderVersionSupported("1.0.1", nanoSP)).toBe(true);
|
|
39
|
+
expect(isBootloaderVersionSupported("1.0.1-whatever0", nanoSP)).toBe(true);
|
|
40
|
+
expect(isBootloaderVersionSupported("1.1.0", nanoSP)).toBe(true);
|
|
41
|
+
expect(isBootloaderVersionSupported("1.1.0-whatever0", nanoSP)).toBe(true);
|
|
42
|
+
expect(isBootloaderVersionSupported("1.0.0", nanoSP)).toBe(true);
|
|
43
|
+
expect(isBootloaderVersionSupported("1.0.0-whatever0", nanoSP)).toBe(true);
|
|
44
|
+
/**
|
|
45
|
+
* Stax
|
|
46
|
+
* */
|
|
47
|
+
expect(isBootloaderVersionSupported("0.9.0", stax)).toBe(false);
|
|
48
|
+
expect(isBootloaderVersionSupported("1.0.0", stax)).toBe(true);
|
|
49
|
+
expect(isBootloaderVersionSupported("1.0.0-whatever0", stax)).toBe(true);
|
|
50
|
+
/**
|
|
51
|
+
* Europa
|
|
52
|
+
*/
|
|
53
|
+
expect(isBootloaderVersionSupported("0.1.0", europa)).toBe(true);
|
|
54
|
+
expect(isBootloaderVersionSupported("0.1.0-whatever0", europa)).toBe(true);
|
|
55
|
+
/**
|
|
56
|
+
* Apex
|
|
57
|
+
*/
|
|
58
|
+
expect(isBootloaderVersionSupported("0.1.0", apex)).toBe(true);
|
|
59
|
+
expect(isBootloaderVersionSupported("0.1.0-whatever0", apex)).toBe(true);
|
|
60
|
+
});
|
|
61
|
+
//# sourceMappingURL=isBootloaderVersionSupported.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isBootloaderVersionSupported.test.js","sourceRoot":"","sources":["../../../src/commands/use-cases/isBootloaderVersionSupported.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isCharonSupported.test.d.ts","sourceRoot":"","sources":["../../../src/commands/use-cases/isCharonSupported.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { DeviceModelId } from "@ledgerhq/devices";
|
|
2
|
+
import { isCharonSupported } from "./isCharonSupported";
|
|
3
|
+
const { nanoS, nanoX, stax, europa, nanoSP, apex } = DeviceModelId;
|
|
4
|
+
test("isHardwareVersionSupported", () => {
|
|
5
|
+
/**
|
|
6
|
+
* Nano S
|
|
7
|
+
* */
|
|
8
|
+
expect(isCharonSupported("2.0.0", nanoS)).toBe(false);
|
|
9
|
+
expect(isCharonSupported("2.0.0-whatever0", nanoS)).toBe(false);
|
|
10
|
+
/**
|
|
11
|
+
* Nano X
|
|
12
|
+
* */
|
|
13
|
+
expect(isCharonSupported("1.9.0", nanoX)).toBe(false);
|
|
14
|
+
expect(isCharonSupported("1.9.0-whatever0", nanoX)).toBe(false);
|
|
15
|
+
/**
|
|
16
|
+
* Nano SP
|
|
17
|
+
* */
|
|
18
|
+
expect(isCharonSupported("2.0.0", nanoSP)).toBe(false);
|
|
19
|
+
expect(isCharonSupported("2.0.0-whatever0", nanoSP)).toBe(false);
|
|
20
|
+
/**
|
|
21
|
+
* Stax
|
|
22
|
+
* */
|
|
23
|
+
expect(isCharonSupported("1.9.0", stax)).toBe(true);
|
|
24
|
+
expect(isCharonSupported("1.9.0-whatever0", stax)).toBe(true);
|
|
25
|
+
expect(isCharonSupported("1.7.0", stax)).toBe(true);
|
|
26
|
+
expect(isCharonSupported("1.7.0-whatever0", stax)).toBe(true);
|
|
27
|
+
expect(isCharonSupported("1.3.0", stax)).toBe(false);
|
|
28
|
+
expect(isCharonSupported("1.3.0-whatever0", stax)).toBe(false);
|
|
29
|
+
/**
|
|
30
|
+
* Europa
|
|
31
|
+
* */
|
|
32
|
+
expect(isCharonSupported("1.6.0", europa)).toBe(true);
|
|
33
|
+
expect(isCharonSupported("1.6.0-whatever0", europa)).toBe(true);
|
|
34
|
+
expect(isCharonSupported("1.3.0", europa)).toBe(true);
|
|
35
|
+
expect(isCharonSupported("1.3.0-whatever0", europa)).toBe(true);
|
|
36
|
+
expect(isCharonSupported("1.2.0", europa)).toBe(false);
|
|
37
|
+
expect(isCharonSupported("1.2.0-whatever0", europa)).toBe(false);
|
|
38
|
+
/**
|
|
39
|
+
* Apex
|
|
40
|
+
* */
|
|
41
|
+
expect(isCharonSupported("0.0.0", apex)).toBe(true);
|
|
42
|
+
expect(isCharonSupported("0.0.0-whatever0", apex)).toBe(true);
|
|
43
|
+
});
|
|
44
|
+
//# sourceMappingURL=isCharonSupported.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isCharonSupported.test.js","sourceRoot":"","sources":["../../../src/commands/use-cases/isCharonSupported.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,aAAa,CAAC;AAEnE,IAAI,CAAC,4BAA4B,EAAE,GAAG,EAAE;IACtC;;SAEK;IACL,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACtD,MAAM,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEhE;;SAEK;IACL,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACtD,MAAM,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEhE;;SAEK;IACL,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvD,MAAM,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEjE;;SAEK;IACL,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpD,MAAM,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE9D,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpD,MAAM,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE9D,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrD,MAAM,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAE/D;;SAEK;IACL,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtD,MAAM,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEhE,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtD,MAAM,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEhE,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvD,MAAM,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEjE;;SAEK;IACL,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpD,MAAM,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChE,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isDeviceLocalizationSupported.test.d.ts","sourceRoot":"","sources":["../../../src/commands/use-cases/isDeviceLocalizationSupported.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { DeviceModelId } from "@ledgerhq/devices";
|
|
2
|
+
import { isDeviceLocalizationSupported } from "./isDeviceLocalizationSupported";
|
|
3
|
+
const { nanoS, nanoSP, nanoX, stax, europa, apex } = DeviceModelId;
|
|
4
|
+
test("isDeviceLocalizationSupported", () => {
|
|
5
|
+
/**
|
|
6
|
+
* Nano X
|
|
7
|
+
* */
|
|
8
|
+
expect(isDeviceLocalizationSupported("2.0.0", nanoX)).toBe(false);
|
|
9
|
+
expect(isDeviceLocalizationSupported("2.0.0-whatever0", nanoX)).toBe(false);
|
|
10
|
+
expect(isDeviceLocalizationSupported("2.1.0", nanoX)).toBe(true);
|
|
11
|
+
expect(isDeviceLocalizationSupported("2.1.0-rc1", nanoX)).toBe(true);
|
|
12
|
+
expect(isDeviceLocalizationSupported("2.1.1", nanoX)).toBe(true);
|
|
13
|
+
expect(isDeviceLocalizationSupported("2.1.1-whatever0", nanoX)).toBe(true);
|
|
14
|
+
expect(isDeviceLocalizationSupported("2.2.0", nanoX)).toBe(true);
|
|
15
|
+
expect(isDeviceLocalizationSupported("2.2.0-whatever0", nanoX)).toBe(true);
|
|
16
|
+
expect(isDeviceLocalizationSupported("3.0.0", nanoX)).toBe(true);
|
|
17
|
+
expect(isDeviceLocalizationSupported("3.0.0-whatever0", nanoX)).toBe(true);
|
|
18
|
+
/**
|
|
19
|
+
* Nano SP
|
|
20
|
+
* */
|
|
21
|
+
expect(isDeviceLocalizationSupported("1.0.0", nanoSP)).toBe(false);
|
|
22
|
+
expect(isDeviceLocalizationSupported("1.0.0-whatever", nanoSP)).toBe(false);
|
|
23
|
+
expect(isDeviceLocalizationSupported("1.1.0", nanoSP)).toBe(true);
|
|
24
|
+
expect(isDeviceLocalizationSupported("1.1.0-rc1", nanoSP)).toBe(true);
|
|
25
|
+
expect(isDeviceLocalizationSupported("1.1.2", nanoSP)).toBe(true);
|
|
26
|
+
expect(isDeviceLocalizationSupported("1.1.2-whatever0", nanoSP)).toBe(true);
|
|
27
|
+
expect(isDeviceLocalizationSupported("1.2.0", nanoSP)).toBe(true);
|
|
28
|
+
expect(isDeviceLocalizationSupported("1.2.0-whatever0", nanoSP)).toBe(true);
|
|
29
|
+
expect(isDeviceLocalizationSupported("2.0.0", nanoSP)).toBe(true);
|
|
30
|
+
expect(isDeviceLocalizationSupported("2.0.0-whatever0", nanoSP)).toBe(true);
|
|
31
|
+
/**
|
|
32
|
+
* Stax
|
|
33
|
+
* */
|
|
34
|
+
expect(isDeviceLocalizationSupported("0.9.0", stax)).toBe(false);
|
|
35
|
+
expect(isDeviceLocalizationSupported("9.0.0", stax)).toBe(true);
|
|
36
|
+
expect(isDeviceLocalizationSupported("9.0.0-whatever", stax)).toBe(true);
|
|
37
|
+
/**
|
|
38
|
+
* NanoS
|
|
39
|
+
* */
|
|
40
|
+
expect(isDeviceLocalizationSupported("9.0.0", nanoS)).toBe(false);
|
|
41
|
+
expect(isDeviceLocalizationSupported("9.0.0-whatever", nanoS)).toBe(false);
|
|
42
|
+
/**
|
|
43
|
+
* Europa
|
|
44
|
+
* */
|
|
45
|
+
expect(isDeviceLocalizationSupported("0.0.0", europa)).toBe(true);
|
|
46
|
+
expect(isDeviceLocalizationSupported("0.0.0-whatever", europa)).toBe(true);
|
|
47
|
+
/**
|
|
48
|
+
* Apex
|
|
49
|
+
* */
|
|
50
|
+
expect(isDeviceLocalizationSupported("0.0.0", apex)).toBe(true);
|
|
51
|
+
expect(isDeviceLocalizationSupported("0.0.0-whatever", apex)).toBe(true);
|
|
52
|
+
});
|
|
53
|
+
//# sourceMappingURL=isDeviceLocalizationSupported.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isDeviceLocalizationSupported.test.js","sourceRoot":"","sources":["../../../src/commands/use-cases/isDeviceLocalizationSupported.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isHardwareVersionSupported.test.d.ts","sourceRoot":"","sources":["../../../src/commands/use-cases/isHardwareVersionSupported.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { DeviceModelId } from "@ledgerhq/devices";
|
|
2
|
+
import { isHardwareVersionSupported } from "./isHardwareVersionSupported";
|
|
3
|
+
const { nanoS, nanoSP, nanoX, stax } = DeviceModelId;
|
|
4
|
+
test("isHardwareVersionSupported", () => {
|
|
5
|
+
/**
|
|
6
|
+
* Nano S
|
|
7
|
+
* */
|
|
8
|
+
expect(isHardwareVersionSupported("2.0.0", nanoS)).toBe(false);
|
|
9
|
+
expect(isHardwareVersionSupported("2.0.0-whatever0", nanoS)).toBe(false);
|
|
10
|
+
/**
|
|
11
|
+
* Nano X
|
|
12
|
+
* */
|
|
13
|
+
expect(isHardwareVersionSupported("1.9.0", nanoX)).toBe(false);
|
|
14
|
+
expect(isHardwareVersionSupported("1.9.0-whatever0", nanoX)).toBe(false);
|
|
15
|
+
expect(isHardwareVersionSupported("2.0.0", nanoX)).toBe(true);
|
|
16
|
+
expect(isHardwareVersionSupported("2.0.0-rc1", nanoX)).toBe(true);
|
|
17
|
+
expect(isHardwareVersionSupported("2.0.1", nanoX)).toBe(true);
|
|
18
|
+
expect(isHardwareVersionSupported("2.0.1-whatever0", nanoX)).toBe(true);
|
|
19
|
+
expect(isHardwareVersionSupported("2.1.0", nanoX)).toBe(true);
|
|
20
|
+
expect(isHardwareVersionSupported("2.1.0-whatever0", nanoX)).toBe(true);
|
|
21
|
+
expect(isHardwareVersionSupported("3.0.0", nanoX)).toBe(true);
|
|
22
|
+
expect(isHardwareVersionSupported("3.0.0-whatever0", nanoX)).toBe(true);
|
|
23
|
+
/**
|
|
24
|
+
* Nano SP
|
|
25
|
+
* */
|
|
26
|
+
expect(isHardwareVersionSupported("2.0.0", nanoSP)).toBe(false);
|
|
27
|
+
expect(isHardwareVersionSupported("2.0.0-whatever0", nanoSP)).toBe(false);
|
|
28
|
+
/**
|
|
29
|
+
* Stax
|
|
30
|
+
* */
|
|
31
|
+
expect(isHardwareVersionSupported("2.0.0", stax)).toBe(false);
|
|
32
|
+
expect(isHardwareVersionSupported("2.0.0-whatever0", stax)).toBe(false);
|
|
33
|
+
});
|
|
34
|
+
//# sourceMappingURL=isHardwareVersionSupported.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isHardwareVersionSupported.test.js","sourceRoot":"","sources":["../../../src/commands/use-cases/isHardwareVersionSupported.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAE1E,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,aAAa,CAAC;AAErD,IAAI,CAAC,4BAA4B,EAAE,GAAG,EAAE;IACtC;;SAEK;IACL,MAAM,CAAC,0BAA0B,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/D,MAAM,CAAC,0BAA0B,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEzE;;SAEK;IACL,MAAM,CAAC,0BAA0B,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/D,MAAM,CAAC,0BAA0B,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEzE,MAAM,CAAC,0BAA0B,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9D,MAAM,CAAC,0BAA0B,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClE,MAAM,CAAC,0BAA0B,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9D,MAAM,CAAC,0BAA0B,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxE,MAAM,CAAC,0BAA0B,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9D,MAAM,CAAC,0BAA0B,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxE,MAAM,CAAC,0BAA0B,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9D,MAAM,CAAC,0BAA0B,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAExE;;SAEK;IACL,MAAM,CAAC,0BAA0B,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChE,MAAM,CAAC,0BAA0B,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAE1E;;SAEK;IACL,MAAM,CAAC,0BAA0B,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9D,MAAM,CAAC,0BAA0B,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC1E,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isRecoverSupported.test.d.ts","sourceRoot":"","sources":["../../../src/commands/use-cases/isRecoverSupported.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { DeviceModelId } from "@ledgerhq/devices";
|
|
2
|
+
import { isRecoverSupported } from "./isRecoverSupported";
|
|
3
|
+
const { nanoS, nanoX, stax, europa, nanoSP, apex } = DeviceModelId;
|
|
4
|
+
test("isRecoverSupported", () => {
|
|
5
|
+
/**
|
|
6
|
+
* Nano S
|
|
7
|
+
* */
|
|
8
|
+
expect(isRecoverSupported("2.0.0", nanoS)).toBe(false);
|
|
9
|
+
expect(isRecoverSupported("2.0.0-whatever0", nanoS)).toBe(false);
|
|
10
|
+
/**
|
|
11
|
+
* Nano SP
|
|
12
|
+
* */
|
|
13
|
+
expect(isRecoverSupported("2.0.0", nanoSP)).toBe(true);
|
|
14
|
+
expect(isRecoverSupported("2.0.0-whatever0", nanoSP)).toBe(true);
|
|
15
|
+
expect(isRecoverSupported("1.1.0", nanoSP)).toBe(true);
|
|
16
|
+
expect(isRecoverSupported("1.1.0-whatever0", nanoSP)).toBe(true);
|
|
17
|
+
expect(isRecoverSupported("1.0.0", nanoSP)).toBe(false);
|
|
18
|
+
expect(isRecoverSupported("1.0.0-whatever0", nanoSP)).toBe(false);
|
|
19
|
+
/**
|
|
20
|
+
* Nano X
|
|
21
|
+
* */
|
|
22
|
+
expect(isRecoverSupported("2.5.0", nanoX)).toBe(true);
|
|
23
|
+
expect(isRecoverSupported("2.5.0-whatever0", nanoX)).toBe(true);
|
|
24
|
+
expect(isRecoverSupported("2.1.0", nanoX)).toBe(true);
|
|
25
|
+
expect(isRecoverSupported("2.1.0-whatever0", nanoX)).toBe(true);
|
|
26
|
+
expect(isRecoverSupported("2.0.0", nanoX)).toBe(false);
|
|
27
|
+
expect(isRecoverSupported("2.0.0-whatever0", nanoX)).toBe(false);
|
|
28
|
+
expect(isRecoverSupported("1.9.0", nanoX)).toBe(false);
|
|
29
|
+
expect(isRecoverSupported("1.9.0-whatever0", nanoX)).toBe(false);
|
|
30
|
+
/**
|
|
31
|
+
* Stax
|
|
32
|
+
* */
|
|
33
|
+
expect(isRecoverSupported("1.9.0", stax)).toBe(true);
|
|
34
|
+
expect(isRecoverSupported("1.9.0-whatever0", stax)).toBe(true);
|
|
35
|
+
expect(isRecoverSupported("1.0.0", stax)).toBe(true);
|
|
36
|
+
expect(isRecoverSupported("1.0.0-whatever0", stax)).toBe(true);
|
|
37
|
+
expect(isRecoverSupported("0.0.0", stax)).toBe(false);
|
|
38
|
+
expect(isRecoverSupported("0.0.0-whatever0", stax)).toBe(false);
|
|
39
|
+
/**
|
|
40
|
+
* Europa
|
|
41
|
+
* */
|
|
42
|
+
expect(isRecoverSupported("0.0.0", europa)).toBe(true);
|
|
43
|
+
expect(isRecoverSupported("0.0.0-whatever0", europa)).toBe(true);
|
|
44
|
+
expect(isRecoverSupported("1.4.0", europa)).toBe(true);
|
|
45
|
+
expect(isRecoverSupported("1.4.0-whatever0", europa)).toBe(true);
|
|
46
|
+
/**
|
|
47
|
+
* Apex
|
|
48
|
+
* */
|
|
49
|
+
expect(isRecoverSupported("0.0.0", apex)).toBe(true);
|
|
50
|
+
expect(isRecoverSupported("0.0.0-whatever0", apex)).toBe(true);
|
|
51
|
+
});
|
|
52
|
+
//# sourceMappingURL=isRecoverSupported.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isRecoverSupported.test.js","sourceRoot":"","sources":["../../../src/commands/use-cases/isRecoverSupported.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parseGetDeviceNameResponse.test.d.ts","sourceRoot":"","sources":["../../../src/commands/use-cases/parseGetDeviceNameResponse.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { parseGetDeviceNameResponse } from "./parseGetDeviceNameResponse";
|
|
2
|
+
describe("getDeviceName", () => {
|
|
3
|
+
it("should return name if available", () => {
|
|
4
|
+
const responseBuffer = Buffer.from("50756572746f9000", "hex");
|
|
5
|
+
const result = parseGetDeviceNameResponse(responseBuffer);
|
|
6
|
+
expect(result).toMatch("Puerto"); // 🐾
|
|
7
|
+
});
|
|
8
|
+
it("should return empty name when the device is not onboarded", () => {
|
|
9
|
+
const responseBuffer = Buffer.from("bababababababa6d07", "hex");
|
|
10
|
+
const result = parseGetDeviceNameResponse(responseBuffer);
|
|
11
|
+
expect(result).toMatch("");
|
|
12
|
+
});
|
|
13
|
+
it("should return empty name when the device is not onboarded #2", () => {
|
|
14
|
+
const responseBuffer = Buffer.from("bababababababa6611", "hex");
|
|
15
|
+
const result = parseGetDeviceNameResponse(responseBuffer);
|
|
16
|
+
expect(result).toMatch("");
|
|
17
|
+
});
|
|
18
|
+
it("should throw for an unexpected bootloader or any other code", () => {
|
|
19
|
+
const responseBuffer = Buffer.from("662d", "hex");
|
|
20
|
+
expect(() => {
|
|
21
|
+
parseGetDeviceNameResponse(responseBuffer);
|
|
22
|
+
}).toThrow(Error);
|
|
23
|
+
});
|
|
24
|
+
});
|
|
25
|
+
//# sourceMappingURL=parseGetDeviceNameResponse.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parseGetDeviceNameResponse.test.js","sourceRoot":"","sources":["../../../src/commands/use-cases/parseGetDeviceNameResponse.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAE1E,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;QAE9D,MAAM,MAAM,GAAG,0BAA0B,CAAC,cAAc,CAAC,CAAC;QAE1D,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACnE,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;QAEhE,MAAM,MAAM,GAAG,0BAA0B,CAAC,cAAc,CAAC,CAAC;QAE1D,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8DAA8D,EAAE,GAAG,EAAE;QACtE,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;QAEhE,MAAM,MAAM,GAAG,0BAA0B,CAAC,cAAc,CAAC,CAAC;QAE1D,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;QACrE,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAElD,MAAM,CAAC,GAAG,EAAE;YACV,0BAA0B,CAAC,cAAc,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parseGetVersionResponse.test.d.ts","sourceRoot":"","sources":["../../../src/commands/use-cases/parseGetVersionResponse.test.ts"],"names":[],"mappings":""}
|