@onekeyfe/hd-core 1.2.0-alpha.30 → 1.2.0-alpha.32

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 (123) hide show
  1. package/__tests__/check-all-firmware-release-protocol-v2.test.ts +251 -0
  2. package/__tests__/connectSettings.test.ts +5 -47
  3. package/__tests__/device-state-mapper.test.ts +10 -1
  4. package/__tests__/firmware-update/firmware-update-v2-download-before-boot.test.ts +31 -59
  5. package/__tests__/networkUtils.test.ts +20 -0
  6. package/__tests__/open-wallet-session.test.ts +19 -5
  7. package/__tests__/protocol-v2-firmware-targets.test.ts +18 -0
  8. package/__tests__/protocol-v2.test.ts +58 -240
  9. package/__tests__/public-device-state-api.test.ts +10 -1
  10. package/dist/api/CheckAllFirmwareRelease.d.ts +24 -1
  11. package/dist/api/CheckAllFirmwareRelease.d.ts.map +1 -1
  12. package/dist/api/FirmwareUpdateV2.d.ts +0 -11
  13. package/dist/api/FirmwareUpdateV2.d.ts.map +1 -1
  14. package/dist/api/FirmwareUpdateV3.d.ts +3 -7
  15. package/dist/api/FirmwareUpdateV3.d.ts.map +1 -1
  16. package/dist/api/FirmwareUpdateV4.d.ts +6 -22
  17. package/dist/api/FirmwareUpdateV4.d.ts.map +1 -1
  18. package/dist/api/OpenWalletSession.d.ts.map +1 -1
  19. package/dist/api/PromptWebDeviceAccess.d.ts.map +1 -1
  20. package/dist/api/device/DeviceUpdateBootloader.d.ts +1 -5
  21. package/dist/api/device/DeviceUpdateBootloader.d.ts.map +1 -1
  22. package/dist/api/firmware/FirmwareUpdateBaseMethod.d.ts +0 -7
  23. package/dist/api/firmware/FirmwareUpdateBaseMethod.d.ts.map +1 -1
  24. package/dist/api/firmware/getBinary.d.ts +0 -7
  25. package/dist/api/firmware/getBinary.d.ts.map +1 -1
  26. package/dist/api/firmware/updateBootloader.d.ts +0 -2
  27. package/dist/api/firmware/updateBootloader.d.ts.map +1 -1
  28. package/dist/api/firmware/uploadFirmware.d.ts +1 -9
  29. package/dist/api/firmware/uploadFirmware.d.ts.map +1 -1
  30. package/dist/api/stellar/StellarSignTransaction.d.ts +1 -1
  31. package/dist/data-manager/DataManager.d.ts +0 -1
  32. package/dist/data-manager/DataManager.d.ts.map +1 -1
  33. package/dist/data-manager/connectSettings.d.ts.map +1 -1
  34. package/dist/device/DeviceStateMapper.d.ts.map +1 -1
  35. package/dist/index.d.ts +43 -179
  36. package/dist/index.d.ts.map +1 -1
  37. package/dist/index.js +1048 -2606
  38. package/dist/inject.d.ts.map +1 -1
  39. package/dist/lowLevelInject.d.ts.map +1 -1
  40. package/dist/protocols/protocol-v2/walletSession.d.ts.map +1 -1
  41. package/dist/topLevelInject.d.ts.map +1 -1
  42. package/dist/types/api/checkAllFirmwareRelease.d.ts +25 -7
  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 +2 -4
  47. package/dist/types/api/export.d.ts.map +1 -1
  48. package/dist/types/api/firmwareUpdate.d.ts +0 -69
  49. package/dist/types/api/firmwareUpdate.d.ts.map +1 -1
  50. package/dist/types/api/index.d.ts +3 -10
  51. package/dist/types/api/index.d.ts.map +1 -1
  52. package/dist/types/api/openWalletSession.d.ts +9 -3
  53. package/dist/types/api/openWalletSession.d.ts.map +1 -1
  54. package/dist/types/device.d.ts +6 -0
  55. package/dist/types/device.d.ts.map +1 -1
  56. package/dist/types/settings.d.ts +1 -13
  57. package/dist/types/settings.d.ts.map +1 -1
  58. package/dist/utils/networkUtils.d.ts +1 -0
  59. package/dist/utils/networkUtils.d.ts.map +1 -1
  60. package/package.json +4 -4
  61. package/src/api/CheckAllFirmwareRelease.ts +368 -50
  62. package/src/api/FirmwareUpdateV2.ts +120 -298
  63. package/src/api/FirmwareUpdateV3.ts +56 -258
  64. package/src/api/FirmwareUpdateV4.ts +328 -765
  65. package/src/api/OpenWalletSession.ts +12 -8
  66. package/src/api/PromptWebDeviceAccess.ts +2 -6
  67. package/src/api/device/DeviceUpdateBootloader.ts +6 -122
  68. package/src/api/firmware/FirmwareUpdateBaseMethod.ts +0 -50
  69. package/src/api/firmware/updateBootloader.ts +4 -19
  70. package/src/api/firmware/uploadFirmware.ts +22 -140
  71. package/src/data/messages/messages-protocol-v2.json +4 -0
  72. package/src/data-manager/DataManager.ts +33 -33
  73. package/src/data-manager/connectSettings.ts +0 -11
  74. package/src/device/DeviceStateMapper.ts +6 -0
  75. package/src/index.ts +0 -5
  76. package/src/inject.ts +2 -22
  77. package/src/lowLevelInject.ts +1 -5
  78. package/src/protocols/protocol-v2/walletSession.ts +2 -1
  79. package/src/topLevelInject.ts +1 -5
  80. package/src/types/api/checkAllFirmwareRelease.ts +46 -7
  81. package/src/types/api/deviceUpdateBootloader.ts +0 -6
  82. package/src/types/api/export.ts +5 -18
  83. package/src/types/api/firmwareUpdate.ts +0 -76
  84. package/src/types/api/index.ts +6 -15
  85. package/src/types/api/openWalletSession.ts +12 -3
  86. package/src/types/device.ts +6 -0
  87. package/src/types/settings.ts +3 -13
  88. package/src/utils/networkUtils.ts +5 -3
  89. package/__tests__/firmware-update/check-all-firmware-release.test.ts +0 -174
  90. package/__tests__/firmware-update/firmware-artifact-source.test.ts +0 -119
  91. package/__tests__/firmware-update/firmware-host-binding.test.ts +0 -70
  92. package/__tests__/firmware-update/firmware-preparation-error.test.ts +0 -27
  93. package/__tests__/firmware-update/firmware-update-capabilities.test.ts +0 -13
  94. package/__tests__/firmware-update/firmware-update-plan.test.ts +0 -593
  95. package/__tests__/firmware-update/firmware-update-prepared-plan.test.ts +0 -213
  96. package/__tests__/firmware-update/firmware-upload-source.test.ts +0 -70
  97. package/dist/api/firmware/FirmwareArtifactSource.d.ts +0 -25
  98. package/dist/api/firmware/FirmwareArtifactSource.d.ts.map +0 -1
  99. package/dist/api/firmware/FirmwareHostBinding.d.ts +0 -6
  100. package/dist/api/firmware/FirmwareHostBinding.d.ts.map +0 -1
  101. package/dist/api/firmware/FirmwarePreparationError.d.ts +0 -3
  102. package/dist/api/firmware/FirmwarePreparationError.d.ts.map +0 -1
  103. package/dist/api/firmware/FirmwareUpdateCapabilities.d.ts +0 -3
  104. package/dist/api/firmware/FirmwareUpdateCapabilities.d.ts.map +0 -1
  105. package/dist/api/firmware/FirmwareUpdatePlan.d.ts +0 -25
  106. package/dist/api/firmware/FirmwareUpdatePlan.d.ts.map +0 -1
  107. package/dist/api/firmware/FirmwareUpdatePreparedPlan.d.ts +0 -30
  108. package/dist/api/firmware/FirmwareUpdatePreparedPlan.d.ts.map +0 -1
  109. package/dist/types/api/firmwareUpdateCapabilities.d.ts +0 -9
  110. package/dist/types/api/firmwareUpdateCapabilities.d.ts.map +0 -1
  111. package/dist/types/api/firmwareUpdatePlan.d.ts +0 -28
  112. package/dist/types/api/firmwareUpdatePlan.d.ts.map +0 -1
  113. package/dist/types/api/firmwareUpdatePreparedPlan.d.ts +0 -42
  114. package/dist/types/api/firmwareUpdatePreparedPlan.d.ts.map +0 -1
  115. package/src/api/firmware/FirmwareArtifactSource.ts +0 -278
  116. package/src/api/firmware/FirmwareHostBinding.ts +0 -100
  117. package/src/api/firmware/FirmwarePreparationError.ts +0 -12
  118. package/src/api/firmware/FirmwareUpdateCapabilities.ts +0 -9
  119. package/src/api/firmware/FirmwareUpdatePlan.ts +0 -745
  120. package/src/api/firmware/FirmwareUpdatePreparedPlan.ts +0 -392
  121. package/src/types/api/firmwareUpdateCapabilities.ts +0 -9
  122. package/src/types/api/firmwareUpdatePlan.ts +0 -38
  123. package/src/types/api/firmwareUpdatePreparedPlan.ts +0 -53
