@onekeyfe/hd-core 1.2.0-alpha.53 → 1.2.0-alpha.54

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 (251) hide show
  1. package/__tests__/AllNetworkGetAddressBase.tracing.test.ts +0 -78
  2. package/__tests__/DeviceCommands.test.ts +0 -45
  3. package/__tests__/DeviceEventRegistration.test.ts +0 -6
  4. package/__tests__/check-all-firmware-release-protocol-v2.test.ts +3 -198
  5. package/__tests__/connectSettings.test.ts +47 -5
  6. package/__tests__/device-initialize-timeout.test.ts +56 -0
  7. package/__tests__/device-lifecycle-events.test.ts +3 -105
  8. package/__tests__/firmware-update/check-all-firmware-release.test.ts +175 -0
  9. package/__tests__/firmware-update/firmware-artifact-source.test.ts +119 -0
  10. package/__tests__/firmware-update/firmware-host-binding.test.ts +70 -0
  11. package/__tests__/firmware-update/firmware-preparation-error.test.ts +27 -0
  12. package/__tests__/firmware-update/firmware-update-bootloader-poll.test.ts +200 -0
  13. package/__tests__/firmware-update/firmware-update-capabilities.test.ts +13 -0
  14. package/__tests__/firmware-update/firmware-update-plan-bootloader-identity.test.ts +294 -0
  15. package/__tests__/firmware-update/firmware-update-plan.test.ts +593 -0
  16. package/__tests__/firmware-update/firmware-update-prepared-plan.test.ts +213 -0
  17. package/__tests__/firmware-update/firmware-update-v2-download-before-boot.test.ts +59 -31
  18. package/__tests__/firmware-update/firmware-update-v3-reconnect.test.ts +58 -0
  19. package/__tests__/firmware-update/firmware-upload-source.test.ts +70 -0
  20. package/__tests__/get-device-state.test.ts +12 -132
  21. package/__tests__/homescreen.test.ts +1 -41
  22. package/__tests__/logBlockEvent.test.ts +1 -1
  23. package/__tests__/method-protocol-support.test.ts +0 -19
  24. package/__tests__/open-wallet-session.test.ts +33 -446
  25. package/__tests__/protocol-v2-unlock-policy.test.ts +35 -201
  26. package/__tests__/protocol-v2.test.ts +1034 -1378
  27. package/__tests__/protocolV2UiInteraction.test.ts +0 -63
  28. package/__tests__/public-pro2-api-boundary.test.ts +0 -1
  29. package/__tests__/search-devices.test.ts +3 -12
  30. package/dist/api/BaseMethod.d.ts +1 -3
  31. package/dist/api/BaseMethod.d.ts.map +1 -1
  32. package/dist/api/CheckAllFirmwareRelease.d.ts +1 -2
  33. package/dist/api/CheckAllFirmwareRelease.d.ts.map +1 -1
  34. package/dist/api/FirmwareUpdate.d.ts.map +1 -1
  35. package/dist/api/FirmwareUpdateV2.d.ts +11 -0
  36. package/dist/api/FirmwareUpdateV2.d.ts.map +1 -1
  37. package/dist/api/FirmwareUpdateV3.d.ts +7 -3
  38. package/dist/api/FirmwareUpdateV3.d.ts.map +1 -1
  39. package/dist/api/FirmwareUpdateV4.d.ts +25 -11
  40. package/dist/api/FirmwareUpdateV4.d.ts.map +1 -1
  41. package/dist/api/GetPassphraseState.d.ts.map +1 -1
  42. package/dist/api/OpenWalletSession.d.ts.map +1 -1
  43. package/dist/api/SearchDevices.d.ts.map +1 -1
  44. package/dist/api/allnetwork/AllNetworkGetAddressBase.d.ts.map +1 -1
  45. package/dist/api/device/DeviceUnlock.d.ts +2 -2
  46. package/dist/api/device/DeviceUnlock.d.ts.map +1 -1
  47. package/dist/api/device/DeviceUpdateBootloader.d.ts +5 -1
  48. package/dist/api/device/DeviceUpdateBootloader.d.ts.map +1 -1
  49. package/dist/api/firmware/FirmwareArtifactSource.d.ts +25 -0
  50. package/dist/api/firmware/FirmwareArtifactSource.d.ts.map +1 -0
  51. package/dist/api/firmware/FirmwareHostBinding.d.ts +6 -0
  52. package/dist/api/firmware/FirmwareHostBinding.d.ts.map +1 -0
  53. package/dist/api/firmware/FirmwarePreparationError.d.ts +3 -0
  54. package/dist/api/firmware/FirmwarePreparationError.d.ts.map +1 -0
  55. package/dist/api/firmware/FirmwareUpdateBaseMethod.d.ts +9 -0
  56. package/dist/api/firmware/FirmwareUpdateBaseMethod.d.ts.map +1 -1
  57. package/dist/api/firmware/FirmwareUpdateCapabilities.d.ts +3 -0
  58. package/dist/api/firmware/FirmwareUpdateCapabilities.d.ts.map +1 -0
  59. package/dist/api/firmware/FirmwareUpdatePlan.d.ts +25 -0
  60. package/dist/api/firmware/FirmwareUpdatePlan.d.ts.map +1 -0
  61. package/dist/api/firmware/FirmwareUpdatePreparedPlan.d.ts +32 -0
  62. package/dist/api/firmware/FirmwareUpdatePreparedPlan.d.ts.map +1 -0
  63. package/dist/api/firmware/getBinary.d.ts +7 -0
  64. package/dist/api/firmware/getBinary.d.ts.map +1 -1
  65. package/dist/api/firmware/progressThrottle.d.ts +3 -0
  66. package/dist/api/firmware/progressThrottle.d.ts.map +1 -0
  67. package/dist/api/firmware/updateBootloader.d.ts +2 -0
  68. package/dist/api/firmware/updateBootloader.d.ts.map +1 -1
  69. package/dist/api/firmware/uploadFirmware.d.ts +9 -1
  70. package/dist/api/firmware/uploadFirmware.d.ts.map +1 -1
  71. package/dist/api/helpers/protocolV2FileWrite.d.ts +0 -2
  72. package/dist/api/helpers/protocolV2FileWrite.d.ts.map +1 -1
  73. package/dist/api/index.d.ts +0 -2
  74. package/dist/api/index.d.ts.map +1 -1
  75. package/dist/api/protocol-v2/ProtocolInfoRequest.d.ts.map +1 -1
  76. package/dist/api/protocol-v2/helpers.d.ts.map +1 -1
  77. package/dist/api/stellar/StellarSignTransaction.d.ts +1 -1
  78. package/dist/core/deviceEventRegistration.d.ts +0 -2
  79. package/dist/core/deviceEventRegistration.d.ts.map +1 -1
  80. package/dist/core/index.d.ts.map +1 -1
  81. package/dist/data-manager/DataManager.d.ts +2 -4
  82. package/dist/data-manager/DataManager.d.ts.map +1 -1
  83. package/dist/data-manager/connectSettings.d.ts.map +1 -1
  84. package/dist/device/Device.d.ts +6 -29
  85. package/dist/device/Device.d.ts.map +1 -1
  86. package/dist/device/DeviceCommands.d.ts +4 -4
  87. package/dist/device/DeviceCommands.d.ts.map +1 -1
  88. package/dist/device/DevicePool.d.ts.map +1 -1
  89. package/dist/events/device.d.ts +0 -4
  90. package/dist/events/device.d.ts.map +1 -1
  91. package/dist/events/logBlockEvent.d.ts.map +1 -1
  92. package/dist/events/ui-promise.d.ts +2 -4
  93. package/dist/events/ui-promise.d.ts.map +1 -1
  94. package/dist/events/ui-request.d.ts +2 -31
  95. package/dist/events/ui-request.d.ts.map +1 -1
  96. package/dist/events/ui-response.d.ts +2 -10
  97. package/dist/events/ui-response.d.ts.map +1 -1
  98. package/dist/index.d.ts +231 -214
  99. package/dist/index.d.ts.map +1 -1
  100. package/dist/index.js +3497 -2559
  101. package/dist/inject.d.ts +1 -6
  102. package/dist/inject.d.ts.map +1 -1
  103. package/dist/lowLevelInject.d.ts.map +1 -1
  104. package/dist/protocols/protocol-v2/features.d.ts.map +1 -1
  105. package/dist/protocols/protocol-v2/lockedError.d.ts +2 -0
  106. package/dist/protocols/protocol-v2/lockedError.d.ts.map +1 -0
  107. package/dist/protocols/protocol-v2/uiInteraction.d.ts +4 -7
  108. package/dist/protocols/protocol-v2/uiInteraction.d.ts.map +1 -1
  109. package/dist/protocols/protocol-v2/unlockPolicy.d.ts +3 -1
  110. package/dist/protocols/protocol-v2/unlockPolicy.d.ts.map +1 -1
  111. package/dist/protocols/protocol-v2/unlockRetry.d.ts +10 -0
  112. package/dist/protocols/protocol-v2/unlockRetry.d.ts.map +1 -0
  113. package/dist/protocols/protocol-v2/walletSession.d.ts +1 -5
  114. package/dist/protocols/protocol-v2/walletSession.d.ts.map +1 -1
  115. package/dist/topLevelInject.d.ts.map +1 -1
  116. package/dist/types/api/checkAllFirmwareRelease.d.ts +4 -2
  117. package/dist/types/api/checkAllFirmwareRelease.d.ts.map +1 -1
  118. package/dist/types/api/deviceUnlock.d.ts +1 -5
  119. package/dist/types/api/deviceUnlock.d.ts.map +1 -1
  120. package/dist/types/api/deviceUpdateBootloader.d.ts +6 -0
  121. package/dist/types/api/deviceUpdateBootloader.d.ts.map +1 -1
  122. package/dist/types/api/export.d.ts +4 -2
  123. package/dist/types/api/export.d.ts.map +1 -1
  124. package/dist/types/api/firmwareUpdate.d.ts +70 -2
  125. package/dist/types/api/firmwareUpdate.d.ts.map +1 -1
  126. package/dist/types/api/firmwareUpdateCapabilities.d.ts +9 -0
  127. package/dist/types/api/firmwareUpdateCapabilities.d.ts.map +1 -0
  128. package/dist/types/api/firmwareUpdatePlan.d.ts +28 -0
  129. package/dist/types/api/firmwareUpdatePlan.d.ts.map +1 -0
  130. package/dist/types/api/firmwareUpdatePreparedPlan.d.ts +42 -0
  131. package/dist/types/api/firmwareUpdatePreparedPlan.d.ts.map +1 -0
  132. package/dist/types/api/index.d.ts +10 -7
  133. package/dist/types/api/index.d.ts.map +1 -1
  134. package/dist/types/api/protocolV2.d.ts +0 -3
  135. package/dist/types/api/protocolV2.d.ts.map +1 -1
  136. package/dist/types/device.d.ts.map +1 -1
  137. package/dist/types/params.d.ts +0 -1
  138. package/dist/types/params.d.ts.map +1 -1
  139. package/dist/types/settings.d.ts +13 -22
  140. package/dist/types/settings.d.ts.map +1 -1
  141. package/dist/utils/deviceFeaturesCompat.d.ts +1 -0
  142. package/dist/utils/deviceFeaturesCompat.d.ts.map +1 -1
  143. package/dist/utils/deviceFeaturesUtils.d.ts +0 -4
  144. package/dist/utils/deviceFeaturesUtils.d.ts.map +1 -1
  145. package/dist/utils/homescreen.d.ts +0 -4
  146. package/dist/utils/homescreen.d.ts.map +1 -1
  147. package/dist/utils/index.d.ts +1 -1
  148. package/dist/utils/index.d.ts.map +1 -1
  149. package/dist/utils/patch.d.ts +1 -1
  150. package/dist/utils/patch.d.ts.map +1 -1
  151. package/dist/utils/pro2Wallpaper.d.ts +0 -10
  152. package/dist/utils/pro2Wallpaper.d.ts.map +1 -1
  153. package/package.json +4 -4
  154. package/src/api/BaseMethod.ts +10 -8
  155. package/src/api/CheckAllFirmwareRelease.ts +57 -54
  156. package/src/api/FirmwareUpdate.ts +15 -7
  157. package/src/api/FirmwareUpdateV2.ts +316 -126
  158. package/src/api/FirmwareUpdateV3.ts +265 -63
  159. package/src/api/FirmwareUpdateV4.ts +965 -566
  160. package/src/api/GetPassphraseState.ts +1 -7
  161. package/src/api/OpenWalletSession.ts +17 -54
  162. package/src/api/SearchDevices.ts +1 -3
  163. package/src/api/allnetwork/AllNetworkGetAddressBase.ts +11 -32
  164. package/src/api/device/DeviceUnlock.ts +3 -8
  165. package/src/api/device/DeviceUpdateBootloader.ts +122 -6
  166. package/src/api/firmware/FirmwareArtifactSource.ts +278 -0
  167. package/src/api/firmware/FirmwareHostBinding.ts +100 -0
  168. package/src/api/firmware/FirmwarePreparationError.ts +12 -0
  169. package/src/api/firmware/FirmwareUpdateBaseMethod.ts +83 -16
  170. package/src/api/firmware/FirmwareUpdateCapabilities.ts +9 -0
  171. package/src/api/firmware/FirmwareUpdatePlan.ts +772 -0
  172. package/src/api/firmware/FirmwareUpdatePreparedPlan.ts +415 -0
  173. package/src/api/firmware/progressThrottle.ts +44 -0
  174. package/src/api/firmware/updateBootloader.ts +19 -4
  175. package/src/api/firmware/uploadFirmware.ts +144 -39
  176. package/src/api/helpers/protocolV2FileWrite.ts +4 -11
  177. package/src/api/index.ts +0 -2
  178. package/src/api/protocol-v2/ProtocolInfoRequest.ts +1 -3
  179. package/src/api/protocol-v2/helpers.ts +0 -1
  180. package/src/core/deviceEventRegistration.ts +0 -4
  181. package/src/core/index.ts +83 -167
  182. package/src/data/messages/messages-protocol-v2.json +0 -25
  183. package/src/data-manager/DataManager.ts +38 -67
  184. package/src/data-manager/connectSettings.ts +11 -0
  185. package/src/device/Device.ts +42 -258
  186. package/src/device/DeviceCommands.ts +1 -7
  187. package/src/device/DevicePool.ts +2 -7
  188. package/src/events/device.ts +0 -4
  189. package/src/events/logBlockEvent.ts +0 -1
  190. package/src/events/ui-promise.ts +2 -4
  191. package/src/events/ui-request.ts +2 -36
  192. package/src/events/ui-response.ts +2 -12
  193. package/src/index.ts +5 -0
  194. package/src/inject.ts +24 -60
  195. package/src/lowLevelInject.ts +8 -7
  196. package/src/protocols/protocol-v2/features.ts +3 -10
  197. package/src/protocols/protocol-v2/lockedError.ts +10 -0
  198. package/src/protocols/protocol-v2/uiInteraction.ts +6 -46
  199. package/src/protocols/protocol-v2/unlockPolicy.ts +105 -1
  200. package/src/protocols/protocol-v2/unlockRetry.ts +109 -0
  201. package/src/protocols/protocol-v2/walletSession.ts +30 -180
  202. package/src/topLevelInject.ts +8 -7
  203. package/src/types/api/checkAllFirmwareRelease.ts +4 -2
  204. package/src/types/api/deviceUnlock.ts +1 -12
  205. package/src/types/api/deviceUpdateBootloader.ts +6 -0
  206. package/src/types/api/export.ts +18 -1
  207. package/src/types/api/firmwareUpdate.ts +76 -3
  208. package/src/types/api/firmwareUpdateCapabilities.ts +9 -0
  209. package/src/types/api/firmwareUpdatePlan.ts +38 -0
  210. package/src/types/api/firmwareUpdatePreparedPlan.ts +53 -0
  211. package/src/types/api/index.ts +14 -13
  212. package/src/types/api/protocolV2.ts +0 -13
  213. package/src/types/device.ts +0 -3
  214. package/src/types/params.ts +1 -7
  215. package/src/types/settings.ts +13 -42
  216. package/src/utils/deviceFeaturesCompat.ts +6 -0
  217. package/src/utils/deviceFeaturesUtils.ts +0 -8
  218. package/src/utils/homescreen.ts +6 -32
  219. package/src/utils/index.ts +1 -6
  220. package/src/utils/pro2Wallpaper.ts +8 -35
  221. package/__tests__/deviceUploadNft.test.ts +0 -293
  222. package/__tests__/pro2Nft.test.ts +0 -108
  223. package/__tests__/protocol-binding.test.ts +0 -89
  224. package/__tests__/protocol-v2-resources.test.ts +0 -284
  225. package/__tests__/protocol-v2-ui-lifecycle.test.ts +0 -91
  226. package/__tests__/uiProgressThrottle.test.ts +0 -74
  227. package/__tests__/uiPromiseRegistry.test.ts +0 -86
  228. package/dist/api/DetectDeviceConnectProtocol.d.ts +0 -7
  229. package/dist/api/DetectDeviceConnectProtocol.d.ts.map +0 -1
  230. package/dist/api/protocol-v2/DeviceUploadNft.d.ts +0 -31
  231. package/dist/api/protocol-v2/DeviceUploadNft.d.ts.map +0 -1
  232. package/dist/core/uiPromiseRegistry.d.ts +0 -4
  233. package/dist/core/uiPromiseRegistry.d.ts.map +0 -1
  234. package/dist/protocols/protocol-v2/resources.d.ts +0 -30
  235. package/dist/protocols/protocol-v2/resources.d.ts.map +0 -1
  236. package/dist/protocols/protocol-v2/unlockPolicyRunner.d.ts +0 -22
  237. package/dist/protocols/protocol-v2/unlockPolicyRunner.d.ts.map +0 -1
  238. package/dist/types/api/detectDeviceConnectProtocol.d.ts +0 -4
  239. package/dist/types/api/detectDeviceConnectProtocol.d.ts.map +0 -1
  240. package/dist/utils/pro2Nft.d.ts +0 -31
  241. package/dist/utils/pro2Nft.d.ts.map +0 -1
  242. package/dist/utils/uiProgressThrottle.d.ts +0 -3
  243. package/dist/utils/uiProgressThrottle.d.ts.map +0 -1
  244. package/src/api/DetectDeviceConnectProtocol.ts +0 -18
  245. package/src/api/protocol-v2/DeviceUploadNft.ts +0 -189
  246. package/src/core/uiPromiseRegistry.ts +0 -41
  247. package/src/protocols/protocol-v2/resources.ts +0 -359
  248. package/src/protocols/protocol-v2/unlockPolicyRunner.ts +0 -118
  249. package/src/types/api/detectDeviceConnectProtocol.ts +0 -7
  250. package/src/utils/pro2Nft.ts +0 -142
  251. package/src/utils/uiProgressThrottle.ts +0 -63
