@onekeyfe/hd-core 1.2.0-alpha.22 → 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 (151) hide show
  1. package/__tests__/DeviceCommands.test.ts +43 -8
  2. package/__tests__/connectSettings.test.ts +5 -47
  3. package/__tests__/device-lifecycle-events.test.ts +59 -0
  4. package/__tests__/device-settings.test.ts +1 -1
  5. package/__tests__/device-wallet-session-store.test.ts +41 -0
  6. package/__tests__/firmware-update/firmware-update-v2-download-before-boot.test.ts +30 -39
  7. package/__tests__/logBlockEvent.test.ts +17 -0
  8. package/__tests__/open-wallet-session.test.ts +233 -111
  9. package/__tests__/protocol-v2-ping.test.ts +28 -0
  10. package/__tests__/protocol-v2.test.ts +513 -313
  11. package/__tests__/public-pro2-api-boundary.test.ts +22 -0
  12. package/dist/api/CheckAllFirmwareRelease.d.ts.map +1 -1
  13. package/dist/api/FirmwareUpdateV2.d.ts +0 -11
  14. package/dist/api/FirmwareUpdateV2.d.ts.map +1 -1
  15. package/dist/api/FirmwareUpdateV3.d.ts +3 -7
  16. package/dist/api/FirmwareUpdateV3.d.ts.map +1 -1
  17. package/dist/api/FirmwareUpdateV4.d.ts +5 -21
  18. package/dist/api/FirmwareUpdateV4.d.ts.map +1 -1
  19. package/dist/api/GetPassphraseState.d.ts.map +1 -1
  20. package/dist/api/OpenWalletSession.d.ts +1 -8
  21. package/dist/api/OpenWalletSession.d.ts.map +1 -1
  22. package/dist/api/device/DeviceUpdateBootloader.d.ts +1 -5
  23. package/dist/api/device/DeviceUpdateBootloader.d.ts.map +1 -1
  24. package/dist/api/device/DeviceWipe.d.ts.map +1 -1
  25. package/dist/api/firmware/FirmwareUpdateBaseMethod.d.ts +0 -7
  26. package/dist/api/firmware/FirmwareUpdateBaseMethod.d.ts.map +1 -1
  27. package/dist/api/firmware/getBinary.d.ts +0 -7
  28. package/dist/api/firmware/getBinary.d.ts.map +1 -1
  29. package/dist/api/firmware/updateBootloader.d.ts +0 -2
  30. package/dist/api/firmware/updateBootloader.d.ts.map +1 -1
  31. package/dist/api/firmware/uploadFirmware.d.ts +1 -9
  32. package/dist/api/firmware/uploadFirmware.d.ts.map +1 -1
  33. package/dist/api/index.d.ts +1 -0
  34. package/dist/api/index.d.ts.map +1 -1
  35. package/dist/api/protocol-v2/Ping.d.ts +2 -0
  36. package/dist/api/protocol-v2/Ping.d.ts.map +1 -1
  37. package/dist/api/stellar/StellarSignTransaction.d.ts +1 -1
  38. package/dist/core/index.d.ts.map +1 -1
  39. package/dist/data-manager/DataManager.d.ts +0 -1
  40. package/dist/data-manager/DataManager.d.ts.map +1 -1
  41. package/dist/data-manager/connectSettings.d.ts.map +1 -1
  42. package/dist/device/Device.d.ts +3 -2
  43. package/dist/device/Device.d.ts.map +1 -1
  44. package/dist/device/DeviceCommands.d.ts.map +1 -1
  45. package/dist/events/device.d.ts +1 -0
  46. package/dist/events/device.d.ts.map +1 -1
  47. package/dist/events/logBlockEvent.d.ts.map +1 -1
  48. package/dist/events/ui-request.d.ts +1 -0
  49. package/dist/events/ui-request.d.ts.map +1 -1
  50. package/dist/index.d.ts +98 -278
  51. package/dist/index.d.ts.map +1 -1
  52. package/dist/index.js +876 -2647
  53. package/dist/inject.d.ts.map +1 -1
  54. package/dist/lowLevelInject.d.ts.map +1 -1
  55. package/dist/protocols/protocol-v2/settingsUnlockPolicy.d.ts.map +1 -1
  56. package/dist/protocols/protocol-v2/unlockRetry.d.ts +2 -3
  57. package/dist/protocols/protocol-v2/unlockRetry.d.ts.map +1 -1
  58. package/dist/protocols/protocol-v2/walletSession.d.ts +12 -0
  59. package/dist/protocols/protocol-v2/walletSession.d.ts.map +1 -1
  60. package/dist/topLevelInject.d.ts.map +1 -1
  61. package/dist/types/api/checkAllFirmwareRelease.d.ts +0 -3
  62. package/dist/types/api/checkAllFirmwareRelease.d.ts.map +1 -1
  63. package/dist/types/api/deviceUpdateBootloader.d.ts +0 -6
  64. package/dist/types/api/deviceUpdateBootloader.d.ts.map +1 -1
  65. package/dist/types/api/export.d.ts +1 -4
  66. package/dist/types/api/export.d.ts.map +1 -1
  67. package/dist/types/api/firmwareUpdate.d.ts +0 -69
  68. package/dist/types/api/firmwareUpdate.d.ts.map +1 -1
  69. package/dist/types/api/getPassphraseState.d.ts.map +1 -1
  70. package/dist/types/api/index.d.ts +4 -10
  71. package/dist/types/api/index.d.ts.map +1 -1
  72. package/dist/types/api/openWalletSession.d.ts +0 -12
  73. package/dist/types/api/openWalletSession.d.ts.map +1 -1
  74. package/dist/types/api/protocolV2.d.ts +4 -0
  75. package/dist/types/api/protocolV2.d.ts.map +1 -1
  76. package/dist/types/settings.d.ts +0 -13
  77. package/dist/types/settings.d.ts.map +1 -1
  78. package/dist/utils/deviceInfoUtils.d.ts.map +1 -1
  79. package/dist/utils/patch.d.ts +1 -1
  80. package/dist/utils/patch.d.ts.map +1 -1
  81. package/package.json +4 -4
  82. package/src/api/CheckAllFirmwareRelease.ts +3 -16
  83. package/src/api/FirmwareUpdateV2.ts +119 -284
  84. package/src/api/FirmwareUpdateV3.ts +55 -248
  85. package/src/api/FirmwareUpdateV4.ts +293 -751
  86. package/src/api/GetPassphraseState.ts +11 -5
  87. package/src/api/OpenWalletSession.ts +23 -86
  88. package/src/api/device/DeviceUpdateBootloader.ts +6 -114
  89. package/src/api/device/DeviceWipe.ts +2 -0
  90. package/src/api/firmware/FirmwareUpdateBaseMethod.ts +0 -50
  91. package/src/api/firmware/updateBootloader.ts +4 -19
  92. package/src/api/firmware/uploadFirmware.ts +22 -140
  93. package/src/api/index.ts +1 -0
  94. package/src/api/protocol-v2/Ping.ts +32 -1
  95. package/src/core/index.ts +40 -7
  96. package/src/data/messages/messages-protocol-v2.json +49 -56
  97. package/src/data-manager/DataManager.ts +33 -33
  98. package/src/data-manager/connectSettings.ts +0 -11
  99. package/src/device/Device.ts +29 -8
  100. package/src/device/DeviceCommands.ts +43 -151
  101. package/src/events/device.ts +1 -0
  102. package/src/events/logBlockEvent.ts +1 -15
  103. package/src/events/ui-request.ts +1 -0
  104. package/src/index.ts +0 -5
  105. package/src/inject.ts +4 -22
  106. package/src/lowLevelInject.ts +1 -5
  107. package/src/protocols/protocol-v2/deviceSession.ts +1 -1
  108. package/src/protocols/protocol-v2/settingsUnlockPolicy.ts +0 -1
  109. package/src/protocols/protocol-v2/unlockRetry.ts +20 -3
  110. package/src/protocols/protocol-v2/walletSession.ts +57 -18
  111. package/src/topLevelInject.ts +1 -5
  112. package/src/types/api/checkAllFirmwareRelease.ts +0 -3
  113. package/src/types/api/deviceUpdateBootloader.ts +0 -6
  114. package/src/types/api/export.ts +0 -18
  115. package/src/types/api/firmwareUpdate.ts +0 -76
  116. package/src/types/api/getPassphraseState.ts +4 -3
  117. package/src/types/api/index.ts +3 -14
  118. package/src/types/api/openWalletSession.ts +0 -19
  119. package/src/types/api/protocolV2.ts +10 -0
  120. package/src/types/settings.ts +0 -13
  121. package/src/utils/deviceInfoUtils.ts +2 -3
  122. package/__tests__/firmware-update/firmware-artifact-source.test.ts +0 -119
  123. package/__tests__/firmware-update/firmware-host-binding.test.ts +0 -70
  124. package/__tests__/firmware-update/firmware-update-capabilities.test.ts +0 -13
  125. package/__tests__/firmware-update/firmware-update-plan.test.ts +0 -326
  126. package/__tests__/firmware-update/firmware-update-prepared-plan.test.ts +0 -200
  127. package/__tests__/firmware-update/firmware-upload-source.test.ts +0 -70
  128. package/dist/api/firmware/FirmwareArtifactSource.d.ts +0 -26
  129. package/dist/api/firmware/FirmwareArtifactSource.d.ts.map +0 -1
  130. package/dist/api/firmware/FirmwareHostBinding.d.ts +0 -6
  131. package/dist/api/firmware/FirmwareHostBinding.d.ts.map +0 -1
  132. package/dist/api/firmware/FirmwareUpdateCapabilities.d.ts +0 -3
  133. package/dist/api/firmware/FirmwareUpdateCapabilities.d.ts.map +0 -1
  134. package/dist/api/firmware/FirmwareUpdatePlan.d.ts +0 -24
  135. package/dist/api/firmware/FirmwareUpdatePlan.d.ts.map +0 -1
  136. package/dist/api/firmware/FirmwareUpdatePreparedPlan.d.ts +0 -25
  137. package/dist/api/firmware/FirmwareUpdatePreparedPlan.d.ts.map +0 -1
  138. package/dist/types/api/firmwareUpdateCapabilities.d.ts +0 -9
  139. package/dist/types/api/firmwareUpdateCapabilities.d.ts.map +0 -1
  140. package/dist/types/api/firmwareUpdatePlan.d.ts +0 -27
  141. package/dist/types/api/firmwareUpdatePlan.d.ts.map +0 -1
  142. package/dist/types/api/firmwareUpdatePreparedPlan.d.ts +0 -42
  143. package/dist/types/api/firmwareUpdatePreparedPlan.d.ts.map +0 -1
  144. package/src/api/firmware/FirmwareArtifactSource.ts +0 -278
  145. package/src/api/firmware/FirmwareHostBinding.ts +0 -100
  146. package/src/api/firmware/FirmwareUpdateCapabilities.ts +0 -9
  147. package/src/api/firmware/FirmwareUpdatePlan.ts +0 -621
  148. package/src/api/firmware/FirmwareUpdatePreparedPlan.ts +0 -378
  149. package/src/types/api/firmwareUpdateCapabilities.ts +0 -9
  150. package/src/types/api/firmwareUpdatePlan.ts +0 -36
  151. package/src/types/api/firmwareUpdatePreparedPlan.ts +0 -53
