@onekeyfe/hd-core 1.2.0-alpha.23 → 1.2.0-alpha.24

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 (131) hide show
  1. package/__tests__/DeviceCommands.test.ts +35 -0
  2. package/__tests__/connectSettings.test.ts +5 -47
  3. package/__tests__/device-lifecycle-events.test.ts +59 -0
  4. package/__tests__/firmware-update/firmware-update-v2-download-before-boot.test.ts +30 -39
  5. package/__tests__/open-wallet-session.test.ts +192 -129
  6. package/__tests__/protocol-v2-ping.test.ts +28 -0
  7. package/__tests__/protocol-v2.test.ts +338 -376
  8. package/__tests__/public-pro2-api-boundary.test.ts +22 -0
  9. package/dist/api/CheckAllFirmwareRelease.d.ts.map +1 -1
  10. package/dist/api/FirmwareUpdateV2.d.ts +0 -11
  11. package/dist/api/FirmwareUpdateV2.d.ts.map +1 -1
  12. package/dist/api/FirmwareUpdateV3.d.ts +3 -7
  13. package/dist/api/FirmwareUpdateV3.d.ts.map +1 -1
  14. package/dist/api/FirmwareUpdateV4.d.ts +5 -21
  15. package/dist/api/FirmwareUpdateV4.d.ts.map +1 -1
  16. package/dist/api/OpenWalletSession.d.ts +1 -8
  17. package/dist/api/OpenWalletSession.d.ts.map +1 -1
  18. package/dist/api/device/DeviceUpdateBootloader.d.ts +1 -5
  19. package/dist/api/device/DeviceUpdateBootloader.d.ts.map +1 -1
  20. package/dist/api/firmware/FirmwareUpdateBaseMethod.d.ts +0 -7
  21. package/dist/api/firmware/FirmwareUpdateBaseMethod.d.ts.map +1 -1
  22. package/dist/api/firmware/getBinary.d.ts +0 -7
  23. package/dist/api/firmware/getBinary.d.ts.map +1 -1
  24. package/dist/api/firmware/updateBootloader.d.ts +0 -2
  25. package/dist/api/firmware/updateBootloader.d.ts.map +1 -1
  26. package/dist/api/firmware/uploadFirmware.d.ts +1 -9
  27. package/dist/api/firmware/uploadFirmware.d.ts.map +1 -1
  28. package/dist/api/index.d.ts +1 -0
  29. package/dist/api/index.d.ts.map +1 -1
  30. package/dist/api/protocol-v2/Ping.d.ts +2 -0
  31. package/dist/api/protocol-v2/Ping.d.ts.map +1 -1
  32. package/dist/api/stellar/StellarSignTransaction.d.ts +1 -1
  33. package/dist/core/index.d.ts.map +1 -1
  34. package/dist/data-manager/DataManager.d.ts +0 -1
  35. package/dist/data-manager/DataManager.d.ts.map +1 -1
  36. package/dist/data-manager/connectSettings.d.ts.map +1 -1
  37. package/dist/device/Device.d.ts.map +1 -1
  38. package/dist/device/DeviceCommands.d.ts.map +1 -1
  39. package/dist/index.d.ts +89 -273
  40. package/dist/index.d.ts.map +1 -1
  41. package/dist/index.js +783 -2443
  42. package/dist/inject.d.ts.map +1 -1
  43. package/dist/lowLevelInject.d.ts.map +1 -1
  44. package/dist/protocols/protocol-v2/unlockRetry.d.ts +2 -3
  45. package/dist/protocols/protocol-v2/unlockRetry.d.ts.map +1 -1
  46. package/dist/protocols/protocol-v2/walletSession.d.ts +12 -0
  47. package/dist/protocols/protocol-v2/walletSession.d.ts.map +1 -1
  48. package/dist/topLevelInject.d.ts.map +1 -1
  49. package/dist/types/api/checkAllFirmwareRelease.d.ts +0 -3
  50. package/dist/types/api/checkAllFirmwareRelease.d.ts.map +1 -1
  51. package/dist/types/api/deviceUpdateBootloader.d.ts +0 -6
  52. package/dist/types/api/deviceUpdateBootloader.d.ts.map +1 -1
  53. package/dist/types/api/export.d.ts +1 -4
  54. package/dist/types/api/export.d.ts.map +1 -1
  55. package/dist/types/api/firmwareUpdate.d.ts +0 -69
  56. package/dist/types/api/firmwareUpdate.d.ts.map +1 -1
  57. package/dist/types/api/index.d.ts +4 -10
  58. package/dist/types/api/index.d.ts.map +1 -1
  59. package/dist/types/api/openWalletSession.d.ts +0 -12
  60. package/dist/types/api/openWalletSession.d.ts.map +1 -1
  61. package/dist/types/api/protocolV2.d.ts +4 -0
  62. package/dist/types/api/protocolV2.d.ts.map +1 -1
  63. package/dist/types/settings.d.ts +0 -13
  64. package/dist/types/settings.d.ts.map +1 -1
  65. package/dist/utils/deviceInfoUtils.d.ts.map +1 -1
  66. package/dist/utils/patch.d.ts +1 -1
  67. package/dist/utils/patch.d.ts.map +1 -1
  68. package/package.json +4 -4
  69. package/src/api/CheckAllFirmwareRelease.ts +3 -23
  70. package/src/api/FirmwareUpdateV2.ts +120 -292
  71. package/src/api/FirmwareUpdateV3.ts +55 -256
  72. package/src/api/FirmwareUpdateV4.ts +297 -757
  73. package/src/api/OpenWalletSession.ts +23 -86
  74. package/src/api/device/DeviceUpdateBootloader.ts +6 -122
  75. package/src/api/firmware/FirmwareUpdateBaseMethod.ts +0 -50
  76. package/src/api/firmware/updateBootloader.ts +4 -19
  77. package/src/api/firmware/uploadFirmware.ts +22 -140
  78. package/src/api/index.ts +1 -0
  79. package/src/api/protocol-v2/Ping.ts +32 -1
  80. package/src/core/index.ts +39 -7
  81. package/src/data/messages/messages-protocol-v2.json +33 -1
  82. package/src/data-manager/DataManager.ts +33 -33
  83. package/src/data-manager/connectSettings.ts +0 -11
  84. package/src/device/Device.ts +7 -9
  85. package/src/device/DeviceCommands.ts +19 -0
  86. package/src/index.ts +0 -5
  87. package/src/inject.ts +4 -22
  88. package/src/lowLevelInject.ts +1 -5
  89. package/src/protocols/protocol-v2/unlockRetry.ts +20 -3
  90. package/src/protocols/protocol-v2/walletSession.ts +26 -8
  91. package/src/topLevelInject.ts +1 -5
  92. package/src/types/api/checkAllFirmwareRelease.ts +0 -3
  93. package/src/types/api/deviceUpdateBootloader.ts +0 -6
  94. package/src/types/api/export.ts +0 -18
  95. package/src/types/api/firmwareUpdate.ts +0 -76
  96. package/src/types/api/index.ts +3 -14
  97. package/src/types/api/openWalletSession.ts +0 -19
  98. package/src/types/api/protocolV2.ts +10 -0
  99. package/src/types/settings.ts +0 -13
  100. package/src/utils/deviceInfoUtils.ts +15 -3
  101. package/__tests__/firmware-update/check-all-firmware-release.test.ts +0 -86
  102. package/__tests__/firmware-update/firmware-artifact-source.test.ts +0 -119
  103. package/__tests__/firmware-update/firmware-host-binding.test.ts +0 -70
  104. package/__tests__/firmware-update/firmware-update-capabilities.test.ts +0 -13
  105. package/__tests__/firmware-update/firmware-update-plan.test.ts +0 -326
  106. package/__tests__/firmware-update/firmware-update-prepared-plan.test.ts +0 -213
  107. package/__tests__/firmware-update/firmware-upload-source.test.ts +0 -70
  108. package/dist/api/firmware/FirmwareArtifactSource.d.ts +0 -25
  109. package/dist/api/firmware/FirmwareArtifactSource.d.ts.map +0 -1
  110. package/dist/api/firmware/FirmwareHostBinding.d.ts +0 -6
  111. package/dist/api/firmware/FirmwareHostBinding.d.ts.map +0 -1
  112. package/dist/api/firmware/FirmwareUpdateCapabilities.d.ts +0 -3
  113. package/dist/api/firmware/FirmwareUpdateCapabilities.d.ts.map +0 -1
  114. package/dist/api/firmware/FirmwareUpdatePlan.d.ts +0 -23
  115. package/dist/api/firmware/FirmwareUpdatePlan.d.ts.map +0 -1
  116. package/dist/api/firmware/FirmwareUpdatePreparedPlan.d.ts +0 -30
  117. package/dist/api/firmware/FirmwareUpdatePreparedPlan.d.ts.map +0 -1
  118. package/dist/types/api/firmwareUpdateCapabilities.d.ts +0 -9
  119. package/dist/types/api/firmwareUpdateCapabilities.d.ts.map +0 -1
  120. package/dist/types/api/firmwareUpdatePlan.d.ts +0 -27
  121. package/dist/types/api/firmwareUpdatePlan.d.ts.map +0 -1
  122. package/dist/types/api/firmwareUpdatePreparedPlan.d.ts +0 -42
  123. package/dist/types/api/firmwareUpdatePreparedPlan.d.ts.map +0 -1
  124. package/src/api/firmware/FirmwareArtifactSource.ts +0 -278
  125. package/src/api/firmware/FirmwareHostBinding.ts +0 -100
  126. package/src/api/firmware/FirmwareUpdateCapabilities.ts +0 -9
  127. package/src/api/firmware/FirmwareUpdatePlan.ts +0 -621
  128. package/src/api/firmware/FirmwareUpdatePreparedPlan.ts +0 -392
  129. package/src/types/api/firmwareUpdateCapabilities.ts +0 -9
  130. package/src/types/api/firmwareUpdatePlan.ts +0 -36
  131. 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 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,23 +0,0 @@
