@ledgerhq/device-core 0.3.2-nightly.5 → 0.3.3-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/.turbo/turbo-build.log +1 -1
- package/CHANGELOG.md +24 -26
- package/lib/commands/use-cases/app-backup/backupAppStorage.js +1 -1
- package/lib/commands/use-cases/app-backup/backupAppStorage.js.map +1 -1
- package/lib/commands/use-cases/app-backup/backupAppStorage.test.js +1 -1
- package/lib/commands/use-cases/app-backup/backupAppStorage.test.js.map +1 -1
- package/lib/commands/use-cases/app-backup/getAppStorageInfo.d.ts.map +1 -1
- package/lib/commands/use-cases/app-backup/getAppStorageInfo.js +6 -6
- package/lib/commands/use-cases/app-backup/getAppStorageInfo.js.map +1 -1
- package/lib/commands/use-cases/app-backup/getAppStorageInfo.test.js +14 -6
- package/lib/commands/use-cases/app-backup/getAppStorageInfo.test.js.map +1 -1
- package/lib/commands/use-cases/app-backup/restoreAppStorage.d.ts.map +1 -1
- package/lib/commands/use-cases/app-backup/restoreAppStorage.js +1 -2
- package/lib/commands/use-cases/app-backup/restoreAppStorage.js.map +1 -1
- package/lib/commands/use-cases/app-backup/restoreAppStorage.test.js +18 -12
- package/lib/commands/use-cases/app-backup/restoreAppStorage.test.js.map +1 -1
- package/lib/commands/use-cases/app-backup/restoreAppStorageCommit.js +1 -1
- package/lib/commands/use-cases/app-backup/restoreAppStorageCommit.js.map +1 -1
- package/lib/commands/use-cases/app-backup/restoreAppStorageCommit.test.js +1 -1
- package/lib/commands/use-cases/app-backup/restoreAppStorageCommit.test.js.map +1 -1
- package/lib/commands/use-cases/app-backup/restoreAppStorageInit.d.ts.map +1 -1
- package/lib/commands/use-cases/app-backup/restoreAppStorageInit.js +2 -2
- package/lib/commands/use-cases/app-backup/restoreAppStorageInit.js.map +1 -1
- package/lib/commands/use-cases/app-backup/restoreAppStorageInit.test.js +20 -8
- package/lib/commands/use-cases/app-backup/restoreAppStorageInit.test.js.map +1 -1
- package/lib/errors.d.ts +3 -0
- package/lib/errors.d.ts.map +1 -1
- package/lib/errors.js +3 -1
- package/lib/errors.js.map +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +2 -0
- package/lib/index.js.map +1 -1
- package/lib/managerApi/repositories/HttpManagerApiRepository.d.ts.map +1 -1
- package/lib/managerApi/repositories/HttpManagerApiRepository.js +15 -23
- package/lib/managerApi/repositories/HttpManagerApiRepository.js.map +1 -1
- package/lib/managerApi/repositories/HttpManagerApiRepository.test.js +24 -27
- package/lib/managerApi/repositories/HttpManagerApiRepository.test.js.map +1 -1
- package/lib-es/commands/use-cases/app-backup/backupAppStorage.js +1 -1
- package/lib-es/commands/use-cases/app-backup/backupAppStorage.js.map +1 -1
- package/lib-es/commands/use-cases/app-backup/backupAppStorage.test.js +1 -1
- package/lib-es/commands/use-cases/app-backup/backupAppStorage.test.js.map +1 -1
- package/lib-es/commands/use-cases/app-backup/getAppStorageInfo.d.ts.map +1 -1
- package/lib-es/commands/use-cases/app-backup/getAppStorageInfo.js +6 -6
- package/lib-es/commands/use-cases/app-backup/getAppStorageInfo.js.map +1 -1
- package/lib-es/commands/use-cases/app-backup/getAppStorageInfo.test.js +14 -6
- package/lib-es/commands/use-cases/app-backup/getAppStorageInfo.test.js.map +1 -1
- package/lib-es/commands/use-cases/app-backup/restoreAppStorage.d.ts.map +1 -1
- package/lib-es/commands/use-cases/app-backup/restoreAppStorage.js +1 -2
- package/lib-es/commands/use-cases/app-backup/restoreAppStorage.js.map +1 -1
- package/lib-es/commands/use-cases/app-backup/restoreAppStorage.test.js +18 -12
- package/lib-es/commands/use-cases/app-backup/restoreAppStorage.test.js.map +1 -1
- package/lib-es/commands/use-cases/app-backup/restoreAppStorageCommit.js +1 -1
- package/lib-es/commands/use-cases/app-backup/restoreAppStorageCommit.js.map +1 -1
- package/lib-es/commands/use-cases/app-backup/restoreAppStorageCommit.test.js +1 -1
- package/lib-es/commands/use-cases/app-backup/restoreAppStorageCommit.test.js.map +1 -1
- package/lib-es/commands/use-cases/app-backup/restoreAppStorageInit.d.ts.map +1 -1
- package/lib-es/commands/use-cases/app-backup/restoreAppStorageInit.js +3 -3
- package/lib-es/commands/use-cases/app-backup/restoreAppStorageInit.js.map +1 -1
- package/lib-es/commands/use-cases/app-backup/restoreAppStorageInit.test.js +20 -8
- package/lib-es/commands/use-cases/app-backup/restoreAppStorageInit.test.js.map +1 -1
- package/lib-es/errors.d.ts +3 -0
- package/lib-es/errors.d.ts.map +1 -1
- package/lib-es/errors.js +2 -0
- package/lib-es/errors.js.map +1 -1
- package/lib-es/index.d.ts +1 -0
- package/lib-es/index.d.ts.map +1 -1
- package/lib-es/index.js +2 -0
- package/lib-es/index.js.map +1 -1
- package/lib-es/managerApi/repositories/HttpManagerApiRepository.d.ts.map +1 -1
- package/lib-es/managerApi/repositories/HttpManagerApiRepository.js +15 -23
- package/lib-es/managerApi/repositories/HttpManagerApiRepository.js.map +1 -1
- package/lib-es/managerApi/repositories/HttpManagerApiRepository.test.js +24 -27
- package/lib-es/managerApi/repositories/HttpManagerApiRepository.test.js.map +1 -1
- package/package.json +6 -6
- package/src/commands/use-cases/app-backup/backupAppStorage.test.ts +1 -1
- package/src/commands/use-cases/app-backup/backupAppStorage.ts +1 -1
- package/src/commands/use-cases/app-backup/getAppStorageInfo.test.ts +14 -6
- package/src/commands/use-cases/app-backup/getAppStorageInfo.ts +9 -6
- package/src/commands/use-cases/app-backup/restoreAppStorage.test.ts +6 -6
- package/src/commands/use-cases/app-backup/restoreAppStorage.ts +1 -2
- package/src/commands/use-cases/app-backup/restoreAppStorageCommit.test.ts +1 -1
- package/src/commands/use-cases/app-backup/restoreAppStorageCommit.ts +1 -1
- package/src/commands/use-cases/app-backup/restoreAppStorageInit.test.ts +11 -3
- package/src/commands/use-cases/app-backup/restoreAppStorageInit.ts +9 -3
- package/src/errors.ts +2 -0
- package/src/index.ts +2 -0
- package/src/managerApi/repositories/HttpManagerApiRepository.test.ts +28 -27
- package/src/managerApi/repositories/HttpManagerApiRepository.ts +15 -23
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
import Transport, { StatusCodes, TransportStatusError } from "@ledgerhq/hw-transport";
|
|
2
2
|
import { LocalTracer } from "@ledgerhq/logs";
|
|
3
3
|
import type { APDU } from "../../entities/APDU";
|
|
4
|
-
import {
|
|
4
|
+
import {
|
|
5
|
+
AppNotFound,
|
|
6
|
+
InvalidAppNameLength,
|
|
7
|
+
InvalidBackupLength,
|
|
8
|
+
PinNotSet,
|
|
9
|
+
UserRefusedOnDevice,
|
|
10
|
+
} from "../../../errors";
|
|
5
11
|
|
|
6
12
|
/**
|
|
7
13
|
* Name in documentation: INS_APP_STORAGE_RESTORE_INIT
|
|
@@ -58,7 +64,6 @@ export async function restoreAppStorageInit(
|
|
|
58
64
|
tracer.trace("Start");
|
|
59
65
|
|
|
60
66
|
const params: Buffer = Buffer.concat([
|
|
61
|
-
Buffer.from([appName.length + 4]), // LC
|
|
62
67
|
Buffer.from(backupSize.toString(16).padStart(8, "0"), "hex"), // BACKUP_LEN
|
|
63
68
|
Buffer.from(appName, "ascii"), // APP_NAME
|
|
64
69
|
]);
|
|
@@ -82,8 +87,9 @@ export function parseResponse(data: Buffer): void {
|
|
|
82
87
|
case StatusCodes.APP_NOT_FOUND_OR_INVALID_CONTEXT:
|
|
83
88
|
throw new AppNotFound("Application not found.");
|
|
84
89
|
case StatusCodes.DEVICE_IN_RECOVERY_MODE:
|
|
85
|
-
case StatusCodes.USER_REFUSED_ON_DEVICE:
|
|
86
90
|
break;
|
|
91
|
+
case StatusCodes.USER_REFUSED_ON_DEVICE:
|
|
92
|
+
throw new UserRefusedOnDevice("User refused on device.");
|
|
87
93
|
case StatusCodes.PIN_NOT_SET:
|
|
88
94
|
throw new PinNotSet("Invalid consent, PIN is not set.");
|
|
89
95
|
case StatusCodes.INVALID_APP_NAME_LENGTH:
|
package/src/errors.ts
CHANGED
|
@@ -27,3 +27,5 @@ export const InvalidBackupState = createCustomErrorClass("InvalidBackupState");
|
|
|
27
27
|
export const InvalidRestoreState = createCustomErrorClass("InvalidRestoreState");
|
|
28
28
|
// 0x6734
|
|
29
29
|
export const InvalidChunkLength = createCustomErrorClass("InvalidChunkLength");
|
|
30
|
+
// 0x5501
|
|
31
|
+
export const UserRefusedOnDevice = createCustomErrorClass("UserRefusedOnDevice");
|
package/src/index.ts
CHANGED
|
@@ -40,3 +40,5 @@ export { supportedDeviceModelIds } from "./capabilities/isCustomLockScreenSuppor
|
|
|
40
40
|
export * from "./customLockScreen/screenSpecs";
|
|
41
41
|
// src/firmwareUpdate/
|
|
42
42
|
export { shouldForceFirmwareUpdate } from "./firmwareUpdate/shouldForceFirmwareUpdate";
|
|
43
|
+
// errors
|
|
44
|
+
export * from "./errors";
|
|
@@ -43,13 +43,14 @@ describe("HttpManagerApiRepository", () => {
|
|
|
43
43
|
});
|
|
44
44
|
|
|
45
45
|
expect(networkSpy).toHaveBeenCalledWith({
|
|
46
|
-
method: "
|
|
47
|
-
url:
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
46
|
+
method: "GET",
|
|
47
|
+
url:
|
|
48
|
+
"http://managerApiBase.com/get_latest_firmware" +
|
|
49
|
+
"?livecommonversion=1.2.3" +
|
|
50
|
+
"&salt=mockedFirmwareSalt" +
|
|
51
|
+
"¤t_se_firmware_final_version=888" +
|
|
52
|
+
"&device_version=123" +
|
|
53
|
+
"&provider=12",
|
|
53
54
|
});
|
|
54
55
|
});
|
|
55
56
|
|
|
@@ -128,12 +129,12 @@ describe("HttpManagerApiRepository", () => {
|
|
|
128
129
|
});
|
|
129
130
|
|
|
130
131
|
expect(networkSpy).toHaveBeenCalledWith({
|
|
131
|
-
method: "
|
|
132
|
-
url:
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
provider
|
|
136
|
-
|
|
132
|
+
method: "GET",
|
|
133
|
+
url:
|
|
134
|
+
"http://managerApiBase.com/get_device_version" +
|
|
135
|
+
"?livecommonversion=1.2.3" +
|
|
136
|
+
"&provider=12" +
|
|
137
|
+
"&target_id=123",
|
|
137
138
|
});
|
|
138
139
|
});
|
|
139
140
|
|
|
@@ -190,13 +191,13 @@ describe("HttpManagerApiRepository", () => {
|
|
|
190
191
|
});
|
|
191
192
|
|
|
192
193
|
expect(networkSpy).toHaveBeenCalledWith({
|
|
193
|
-
method: "
|
|
194
|
-
url:
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
version_name
|
|
199
|
-
|
|
194
|
+
method: "GET",
|
|
195
|
+
url:
|
|
196
|
+
"http://managerApiBase.com/get_osu_version" +
|
|
197
|
+
"?livecommonversion=1.2.3" +
|
|
198
|
+
"&device_version=123" +
|
|
199
|
+
"&version_name=mockedVersion-osu" +
|
|
200
|
+
"&provider=12",
|
|
200
201
|
});
|
|
201
202
|
});
|
|
202
203
|
|
|
@@ -226,13 +227,13 @@ describe("HttpManagerApiRepository", () => {
|
|
|
226
227
|
});
|
|
227
228
|
|
|
228
229
|
expect(networkSpy).toHaveBeenCalledWith({
|
|
229
|
-
method: "
|
|
230
|
-
url:
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
version_name
|
|
235
|
-
|
|
230
|
+
method: "GET",
|
|
231
|
+
url:
|
|
232
|
+
"http://managerApiBase.com/get_firmware_version" +
|
|
233
|
+
"?livecommonversion=1.2.3" +
|
|
234
|
+
"&device_version=123" +
|
|
235
|
+
"&version_name=mockedVersion" +
|
|
236
|
+
"&provider=12",
|
|
236
237
|
});
|
|
237
238
|
});
|
|
238
239
|
|
|
@@ -37,19 +37,17 @@ export class HttpManagerApiRepository implements ManagerApiRepository {
|
|
|
37
37
|
se_firmware_osu_version: OsuFirmware;
|
|
38
38
|
};
|
|
39
39
|
} = await network({
|
|
40
|
-
method: "
|
|
40
|
+
method: "GET",
|
|
41
41
|
url: URL.format({
|
|
42
42
|
pathname: `${this.managerApiBase}/get_latest_firmware`,
|
|
43
43
|
query: {
|
|
44
44
|
livecommonversion: this.liveCommonVersion,
|
|
45
45
|
salt,
|
|
46
|
+
current_se_firmware_final_version,
|
|
47
|
+
device_version,
|
|
48
|
+
provider: providerId,
|
|
46
49
|
},
|
|
47
50
|
}),
|
|
48
|
-
data: {
|
|
49
|
-
current_se_firmware_final_version,
|
|
50
|
-
device_version,
|
|
51
|
-
provider: providerId,
|
|
52
|
-
},
|
|
53
51
|
});
|
|
54
52
|
|
|
55
53
|
if (data.result === "null") {
|
|
@@ -84,17 +82,15 @@ export class HttpManagerApiRepository implements ManagerApiRepository {
|
|
|
84
82
|
}: {
|
|
85
83
|
data: DeviceVersionEntity;
|
|
86
84
|
} = await network({
|
|
87
|
-
method: "
|
|
85
|
+
method: "GET",
|
|
88
86
|
url: URL.format({
|
|
89
87
|
pathname: `${this.managerApiBase}/get_device_version`,
|
|
90
88
|
query: {
|
|
91
89
|
livecommonversion: this.liveCommonVersion,
|
|
90
|
+
provider: providerId,
|
|
91
|
+
target_id: targetId,
|
|
92
92
|
},
|
|
93
93
|
}),
|
|
94
|
-
data: {
|
|
95
|
-
provider: providerId,
|
|
96
|
-
target_id: targetId,
|
|
97
|
-
},
|
|
98
94
|
}).catch(error => {
|
|
99
95
|
const status = error?.status || error?.response?.status;
|
|
100
96
|
|
|
@@ -113,18 +109,16 @@ export class HttpManagerApiRepository implements ManagerApiRepository {
|
|
|
113
109
|
readonly getCurrentOSU: ManagerApiRepository["getCurrentOSU"] = makeLRUCache(
|
|
114
110
|
async input => {
|
|
115
111
|
const { data } = await network({
|
|
116
|
-
method: "
|
|
112
|
+
method: "GET",
|
|
117
113
|
url: URL.format({
|
|
118
114
|
pathname: `${this.managerApiBase}/get_osu_version`,
|
|
119
115
|
query: {
|
|
120
116
|
livecommonversion: this.liveCommonVersion,
|
|
117
|
+
device_version: input.deviceId,
|
|
118
|
+
version_name: `${input.version}-osu`,
|
|
119
|
+
provider: input.providerId,
|
|
121
120
|
},
|
|
122
121
|
}),
|
|
123
|
-
data: {
|
|
124
|
-
device_version: input.deviceId,
|
|
125
|
-
version_name: `${input.version}-osu`,
|
|
126
|
-
provider: input.providerId,
|
|
127
|
-
},
|
|
128
122
|
});
|
|
129
123
|
return data;
|
|
130
124
|
},
|
|
@@ -138,18 +132,16 @@ export class HttpManagerApiRepository implements ManagerApiRepository {
|
|
|
138
132
|
}: {
|
|
139
133
|
data: FinalFirmware;
|
|
140
134
|
} = await network({
|
|
141
|
-
method: "
|
|
135
|
+
method: "GET",
|
|
142
136
|
url: URL.format({
|
|
143
137
|
pathname: `${this.managerApiBase}/get_firmware_version`,
|
|
144
138
|
query: {
|
|
145
139
|
livecommonversion: this.liveCommonVersion,
|
|
140
|
+
device_version: input.deviceId,
|
|
141
|
+
version_name: input.version,
|
|
142
|
+
provider: input.providerId,
|
|
146
143
|
},
|
|
147
144
|
}),
|
|
148
|
-
data: {
|
|
149
|
-
device_version: input.deviceId,
|
|
150
|
-
version_name: input.version,
|
|
151
|
-
provider: input.providerId,
|
|
152
|
-
},
|
|
153
145
|
}).catch(error => {
|
|
154
146
|
const status = error?.status || error?.response?.status;
|
|
155
147
|
|