@onekeyfe/hd-core 1.2.0-alpha.68 → 1.2.0-alpha.69

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.
Files changed (121) hide show
  1. package/__tests__/check-all-firmware-release-protocol-v2.test.ts +28 -0
  2. package/__tests__/connectSettings.test.ts +5 -47
  3. package/__tests__/firmware-update/firmware-update-v2-download-before-boot.test.ts +31 -59
  4. package/__tests__/protocol-v2-firmware-targets.test.ts +33 -1
  5. package/__tests__/protocol-v2-resources.test.ts +9 -6
  6. package/__tests__/protocol-v2.test.ts +174 -383
  7. package/__tests__/protocolV2FileWrite.test.ts +48 -7
  8. package/dist/api/CheckAllFirmwareRelease.d.ts +2 -1
  9. package/dist/api/CheckAllFirmwareRelease.d.ts.map +1 -1
  10. package/dist/api/FirmwareUpdate.d.ts.map +1 -1
  11. package/dist/api/FirmwareUpdateV2.d.ts +0 -10
  12. package/dist/api/FirmwareUpdateV2.d.ts.map +1 -1
  13. package/dist/api/FirmwareUpdateV3.d.ts +3 -7
  14. package/dist/api/FirmwareUpdateV3.d.ts.map +1 -1
  15. package/dist/api/FirmwareUpdateV4.d.ts +6 -25
  16. package/dist/api/FirmwareUpdateV4.d.ts.map +1 -1
  17. package/dist/api/device/DeviceUpdateBootloader.d.ts +1 -5
  18. package/dist/api/device/DeviceUpdateBootloader.d.ts.map +1 -1
  19. package/dist/api/firmware/FirmwareUpdateBaseMethod.d.ts +0 -8
  20. package/dist/api/firmware/FirmwareUpdateBaseMethod.d.ts.map +1 -1
  21. package/dist/api/firmware/getBinary.d.ts +0 -7
  22. package/dist/api/firmware/getBinary.d.ts.map +1 -1
  23. package/dist/api/firmware/updateBootloader.d.ts +0 -2
  24. package/dist/api/firmware/updateBootloader.d.ts.map +1 -1
  25. package/dist/api/firmware/uploadFirmware.d.ts +1 -9
  26. package/dist/api/firmware/uploadFirmware.d.ts.map +1 -1
  27. package/dist/api/helpers/protocolV2FileWrite.d.ts.map +1 -1
  28. package/dist/api/stellar/StellarSignTransaction.d.ts +1 -1
  29. package/dist/data-manager/DataManager.d.ts +0 -1
  30. package/dist/data-manager/DataManager.d.ts.map +1 -1
  31. package/dist/data-manager/connectSettings.d.ts.map +1 -1
  32. package/dist/device/Device.d.ts +0 -1
  33. package/dist/device/Device.d.ts.map +1 -1
  34. package/dist/index.d.ts +2 -180
  35. package/dist/index.d.ts.map +1 -1
  36. package/dist/index.js +1041 -3037
  37. package/dist/inject.d.ts.map +1 -1
  38. package/dist/lowLevelInject.d.ts.map +1 -1
  39. package/dist/protocols/protocol-v2/resources.d.ts +1 -1
  40. package/dist/protocols/protocol-v2/resources.d.ts.map +1 -1
  41. package/dist/topLevelInject.d.ts.map +1 -1
  42. package/dist/types/api/checkAllFirmwareRelease.d.ts +0 -4
  43. package/dist/types/api/checkAllFirmwareRelease.d.ts.map +1 -1
  44. package/dist/types/api/deviceUpdateBootloader.d.ts +0 -6
  45. package/dist/types/api/deviceUpdateBootloader.d.ts.map +1 -1
  46. package/dist/types/api/export.d.ts +1 -4
  47. package/dist/types/api/export.d.ts.map +1 -1
  48. package/dist/types/api/firmwareUpdate.d.ts +0 -68
  49. package/dist/types/api/firmwareUpdate.d.ts.map +1 -1
  50. package/dist/types/api/index.d.ts +1 -9
  51. package/dist/types/api/index.d.ts.map +1 -1
  52. package/dist/types/settings.d.ts +1 -14
  53. package/dist/types/settings.d.ts.map +1 -1
  54. package/dist/utils/deviceFeaturesCompat.d.ts +0 -1
  55. package/dist/utils/deviceFeaturesCompat.d.ts.map +1 -1
  56. package/package.json +4 -4
  57. package/src/api/CheckAllFirmwareRelease.ts +25 -61
  58. package/src/api/FirmwareUpdate.ts +1 -13
  59. package/src/api/FirmwareUpdateV2.ts +121 -296
  60. package/src/api/FirmwareUpdateV3.ts +57 -263
  61. package/src/api/FirmwareUpdateV4.ts +287 -865
  62. package/src/api/device/DeviceUpdateBootloader.ts +6 -125
  63. package/src/api/firmware/FirmwareUpdateBaseMethod.ts +1 -72
  64. package/src/api/firmware/updateBootloader.ts +4 -19
  65. package/src/api/firmware/uploadFirmware.ts +22 -140
  66. package/src/api/helpers/protocolV2FileWrite.ts +54 -4
  67. package/src/data-manager/DataManager.ts +54 -59
  68. package/src/data-manager/connectSettings.ts +0 -11
  69. package/src/device/Device.ts +1 -6
  70. package/src/index.ts +0 -5
  71. package/src/inject.ts +2 -22
  72. package/src/lowLevelInject.ts +1 -5
  73. package/src/protocols/protocol-v2/resources.ts +5 -1
  74. package/src/topLevelInject.ts +1 -5
  75. package/src/types/api/checkAllFirmwareRelease.ts +0 -4
  76. package/src/types/api/deviceUpdateBootloader.ts +0 -6
  77. package/src/types/api/export.ts +0 -18
  78. package/src/types/api/firmwareUpdate.ts +0 -75
  79. package/src/types/api/index.ts +0 -14
  80. package/src/types/settings.ts +2 -14
  81. package/src/utils/deviceFeaturesCompat.ts +0 -6
  82. package/__tests__/device-initialize-timeout.test.ts +0 -56
  83. package/__tests__/firmware-update/check-all-firmware-release.test.ts +0 -175
  84. package/__tests__/firmware-update/device-update-bootloader.test.ts +0 -87
  85. package/__tests__/firmware-update/firmware-artifact-source.test.ts +0 -119
  86. package/__tests__/firmware-update/firmware-host-binding.test.ts +0 -70
  87. package/__tests__/firmware-update/firmware-preparation-error.test.ts +0 -27
  88. package/__tests__/firmware-update/firmware-update-bootloader-poll.test.ts +0 -200
  89. package/__tests__/firmware-update/firmware-update-capabilities.test.ts +0 -13
  90. package/__tests__/firmware-update/firmware-update-plan-bootloader-identity.test.ts +0 -394
  91. package/__tests__/firmware-update/firmware-update-plan.test.ts +0 -593
  92. package/__tests__/firmware-update/firmware-update-prepared-plan.test.ts +0 -231
  93. package/__tests__/firmware-update/firmware-update-v3-reconnect.test.ts +0 -63
  94. package/__tests__/firmware-update/firmware-upload-source.test.ts +0 -70
  95. package/dist/api/firmware/FirmwareArtifactSource.d.ts +0 -25
  96. package/dist/api/firmware/FirmwareArtifactSource.d.ts.map +0 -1
  97. package/dist/api/firmware/FirmwareHostBinding.d.ts +0 -6
  98. package/dist/api/firmware/FirmwareHostBinding.d.ts.map +0 -1
  99. package/dist/api/firmware/FirmwarePreparationError.d.ts +0 -3
  100. package/dist/api/firmware/FirmwarePreparationError.d.ts.map +0 -1
  101. package/dist/api/firmware/FirmwareUpdateCapabilities.d.ts +0 -3
  102. package/dist/api/firmware/FirmwareUpdateCapabilities.d.ts.map +0 -1
  103. package/dist/api/firmware/FirmwareUpdatePlan.d.ts +0 -25
  104. package/dist/api/firmware/FirmwareUpdatePlan.d.ts.map +0 -1
  105. package/dist/api/firmware/FirmwareUpdatePreparedPlan.d.ts +0 -32
  106. package/dist/api/firmware/FirmwareUpdatePreparedPlan.d.ts.map +0 -1
  107. package/dist/types/api/firmwareUpdateCapabilities.d.ts +0 -9
  108. package/dist/types/api/firmwareUpdateCapabilities.d.ts.map +0 -1
  109. package/dist/types/api/firmwareUpdatePlan.d.ts +0 -28
  110. package/dist/types/api/firmwareUpdatePlan.d.ts.map +0 -1
  111. package/dist/types/api/firmwareUpdatePreparedPlan.d.ts +0 -42
  112. package/dist/types/api/firmwareUpdatePreparedPlan.d.ts.map +0 -1
  113. package/src/api/firmware/FirmwareArtifactSource.ts +0 -278
  114. package/src/api/firmware/FirmwareHostBinding.ts +0 -100
  115. package/src/api/firmware/FirmwarePreparationError.ts +0 -12
  116. package/src/api/firmware/FirmwareUpdateCapabilities.ts +0 -9
  117. package/src/api/firmware/FirmwareUpdatePlan.ts +0 -772
  118. package/src/api/firmware/FirmwareUpdatePreparedPlan.ts +0 -449
  119. package/src/types/api/firmwareUpdateCapabilities.ts +0 -9
  120. package/src/types/api/firmwareUpdatePlan.ts +0 -38
  121. package/src/types/api/firmwareUpdatePreparedPlan.ts +0 -53
