@ledgerhq/device-core 0.2.1-next.1 → 0.3.0-nightly.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/.turbo/turbo-build.log +1 -1
- package/CHANGELOG.md +9 -9
- package/lib/commands/entities/AppStorageInfo.d.ts +8 -0
- package/lib/commands/entities/AppStorageInfo.d.ts.map +1 -0
- package/lib/commands/entities/AppStorageInfo.js +3 -0
- package/lib/commands/entities/AppStorageInfo.js.map +1 -0
- package/lib/commands/use-cases/app-backup/backupAppStorage.d.ts +18 -0
- package/lib/commands/use-cases/app-backup/backupAppStorage.d.ts.map +1 -0
- package/lib/commands/use-cases/app-backup/backupAppStorage.js +98 -0
- package/lib/commands/use-cases/app-backup/backupAppStorage.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 +56 -0
- package/lib/commands/use-cases/app-backup/backupAppStorage.test.js.map +1 -0
- package/lib/commands/use-cases/app-backup/getAppStorageInfo.d.ts +20 -0
- package/lib/commands/use-cases/app-backup/getAppStorageInfo.d.ts.map +1 -0
- package/lib/commands/use-cases/app-backup/getAppStorageInfo.js +104 -0
- package/lib/commands/use-cases/app-backup/getAppStorageInfo.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 +59 -0
- package/lib/commands/use-cases/app-backup/getAppStorageInfo.test.js.map +1 -0
- package/lib/commands/use-cases/app-backup/restoreAppStorage.d.ts +12 -0
- package/lib/commands/use-cases/app-backup/restoreAppStorage.d.ts.map +1 -0
- package/lib/commands/use-cases/app-backup/restoreAppStorage.js +93 -0
- package/lib/commands/use-cases/app-backup/restoreAppStorage.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 +54 -0
- package/lib/commands/use-cases/app-backup/restoreAppStorage.test.js.map +1 -0
- package/lib/commands/use-cases/app-backup/restoreAppStorageCommit.d.ts +11 -0
- package/lib/commands/use-cases/app-backup/restoreAppStorageCommit.d.ts.map +1 -0
- package/lib/commands/use-cases/app-backup/restoreAppStorageCommit.js +83 -0
- package/lib/commands/use-cases/app-backup/restoreAppStorageCommit.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 +49 -0
- package/lib/commands/use-cases/app-backup/restoreAppStorageCommit.test.js.map +1 -0
- package/lib/commands/use-cases/app-backup/restoreAppStorageInit.d.ts +13 -0
- package/lib/commands/use-cases/app-backup/restoreAppStorageInit.d.ts.map +1 -0
- package/lib/commands/use-cases/app-backup/restoreAppStorageInit.js +99 -0
- package/lib/commands/use-cases/app-backup/restoreAppStorageInit.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 +52 -0
- package/lib/commands/use-cases/app-backup/restoreAppStorageInit.test.js.map +1 -0
- package/lib/commands/use-cases/getDeviceName.d.ts.map +1 -1
- package/lib/commands/use-cases/getDeviceName.js +15 -0
- package/lib/commands/use-cases/getDeviceName.js.map +1 -1
- package/lib/errors.d.ts +40 -0
- package/lib/errors.d.ts.map +1 -0
- package/lib/errors.js +30 -0
- package/lib/errors.js.map +1 -0
- package/lib/index.d.ts +6 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +11 -1
- package/lib/index.js.map +1 -1
- package/lib-es/commands/entities/AppStorageInfo.d.ts +8 -0
- package/lib-es/commands/entities/AppStorageInfo.d.ts.map +1 -0
- package/lib-es/commands/entities/AppStorageInfo.js +2 -0
- package/lib-es/commands/entities/AppStorageInfo.js.map +1 -0
- package/lib-es/commands/use-cases/app-backup/backupAppStorage.d.ts +18 -0
- package/lib-es/commands/use-cases/app-backup/backupAppStorage.d.ts.map +1 -0
- package/lib-es/commands/use-cases/app-backup/backupAppStorage.js +93 -0
- package/lib-es/commands/use-cases/app-backup/backupAppStorage.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 +54 -0
- package/lib-es/commands/use-cases/app-backup/backupAppStorage.test.js.map +1 -0
- package/lib-es/commands/use-cases/app-backup/getAppStorageInfo.d.ts +20 -0
- package/lib-es/commands/use-cases/app-backup/getAppStorageInfo.d.ts.map +1 -0
- package/lib-es/commands/use-cases/app-backup/getAppStorageInfo.js +99 -0
- package/lib-es/commands/use-cases/app-backup/getAppStorageInfo.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 +57 -0
- package/lib-es/commands/use-cases/app-backup/getAppStorageInfo.test.js.map +1 -0
- package/lib-es/commands/use-cases/app-backup/restoreAppStorage.d.ts +12 -0
- package/lib-es/commands/use-cases/app-backup/restoreAppStorage.d.ts.map +1 -0
- package/lib-es/commands/use-cases/app-backup/restoreAppStorage.js +88 -0
- package/lib-es/commands/use-cases/app-backup/restoreAppStorage.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 +52 -0
- package/lib-es/commands/use-cases/app-backup/restoreAppStorage.test.js.map +1 -0
- package/lib-es/commands/use-cases/app-backup/restoreAppStorageCommit.d.ts +11 -0
- package/lib-es/commands/use-cases/app-backup/restoreAppStorageCommit.d.ts.map +1 -0
- package/lib-es/commands/use-cases/app-backup/restoreAppStorageCommit.js +78 -0
- package/lib-es/commands/use-cases/app-backup/restoreAppStorageCommit.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 +47 -0
- package/lib-es/commands/use-cases/app-backup/restoreAppStorageCommit.test.js.map +1 -0
- package/lib-es/commands/use-cases/app-backup/restoreAppStorageInit.d.ts +13 -0
- package/lib-es/commands/use-cases/app-backup/restoreAppStorageInit.d.ts.map +1 -0
- package/lib-es/commands/use-cases/app-backup/restoreAppStorageInit.js +94 -0
- package/lib-es/commands/use-cases/app-backup/restoreAppStorageInit.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 +50 -0
- package/lib-es/commands/use-cases/app-backup/restoreAppStorageInit.test.js.map +1 -0
- package/lib-es/commands/use-cases/getDeviceName.d.ts.map +1 -1
- package/lib-es/commands/use-cases/getDeviceName.js +15 -0
- package/lib-es/commands/use-cases/getDeviceName.js.map +1 -1
- package/lib-es/errors.d.ts +40 -0
- package/lib-es/errors.d.ts.map +1 -0
- package/lib-es/errors.js +27 -0
- package/lib-es/errors.js.map +1 -0
- package/lib-es/index.d.ts +6 -0
- package/lib-es/index.d.ts.map +1 -1
- package/lib-es/index.js +5 -0
- package/lib-es/index.js.map +1 -1
- package/package.json +6 -6
- package/src/commands/entities/AppStorageInfo.ts +7 -0
- package/src/commands/use-cases/app-backup/backupAppStorage.test.ts +52 -0
- package/src/commands/use-cases/app-backup/backupAppStorage.ts +97 -0
- package/src/commands/use-cases/app-backup/getAppStorageInfo.test.ts +63 -0
- package/src/commands/use-cases/app-backup/getAppStorageInfo.ts +102 -0
- package/src/commands/use-cases/app-backup/restoreAppStorage.test.ts +57 -0
- package/src/commands/use-cases/app-backup/restoreAppStorage.ts +93 -0
- package/src/commands/use-cases/app-backup/restoreAppStorageCommit.test.ts +45 -0
- package/src/commands/use-cases/app-backup/restoreAppStorageCommit.ts +82 -0
- package/src/commands/use-cases/app-backup/restoreAppStorageInit.test.ts +55 -0
- package/src/commands/use-cases/app-backup/restoreAppStorageInit.ts +96 -0
- package/src/commands/use-cases/getDeviceName.ts +16 -0
- package/src/errors.ts +29 -0
- package/src/index.ts +6 -0
|
@@ -3,6 +3,14 @@ import { LocalTracer } from "@ledgerhq/logs";
|
|
|
3
3
|
import { APDU } from "../entities/APDU";
|
|
4
4
|
import { parseGetDeviceNameResponse } from "./parseGetDeviceNameResponse";
|
|
5
5
|
|
|
6
|
+
/**
|
|
7
|
+
* A first APDU that we send because getDeviceName sometimes misbehaves on LNX
|
|
8
|
+
* if it's not sent.
|
|
9
|
+
* cf. https://github.com/LedgerHQ/ledger-live/pull/2250 where it was removed
|
|
10
|
+
* cf. https://github.com/LedgerHQ/ledger-live/pull/2401 where it was added back
|
|
11
|
+
*/
|
|
12
|
+
const CLEANING_APDU: APDU = [0xe0, 0x50, 0x00, 0x00, undefined];
|
|
13
|
+
|
|
6
14
|
const GET_DEVICE_NAME_APDU: APDU = [0xe0, 0xd2, 0x00, 0x00, Buffer.from([])];
|
|
7
15
|
|
|
8
16
|
export async function getDeviceName(transport: Transport): Promise<string> {
|
|
@@ -12,6 +20,14 @@ export async function getDeviceName(transport: Transport): Promise<string> {
|
|
|
12
20
|
});
|
|
13
21
|
tracer.trace("Start");
|
|
14
22
|
|
|
23
|
+
try {
|
|
24
|
+
// Legacy: prevents bad apdu response for LNX
|
|
25
|
+
await transport.send(...CLEANING_APDU);
|
|
26
|
+
} catch (error) {
|
|
27
|
+
tracer.trace(`Error on 0xe0500000: ${error}`, { error });
|
|
28
|
+
}
|
|
29
|
+
tracer.trace("Sent cleaning 0xe0500000");
|
|
30
|
+
|
|
15
31
|
const res = await transport.send(...GET_DEVICE_NAME_APDU, [
|
|
16
32
|
StatusCodes.OK,
|
|
17
33
|
StatusCodes.DEVICE_NOT_ONBOARDED,
|
package/src/errors.ts
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { createCustomErrorClass } from "@ledgerhq/errors";
|
|
2
|
+
|
|
3
|
+
// 0x5123
|
|
4
|
+
export const AppNotFound = createCustomErrorClass("AppNotFound");
|
|
5
|
+
export const InvalidContext = createCustomErrorClass("InvalidContext");
|
|
6
|
+
// 0x670a
|
|
7
|
+
export const InvalidAppNameLength = createCustomErrorClass("InvalidAppNameLength");
|
|
8
|
+
// 0x5419
|
|
9
|
+
export const GenerateAesKeyFailed = createCustomErrorClass("GenerateAesKeyFailed");
|
|
10
|
+
// 0x541a
|
|
11
|
+
export const InternalCryptoOperationFailed = createCustomErrorClass(
|
|
12
|
+
"InternalCryptoOperationFailed",
|
|
13
|
+
);
|
|
14
|
+
// 0x541b
|
|
15
|
+
export const InternalComputeAesCmacFailed = createCustomErrorClass("InternalComputeAesCmacFailed");
|
|
16
|
+
// 0x541c
|
|
17
|
+
export const EncryptAppStorageFailed = createCustomErrorClass("EncryptAppStorageFailed");
|
|
18
|
+
// 0x5502
|
|
19
|
+
export const PinNotSet = createCustomErrorClass("PinNotSet");
|
|
20
|
+
// 0x684a
|
|
21
|
+
export const InvalidBackupHeader = createCustomErrorClass("InvalidBackupHeader");
|
|
22
|
+
// 0x6733
|
|
23
|
+
export const InvalidBackupLength = createCustomErrorClass("InvalidBackupLength");
|
|
24
|
+
// 0x6642
|
|
25
|
+
export const InvalidBackupState = createCustomErrorClass("InvalidBackupState");
|
|
26
|
+
// 0x6643
|
|
27
|
+
export const InvalidRestoreState = createCustomErrorClass("InvalidRestoreState");
|
|
28
|
+
// 0x6734
|
|
29
|
+
export const InvalidChunkLength = createCustomErrorClass("InvalidChunkLength");
|
package/src/index.ts
CHANGED
|
@@ -22,6 +22,12 @@ export { getDeviceName } from "./commands/use-cases/getDeviceName";
|
|
|
22
22
|
export { isHardwareVersionSupported } from "./commands/use-cases/isHardwareVersionSupported";
|
|
23
23
|
export { isBootloaderVersionSupported } from "./commands/use-cases/isBootloaderVersionSupported";
|
|
24
24
|
export { getVersion } from "./commands/use-cases/getVersion";
|
|
25
|
+
export type { AppStorageInfo } from "./commands/entities/AppStorageInfo";
|
|
26
|
+
export { backupAppStorage } from "./commands/use-cases/app-backup/backupAppStorage";
|
|
27
|
+
export { getAppStorageInfo } from "./commands/use-cases/app-backup/getAppStorageInfo";
|
|
28
|
+
export { restoreAppStorage } from "./commands/use-cases/app-backup/restoreAppStorage";
|
|
29
|
+
export { restoreAppStorageCommit } from "./commands/use-cases/app-backup/restoreAppStorageCommit";
|
|
30
|
+
export { restoreAppStorageInit } from "./commands/use-cases/app-backup/restoreAppStorageInit";
|
|
25
31
|
// src/capabilities/
|
|
26
32
|
export {
|
|
27
33
|
type CLSSupportedDeviceModelId,
|