@@ -1,4 +1,4 @@
1
- import { EDeviceType, HardwareErrorCode } from '@onekeyfe/hd-shared';
1
+ import { HardwareErrorCode } from '@onekeyfe/hd-shared';
2
2
  import { DeviceType } from '@onekeyfe/hd-transport';
3
3
 
4
4
  import { Device } from '../src/device/Device';
@@ -43,70 +43,6 @@ const getProtocolV2LoaderInfo = (mode: 'bootloader' | 'romloader') => ({
43
43
  });
44
44
 
45
45
  describe('getDeviceState', () => {
46
- test('coalesces concurrent Protocol V2 runtime-context negotiation', async () => {
47
- let resolveProtocolInfo:
48
- | ((value: { message: typeof protocolV2ApplicationInfo }) => void)
49
- | undefined;
50
- const typedCall = jest.fn(
51
- () =>
52
- new Promise<{ message: typeof protocolV2ApplicationInfo }>(resolve => {
53
- resolveProtocolInfo = resolve;
54
- })
55
- );
56
- const device = createV2Device(typedCall);
57
-
58
- const first = device.ensureProtocolV2RuntimeContext();
59
- const second = device.ensureProtocolV2RuntimeContext();
60
- resolveProtocolInfo?.({ message: protocolV2ApplicationInfo });
61
-
62
- await expect(Promise.all([first, second])).resolves.toEqual([
63
- protocolV2ApplicationInfo,
64
- protocolV2ApplicationInfo,
65
- ]);
66
- expect(typedCall).toHaveBeenCalledTimes(1);
67
- expect(typedCall).toHaveBeenCalledWith('ProtocolInfoRequest', 'ProtocolInfo', {
68
- eventless_wallet_session: true,
69
- });
70
- });
71
-
72
- test('renegotiates Protocol V2 runtime context after transport disconnect', async () => {
73
- const typedCall = jest.fn().mockResolvedValue({ message: protocolV2ApplicationInfo });
74
- const device = createV2Device(typedCall);
75
-
76
- await device.ensureProtocolV2RuntimeContext();
77
- await device.ensureProtocolV2RuntimeContext();
78
- device.markTransportDisconnected();
79
- await device.ensureProtocolV2RuntimeContext();
80
-
81
- expect(typedCall).toHaveBeenCalledTimes(2);
82
- });
83
-
84
- test('rejects every waiter when runtime-context negotiation is invalidated', async () => {
85
- let resolveProtocolInfo:
86
- | ((value: { message: typeof protocolV2ApplicationInfo }) => void)
87
- | undefined;
88
- const typedCall = jest.fn(
89
- () =>
90
- new Promise<{ message: typeof protocolV2ApplicationInfo }>(resolve => {
91
- resolveProtocolInfo = resolve;
92
- })
93
- );
94
- const device = createV2Device(typedCall);
95
-
96
- const first = device.ensureProtocolV2RuntimeContext();
97
- const second = device.ensureProtocolV2RuntimeContext();
98
- const firstExpectation = expect(first).rejects.toMatchObject({
99
- errorCode: HardwareErrorCode.DeviceInitializeFailed,
100
- });
101
- const secondExpectation = expect(second).rejects.toMatchObject({
102
- errorCode: HardwareErrorCode.DeviceInitializeFailed,
103
- });
104
- device.markTransportDisconnected();
105
- resolveProtocolInfo?.({ message: protocolV2ApplicationInfo });
106
-
107
- await Promise.all([firstExpectation, secondExpectation]);
108
- });
109
-
110
46
  test('does not expose the internal wallet session', async () => {
111
47
  const device = createV2Device(jest.fn());
112
48
  device.updateState({ protocol: 'V2' }, 'initialize');
@@ -223,20 +159,15 @@ describe('getDeviceState', () => {
223
159
  throw new Error(`Unexpected request: ${requestType}`);
224
160
  });
225
161
  const device = createV2Device(typedCall);
226
- device.updateState(
227
- {
228
- protocol: 'V2',
229
- identity: { deviceType: EDeviceType.Pro2 },
230
- status: { mode },
231
- raw: { protocolV2ProtocolInfo: getProtocolV2LoaderInfo(mode) },
232
- },
233
- 'initialize'
234
- );
162
+ device.updateState({ protocol: 'V2', status: { mode } }, 'initialize');
235
163
 
236
164
  const state = await device.getDeviceState({ refreshSections: ['status'] });
237
165
 
238
166
  expect(state.status.mode).toBe(mode);
239
- expect(typedCall).not.toHaveBeenCalled();
167
+ expect(typedCall.mock.calls.map(call => call[0])).toEqual([
168
+ 'DeviceInfoGet',
169
+ 'ProtocolInfoRequest',
170
+ ]);
240
171
  }
241
172
  );
242
173
 
@@ -256,14 +187,7 @@ describe('getDeviceState', () => {
256
187
  return { message: { init_states: true, unlocked: true, device_id: 'device-1' } };
257
188
  });
258
189
  const device = createV2Device(typedCall);
259
- device.updateState(
260
- {
261
- protocol: 'V2',
262
- status: { mode: 'normal' },
263
- raw: { protocolV2ProtocolInfo: protocolV2ApplicationInfo },
264
- },
265
- 'initialize'
266
- );
190
+ device.updateState({ protocol: 'V2', status: { mode: 'normal' } }, 'initialize');
267
191
 
268
192
  const state = await device.getDeviceState({ refreshSections: ['status'] });
269
193
 
@@ -281,14 +205,7 @@ describe('getDeviceState', () => {
281
205
  },
282
206
  });
283
207
  const device = createV2Device(typedCall);
284
- device.updateState(
285
- {
286
- protocol: 'V2',
287
- status: { mode: 'normal' },
288
- raw: { protocolV2ProtocolInfo: protocolV2ApplicationInfo },
289
- },
290
- 'initialize'
291
- );
208
+ device.updateState({ protocol: 'V2', status: { mode: 'normal' } }, 'initialize');
292
209
  const onState = jest.fn();
293
210
  device.on(DEVICE.STATE, onState);
294
211
 
@@ -333,18 +250,13 @@ describe('getDeviceState', () => {
333
250
  throw new Error(`Unexpected request: ${requestType}`);
334
251
  });
335
252
  const device = createV2Device(typedCall);
336
- device.updateState(
337
- {
338
- protocol: 'V2',
339
- status: { mode: 'normal' },
340
- raw: { protocolV2ProtocolInfo: protocolV2ApplicationInfo },
341
- },
342
- 'initialize'
343
- );
253
+ device.updateState({ protocol: 'V2', status: { mode: 'normal' } }, 'initialize');
344
254
 
345
255
  const state = await device.getDeviceState({ refreshSections: ['status', 'settings'] });
346
256
 
347
257
  expect(typedCall.mock.calls.map(call => call[0])).toEqual([
258
+ 'DeviceInfoGet',
259
+ 'ProtocolInfoRequest',
348
260
  'DeviceStatusGet',
349
261
  'DeviceSettingsGet',
350
262
  ]);
@@ -376,11 +288,7 @@ describe('getDeviceState', () => {
376
288
  });
377
289
  const device = createV2Device(typedCall);
378
290
  device.updateState(
379
- {
380
- protocol: 'V2',
381
- status: { mode: 'normal', unlocked: true },
382
- raw: { protocolV2ProtocolInfo: protocolV2ApplicationInfo },
383
- },
291
+ { protocol: 'V2', status: { mode: 'normal', unlocked: true } },
384
292
  'initialize'
385
293
  );
386
294
 
@@ -466,34 +374,6 @@ describe('getDeviceState', () => {
466
374
  });
467
375
  });
