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

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 (192) hide show
  1. package/__tests__/DeviceCommands.test.ts +85 -0
  2. package/__tests__/connectSettings.test.ts +47 -5
  3. package/__tests__/device-identity.test.ts +24 -2
  4. package/__tests__/device-settings.test.ts +2 -2
  5. package/__tests__/device-wallet-session-store.test.ts +152 -7
  6. package/__tests__/firmware-update/check-all-firmware-release.test.ts +86 -0
  7. package/__tests__/firmware-update/firmware-artifact-source.test.ts +119 -0
  8. package/__tests__/firmware-update/firmware-host-binding.test.ts +70 -0
  9. package/__tests__/firmware-update/firmware-update-capabilities.test.ts +13 -0
  10. package/__tests__/firmware-update/firmware-update-plan.test.ts +326 -0
  11. package/__tests__/firmware-update/firmware-update-prepared-plan.test.ts +213 -0
  12. package/__tests__/firmware-update/firmware-update-v2-download-before-boot.test.ts +39 -30
  13. package/__tests__/firmware-update/firmware-upload-source.test.ts +70 -0
  14. package/__tests__/logBlockEvent.test.ts +17 -0
  15. package/__tests__/open-wallet-session.test.ts +311 -12
  16. package/__tests__/pro2Wallpaper.test.ts +7 -18
  17. package/__tests__/protocol-v2-unlock-policy.test.ts +45 -0
  18. package/__tests__/protocol-v2.test.ts +685 -177
  19. package/__tests__/public-device-state-api.test.ts +69 -62
  20. package/__tests__/public-pro2-api-boundary.test.ts +8 -34
  21. package/dist/api/BaseMethod.d.ts +2 -1
  22. package/dist/api/BaseMethod.d.ts.map +1 -1
  23. package/dist/api/CheckAllFirmwareRelease.d.ts.map +1 -1
  24. package/dist/api/ClearSessionCache.d.ts.map +1 -1
  25. package/dist/api/FirmwareUpdate.d.ts.map +1 -1
  26. package/dist/api/FirmwareUpdateV2.d.ts +11 -0
  27. package/dist/api/FirmwareUpdateV2.d.ts.map +1 -1
  28. package/dist/api/FirmwareUpdateV3.d.ts +7 -3
  29. package/dist/api/FirmwareUpdateV3.d.ts.map +1 -1
  30. package/dist/api/FirmwareUpdateV4.d.ts +29 -10
  31. package/dist/api/FirmwareUpdateV4.d.ts.map +1 -1
  32. package/dist/api/GetPassphraseState.d.ts.map +1 -1
  33. package/dist/api/OpenWalletSession.d.ts.map +1 -1
  34. package/dist/api/conflux/ConfluxGetAddress.d.ts +1 -0
  35. package/dist/api/conflux/ConfluxGetAddress.d.ts.map +1 -1
  36. package/dist/api/conflux/ConfluxSignMessage.d.ts +1 -0
  37. package/dist/api/conflux/ConfluxSignMessage.d.ts.map +1 -1
  38. package/dist/api/conflux/ConfluxSignMessageCIP23.d.ts +1 -0
  39. package/dist/api/conflux/ConfluxSignMessageCIP23.d.ts.map +1 -1
  40. package/dist/api/conflux/ConfluxSignTransaction.d.ts +1 -0
  41. package/dist/api/conflux/ConfluxSignTransaction.d.ts.map +1 -1
  42. package/dist/api/device/DeviceUnlock.d.ts +1 -1
  43. package/dist/api/device/DeviceUnlock.d.ts.map +1 -1
  44. package/dist/api/device/DeviceUpdateBootloader.d.ts +5 -1
  45. package/dist/api/device/DeviceUpdateBootloader.d.ts.map +1 -1
  46. package/dist/api/device/DeviceWipe.d.ts.map +1 -1
  47. package/dist/api/firmware/FirmwareArtifactSource.d.ts +25 -0
  48. package/dist/api/firmware/FirmwareArtifactSource.d.ts.map +1 -0
  49. package/dist/api/firmware/FirmwareHostBinding.d.ts +6 -0
  50. package/dist/api/firmware/FirmwareHostBinding.d.ts.map +1 -0
  51. package/dist/api/firmware/FirmwareUpdateBaseMethod.d.ts +7 -0
  52. package/dist/api/firmware/FirmwareUpdateBaseMethod.d.ts.map +1 -1
  53. package/dist/api/firmware/FirmwareUpdateCapabilities.d.ts +3 -0
  54. package/dist/api/firmware/FirmwareUpdateCapabilities.d.ts.map +1 -0
  55. package/dist/api/firmware/FirmwareUpdatePlan.d.ts +23 -0
  56. package/dist/api/firmware/FirmwareUpdatePlan.d.ts.map +1 -0
  57. package/dist/api/firmware/FirmwareUpdatePreparedPlan.d.ts +30 -0
  58. package/dist/api/firmware/FirmwareUpdatePreparedPlan.d.ts.map +1 -0
  59. package/dist/api/firmware/getBinary.d.ts +7 -0
  60. package/dist/api/firmware/getBinary.d.ts.map +1 -1
  61. package/dist/api/firmware/updateBootloader.d.ts +2 -0
  62. package/dist/api/firmware/updateBootloader.d.ts.map +1 -1
  63. package/dist/api/firmware/uploadFirmware.d.ts +9 -1
  64. package/dist/api/firmware/uploadFirmware.d.ts.map +1 -1
  65. package/dist/api/helpers/protocolV2FileWrite.d.ts.map +1 -1
  66. package/dist/api/index.d.ts +0 -17
  67. package/dist/api/index.d.ts.map +1 -1
  68. package/dist/api/nexa/NexaSignTransaction.d.ts +1 -0
  69. package/dist/api/nexa/NexaSignTransaction.d.ts.map +1 -1
  70. package/dist/api/stellar/StellarSignTransaction.d.ts +1 -1
  71. package/dist/core/index.d.ts.map +1 -1
  72. package/dist/data-manager/DataManager.d.ts +1 -0
  73. package/dist/data-manager/DataManager.d.ts.map +1 -1
  74. package/dist/data-manager/connectSettings.d.ts.map +1 -1
  75. package/dist/device/Device.d.ts +3 -2
  76. package/dist/device/Device.d.ts.map +1 -1
  77. package/dist/device/DeviceCommands.d.ts.map +1 -1
  78. package/dist/device/DeviceStateMapper.d.ts.map +1 -1
  79. package/dist/device/DeviceStateProjector.d.ts.map +1 -1
  80. package/dist/events/device.d.ts +1 -0
  81. package/dist/events/device.d.ts.map +1 -1
  82. package/dist/events/logBlockEvent.d.ts.map +1 -1
  83. package/dist/events/ui-request.d.ts +1 -0
  84. package/dist/events/ui-request.d.ts.map +1 -1
  85. package/dist/index.d.ts +273 -230
  86. package/dist/index.d.ts.map +1 -1
  87. package/dist/index.js +3060 -1676
  88. package/dist/inject.d.ts.map +1 -1
  89. package/dist/lowLevelInject.d.ts.map +1 -1
  90. package/dist/protocols/protocol-v2/settingsUnlockPolicy.d.ts.map +1 -1
  91. package/dist/protocols/protocol-v2/unlockPolicy.d.ts +4 -0
  92. package/dist/protocols/protocol-v2/unlockPolicy.d.ts.map +1 -0
  93. package/dist/protocols/protocol-v2/unlockRetry.d.ts.map +1 -1
  94. package/dist/protocols/protocol-v2/walletSession.d.ts.map +1 -1
  95. package/dist/topLevelInject.d.ts.map +1 -1
  96. package/dist/types/api/checkAllFirmwareRelease.d.ts +3 -0
  97. package/dist/types/api/checkAllFirmwareRelease.d.ts.map +1 -1
  98. package/dist/types/api/deviceUnlock.d.ts +2 -2
  99. package/dist/types/api/deviceUnlock.d.ts.map +1 -1
  100. package/dist/types/api/deviceUpdateBootloader.d.ts +6 -0
  101. package/dist/types/api/deviceUpdateBootloader.d.ts.map +1 -1
  102. package/dist/types/api/export.d.ts +4 -1
  103. package/dist/types/api/export.d.ts.map +1 -1
  104. package/dist/types/api/firmwareUpdate.d.ts +69 -0
  105. package/dist/types/api/firmwareUpdate.d.ts.map +1 -1
  106. package/dist/types/api/firmwareUpdateCapabilities.d.ts +9 -0
  107. package/dist/types/api/firmwareUpdateCapabilities.d.ts.map +1 -0
  108. package/dist/types/api/firmwareUpdatePlan.d.ts +27 -0
  109. package/dist/types/api/firmwareUpdatePlan.d.ts.map +1 -0
  110. package/dist/types/api/firmwareUpdatePreparedPlan.d.ts +42 -0
  111. package/dist/types/api/firmwareUpdatePreparedPlan.d.ts.map +1 -0
  112. package/dist/types/api/getPassphraseState.d.ts.map +1 -1
  113. package/dist/types/api/index.d.ts +10 -19
  114. package/dist/types/api/index.d.ts.map +1 -1
  115. package/dist/types/api/openWalletSession.d.ts +1 -0
  116. package/dist/types/api/openWalletSession.d.ts.map +1 -1
  117. package/dist/types/api/protocolV2.d.ts +3 -76
  118. package/dist/types/api/protocolV2.d.ts.map +1 -1
  119. package/dist/types/api/sessionCache.d.ts +4 -1
  120. package/dist/types/api/sessionCache.d.ts.map +1 -1
  121. package/dist/types/settings.d.ts +13 -0
  122. package/dist/types/settings.d.ts.map +1 -1
  123. package/dist/utils/deviceFeaturesUtils.d.ts.map +1 -1
  124. package/dist/utils/deviceInfoUtils.d.ts.map +1 -1
  125. package/dist/utils/patch.d.ts +1 -1
  126. package/dist/utils/patch.d.ts.map +1 -1
  127. package/package.json +4 -4
  128. package/src/api/BaseMethod.ts +8 -3
  129. package/src/api/CheckAllFirmwareRelease.ts +23 -3
  130. package/src/api/ClearSessionCache.ts +4 -0
  131. package/src/api/FirmwareUpdate.ts +8 -1
  132. package/src/api/FirmwareUpdateV2.ts +292 -120
  133. package/src/api/FirmwareUpdateV3.ts +256 -55
  134. package/src/api/FirmwareUpdateV4.ts +821 -331
  135. package/src/api/GetPassphraseState.ts +11 -5
  136. package/src/api/OpenWalletSession.ts +74 -25
  137. package/src/api/UploadPortfolio.ts +1 -1
  138. package/src/api/conflux/ConfluxGetAddress.ts +2 -0
  139. package/src/api/conflux/ConfluxSignMessage.ts +2 -0
  140. package/src/api/conflux/ConfluxSignMessageCIP23.ts +2 -0
  141. package/src/api/conflux/ConfluxSignTransaction.ts +2 -0
  142. package/src/api/device/DeviceChangePin.ts +1 -1
  143. package/src/api/device/DeviceUnlock.ts +1 -2
  144. package/src/api/device/DeviceUpdateBootloader.ts +122 -6
  145. package/src/api/device/DeviceWipe.ts +3 -1
  146. package/src/api/firmware/FirmwareArtifactSource.ts +278 -0
  147. package/src/api/firmware/FirmwareHostBinding.ts +100 -0
  148. package/src/api/firmware/FirmwareUpdateBaseMethod.ts +50 -0
  149. package/src/api/firmware/FirmwareUpdateCapabilities.ts +9 -0
  150. package/src/api/firmware/FirmwareUpdatePlan.ts +621 -0
  151. package/src/api/firmware/FirmwareUpdatePreparedPlan.ts +392 -0
  152. package/src/api/firmware/updateBootloader.ts +19 -4
  153. package/src/api/firmware/uploadFirmware.ts +140 -22
  154. package/src/api/helpers/protocolV2FileWrite.ts +6 -0
  155. package/src/api/index.ts +0 -18
  156. package/src/api/nexa/NexaSignTransaction.ts +2 -0
  157. package/src/api/protocol-v2/DeviceUploadWallpaper.ts +1 -1
  158. package/src/core/index.ts +1 -0
  159. package/src/data/messages/messages-protocol-v2.json +35 -1
  160. package/src/data-manager/DataManager.ts +33 -33
  161. package/src/data-manager/connectSettings.ts +11 -0
  162. package/src/device/Device.ts +80 -67
  163. package/src/device/DeviceCommands.ts +76 -159
  164. package/src/device/DeviceStateMapper.ts +18 -1
  165. package/src/device/DeviceStateProjector.ts +7 -1
  166. package/src/events/device.ts +1 -0
  167. package/src/events/logBlockEvent.ts +1 -14
  168. package/src/events/ui-request.ts +1 -0
  169. package/src/index.ts +5 -0
  170. package/src/inject.ts +22 -25
  171. package/src/lowLevelInject.ts +5 -1
  172. package/src/protocols/protocol-v2/settingsUnlockPolicy.ts +2 -3
  173. package/src/protocols/protocol-v2/unlockPolicy.ts +105 -0
  174. package/src/protocols/protocol-v2/unlockRetry.ts +1 -3
  175. package/src/protocols/protocol-v2/walletSession.ts +86 -9
  176. package/src/topLevelInject.ts +5 -1
  177. package/src/types/api/checkAllFirmwareRelease.ts +3 -0
  178. package/src/types/api/deviceUnlock.ts +2 -5
  179. package/src/types/api/deviceUpdateBootloader.ts +6 -0
  180. package/src/types/api/export.ts +18 -0
  181. package/src/types/api/firmwareUpdate.ts +76 -0
  182. package/src/types/api/firmwareUpdateCapabilities.ts +9 -0
  183. package/src/types/api/firmwareUpdatePlan.ts +36 -0
  184. package/src/types/api/firmwareUpdatePreparedPlan.ts +53 -0
  185. package/src/types/api/getPassphraseState.ts +4 -3
  186. package/src/types/api/index.ts +14 -34
  187. package/src/types/api/openWalletSession.ts +2 -0
  188. package/src/types/api/protocolV2.ts +3 -156
  189. package/src/types/api/sessionCache.ts +9 -4
  190. package/src/types/settings.ts +13 -0
  191. package/src/utils/deviceFeaturesUtils.ts +5 -1
  192. package/src/utils/deviceInfoUtils.ts +3 -16