@@ -1,231 +0,0 @@
1
- import { EDeviceType, EFirmwareType } from '@onekeyfe/hd-shared';
2
-
3
- import { buildFirmwareUpdatePlan } from '../../src/api/firmware/FirmwareUpdatePlan';
4
- import {
5
- assertFirmwareUpdatePreparedPlanDeviceIdentity,
6
- assertFirmwareUpdatePreparedPlanBinding,
7
- prepareFirmwareUpdatePlan,
8
- validateFirmwareUpdatePreparedPlan,
9
- } from '../../src/api/firmware/FirmwareUpdatePreparedPlan';
10
-
11
- import type { Features } from '../../src/types';
12
-
13
- const buildPlan = () =>
14
- buildFirmwareUpdatePlan({
15
- features: {
16
- deviceType: EDeviceType.Classic1s,
17
- serialNo: 'classic1s-device-id',
18
- firmwareVersion: '1.0.0',
19
- bootloaderVersion: '1.0.0',
20
- } as Features,
21
- firmwareType: EFirmwareType.Universal,
22
- platform: 'native',
23
- firmware: {
24
- status: 'outdated',
25
- release: {
26
- url: 'https://firmware.onekey.so/classic/firmware.bin',
27
- expectedSize: 4,
28
- fingerprint: 'a'.repeat(64),
29
- version: [3, 0, 0],
30
- resource: 'https://firmware.onekey.so/classic/resource.zip',
31
- resourceExpectedSize: 8,
32
- resourceFingerprint: 'b'.repeat(64),
33
- },
34
- },
35
- ble: {
36
- status: 'valid',
37
- release: undefined,
38
- },
39
- bootloader: {
40
- status: 'valid',
41
- release: undefined,
42
- },
43
- });
44
-
45
- const artifact = (sha256: string, size: number) => ({
46
- artifactRef: `fw:${sha256}`,
47
- size,
48
- sha256,
49
- });
50
-
51
- describe('FirmwareUpdatePreparedPlan', () => {
52
- test('binds all receipts into a URL-free, network-forbidden plan', () => {
53
- const plan = buildPlan();
54
- const prepared = prepareFirmwareUpdatePlan({
55
- plan,
56
- leaseRef: 'fwlease:00000000-0000-4000-8000-000000000001',
57
- artifacts: [
58
- {
59
- artifactId: 'firmware',
60
- artifact: artifact('a'.repeat(64), 4),
61
- },
62
- {
63
- artifactId: 'resource',
64
- artifact: artifact('b'.repeat(64), 8),
65
- materializedEntries: [
66
- {
67
- entryName: 'resource/index.bin',
68
- artifact: artifact('c'.repeat(64), 2),
69
- },
70
- ],
71
- },
72
- ],
73
- });
74
-
75
- expect(prepared.networkPolicy).toBe('forbid');
76
- expect(prepared.planDigest).toBe(plan.planDigest);
77
- expect(prepared.preparedPlanDigest).toMatch(/^[a-f0-9]{64}$/u);
78
- expect(JSON.stringify(prepared)).not.toContain('https://');
79
- expect(validateFirmwareUpdatePreparedPlan(prepared)).toEqual(prepared);
80
- expect(
81
- assertFirmwareUpdatePreparedPlanDeviceIdentity({
82
- preparedPlan: prepared,
83
- deviceIdentity: plan.deviceIdentity,
84
- })
85
- ).toEqual(prepared);
86
- expect(() =>
87
- assertFirmwareUpdatePreparedPlanDeviceIdentity({
88
- preparedPlan: prepared,
89
- deviceIdentity: 'different-device-id',
90
- })
91
- ).toThrow();
92
- expect(
93
- assertFirmwareUpdatePreparedPlanBinding({
94
- preparedPlan: prepared,
95
- executor: 'v2',
96
- platform: 'native',
97
- scopeTargets: ['firmware', 'resource'],
98
- bindings: [
99
- {
100
- target: 'firmware',
101
- artifact: artifact('a'.repeat(64), 4),
102
- },
103
- {
104
- target: 'resource',
105
- entryName: 'resource/index.bin',
106
- artifact: artifact('c'.repeat(64), 2),
107
- },
108
- ],
109
- })
110
- ).toEqual(prepared);
111
- expect(() =>
112
- assertFirmwareUpdatePreparedPlanBinding({
113
- preparedPlan: prepared,
114
- executor: 'v2',
115
- platform: 'native',
116
- scopeTargets: ['firmware', 'resource'],
117
- bindings: [
118
- {
119
- target: 'firmware',
120
- artifact: artifact('a'.repeat(64), 4),
121
- },
122
- {
123
- target: 'resource',
124
- artifact: artifact('b'.repeat(64), 8),
125
- },
126
- ],
127
- })
128
- ).toThrow('artifact binding is invalid');
129
- expect(() =>
130
- assertFirmwareUpdatePreparedPlanBinding({
131
- preparedPlan: prepared,
132
- executor: 'v2',
133
- platform: 'native',
134
- scopeTargets: ['firmware'],
135
- bindings: [
136
- {
137
- target: 'firmware',
138
- artifact: artifact('b'.repeat(64), 8),
139
- },
140
- ],
141
- })
142
- ).toThrow('artifact binding is invalid');
143
- });
144
-
145
- test('rejects receipt drift and a tampered update plan digest', () => {
146
- const plan = buildPlan();
147
- expect(() =>
148
- prepareFirmwareUpdatePlan({
149
- plan,
150
- leaseRef: 'fwlease:00000000-0000-4000-8000-000000000001',
151
- artifacts: [
152
- {
153
- artifactId: 'firmware',
154
- artifact: artifact('d'.repeat(64), 4),
155
- },
156
- {
157
- artifactId: 'resource',
158
- artifact: artifact('b'.repeat(64), 8),
159
- materializedEntries: [
160
- {
161
- entryName: 'resource/index.bin',
162
- artifact: artifact('c'.repeat(64), 2),
163
- },
164
- ],
165
- },
166
- ],
167
- })
168
- ).toThrow('receipt does not match');
169
-
170
- expect(() =>
171
- prepareFirmwareUpdatePlan({
172
- plan: { ...plan, planDigest: 'f'.repeat(64) },
173
- leaseRef: 'fwlease:00000000-0000-4000-8000-000000000001',
174
- artifacts: [],
175
- })
176
- ).toThrow('plan digest is invalid');
177
- });
178
-
179
- test('projects portable archive paths to unique device resource names', () => {
180
- const plan = buildPlan();
181
- const buildArtifacts = (entryNames: string[]) => [
182
- {
183
- artifactId: 'firmware',
184
- artifact: artifact('a'.repeat(64), 4),
185
- },
186
- {
187
- artifactId: 'resource',
188
- artifact: artifact('b'.repeat(64), 8),
189
- materializedEntries: entryNames.map((entryName, index) => ({
190
- entryName,
191
- artifact: artifact(String(index + 1).repeat(64), 2),
192
- })),
193
- },
194
- ];
195
-
196
- expect(() =>
197
- prepareFirmwareUpdatePlan({
198
- plan,
199
- leaseRef: 'fwlease:00000000-0000-4000-8000-000000000001',
200
- artifacts: buildArtifacts(['icons/index.bin', 'fonts/index.bin']),
201
- })
202
- ).toThrow('duplicate entry names');
203
- expect(() =>
204
- prepareFirmwareUpdatePlan({
205
- plan,
206
- leaseRef: 'fwlease:00000000-0000-4000-8000-000000000001',
207
- artifacts: buildArtifacts(['../index.bin']),
208
- })
209
- ).toThrow('entry name is invalid');
210
- });
211
-
212
- test('rejects unknown fields even when a caller presents a plan-shaped object', () => {
213
- const plan = buildPlan();
214
- expect(() =>
215
- prepareFirmwareUpdatePlan({
216
- plan: {
217
- ...plan,
218
- artifacts: [
219
- {
220
- ...plan.artifacts[0],
221
- unexpectedUrl: 'https://attacker.invalid/payload',
222
- },
223
- plan.artifacts[1],
224
- ],
225
- } as typeof plan,
226
- leaseRef: 'fwlease:00000000-0000-4000-8000-000000000001',
227
- artifacts: [],
228
- })
229
- ).toThrow('invalid field set');
230
- });
231
- });
@@ -1,63 +0,0 @@
1
- import FirmwareUpdateV3 from '../../src/api/FirmwareUpdateV3';
2
- import type { Device } from '../../src/device/Device';
3
- import { DevicePool } from '../../src/device/DevicePool';
4
-
5
- jest.mock('../../src/data/config', () => ({
6
- getSDKVersion: jest.fn(() => '1.0.0'),
7
- DEFAULT_DOMAIN: 'https://jssdk.onekey.so/1.0.0/',
8
- }));
9
-
10
- describe('FirmwareUpdateV3 reconnect', () => {
11
- afterEach(() => {
12
- jest.restoreAllMocks();
13
- });
14
-
15
- it('keeps transient USB acquire failures inside the reconnect loop', async () => {
16
- const acquire = jest.fn().mockResolvedValue(undefined);
17
- const commands = {
18
- disposed: true,
19
- mainId: '',
20
- };
21
- const cachedDevice = {} as Device;
22
- const updateFromCache = jest.fn();
23
- jest.spyOn(DevicePool, 'getDevices').mockResolvedValue({
24
- devices: {},
25
- deviceList: [cachedDevice],
26
- });
27
-
28
- const method = new FirmwareUpdateV3({
29
- id: 1,
30
- payload: {
31
- method: 'firmwareUpdateV3',
32
- connectId: 'usb-path',
33
- },
34
- });
35
- method.isBleReconnect = jest.fn(() => false);
36
- method.device = {
37
- originalDescriptor: {
38
- id: 'usb-path',
39
- path: 'usb-path',
40
- protocolType: 'V1',
41
- },
42
- deviceConnector: {
43
- enumerate: jest.fn().mockResolvedValue({
44
- descriptors: [{ path: 'usb-path' }],
45
- }),
46
- },
47
- updateFromCache,
48
- acquire,
49
- commands,
50
- getCommands: () => commands,
51
- mainId: 'usb-session',
52
- } as unknown as Device;
53
-
54
- await method.waitForDeviceReconnect(1000);
55
-
56
- expect(updateFromCache).toHaveBeenCalledWith(cachedDevice);
57
- expect(acquire).toHaveBeenCalledWith(undefined, {
58
- throwOnRunPromiseError: true,
59
- });
60
- expect(commands.disposed).toBe(false);
61
- expect(commands.mainId).toBe('usb-session');
62
- });
63
- });
@@ -1,70 +0,0 @@
1
- import { EDeviceType } from '@onekeyfe/hd-shared';
2
-
3
- import { uploadFirmwareFromSource } from '../../src/api/firmware/uploadFirmware';
4
-
5
- import type { Device } from '../../src/device/Device';
6
- import type { FirmwareByteSource } from '../../src/api/firmware/FirmwareArtifactSource';
7
-
8
- jest.mock('../../src/data/config', () => ({
9
- getSDKVersion: jest.fn(() => '1.0.0'),
10
- DEFAULT_DOMAIN: 'https://jssdk.onekey.so/1.0.0/',
11
- }));
12
-
13
- describe('uploadFirmwareFromSource', () => {
14
- it('serves legacy Touch firmware requests without materializing the complete artifact', async () => {
15
- const size = 700 * 1024;
16
- const requestedRanges: Array<{ offset: number; length: number }> = [];
17
- const source: FirmwareByteSource = {
18
- size,
19
- readAt: jest.fn((offset: number, length: number) => {
20
- requestedRanges.push({ offset, length });
21
- return Promise.resolve(new ArrayBuffer(length));
22
- }),
23
- close: jest.fn(() => Promise.resolve()),
24
- };
25
- let nextOffset = 0;
26
- const requestedLength = 128 * 1024;
27
- const typedCall = jest.fn((type: string) => {
28
- if (type === 'FirmwareErase') {
29
- return Promise.resolve({
30
- type: 'FirmwareRequest',
31
- message: {
32
- offset: nextOffset,
33
- length: Math.min(requestedLength, size - nextOffset),
34
- },
35
- });
36
- }
37
- if (type === 'FirmwareUpload') {
38
- nextOffset += Math.min(requestedLength, size - nextOffset);
39
- if (nextOffset < size) {
40
- return Promise.resolve({
41
- type: 'FirmwareRequest',
42
- message: {
43
- offset: nextOffset,
44
- length: Math.min(requestedLength, size - nextOffset),
45
- },
46
- });
47
- }
48
- return Promise.resolve({
49
- type: 'Success',
50
- message: { message: 'installed' },
51
- });
52
- }
53
- return Promise.reject(new Error(`Unexpected command: ${type}`));
54
- });
55
- const device = {
56
- features: undefined,
57
- emit: jest.fn(),
58
- getCurrentDeviceType: () => EDeviceType.Touch,
59
- toMessageObject: () => ({}),
60
- } as unknown as Device;
61
-
62
- await expect(
63
- uploadFirmwareFromSource('firmware', typedCall as never, jest.fn(), device, source)
64
- ).resolves.toEqual({ message: 'installed' });
65
-
66
- expect(requestedRanges).toHaveLength(Math.ceil(size / requestedLength));
67
- expect(requestedRanges.every(({ length }) => length <= 256 * 1024)).toBe(true);
68
- expect(requestedRanges.some(({ length }) => length === size)).toBe(false);
69
- });
70
- });
@@ -1,25 +0,0 @@
1
- import type { FirmwareArtifactReader, FirmwareArtifactReference } from '../../types/api/firmwareUpdate';
2
- export declare const MAX_FIRMWARE_ARTIFACT_READ_BYTES: number;
3
- export interface FirmwareByteSource {
4
- readonly size: number;
5
- readAt(offset: number, length: number): Promise<ArrayBuffer>;
6
- close(): Promise<void>;
7
- }
8
- export declare const assertFirmwareArtifactReference: (artifact: FirmwareArtifactReference) => FirmwareArtifactReference;
9
- export declare const openFirmwareByteSource: ({ binary, artifact, reader, }: {
10
- binary?: ArrayBuffer | undefined;
11
- artifact?: FirmwareArtifactReference | undefined;
12
- reader?: FirmwareArtifactReader | undefined;
13
- }) => Promise<FirmwareByteSource | null>;
14
- export declare const readFirmwareByteSourceFully: (source: FirmwareByteSource) => Promise<ArrayBuffer>;
15
- export declare const writeFirmwareByteSource: ({ source, chunkSize, write, }: {
16
- source: FirmwareByteSource;
17
- chunkSize: number;
18
- write: (input: {
19
- data: ArrayBuffer;
20
- sourceOffset: number;
21
- length: number;
22
- first: boolean;
23
- }) => Promise<number>;
24
- }) => Promise<number>;
25
- //# sourceMappingURL=FirmwareArtifactSource.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FirmwareArtifactSource.d.ts","sourceRoot":"","sources":["../../../src/api/firmware/FirmwareArtifactSource.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,sBAAsB,EACtB,yBAAyB,EAC1B,MAAM,gCAAgC,CAAC;AAExC,eAAO,MAAM,gCAAgC,QAAa,CAAC;AAE3D,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAC7D,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAqBD,eAAO,MAAM,+BAA+B,aAChC,yBAAyB,KAClC,yBAsBF,CAAC;AAoIF,eAAO,MAAM,sBAAsB;;;;MAQ/B,QAAQ,kBAAkB,GAAG,IAAI,CAqBpC,CAAC;AAEF,eAAO,MAAM,2BAA2B,WAC9B,kBAAkB,KACzB,QAAQ,WAAW,CASrB,CAAC;AAEF,eAAO,MAAM,uBAAuB;YAK1B,kBAAkB;eACf,MAAM;mBACF;QACb,IAAI,EAAE,WAAW,CAAC;QAClB,YAAY,EAAE,MAAM,CAAC;QACrB,QAAQ,MAAM,CAAC;QACf,KAAK,EAAE,OAAO,CAAC;KAChB,KAAK,QAAQ,MAAM,CAAC;qBA+BtB,CAAC"}
@@ -1,6 +0,0 @@
1
- import type { FirmwareUpdateHostBinding } from '../../types/api/firmwareUpdate';
2
- export declare const registerFirmwareUpdateHostBinding: (binding: FirmwareUpdateHostBinding) => number;
3
- export declare const unregisterFirmwareUpdateHostBinding: (generation?: number) => boolean;
4
- export declare const getFirmwareUpdateHostBindingGeneration: () => number;
5
- export declare const resolveFirmwareUpdateHostBinding: (generation: number | undefined) => FirmwareUpdateHostBinding;
6
- //# sourceMappingURL=FirmwareHostBinding.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FirmwareHostBinding.d.ts","sourceRoot":"","sources":["../../../src/api/firmware/FirmwareHostBinding.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAsFhF,eAAO,MAAM,iCAAiC,YAAa,yBAAyB,KAAG,MACxC,CAAC;AAEhD,eAAO,MAAM,mCAAmC,gBAAiB,MAAM,KAAG,OACtB,CAAC;AAErD,eAAO,MAAM,sCAAsC,QAAO,MACb,CAAC;AAE9C,eAAO,MAAM,gCAAgC,eAC/B,MAAM,GAAG,SAAS,KAC7B,yBAA0F,CAAC"}
@@ -1,3 +0,0 @@
1
- import { HardwareError } from '@onekeyfe/hd-shared';
2
- export declare const normalizeFirmwarePreparationError: (error: unknown) => HardwareError;
3
- //# sourceMappingURL=FirmwarePreparationError.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FirmwarePreparationError.d.ts","sourceRoot":"","sources":["../../../src/api/firmware/FirmwarePreparationError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,aAAa,EAAqB,MAAM,qBAAqB,CAAC;AAE/E,eAAO,MAAM,iCAAiC,UAAW,OAAO,kBAS/D,CAAC"}
@@ -1,3 +0,0 @@
1
- import type { FirmwareUpdateCapabilities } from '../../types/api/firmwareUpdateCapabilities';
2
- export declare const getFirmwareUpdateCapabilities: () => FirmwareUpdateCapabilities;
3
- //# sourceMappingURL=FirmwareUpdateCapabilities.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FirmwareUpdateCapabilities.d.ts","sourceRoot":"","sources":["../../../src/api/firmware/FirmwareUpdateCapabilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AAE7F,eAAO,MAAM,6BAA6B,QAAO,0BAM/C,CAAC"}
@@ -1,25 +0,0 @@
1
- import { EFirmwareType } from '@onekeyfe/hd-shared';
2
- import type { FirmwareUpdatePlan, FirmwareUpdatePlanForceTarget, FirmwareUpdatePlanTarget } from '../../types/api/firmwareUpdatePlan';
3
- import type { Features } from '../../types';
4
- type FirmwareUpdatePlatform = 'native' | 'desktop' | 'ext' | 'web' | 'web-embed';
5
- type ReleaseSelection = {
6
- shouldUpdate?: boolean;
7
- status?: unknown;
8
- release?: unknown;
9
- };
10
- export declare const digestFirmwareUpdateContract: (value: unknown) => string;
11
- export declare const validateFirmwareUpdatePlanForceTargets: (value: unknown) => FirmwareUpdatePlanForceTarget[];
12
- export declare const FIRMWARE_UPDATE_PLAN_TARGETS: Set<FirmwareUpdatePlanTarget>;
13
- export declare const FIRMWARE_UPDATE_PLAN_ROLES: Set<string>;
14
- export declare const assertFirmwareUpdatePlan: (value: unknown) => FirmwareUpdatePlan;
15
- export declare const buildFirmwareUpdatePlan: ({ features, firmwareType, platform, firmware, ble, bootloader, forceUpdateTargets, }: {
16
- features: Features;
17
- firmwareType: EFirmwareType;
18
- platform: FirmwareUpdatePlatform;
19
- firmware: ReleaseSelection;
20
- ble: ReleaseSelection;
21
- bootloader?: ReleaseSelection | undefined;
22
- forceUpdateTargets?: FirmwareUpdatePlanForceTarget[] | undefined;
23
- }) => FirmwareUpdatePlan;
24
- export {};
25
- //# sourceMappingURL=FirmwareUpdatePlan.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FirmwareUpdatePlan.d.ts","sourceRoot":"","sources":["../../../src/api/firmware/FirmwareUpdatePlan.ts"],"names":[],"mappings":"AAEA,OAAO,EAAe,aAAa,EAA6B,MAAM,qBAAqB,CAAC;AAU5F,OAAO,KAAK,EACV,kBAAkB,EAElB,6BAA6B,EAC7B,wBAAwB,EACzB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,KAAK,sBAAsB,GAAG,QAAQ,GAAG,SAAS,GAAG,KAAK,GAAG,KAAK,GAAG,WAAW,CAAC;AAyBjF,KAAK,gBAAgB,GAAG;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AA0GF,eAAO,MAAM,4BAA4B,UAAW,OAAO,KAAG,MAG3D,CAAC;AAkBJ,eAAO,MAAM,sCAAsC,UAC1C,OAAO,KACb,6BAA6B,EAa/B,CAAC;AAuBF,eAAO,MAAM,4BAA4B,+BAavC,CAAC;AAEH,eAAO,MAAM,0BAA0B,aAOrC,CAAC;AAYH,eAAO,MAAM,wBAAwB,UAAW,OAAO,KAAG,kBAyHzD,CAAC;AA4NF,eAAO,MAAM,uBAAuB;cASxB,QAAQ;kBACJ,aAAa;cACjB,sBAAsB;cACtB,gBAAgB;SACrB,gBAAgB;;;MAGnB,kBAsKH,CAAC"}
@@ -1,32 +0,0 @@
1
- import type { FirmwareUpdatePreparedArtifactInput, FirmwareUpdatePreparedPlan } from '../../types/api/firmwareUpdatePreparedPlan';
2
- import type { FirmwareArtifactReference } from '../../types/api/firmwareUpdate';
3
- import type { FirmwareUpdatePlan } from '../../types/api/firmwareUpdatePlan';
4
- export declare const getFirmwareUpdateResourceName: (value: unknown) => string;
5
- export declare const prepareFirmwareUpdatePlan: ({ plan: value, leaseRef, artifacts, }: {
6
- plan: FirmwareUpdatePlan;
7
- leaseRef: string;
8
- artifacts: FirmwareUpdatePreparedArtifactInput[];
9
- }) => FirmwareUpdatePreparedPlan;
10
- export declare const validateFirmwareUpdatePreparedPlan: (value: unknown) => FirmwareUpdatePreparedPlan;
11
- export declare const assertFirmwareUpdatePreparedPlanDeviceIdentity: ({ preparedPlan: value, deviceIdentity: reportedIdentity, bootloaderMode, deviceModel, }: {
12
- preparedPlan: unknown;
13
- deviceIdentity: string | undefined;
14
- bootloaderMode?: boolean | undefined;
15
- deviceModel?: string | undefined;
16
- }) => FirmwareUpdatePreparedPlan;
17
- type FirmwareUpdatePreparedBinding = {
18
- target: FirmwareUpdatePlan['targetsToUpdate'][number];
19
- artifact: FirmwareArtifactReference;
20
- logicalName?: string;
21
- entryName?: string;
22
- };
23
- export declare const assertFirmwareUpdatePreparedPlanBinding: ({ preparedPlan: value, executor, platform, deviceIdentity, scopeTargets, bindings, }: {
24
- preparedPlan: unknown;
25
- executor: FirmwareUpdatePreparedPlan['executor'];
26
- platform?: "native" | "desktop" | "ext" | "web" | "web-embed" | undefined;
27
- deviceIdentity?: string | undefined;
28
- scopeTargets: FirmwareUpdatePreparedPlan['targetsToUpdate'];
29
- bindings: FirmwareUpdatePreparedBinding[];
30
- }) => FirmwareUpdatePreparedPlan;
31
- export {};
32
- //# sourceMappingURL=FirmwareUpdatePreparedPlan.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FirmwareUpdatePreparedPlan.d.ts","sourceRoot":"","sources":["../../../src/api/firmware/FirmwareUpdatePreparedPlan.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAEV,mCAAmC,EAEnC,0BAA0B,EAC3B,MAAM,4CAA4C,CAAC;AACpD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAChF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAwB7E,eAAO,MAAM,6BAA6B,UAAW,OAAO,KAAG,MA8B9D,CAAC;AAgGF,eAAO,MAAM,yBAAyB;UAK9B,kBAAkB;cACd,MAAM;eACL,mCAAmC,EAAE;MAC9C,0BAmBH,CAAC;AAEF,eAAO,MAAM,kCAAkC,UAAW,OAAO,KAAG,0BAmGnE,CAAC;AAuBF,eAAO,MAAM,8CAA8C;kBAM3C,OAAO;oBACL,MAAM,GAAG,SAAS;;;MAKhC,0BAoCH,CAAC;AAEF,KAAK,6BAA6B,GAAG;IACnC,MAAM,EAAE,kBAAkB,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;IACtD,QAAQ,EAAE,yBAAyB,CAAC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAUF,eAAO,MAAM,uCAAuC;kBAQpC,OAAO;cACX,0BAA0B,CAAC,UAAU,CAAC;;;kBAGlC,0BAA0B,CAAC,iBAAiB,CAAC;cACjD,6BAA6B,EAAE;MACvC,0BAmDH,CAAC"}
@@ -1,9 +0,0 @@
1
- export interface FirmwareUpdateCapabilities {
2
- planSchemaVersion: 2;
3
- preparedPlanSchemaVersion: 2;
4
- hostBindingProtocolVersion: 2;
5
- manifestModes: Array<'external-only' | 'sdk-managed'>;
6
- supportsArtifactReader: true;
7
- }
8
- export declare function getFirmwareUpdateCapabilities(): FirmwareUpdateCapabilities;
9
- //# sourceMappingURL=firmwareUpdateCapabilities.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"firmwareUpdateCapabilities.d.ts","sourceRoot":"","sources":["../../../src/types/api/firmwareUpdateCapabilities.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,0BAA0B;IACzC,iBAAiB,EAAE,CAAC,CAAC;IACrB,yBAAyB,EAAE,CAAC,CAAC;IAC7B,0BAA0B,EAAE,CAAC,CAAC;IAC9B,aAAa,EAAE,KAAK,CAAC,eAAe,GAAG,aAAa,CAAC,CAAC;IACtD,sBAAsB,EAAE,IAAI,CAAC;CAC9B;AAED,MAAM,CAAC,OAAO,UAAU,6BAA6B,IAAI,0BAA0B,CAAC"}
@@ -1,28 +0,0 @@
1
- import type { FirmwareUpdateV4Target } from './firmwareUpdate';
2
- import type { EFirmwareType } from '@onekeyfe/hd-shared';
3
- export type FirmwareUpdatePlanArtifactRole = 'firmware' | 'ble' | 'bootloader' | 'resource' | 'component' | 'resourceBundle';
4
- export type FirmwareUpdatePlanTarget = 'firmware' | 'ble' | 'bootloader' | FirmwareUpdateV4Target;
5
- export type FirmwareUpdatePlanForceTarget = 'firmware' | 'ble' | 'bootloader' | 'resource';
6
- export interface FirmwareUpdatePlanArtifact {
7
- artifactId: string;
8
- role: FirmwareUpdatePlanArtifactRole;
9
- target: FirmwareUpdatePlanTarget;
10
- url: string;
11
- container: 'raw' | 'zip';
12
- logicalName?: string;
13
- expectedSize?: number;
14
- expectedSha256?: string;
15
- targetVersion?: string;
16
- }
17
- export interface FirmwareUpdatePlan {
18
- schemaVersion: 2;
19
- planDigest: string;
20
- executor: 'v2' | 'v3' | 'v4';
21
- deviceIdentity: string;
22
- deviceModel: string;
23
- firmwareType: EFirmwareType;
24
- platform: 'native' | 'desktop' | 'ext' | 'web' | 'web-embed';
25
- artifacts: FirmwareUpdatePlanArtifact[];
26
- targetsToUpdate: FirmwareUpdatePlanTarget[];
27
- }
28
- //# sourceMappingURL=firmwareUpdatePlan.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"firmwareUpdatePlan.d.ts","sourceRoot":"","sources":["../../../src/types/api/firmwareUpdatePlan.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,MAAM,MAAM,8BAA8B,GACtC,UAAU,GACV,KAAK,GACL,YAAY,GACZ,UAAU,GACV,WAAW,GACX,gBAAgB,CAAC;AAErB,MAAM,MAAM,wBAAwB,GAAG,UAAU,GAAG,KAAK,GAAG,YAAY,GAAG,sBAAsB,CAAC;AAElG,MAAM,MAAM,6BAA6B,GAAG,UAAU,GAAG,KAAK,GAAG,YAAY,GAAG,UAAU,CAAC;AAE3F,MAAM,WAAW,0BAA0B;IACzC,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,8BAA8B,CAAC;IACrC,MAAM,EAAE,wBAAwB,CAAC;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,KAAK,GAAG,KAAK,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,kBAAkB;IACjC,aAAa,EAAE,CAAC,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,aAAa,CAAC;IAC5B,QAAQ,EAAE,QAAQ,GAAG,SAAS,GAAG,KAAK,GAAG,KAAK,GAAG,WAAW,CAAC;IAC7D,SAAS,EAAE,0BAA0B,EAAE,CAAC;IACxC,eAAe,EAAE,wBAAwB,EAAE,CAAC;CAC7C"}
@@ -1,42 +0,0 @@
1
- import type { FirmwareArtifactReference } from './firmwareUpdate';
2
- import type { FirmwareUpdatePlan, FirmwareUpdatePlanArtifactRole, FirmwareUpdatePlanTarget } from './firmwareUpdatePlan';
3
- export interface FirmwareUpdatePreparedEntry {
4
- entryName: string;
5
- artifact: FirmwareArtifactReference;
6
- }
7
- export interface FirmwareUpdatePreparedArtifactInput {
8
- artifactId: string;
9
- artifact: FirmwareArtifactReference;
10
- materializedEntries?: FirmwareUpdatePreparedEntry[];
11
- }
12
- export interface FirmwareUpdatePreparedArtifact {
13
- artifactId: string;
14
- role: FirmwareUpdatePlanArtifactRole;
15
- target: FirmwareUpdatePlanTarget;
16
- container: 'raw' | 'zip';
17
- logicalName?: string;
18
- targetVersion?: string;
19
- artifact: FirmwareArtifactReference;
20
- materializedEntries?: FirmwareUpdatePreparedEntry[];
21
- }
22
- export interface FirmwareUpdatePreparedPlan {
23
- schemaVersion: 2;
24
- preparedPlanDigest: string;
25
- planDigest: string;
26
- networkPolicy: 'forbid';
27
- executor: FirmwareUpdatePlan['executor'];
28
- deviceIdentity: string;
29
- deviceModel: string;
30
- firmwareType: FirmwareUpdatePlan['firmwareType'];
31
- platform: FirmwareUpdatePlan['platform'];
32
- leaseRef: string;
33
- artifacts: FirmwareUpdatePreparedArtifact[];
34
- targetsToUpdate: FirmwareUpdatePlanTarget[];
35
- }
36
- export declare function prepareFirmwareUpdatePlan(input: {
37
- plan: FirmwareUpdatePlan;
38
- leaseRef: string;
39
- artifacts: FirmwareUpdatePreparedArtifactInput[];
40
- }): FirmwareUpdatePreparedPlan;
41
- export declare function validateFirmwareUpdatePreparedPlan(value: unknown): FirmwareUpdatePreparedPlan;
42
- //# sourceMappingURL=firmwareUpdatePreparedPlan.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"firmwareUpdatePreparedPlan.d.ts","sourceRoot":"","sources":["../../../src/types/api/firmwareUpdatePreparedPlan.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,KAAK,EACV,kBAAkB,EAClB,8BAA8B,EAC9B,wBAAwB,EACzB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,WAAW,2BAA2B;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,yBAAyB,CAAC;CACrC;AAED,MAAM,WAAW,mCAAmC;IAClD,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,yBAAyB,CAAC;IACpC,mBAAmB,CAAC,EAAE,2BAA2B,EAAE,CAAC;CACrD;AAED,MAAM,WAAW,8BAA8B;IAC7C,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,8BAA8B,CAAC;IACrC,MAAM,EAAE,wBAAwB,CAAC;IACjC,SAAS,EAAE,KAAK,GAAG,KAAK,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,yBAAyB,CAAC;IACpC,mBAAmB,CAAC,EAAE,2BAA2B,EAAE,CAAC;CACrD;AAED,MAAM,WAAW,0BAA0B;IACzC,aAAa,EAAE,CAAC,CAAC;IACjB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,QAAQ,CAAC;IACxB,QAAQ,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC;IACzC,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,kBAAkB,CAAC,cAAc,CAAC,CAAC;IACjD,QAAQ,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,8BAA8B,EAAE,CAAC;IAC5C,eAAe,EAAE,wBAAwB,EAAE,CAAC;CAC7C;AAED,MAAM,CAAC,OAAO,UAAU,yBAAyB,CAAC,KAAK,EAAE;IACvD,IAAI,EAAE,kBAAkB,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,mCAAmC,EAAE,CAAC;CAClD,GAAG,0BAA0B,CAAC;AAE/B,MAAM,CAAC,OAAO,UAAU,kCAAkC,CACxD,KAAK,EAAE,OAAO,GACb,0BAA0B,CAAC"}