468
376
 
469
- test.each([
470
- EDeviceType.Classic,
471
- EDeviceType.Classic1s,
472
- EDeviceType.ClassicPure,
473
- EDeviceType.Mini,
474
- ])('keeps the GetFeatures-only firmware path for %s', async deviceType => {
475
- const typedCall = jest.fn().mockResolvedValue({
476
- message: {
477
- onekey_device_type: deviceType.toUpperCase(),
478
- initialized: true,
479
- onekey_firmware_version: '3.5.0',
480
- se_ver: '1.1.0.2',
481
- },
482
- });
483
- const device = createV1Device(typedCall);
484
-
485
- const state = await device.getDeviceState({
486
- refreshSections: ['identity', 'versions', 'verification'],
487
- });
488
-
489
- expect(typedCall.mock.calls.map(call => call[0])).toEqual(['GetFeatures']);
490
- expect(state.versions).toMatchObject({
491
- firmware: '3.5.0',
492
- se: '1.1.0.2',
493
- se01: '1.1.0.2',
494
- });
495
- });
496
-
497
377
  test('does not clear Protocol V1 firmware details during a later runtime refresh', async () => {
498
378
  let getFeaturesCount = 0;
499
379
  const typedCall = jest.fn().mockImplementation((requestType: string) => {
@@ -1,6 +1,6 @@
1
1
  import { EDeviceType } from '@onekeyfe/hd-shared';
2
2
 
3
- import { getHomeScreenSize, getNftSize } from '../src/utils/homescreen';
3
+ import { getHomeScreenSize } from '../src/utils/homescreen';
4
4
 
5
5
  describe('getHomeScreenSize', () => {
6
6
  it('returns the Pro 2 wallpaper dimensions', () => {
@@ -21,44 +21,4 @@ describe('getHomeScreenSize', () => {
21
21
  })
22
22
  ).toBeUndefined();
23
23
  });
24
-
25
- it('does not reuse the wallpaper homeScreenType for Pro 2 NFT dimensions', () => {
26
- expect(
27
- getHomeScreenSize({
28
- deviceType: EDeviceType.Pro2,
29
- homeScreenType: 'Nft',
30
- thumbnail: false,
31
- })
32
- ).toEqual({ width: 604, height: 1024 });
33
- expect(
34
- getHomeScreenSize({
35
- deviceType: EDeviceType.Pro2,
36
- homeScreenType: 'Nft',
37
- thumbnail: true,
38
- })
39
- ).toBeUndefined();
40
- });
41
- });
42
-
43
- describe('getNftSize', () => {
44
- it('returns the Pro 2 NFT image and thumbnail dimensions independently', () => {
45
- expect(getNftSize({ deviceType: EDeviceType.Pro2 })).toEqual({ width: 540, height: 540 });
46
- expect(getNftSize({ deviceType: EDeviceType.Pro2, thumbnail: true })).toEqual({
47
- width: 263,
48
- height: 263,
49
- });
50
- });
51
-
52
- it('preserves the legacy NFT dimensions', () => {
53
- expect(getNftSize({ deviceType: EDeviceType.Touch })).toEqual({ width: 480, height: 800 });
54
- expect(getNftSize({ deviceType: EDeviceType.Touch, thumbnail: true })).toEqual({
55
- width: 238,
56
- height: 238,
57
- });
58
- expect(getNftSize({ deviceType: EDeviceType.Pro, thumbnail: true })).toEqual({
59
- width: 226,
60
- height: 226,
61
- radius: 40,
62
- });
63
- });
64
24
  });
@@ -104,7 +104,7 @@ describe('getLogBlockLabel', () => {
104
104
  });
105
105
  });
106
106
 
107
- it.each(['deviceUploadNft', 'deviceUploadWallpaper', 'uploadPortfolio', 'fileWrite', 'fileRead'])(
107
+ it.each(['deviceUploadWallpaper', 'uploadPortfolio', 'fileWrite', 'fileRead'])(
108
108
  'keeps metadata and replaces binary payloads with their size for %s',
109
109
  method => {
110
110
  const request = { method, path: 'resource.bin', data: new Uint8Array(1024) };
@@ -1,7 +1,6 @@
1
1
  import { EFirmwareType, HardwareErrorCode } from '@onekeyfe/hd-shared';
2
2
 
3
3
  import { BaseMethod } from '../src/api/BaseMethod';
4
- import { findMethod } from '../src/api/utils';
5
4
  import BTCGetAddress from '../src/api/btc/BTCGetAddress';
6
5
  import DeviceReboot from '../src/api/protocol-v2/DeviceReboot';
7
6
  import SolGetAddress from '../src/api/solana/SolGetAddress';
@@ -21,24 +20,6 @@ class DefaultMethod extends BaseMethod {
21
20
  }
22
21
 
23
22
  describe('method protocol support', () => {
24
- test('creates a protocol detection method that returns only the current protocol', async () => {
25
- const method = findMethod({
26
- id: 6,
27
- payload: {
28
- method: 'detectDeviceConnectProtocol',
29
- connectId: 'ble-device',
30
- },
31
- } as never);
32
-
33
- method.init();
34
- (method as unknown as { device: unknown }).device = {
35
- getProtocol: () => 'V2',
36
- };
37
-
38
- expect(method.getSupportedProtocols()).toEqual(['V1', 'V2']);
39
- await expect(method.run()).resolves.toBe('V2');
40
- });
41
-
42
23
  test('defaults existing methods to Protocol V1 only', () => {
43
24
  const method = new DefaultMethod({
44
25
  id: 1,