@@ -1,39 +1,13 @@
1
1
  import type { CommonParams, Response } from '../params';
2
- import type {
3
- DevOnboardingStatus,
4
- DeviceFactoryInfo,
5
- DeviceFirmwareUpdateStatus,
6
- DeviceStatus,
7
- ProtocolInfo,
8
- ProtocolV2DeviceInfo,
9
- Success,
10
- } from '@onekeyfe/hd-transport';
11
- import type {
12
- DeviceFactoryInfoSetParams,
13
- DeviceFirmwareUpdateParams,
14
- DeviceFirmwareUpdateStatusGetParams,
15
- DeviceRebootParams,
16
- } from '../../api/protocol-v2/helpers';
17
- import type { DeviceInfoGetParams } from '../../api/protocol-v2/DeviceInfoGet';
2
+ import type { DevOnboardingStatus, Success } from '@onekeyfe/hd-transport';
3
+ import type { DeviceRebootParams } from '../../api/protocol-v2/helpers';
18
4
  import type {
19
5
  DeviceUploadWallpaperParams,
20
6
  DeviceUploadWallpaperResponse,
21
7
  } from '../../api/protocol-v2/DeviceUploadWallpaper';
22
8
 
23
9
  // Re-export implementation parameter types as the single source of truth.
24
- export type {
25
- DeviceFirmwareTargetInput,
26
- DeviceFirmwareUpdateParams,
27
- DeviceFirmwareUpdateStatusGetParams,
28
- DeviceRebootParams,
29
- DeviceFactoryInfoSetParams,
30
- RebootTypeInput,
31
- } from '../../api/protocol-v2/helpers';
32
- export type {
33
- DeviceInfoGetParams,
34
- DeviceInfoGetTargets,
35
- DeviceInfoGetTypes,
36
- } from '../../api/protocol-v2/DeviceInfoGet';
10
+ export type { DeviceRebootParams, RebootTypeInput } from '../../api/protocol-v2/helpers';
37
11
  export type {
38
12
  DeviceUploadWallpaperParams,
39
13
  DeviceUploadWallpaperResponse,
@@ -41,8 +15,6 @@ export type {
41
15
 
42
16
  // ── Shared response shapes (Protocol V2 file system) ────────────────────
43
17
 
44
- export type FileOpSuccess = { message?: string };
45
-
46
18
  export type FileInfo = {
47
19
  path: string;
48
20
  offset: number;
@@ -53,54 +25,8 @@ export type FileInfo = {
53
25
  chunks?: number;
54
26
  };
55
27
 
56
- export type DirInfo = {
57
- path: string;
58
- child_dirs?: string;
59
- child_files?: string;
60
- };
61
-
62
- // All FilesystemPathInfo proto fields are required; keep this type aligned.
63
- export type PathInfoResult = {
64
- exist: boolean;
65
- size: number;
66
- year: number;
67
- month: number;
68
- day: number;
69
- hour: number;
70
- minute: number;
71
- second: number;
72
- readonly: boolean;
73
- hidden: boolean;
74
- system: boolean;
75
- archive: boolean;
76
- directory: boolean;
77
- };
78
-
79
28
  // ── Method signatures ─────────────────────────────────────────────────────
80
29
 
81
- /** @deprecated Development-only raw Protocol V2 command. Use `getDeviceState`. */
82
- export declare function deviceInfoGet(
83
- connectId: string,
84
- params?: CommonParams & DeviceInfoGetParams
85
- ): Response<ProtocolV2DeviceInfo>;
86
-
87
- /** @deprecated Development-only raw Protocol V2 command. Use `getDeviceState`. */
88
- export declare function deviceStatusGet(
89
- connectId: string,
90
- params?: CommonParams
91
- ): Response<DeviceStatus>;
92
-
93
- /** @deprecated Development-only raw Protocol V2 command. */
94
- export declare function protocolInfoRequest(
95
- connectId: string,
96
- params?: CommonParams
97
- ): Response<ProtocolInfo>;
98
-
99
- export declare function ping(
100
- connectId: string,
101
- params?: CommonParams & { message?: string }
102
- ): Response<Success>;
103
-
104
30
  export declare function deviceReboot(
105
31
  connectId: string,
106
32
  params: CommonParams & DeviceRebootParams
@@ -111,88 +37,11 @@ export declare function deviceGetOnboardingStatus(
111
37
  params?: CommonParams
112
38
  ): Response<DevOnboardingStatus>;
113
39
 
114
- export declare function deviceFirmwareUpdate(
115
- connectId: string,
116
- params: CommonParams & DeviceFirmwareUpdateParams
117
- ): Response<Success | DeviceFirmwareUpdateStatus>;
118
-
119
- export declare function deviceGetFirmwareUpdateStatus(
120
- connectId: string,
121
- params?: CommonParams & DeviceFirmwareUpdateStatusGetParams
122
- ): Response<DeviceFirmwareUpdateStatus>;
123
-
124
- export declare function deviceFactoryInfoSet(
125
- connectId: string,
126
- params: CommonParams & DeviceFactoryInfoSetParams
127
- ): Response<Success>;
128
-
129
- export declare function deviceFactoryInfoGet(
130
- connectId: string,
131
- params?: CommonParams
132
- ): Response<DeviceFactoryInfo>;
133
-
134
40
  export declare function deviceUploadWallpaper(
135
41
  connectId: string,
136
42
  params: CommonParams & DeviceUploadWallpaperParams
137
43
  ): Response<DeviceUploadWallpaperResponse>;
138
44
 
139
- export declare function filesystemPermissionFix(
140
- connectId: string,
141
- params?: CommonParams
142
- ): Response<Success>;
143
-
144
- export declare function fileRead(
145
- connectId: string,
146
- params: {
147
- path: string;
148
- offset?: number;
149
- totalSize?: number;
150
- chunkLen?: number;
151
- uiPercentage?: number;
152
- }
153
- ): Response<FileInfo>;
154
-
155
- export declare function fileWrite(
156
- connectId: string,
157
- params: {
158
- path: string;
159
- offset?: number;
160
- totalSize?: number;
161
- chunkSize?: number;
162
- chunkLen?: number;
163
- data: ArrayBuffer | Uint8Array | Blob | string;
164
- overwrite?: boolean;
165
- append?: boolean;
166
- uiPercentage?: number;
167
- timeoutMs?: number | string;
168
- }
169
- ): Response<FileInfo>;
170
-
171
- export declare function fileDelete(
172
- connectId: string,
173
- params: { path: string }
174
- ): Response<FileOpSuccess>;
175
-
176
- export declare function dirList(
177
- connectId: string,
178
- params: { path: string; depth?: number }
179
- ): Response<DirInfo>;
180
-
181
- export declare function dirMake(
182
- connectId: string,
183
- params: { path: string }
184
- ): Response<FileOpSuccess>;
185
-
186
- export declare function dirRemove(
187
- connectId: string,
188
- params: { path: string }
189
- ): Response<FileOpSuccess>;
190
-
191
- export declare function pathInfo(
192
- connectId: string,
193
- params: { path: string; timeoutMs?: number | string }
194
- ): Response<PathInfoResult>;
195
-
196
45
  export declare function uploadPortfolio(
197
46
  connectId: string,
198
47
  params: {
@@ -200,5 +49,3 @@ export declare function uploadPortfolio(
200
49
  timeoutMs?: number | string;
201
50
  }
202
51
  ): Response<FileInfo & { portfolioUpdated: true }>;
203
-
204
- export declare function filesystemFormat(connectId: string): Response<Success>;
@@ -1,9 +1,14 @@
1
1
  import type { Response } from '../params';
2
2
 
3
- export type ClearSessionCacheParams = {
4
- deviceId?: string;
5
- passphraseState?: string;
6
- };
3
+ export type ClearSessionCacheParams =
4
+ | {
5
+ deviceId?: never;
6
+ passphraseState?: never;
7
+ }
8
+ | {
9
+ deviceId: string;
10
+ passphraseState?: string;
11
+ };
7
12
 
8
13
  export type ClearSessionCachePayload = {
9
14
  cleared: true;
@@ -31,6 +31,8 @@ export type ConnectSettings = {
31
31
  timestamp: number;
32
32
  isFrame?: boolean;
33
33
  preRelease?: boolean;
34
+ firmwareManifestMode?: 'sdk-managed' | 'external-only';
35
+ preloadedConfig?: RemoteConfigResponse;
34
36
  fetchConfig?: boolean;
35
37
  extension?: string;
36
38
  configFetcher?: (url: string) => Promise<RemoteConfigResponse | null>;
@@ -55,6 +57,7 @@ export type IProtocolV2FirmwareComponent = {
55
57
  target: IProtocolV2FirmwareComponentTarget;
56
58
  url: string;
57
59
  fingerprint?: string;
60
+ expectedSize?: number;
58
61
  version?: IVersionArray;
59
62
  };
60
63
 
@@ -64,6 +67,8 @@ export type IProtocolV2ResourceBundle = {
64
67
  name: string;
65
68
  /** Download URL. */
66
69
  url: string;
70
+ fingerprint?: string;
71
+ expectedSize?: number;
67
72
  /** Device target path, such as vol0:/bundles/images/images.okpkg. */
68
73
  devicePath: string;
69
74
  /** okpkg payload_version used to skip matching content after FileRead. */
@@ -85,10 +90,16 @@ export type IFirmwareReleaseInfo = {
85
90
  firmwareType?: EFirmwareType;
86
91
  /** Firmware UI resource */
87
92
  resource?: string;
93
+ resourceFingerprint?: string;
94
+ resourceExpectedSize?: number;
88
95
  /** Firmware full UI resource */
89
96
  fullResource?: string;
97
+ fullResourceFingerprint?: string;
98
+ fullResourceExpectedSize?: number;
90
99
  fullResourceRange?: string[];
91
100
  bootloaderResource?: string;
101
+ bootloaderFingerprint?: string;
102
+ bootloaderExpectedSize?: number;
92
103
  bootloaderVersion?: IVersionArray;
93
104
  displayBootloaderVersion?: IVersionArray;
94
105
  bootloaderRelatedFirmwareVersion?: IVersionArray;
@@ -101,6 +112,7 @@ export type IFirmwareReleaseInfo = {
101
112
  [k in ILocale]: string;
102
113
  };
103
114
  fingerprint: string;
115
+ expectedSize?: number;
104
116
  version: IVersionArray;
105
117
  changelog: {
106
118
  [k in ILocale]: string;
@@ -116,6 +128,7 @@ export type IBLEFirmwareReleaseInfo = {
116
128
  webUpdate: string;
117
129
  fingerprint: string;
118
130
  fingerprintWeb: string;
131
+ expectedSize?: number;
119
132
  version: IVersionArray;
120
133
  changelog: {
121
134
  [k in ILocale]: string;
@@ -156,12 +156,16 @@ export const getPassphraseStateWithRefreshDeviceInfo = async (
156
156
 
157
157
  // Attach to pin try to fix internal state
158
158
  const deviceId = device.getCurrentDeviceId();
159
+ let existingSessionId: string | null | undefined;
160
+ if (!options?.initSession && typeof device.getInternalState === 'function') {
161
+ existingSessionId = device.getInternalState();
162
+ }
159
163
  device.updateInternalState(
160
164
  device.getCurrentPassphraseProtection() ?? false,
161
165
  passphraseState,
162
166
  deviceId,
163
167
  newSession,
164
- options?.initSession ? null : device.features?.sessionId
168
+ options?.initSession ? null : existingSessionId
165
169
  );
166
170
 
167
171
  return {
@@ -1,4 +1,3 @@
1
- import { isEmpty } from 'lodash';
2
1
  import { EDeviceType } from '@onekeyfe/hd-shared';
3
2
 
4
3
  import { DeviceModelToTypes } from '../types';
@@ -61,21 +60,9 @@ export const getDeviceUUID = getDeviceSerialNo;
61
60
  export const getDeviceLabel = (features?: DeviceFeaturesInput) => {
62
61
  if (!features) return null;
63
62
 
64
- const deviceType = getDeviceType(features);
65
- if (deviceType == null) return null;
66
-
67
- if ('label' in features && typeof features.label === 'string' && !isEmpty(features.label)) {
68
- return features.label;
69
- }
70
-
71
- const bleName = getDeviceBleName(features);
72
- if (!isEmpty(bleName)) return bleName;
73
-
74
- if (deviceType === EDeviceType.ClassicPure) {
75
- return 'OneKey Classic 1S';
76
- }
77
-
78
- return `OneKey ${deviceType.charAt(0).toUpperCase() + deviceType.slice(1)}`;
63
+ return 'label' in features && typeof features.label === 'string' && features.label.length > 0
64
+ ? features.label
65
+ : null;
79
66
  };
80
67
 
81
68
  /**