@@ -1,213 +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'],
117
- bindings: [
118
- {
119
- target: 'firmware',
120
- artifact: artifact('b'.repeat(64), 8),
121
- },
122
- ],
123
- })
124
- ).toThrow('artifact binding is invalid');
125
- });
126
-
127
- test('rejects receipt drift and a tampered update plan digest', () => {
128
- const plan = buildPlan();
129
- expect(() =>
130
- prepareFirmwareUpdatePlan({
131
- plan,
132
- leaseRef: 'fwlease:00000000-0000-4000-8000-000000000001',
133
- artifacts: [
134
- {
135
- artifactId: 'firmware',
136
- artifact: artifact('d'.repeat(64), 4),
137
- },
138
- {
139
- artifactId: 'resource',
140
- artifact: artifact('b'.repeat(64), 8),
141
- materializedEntries: [
142
- {
143
- entryName: 'resource/index.bin',
144
- artifact: artifact('c'.repeat(64), 2),
145
- },
146
- ],
147
- },
148
- ],
149
- })
150
- ).toThrow('receipt does not match');
151
-
152
- expect(() =>
153
- prepareFirmwareUpdatePlan({
154
- plan: { ...plan, planDigest: 'f'.repeat(64) },
155
- leaseRef: 'fwlease:00000000-0000-4000-8000-000000000001',
156
- artifacts: [],
157
- })
158
- ).toThrow('plan digest is invalid');
159
- });
160
-
161
- test('projects portable archive paths to unique device resource names', () => {
162
- const plan = buildPlan();
163
- const buildArtifacts = (entryNames: string[]) => [
164
- {
165
- artifactId: 'firmware',
166
- artifact: artifact('a'.repeat(64), 4),
167
- },
168
- {
169
- artifactId: 'resource',
170
- artifact: artifact('b'.repeat(64), 8),
171
- materializedEntries: entryNames.map((entryName, index) => ({
172
- entryName,
173
- artifact: artifact(String(index + 1).repeat(64), 2),
174
- })),
175
- },
176
- ];
177
-
178
- expect(() =>
179
- prepareFirmwareUpdatePlan({
180
- plan,
181
- leaseRef: 'fwlease:00000000-0000-4000-8000-000000000001',
182
- artifacts: buildArtifacts(['icons/index.bin', 'fonts/index.bin']),
183
- })
184
- ).toThrow('duplicate entry names');
185
- expect(() =>
186
- prepareFirmwareUpdatePlan({
187
- plan,
188
- leaseRef: 'fwlease:00000000-0000-4000-8000-000000000001',
189
- artifacts: buildArtifacts(['../index.bin']),
190
- })
191
- ).toThrow('entry name is invalid');
192
- });
193
-
194
- test('rejects unknown fields even when a caller presents a plan-shaped object', () => {
195
- const plan = buildPlan();
196
- expect(() =>
197
- prepareFirmwareUpdatePlan({
198
- plan: {
199
- ...plan,
200
- artifacts: [
201
- {
202
- ...plan.artifacts[0],
203
- unexpectedUrl: 'https://attacker.invalid/payload',
204
- },
205
- plan.artifacts[1],
206
- ],
207
- } as typeof plan,
208
- leaseRef: 'fwlease:00000000-0000-4000-8000-000000000001',
209
- artifacts: [],
210
- })
211
- ).toThrow('invalid field set');
212
- });
213
- });
@@ -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;AAS5F,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,kBAoHzD,CAAC;AA4NF,eAAO,MAAM,uBAAuB;cASxB,QAAQ;kBACJ,aAAa;cACjB,sBAAsB;cACtB,gBAAgB;SACrB,gBAAgB;;;MAGnB,kBAiJH,CAAC"}
@@ -1,30 +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, }: {
12
- preparedPlan: unknown;
13
- deviceIdentity: string | undefined;
14
- }) => FirmwareUpdatePreparedPlan;
15
- type FirmwareUpdatePreparedBinding = {
16
- target: FirmwareUpdatePlan['targetsToUpdate'][number];
17
- artifact: FirmwareArtifactReference;
18
- logicalName?: string;
19
- entryName?: string;
20
- };
21
- export declare const assertFirmwareUpdatePreparedPlanBinding: ({ preparedPlan: value, executor, platform, deviceIdentity, scopeTargets, bindings, }: {
22
- preparedPlan: unknown;
23
- executor: FirmwareUpdatePreparedPlan['executor'];
24
- platform?: "native" | "desktop" | "ext" | "web" | "web-embed" | undefined;
25
- deviceIdentity?: string | undefined;
26
- scopeTargets: FirmwareUpdatePreparedPlan['targetsToUpdate'];
27
- bindings: FirmwareUpdatePreparedBinding[];
28
- }) => FirmwareUpdatePreparedPlan;
29
- export {};
30
- //# 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;AAEF,eAAO,MAAM,8CAA8C;kBAI3C,OAAO;oBACL,MAAM,GAAG,SAAS;MAChC,0BAMH,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"}