1
- import { EFirmwareType } from '@onekeyfe/hd-shared';
2
- import type { FirmwareUpdatePlan, 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 FIRMWARE_UPDATE_PLAN_TARGETS: Set<FirmwareUpdatePlanTarget>;
12
- export declare const FIRMWARE_UPDATE_PLAN_ROLES: Set<string>;
13
- export declare const assertFirmwareUpdatePlan: (value: unknown) => FirmwareUpdatePlan;
14
- export declare const buildFirmwareUpdatePlan: ({ features, firmwareType, platform, firmware, ble, bootloader, }: {
15
- features: Features;
16
- firmwareType: EFirmwareType;
17
- platform: FirmwareUpdatePlatform;
18
- firmware: ReleaseSelection;
19
- ble: ReleaseSelection;
20
- bootloader?: ReleaseSelection | undefined;
21
- }) => FirmwareUpdatePlan;
22
- export {};
23
- //# 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,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;AAmGF,eAAO,MAAM,4BAA4B,UAAW,OAAO,KAAG,MAG3D,CAAC;AAgCJ,eAAO,MAAM,4BAA4B,+BAavC,CAAC;AAEH,eAAO,MAAM,0BAA0B,aAOrC,CAAC;AAYH,eAAO,MAAM,wBAAwB,UAAW,OAAO,KAAG,kBAoHzD,CAAC;AA2JF,eAAO,MAAM,uBAAuB;cAQxB,QAAQ;kBACJ,aAAa;cACjB,sBAAsB;cACtB,gBAAgB;SACrB,gBAAgB;;MAEnB,kBAwHH,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,27 +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 interface FirmwareUpdatePlanArtifact {
6
- artifactId: string;
7
- role: FirmwareUpdatePlanArtifactRole;
8
- target: FirmwareUpdatePlanTarget;
9
- url: string;
10
- container: 'raw' | 'zip';
11
- logicalName?: string;
12
- expectedSize?: number;
13
- expectedSha256?: string;
14
- targetVersion?: string;
15
- }
16
- export interface FirmwareUpdatePlan {
17
- schemaVersion: 2;
18
- planDigest: string;
19
- executor: 'v2' | 'v3' | 'v4';
20
- deviceIdentity: string;
21
- deviceModel: string;
22
- firmwareType: EFirmwareType;
23
- platform: 'native' | 'desktop' | 'ext' | 'web' | 'web-embed';
24
- artifacts: FirmwareUpdatePlanArtifact[];
25
- targetsToUpdate: FirmwareUpdatePlanTarget[];
26
- }
27
- //# 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,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"}