@@ -1,200 +0,0 @@
1
- import { EDeviceType, EFirmwareType } from '@onekeyfe/hd-shared';
2
-
3
- import { buildFirmwareUpdatePlan } from '../../src/api/firmware/FirmwareUpdatePlan';
4
- import {
5
- assertFirmwareUpdatePreparedPlanBinding,
6
- prepareFirmwareUpdatePlan,
7
- validateFirmwareUpdatePreparedPlan,
8
- } from '../../src/api/firmware/FirmwareUpdatePreparedPlan';
9
-
10
- import type { Features } from '../../src/types';
11
-
12
- const buildPlan = () =>
13
- buildFirmwareUpdatePlan({
14
- features: {
15
- deviceType: EDeviceType.Classic1s,
16
- serialNo: 'classic1s-device-id',
17
- firmwareVersion: '1.0.0',
18
- bootloaderVersion: '1.0.0',
19
- } as Features,
20
- firmwareType: EFirmwareType.Universal,
21
- platform: 'native',
22
- firmware: {
23
- status: 'outdated',
24
- release: {
25
- url: 'https://firmware.onekey.so/classic/firmware.bin',
26
- expectedSize: 4,
27
- fingerprint: 'a'.repeat(64),
28
- version: [3, 0, 0],
29
- resource: 'https://firmware.onekey.so/classic/resource.zip',
30
- resourceExpectedSize: 8,
31
- resourceFingerprint: 'b'.repeat(64),
32
- },
33
- },
34
- ble: {
35
- status: 'valid',
36
- release: undefined,
37
- },
38
- bootloader: {
39
- status: 'valid',
40
- release: undefined,
41
- },
42
- });
43
-
44
- const artifact = (sha256: string, size: number) => ({
45
- artifactRef: `fw:${sha256}`,
46
- size,
47
- sha256,
48
- });
49
-
50
- describe('FirmwareUpdatePreparedPlan', () => {
51
- test('binds all receipts into a URL-free, network-forbidden plan', () => {
52
- const plan = buildPlan();
53
- const prepared = prepareFirmwareUpdatePlan({
54
- plan,
55
- leaseRef: 'fwlease:00000000-0000-4000-8000-000000000001',
56
- artifacts: [
57
- {
58
- artifactId: 'firmware',
59
- artifact: artifact('a'.repeat(64), 4),
60
- },
61
- {
62
- artifactId: 'resource',
63
- artifact: artifact('b'.repeat(64), 8),
64
- materializedEntries: [
65
- {
66
- entryName: 'resource/index.bin',
67
- artifact: artifact('c'.repeat(64), 2),
68
- },
69
- ],
70
- },
71
- ],
72
- });
73
-
74
- expect(prepared.networkPolicy).toBe('forbid');
75
- expect(prepared.planDigest).toBe(plan.planDigest);
76
- expect(prepared.preparedPlanDigest).toMatch(/^[a-f0-9]{64}$/u);
77
- expect(JSON.stringify(prepared)).not.toContain('https://');
78
- expect(validateFirmwareUpdatePreparedPlan(prepared)).toEqual(prepared);
79
- expect(
80
- assertFirmwareUpdatePreparedPlanBinding({
81
- preparedPlan: prepared,
82
- executor: 'v2',
83
- platform: 'native',
84
- scopeTargets: ['firmware', 'resource'],
85
- bindings: [
86
- {
87
- target: 'firmware',
88
- artifact: artifact('a'.repeat(64), 4),
89
- },
90
- {
91
- target: 'resource',
92
- entryName: 'resource/index.bin',
93
- artifact: artifact('c'.repeat(64), 2),
94
- },
95
- ],
96
- })
97
- ).toEqual(prepared);
98
- expect(() =>
99
- assertFirmwareUpdatePreparedPlanBinding({
100
- preparedPlan: prepared,
101
- executor: 'v2',
102
- platform: 'native',
103
- scopeTargets: ['firmware'],
104
- bindings: [
105
- {
106
- target: 'firmware',
107
- artifact: artifact('b'.repeat(64), 8),
108
- },
109
- ],
110
- })
111
- ).toThrow('artifact binding is invalid');
112
- });
113
-
114
- test('rejects receipt drift and a tampered update plan digest', () => {
115
- const plan = buildPlan();
116
- expect(() =>
117
- prepareFirmwareUpdatePlan({
118
- plan,
119
- leaseRef: 'fwlease:00000000-0000-4000-8000-000000000001',
120
- artifacts: [
121
- {
122
- artifactId: 'firmware',
123
- artifact: artifact('d'.repeat(64), 4),
124
- },
125
- {
126
- artifactId: 'resource',
127
- artifact: artifact('b'.repeat(64), 8),
128
- materializedEntries: [
129
- {
130
- entryName: 'resource/index.bin',
131
- artifact: artifact('c'.repeat(64), 2),
132
- },
133
- ],
134
- },
135
- ],
136
- })
137
- ).toThrow('receipt does not match');
138
-
139
- expect(() =>
140
- prepareFirmwareUpdatePlan({
141
- plan: { ...plan, planDigest: 'f'.repeat(64) },
142
- leaseRef: 'fwlease:00000000-0000-4000-8000-000000000001',
143
- artifacts: [],
144
- })
145
- ).toThrow('plan digest is invalid');
146
- });
147
-
148
- test('projects portable archive paths to unique device resource names', () => {
149
- const plan = buildPlan();
150
- const buildArtifacts = (entryNames: string[]) => [
151
- {
152
- artifactId: 'firmware',
153
- artifact: artifact('a'.repeat(64), 4),
154
- },
155
- {
156
- artifactId: 'resource',
157
- artifact: artifact('b'.repeat(64), 8),
158
- materializedEntries: entryNames.map((entryName, index) => ({
159
- entryName,
160
- artifact: artifact(String(index + 1).repeat(64), 2),
161
- })),
162
- },
163
- ];
164
-
165
- expect(() =>
166
- prepareFirmwareUpdatePlan({
167
- plan,
168
- leaseRef: 'fwlease:00000000-0000-4000-8000-000000000001',
169
- artifacts: buildArtifacts(['icons/index.bin', 'fonts/index.bin']),
170
- })
171
- ).toThrow('duplicate entry names');
172
- expect(() =>
173
- prepareFirmwareUpdatePlan({
174
- plan,
175
- leaseRef: 'fwlease:00000000-0000-4000-8000-000000000001',
176
- artifacts: buildArtifacts(['../index.bin']),
177
- })
178
- ).toThrow('entry name is invalid');
179
- });
180
-
181
- test('rejects unknown fields even when a caller presents a plan-shaped object', () => {
182
- const plan = buildPlan();
183
- expect(() =>
184
- prepareFirmwareUpdatePlan({
185
- plan: {
186
- ...plan,
187
- artifacts: [
188
- {
189
- ...plan.artifacts[0],
190
- unexpectedUrl: 'https://attacker.invalid/payload',
191
- },
192
- plan.artifacts[1],
193
- ],
194
- } as typeof plan,
195
- leaseRef: 'fwlease:00000000-0000-4000-8000-000000000001',
196
- artifacts: [],
197
- })
198
- ).toThrow('invalid field set');
199
- });
200
- });
@@ -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,26 +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 assertFirmwareArtifactRead: (size: number, offset: number, length: number) => void;
10
- export declare const openFirmwareByteSource: ({ binary, artifact, reader, }: {
11
- binary?: ArrayBuffer | undefined;
12
- artifact?: FirmwareArtifactReference | undefined;
13
- reader?: FirmwareArtifactReader | undefined;
14
- }) => Promise<FirmwareByteSource | null>;
15
- export declare const readFirmwareByteSourceFully: (source: FirmwareByteSource) => Promise<ArrayBuffer>;
16
- export declare const writeFirmwareByteSource: ({ source, chunkSize, write, }: {
17
- source: FirmwareByteSource;
18
- chunkSize: number;
19
- write: (input: {
20
- data: ArrayBuffer;
21
- sourceOffset: number;
22
- length: number;
23
- first: boolean;
24
- }) => Promise<number>;
25
- }) => Promise<number>;
26
- //# 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;AAEF,eAAO,MAAM,0BAA0B,SAAU,MAAM,UAAU,MAAM,UAAU,MAAM,SAoBtF,CAAC;AA8GF,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,24 +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 digestFirmwareUpdatePlan: (plan: Omit<FirmwareUpdatePlan, 'planDigest'>) => string;
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, }: {
16
- features: Features;
17
- firmwareType: EFirmwareType;
18
- platform: FirmwareUpdatePlatform;
19
- firmware: ReleaseSelection;
20
- ble: ReleaseSelection;
21
- bootloader?: ReleaseSelection | undefined;
22
- }) => FirmwareUpdatePlan;
23
- export {};
24
- //# 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;AAEJ,eAAO,MAAM,wBAAwB,SAAU,KAAK,kBAAkB,EAAE,YAAY,CAAC,KAAG,MACpD,CAAC;AA6BrC,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,25 +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 type FirmwareUpdatePreparedBinding = {
12
- target: FirmwareUpdatePlan['targetsToUpdate'][number];
13
- artifact: FirmwareArtifactReference;
14
- logicalName?: string;
15
- entryName?: string;
16
- };
17
- export declare const assertFirmwareUpdatePreparedPlanBinding: ({ preparedPlan: value, executor, platform, deviceIdentity, scopeTargets, bindings, }: {
18
- preparedPlan: unknown;
19
- executor: FirmwareUpdatePreparedPlan['executor'];
20
- platform?: "native" | "desktop" | "ext" | "web" | "web-embed" | undefined;
21
- deviceIdentity?: string | undefined;
22
- scopeTargets: FirmwareUpdatePreparedPlan['targetsToUpdate'];
23
- bindings: FirmwareUpdatePreparedBinding[];
24
- }) => FirmwareUpdatePreparedPlan;
25
- //# 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,MAAM,MAAM,6BAA6B,GAAG;IAC1C,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"}