@onekeyfe/hd-core 1.2.0-alpha.65 → 1.2.0-alpha.66

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 (314) hide show
  1. package/__tests__/AllNetworkGetAddressBase.tracing.test.ts +313 -0
  2. package/__tests__/DeviceCommands.test.ts +59 -13
  3. package/__tests__/DeviceEventRegistration.test.ts +6 -0
  4. package/__tests__/check-all-firmware-release-protocol-v2.test.ts +198 -3
  5. package/__tests__/connectSettings.test.ts +5 -47
  6. package/__tests__/core-initialization.test.ts +23 -0
  7. package/__tests__/device-connector-protocol.test.ts +81 -0
  8. package/__tests__/device-lifecycle-events.test.ts +105 -3
  9. package/__tests__/device-pool-state.test.ts +22 -0
  10. package/__tests__/device-settings.test.ts +39 -18
  11. package/__tests__/device-state-contract.test.ts +1 -0
  12. package/__tests__/device-state-mapper.test.ts +13 -1
  13. package/__tests__/device-utils.test.ts +48 -1
  14. package/__tests__/deviceSettings.test.ts +11 -1
  15. package/__tests__/deviceUploadNft.test.ts +316 -0
  16. package/__tests__/firmware-update/firmware-update-v2-download-before-boot.test.ts +31 -59
  17. package/__tests__/get-device-state.test.ts +132 -12
  18. package/__tests__/homescreen.test.ts +41 -1
  19. package/__tests__/kaspa-use-tweak-pro2.test.ts +2 -2
  20. package/__tests__/kaspaSignTransaction.test.ts +3 -26
  21. package/__tests__/logBlockEvent.test.ts +1 -1
  22. package/__tests__/method-protocol-support.test.ts +19 -0
  23. package/__tests__/open-wallet-session.test.ts +568 -37
  24. package/__tests__/pro2Nft.test.ts +108 -0
  25. package/__tests__/protocol-binding.test.ts +89 -0
  26. package/__tests__/protocol-v2-resources.test.ts +340 -0
  27. package/__tests__/protocol-v2-ui-lifecycle.test.ts +91 -0
  28. package/__tests__/protocol-v2-unlock-policy.test.ts +300 -37
  29. package/__tests__/protocol-v2.test.ts +1506 -1097
  30. package/__tests__/protocolV2FileWrite.test.ts +152 -0
  31. package/__tests__/protocolV2UiInteraction.test.ts +63 -0
  32. package/__tests__/public-pro2-api-boundary.test.ts +1 -0
  33. package/__tests__/search-devices.test.ts +12 -3
  34. package/__tests__/tron-sign-message-init.test.ts +2 -2
  35. package/__tests__/uiProgressThrottle.test.ts +74 -0
  36. package/__tests__/uiPromiseRegistry.test.ts +115 -0
  37. package/dist/api/BaseMethod.d.ts +3 -1
  38. package/dist/api/BaseMethod.d.ts.map +1 -1
  39. package/dist/api/CheckAllFirmwareRelease.d.ts +2 -1
  40. package/dist/api/CheckAllFirmwareRelease.d.ts.map +1 -1
  41. package/dist/api/DetectDeviceConnectProtocol.d.ts +7 -0
  42. package/dist/api/DetectDeviceConnectProtocol.d.ts.map +1 -0
  43. package/dist/api/FirmwareUpdate.d.ts.map +1 -1
  44. package/dist/api/FirmwareUpdateV2.d.ts +0 -11
  45. package/dist/api/FirmwareUpdateV2.d.ts.map +1 -1
  46. package/dist/api/FirmwareUpdateV3.d.ts +3 -7
  47. package/dist/api/FirmwareUpdateV3.d.ts.map +1 -1
  48. package/dist/api/FirmwareUpdateV4.d.ts +13 -27
  49. package/dist/api/FirmwareUpdateV4.d.ts.map +1 -1
  50. package/dist/api/GetPassphraseState.d.ts.map +1 -1
  51. package/dist/api/OpenWalletSession.d.ts.map +1 -1
  52. package/dist/api/SearchDevices.d.ts.map +1 -1
  53. package/dist/api/allnetwork/AllNetworkGetAddressBase.d.ts.map +1 -1
  54. package/dist/api/device/DeviceSettings.d.ts.map +1 -1
  55. package/dist/api/device/DeviceUnlock.d.ts +2 -2
  56. package/dist/api/device/DeviceUnlock.d.ts.map +1 -1
  57. package/dist/api/device/DeviceUpdateBootloader.d.ts +1 -5
  58. package/dist/api/device/DeviceUpdateBootloader.d.ts.map +1 -1
  59. package/dist/api/firmware/FirmwareUpdateBaseMethod.d.ts +4 -11
  60. package/dist/api/firmware/FirmwareUpdateBaseMethod.d.ts.map +1 -1
  61. package/dist/api/firmware/getBinary.d.ts +0 -7
  62. package/dist/api/firmware/getBinary.d.ts.map +1 -1
  63. package/dist/api/firmware/updateBootloader.d.ts +0 -2
  64. package/dist/api/firmware/updateBootloader.d.ts.map +1 -1
  65. package/dist/api/firmware/uploadFirmware.d.ts +1 -9
  66. package/dist/api/firmware/uploadFirmware.d.ts.map +1 -1
  67. package/dist/api/helpers/protocolV2FileWrite.d.ts +9 -0
  68. package/dist/api/helpers/protocolV2FileWrite.d.ts.map +1 -1
  69. package/dist/api/index.d.ts +2 -0
  70. package/dist/api/index.d.ts.map +1 -1
  71. package/dist/api/kaspa/KaspaGetAddress.d.ts +1 -1
  72. package/dist/api/kaspa/KaspaSignTransaction.d.ts +1 -1
  73. package/dist/api/kaspa/KaspaSignTransaction.d.ts.map +1 -1
  74. package/dist/api/polkadot/PolkadotGetAddress.d.ts +1 -1
  75. package/dist/api/polkadot/networks.d.ts +1 -1
  76. package/dist/api/protocol-v2/DeviceUploadNft.d.ts +31 -0
  77. package/dist/api/protocol-v2/DeviceUploadNft.d.ts.map +1 -0
  78. package/dist/api/protocol-v2/ProtocolInfoRequest.d.ts.map +1 -1
  79. package/dist/api/protocol-v2/helpers.d.ts.map +1 -1
  80. package/dist/api/solana/SolSignMessage.d.ts +1 -1
  81. package/dist/api/solana/SolSignOffchainMessage.d.ts +1 -1
  82. package/dist/api/solana/SolSignTransaction.d.ts +2 -2
  83. package/dist/api/stellar/StellarSignTransaction.d.ts +1 -1
  84. package/dist/api/sui/SuiGetAddress.d.ts +1 -1
  85. package/dist/api/sui/SuiGetPublicKey.d.ts +1 -1
  86. package/dist/api/sui/SuiSignMessage.d.ts +1 -1
  87. package/dist/api/sui/SuiSignTransaction.d.ts +1 -1
  88. package/dist/api/ton/TonGetAddress.d.ts +1 -1
  89. package/dist/api/ton/TonSignMessage.d.ts +1 -1
  90. package/dist/api/ton/TonSignProof.d.ts +1 -1
  91. package/dist/api/tron/TronSignMessage.d.ts +2 -2
  92. package/dist/api/tron/TronSignTransaction.d.ts +1 -1
  93. package/dist/core/deviceEventRegistration.d.ts +2 -0
  94. package/dist/core/deviceEventRegistration.d.ts.map +1 -1
  95. package/dist/core/index.d.ts.map +1 -1
  96. package/dist/core/uiPromiseRegistry.d.ts +6 -0
  97. package/dist/core/uiPromiseRegistry.d.ts.map +1 -0
  98. package/dist/data-manager/DataManager.d.ts +9 -4
  99. package/dist/data-manager/DataManager.d.ts.map +1 -1
  100. package/dist/data-manager/TransportManager.d.ts.map +1 -1
  101. package/dist/data-manager/connectSettings.d.ts.map +1 -1
  102. package/dist/device/Device.d.ts +29 -6
  103. package/dist/device/Device.d.ts.map +1 -1
  104. package/dist/device/DeviceCommands.d.ts +4 -4
  105. package/dist/device/DeviceCommands.d.ts.map +1 -1
  106. package/dist/device/DeviceConnector.d.ts +2 -1
  107. package/dist/device/DeviceConnector.d.ts.map +1 -1
  108. package/dist/device/DevicePool.d.ts.map +1 -1
  109. package/dist/deviceProfile/protocolV2DeviceIdentity.d.ts.map +1 -1
  110. package/dist/events/device.d.ts +4 -0
  111. package/dist/events/device.d.ts.map +1 -1
  112. package/dist/events/logBlockEvent.d.ts.map +1 -1
  113. package/dist/events/ui-promise.d.ts +4 -2
  114. package/dist/events/ui-promise.d.ts.map +1 -1
  115. package/dist/events/ui-request.d.ts +31 -2
  116. package/dist/events/ui-request.d.ts.map +1 -1
  117. package/dist/events/ui-response.d.ts +10 -2
  118. package/dist/events/ui-response.d.ts.map +1 -1
  119. package/dist/index.d.ts +243 -248
  120. package/dist/index.d.ts.map +1 -1
  121. package/dist/index.js +3051 -3774
  122. package/dist/inject.d.ts +6 -1
  123. package/dist/inject.d.ts.map +1 -1
  124. package/dist/lowLevelInject.d.ts.map +1 -1
  125. package/dist/protocols/protocol-v2/features.d.ts +0 -4
  126. package/dist/protocols/protocol-v2/features.d.ts.map +1 -1
  127. package/dist/protocols/protocol-v2/firmware.d.ts.map +1 -1
  128. package/dist/protocols/protocol-v2/resources.d.ts +30 -0
  129. package/dist/protocols/protocol-v2/resources.d.ts.map +1 -0
  130. package/dist/protocols/protocol-v2/uiInteraction.d.ts +7 -4
  131. package/dist/protocols/protocol-v2/uiInteraction.d.ts.map +1 -1
  132. package/dist/protocols/protocol-v2/unlockPolicy.d.ts +1 -3
  133. package/dist/protocols/protocol-v2/unlockPolicy.d.ts.map +1 -1
  134. package/dist/protocols/protocol-v2/unlockPolicyRunner.d.ts +22 -0
  135. package/dist/protocols/protocol-v2/unlockPolicyRunner.d.ts.map +1 -0
  136. package/dist/protocols/protocol-v2/walletSession.d.ts +6 -1
  137. package/dist/protocols/protocol-v2/walletSession.d.ts.map +1 -1
  138. package/dist/topLevelInject.d.ts.map +1 -1
  139. package/dist/types/api/checkAllFirmwareRelease.d.ts +3 -5
  140. package/dist/types/api/checkAllFirmwareRelease.d.ts.map +1 -1
  141. package/dist/types/api/detectDeviceConnectProtocol.d.ts +4 -0
  142. package/dist/types/api/detectDeviceConnectProtocol.d.ts.map +1 -0
  143. package/dist/types/api/deviceUnlock.d.ts +5 -1
  144. package/dist/types/api/deviceUnlock.d.ts.map +1 -1
  145. package/dist/types/api/deviceUpdateBootloader.d.ts +0 -6
  146. package/dist/types/api/deviceUpdateBootloader.d.ts.map +1 -1
  147. package/dist/types/api/export.d.ts +2 -4
  148. package/dist/types/api/export.d.ts.map +1 -1
  149. package/dist/types/api/firmwareUpdate.d.ts +4 -71
  150. package/dist/types/api/firmwareUpdate.d.ts.map +1 -1
  151. package/dist/types/api/index.d.ts +7 -10
  152. package/dist/types/api/index.d.ts.map +1 -1
  153. package/dist/types/api/protocolV2.d.ts +3 -0
  154. package/dist/types/api/protocolV2.d.ts.map +1 -1
  155. package/dist/types/device.d.ts +2 -2
  156. package/dist/types/device.d.ts.map +1 -1
  157. package/dist/types/params.d.ts +1 -0
  158. package/dist/types/params.d.ts.map +1 -1
  159. package/dist/types/settings.d.ts +38 -21
  160. package/dist/types/settings.d.ts.map +1 -1
  161. package/dist/utils/deviceFeaturesCompat.d.ts +0 -1
  162. package/dist/utils/deviceFeaturesCompat.d.ts.map +1 -1
  163. package/dist/utils/deviceFeaturesUtils.d.ts +4 -0
  164. package/dist/utils/deviceFeaturesUtils.d.ts.map +1 -1
  165. package/dist/utils/deviceInfoUtils.d.ts.map +1 -1
  166. package/dist/utils/deviceSettings.d.ts.map +1 -1
  167. package/dist/utils/homescreen.d.ts +4 -0
  168. package/dist/utils/homescreen.d.ts.map +1 -1
  169. package/dist/utils/index.d.ts +1 -1
  170. package/dist/utils/index.d.ts.map +1 -1
  171. package/dist/utils/patch.d.ts +1 -1
  172. package/dist/utils/patch.d.ts.map +1 -1
  173. package/dist/utils/pro2Nft.d.ts +31 -0
  174. package/dist/utils/pro2Nft.d.ts.map +1 -0
  175. package/dist/utils/pro2Wallpaper.d.ts +10 -0
  176. package/dist/utils/pro2Wallpaper.d.ts.map +1 -1
  177. package/dist/utils/uiProgressThrottle.d.ts +3 -0
  178. package/dist/utils/uiProgressThrottle.d.ts.map +1 -0
  179. package/package.json +4 -4
  180. package/src/api/BaseMethod.ts +8 -10
  181. package/src/api/CheckAllFirmwareRelease.ts +59 -60
  182. package/src/api/DetectDeviceConnectProtocol.ts +18 -0
  183. package/src/api/FirmwareUpdate.ts +7 -15
  184. package/src/api/FirmwareUpdateV2.ts +126 -316
  185. package/src/api/FirmwareUpdateV3.ts +63 -265
  186. package/src/api/FirmwareUpdateV4.ts +597 -1005
  187. package/src/api/GetPassphraseState.ts +7 -1
  188. package/src/api/OpenWalletSession.ts +71 -17
  189. package/src/api/SearchDevices.ts +3 -1
  190. package/src/api/allnetwork/AllNetworkGetAddress.ts +21 -21
  191. package/src/api/allnetwork/AllNetworkGetAddressBase.ts +36 -11
  192. package/src/api/device/DeviceSettings.ts +5 -4
  193. package/src/api/device/DeviceUnlock.ts +8 -3
  194. package/src/api/device/DeviceUpdateBootloader.ts +6 -125
  195. package/src/api/firmware/FirmwareUpdateBaseMethod.ts +27 -83
  196. package/src/api/firmware/updateBootloader.ts +4 -19
  197. package/src/api/firmware/uploadFirmware.ts +39 -144
  198. package/src/api/helpers/protocolV2FileWrite.ts +202 -63
  199. package/src/api/index.ts +2 -0
  200. package/src/api/kaspa/KaspaGetAddress.ts +1 -1
  201. package/src/api/kaspa/KaspaSignTransaction.ts +2 -13
  202. package/src/api/polkadot/networks.ts +3 -3
  203. package/src/api/protocol-v2/DeviceUploadNft.ts +197 -0
  204. package/src/api/protocol-v2/ProtocolInfoRequest.ts +3 -1
  205. package/src/api/protocol-v2/helpers.ts +1 -1
  206. package/src/api/solana/SolSignMessage.ts +1 -1
  207. package/src/api/solana/SolSignOffchainMessage.ts +1 -1
  208. package/src/api/solana/SolSignTransaction.ts +2 -2
  209. package/src/api/sui/SuiGetAddress.ts +1 -1
  210. package/src/api/sui/SuiGetPublicKey.ts +1 -1
  211. package/src/api/sui/SuiSignMessage.ts +1 -1
  212. package/src/api/sui/SuiSignTransaction.ts +1 -1
  213. package/src/api/ton/TonGetAddress.ts +1 -1
  214. package/src/api/ton/TonSignMessage.ts +1 -1
  215. package/src/api/ton/TonSignProof.ts +1 -1
  216. package/src/api/tron/TronSignMessage.ts +2 -2
  217. package/src/api/tron/TronSignTransaction.ts +1 -1
  218. package/src/core/deviceEventRegistration.ts +4 -0
  219. package/src/core/index.ts +213 -111
  220. package/src/core/uiPromiseRegistry.ts +63 -0
  221. package/src/data/messages/messages-protocol-v2.json +25 -0
  222. package/src/data-manager/DataManager.ts +113 -41
  223. package/src/data-manager/TransportManager.ts +6 -0
  224. package/src/data-manager/connectSettings.ts +0 -11
  225. package/src/device/Device.ts +274 -49
  226. package/src/device/DeviceCommands.ts +31 -4
  227. package/src/device/DeviceConnector.ts +33 -13
  228. package/src/device/DevicePool.ts +21 -7
  229. package/src/deviceProfile/buildDeviceFeatures.ts +2 -2
  230. package/src/deviceProfile/protocolV2DeviceIdentity.ts +3 -0
  231. package/src/events/device.ts +4 -0
  232. package/src/events/logBlockEvent.ts +1 -0
  233. package/src/events/ui-promise.ts +4 -2
  234. package/src/events/ui-request.ts +36 -2
  235. package/src/events/ui-response.ts +12 -2
  236. package/src/index.ts +0 -5
  237. package/src/inject.ts +60 -24
  238. package/src/lowLevelInject.ts +7 -8
  239. package/src/protocols/protocol-v2/features.ts +10 -7
  240. package/src/protocols/protocol-v2/firmware.ts +2 -0
  241. package/src/protocols/protocol-v2/resources.ts +390 -0
  242. package/src/protocols/protocol-v2/uiInteraction.ts +46 -6
  243. package/src/protocols/protocol-v2/unlockPolicy.ts +1 -105
  244. package/src/protocols/protocol-v2/unlockPolicyRunner.ts +131 -0
  245. package/src/protocols/protocol-v2/walletSession.ts +214 -36
  246. package/src/topLevelInject.ts +7 -8
  247. package/src/types/api/checkAllFirmwareRelease.ts +3 -5
  248. package/src/types/api/detectDeviceConnectProtocol.ts +6 -0
  249. package/src/types/api/deviceUnlock.ts +12 -1
  250. package/src/types/api/deviceUpdateBootloader.ts +0 -6
  251. package/src/types/api/export.ts +1 -18
  252. package/src/types/api/firmwareUpdate.ts +6 -79
  253. package/src/types/api/index.ts +13 -14
  254. package/src/types/api/protocolV2.ts +13 -0
  255. package/src/types/device.ts +15 -3
  256. package/src/types/params.ts +7 -1
  257. package/src/types/settings.ts +60 -22
  258. package/src/utils/deviceFeaturesCompat.ts +5 -6
  259. package/src/utils/deviceFeaturesUtils.ts +14 -3
  260. package/src/utils/deviceInfoUtils.ts +2 -0
  261. package/src/utils/deviceSettings.ts +3 -0
  262. package/src/utils/homescreen.ts +32 -6
  263. package/src/utils/index.ts +6 -1
  264. package/src/utils/pro2Nft.ts +142 -0
  265. package/src/utils/pro2Wallpaper.ts +35 -8
  266. package/src/utils/uiProgressThrottle.ts +63 -0
  267. package/__tests__/device-initialize-timeout.test.ts +0 -56
  268. package/__tests__/firmware-update/check-all-firmware-release.test.ts +0 -175
  269. package/__tests__/firmware-update/firmware-artifact-source.test.ts +0 -119
  270. package/__tests__/firmware-update/firmware-host-binding.test.ts +0 -70
  271. package/__tests__/firmware-update/firmware-preparation-error.test.ts +0 -27
  272. package/__tests__/firmware-update/firmware-update-bootloader-poll.test.ts +0 -200
  273. package/__tests__/firmware-update/firmware-update-capabilities.test.ts +0 -13
  274. package/__tests__/firmware-update/firmware-update-plan-bootloader-identity.test.ts +0 -394
  275. package/__tests__/firmware-update/firmware-update-plan.test.ts +0 -593
  276. package/__tests__/firmware-update/firmware-update-prepared-plan.test.ts +0 -213
  277. package/__tests__/firmware-update/firmware-update-v3-reconnect.test.ts +0 -58
  278. package/__tests__/firmware-update/firmware-upload-source.test.ts +0 -70
  279. package/dist/api/firmware/FirmwareArtifactSource.d.ts +0 -25
  280. package/dist/api/firmware/FirmwareArtifactSource.d.ts.map +0 -1
  281. package/dist/api/firmware/FirmwareHostBinding.d.ts +0 -6
  282. package/dist/api/firmware/FirmwareHostBinding.d.ts.map +0 -1
  283. package/dist/api/firmware/FirmwarePreparationError.d.ts +0 -3
  284. package/dist/api/firmware/FirmwarePreparationError.d.ts.map +0 -1
  285. package/dist/api/firmware/FirmwareUpdateCapabilities.d.ts +0 -3
  286. package/dist/api/firmware/FirmwareUpdateCapabilities.d.ts.map +0 -1
  287. package/dist/api/firmware/FirmwareUpdatePlan.d.ts +0 -25
  288. package/dist/api/firmware/FirmwareUpdatePlan.d.ts.map +0 -1
  289. package/dist/api/firmware/FirmwareUpdatePreparedPlan.d.ts +0 -32
  290. package/dist/api/firmware/FirmwareUpdatePreparedPlan.d.ts.map +0 -1
  291. package/dist/api/firmware/progressThrottle.d.ts +0 -3
  292. package/dist/api/firmware/progressThrottle.d.ts.map +0 -1
  293. package/dist/protocols/protocol-v2/lockedError.d.ts +0 -2
  294. package/dist/protocols/protocol-v2/lockedError.d.ts.map +0 -1
  295. package/dist/protocols/protocol-v2/unlockRetry.d.ts +0 -10
  296. package/dist/protocols/protocol-v2/unlockRetry.d.ts.map +0 -1
  297. package/dist/types/api/firmwareUpdateCapabilities.d.ts +0 -9
  298. package/dist/types/api/firmwareUpdateCapabilities.d.ts.map +0 -1
  299. package/dist/types/api/firmwareUpdatePlan.d.ts +0 -28
  300. package/dist/types/api/firmwareUpdatePlan.d.ts.map +0 -1
  301. package/dist/types/api/firmwareUpdatePreparedPlan.d.ts +0 -42
  302. package/dist/types/api/firmwareUpdatePreparedPlan.d.ts.map +0 -1
  303. package/src/api/firmware/FirmwareArtifactSource.ts +0 -278
  304. package/src/api/firmware/FirmwareHostBinding.ts +0 -100
  305. package/src/api/firmware/FirmwarePreparationError.ts +0 -12
  306. package/src/api/firmware/FirmwareUpdateCapabilities.ts +0 -9
  307. package/src/api/firmware/FirmwareUpdatePlan.ts +0 -772
  308. package/src/api/firmware/FirmwareUpdatePreparedPlan.ts +0 -449
  309. package/src/api/firmware/progressThrottle.ts +0 -44
  310. package/src/protocols/protocol-v2/lockedError.ts +0 -10
  311. package/src/protocols/protocol-v2/unlockRetry.ts +0 -109
  312. package/src/types/api/firmwareUpdateCapabilities.ts +0 -9
  313. package/src/types/api/firmwareUpdatePlan.ts +0 -38
  314. package/src/types/api/firmwareUpdatePreparedPlan.ts +0 -53
@@ -1,6 +1,8 @@
1
1
  import { HardwareErrorCode } from '@onekeyfe/hd-shared';
2
2
 
3
3
  import { writeProtocolV2File } from '../src/api/helpers/protocolV2FileWrite';
4
+ import { DataManager } from '../src/data-manager';
5
+ import { LoggerNames, getLogger } from '../src/utils/logger';
4
6
 
5
7
  jest.mock('../src/data/config', () => ({
6
8
  getSDKVersion: jest.fn(() => '1.0.0'),
@@ -65,6 +67,24 @@ describe('writeProtocolV2File', () => {
65
67
  ).rejects.toMatchObject({ errorCode: HardwareErrorCode.RuntimeError });
66
68
  });
67
69
 
70
+ test('拒绝非 FilesystemFile 响应', async () => {
71
+ const typedCall = jest.fn().mockResolvedValue({
72
+ type: 'CallMethodError',
73
+ message: { error: 'unexpected response' },
74
+ });
75
+
76
+ await expect(
77
+ writeProtocolV2File({
78
+ commands: { typedCall } as any,
79
+ path: 'vol1:/wallpapers/test.bin',
80
+ data: new Uint8Array([1]),
81
+ })
82
+ ).rejects.toMatchObject({
83
+ errorCode: HardwareErrorCode.RuntimeError,
84
+ message: 'FilesystemFileWrite received unexpected response CallMethodError',
85
+ });
86
+ });
87
+
68
88
  test('BLE 响应超时时原偏移重试且不重复上报进度', async () => {
69
89
  const timeoutError = Object.assign(new Error('Lowlevel response timeout'), {
70
90
  errorCode: HardwareErrorCode.BleTimeoutError,
@@ -89,4 +109,136 @@ describe('writeProtocolV2File', () => {
89
109
  expect(typedCall.mock.calls[1][2]).toEqual(typedCall.mock.calls[0][2]);
90
110
  expect(onProgress).toHaveBeenCalledTimes(1);
91
111
  });
112
+
113
+ test('支持固件上传的响应写入选项和全局设备进度', async () => {
114
+ const typedCall = jest.fn().mockResolvedValue({ message: { processed_byte: 3 } });
115
+ const getUiPercentage = jest.fn().mockReturnValue(42);
116
+
117
+ await writeProtocolV2File({
118
+ commands: { typedCall } as any,
119
+ path: 'vol0:/firmware.bin',
120
+ data: new Uint8Array([1, 2, 3]),
121
+ writeWithResponse: true,
122
+ getUiPercentage,
123
+ });
124
+
125
+ expect(getUiPercentage).toHaveBeenCalledWith({
126
+ offset: 0,
127
+ chunkLength: 3,
128
+ totalSize: 3,
129
+ });
130
+ expect(typedCall).toHaveBeenCalledWith(
131
+ 'FilesystemFileWrite',
132
+ 'FilesystemFile',
133
+ expect.objectContaining({ ui_percentage: 42 }),
134
+ { writeWithResponse: true }
135
+ );
136
+ });
137
+
138
+ test('按确认分片的时间窗口记录实时传输速率', async () => {
139
+ const data = new Uint8Array(4097);
140
+ const typedCall = jest.fn().mockResolvedValue({ message: {} });
141
+ const onProgress = jest.fn();
142
+ const dateNowSpy = jest
143
+ .spyOn(Date, 'now')
144
+ .mockReturnValueOnce(1_000)
145
+ .mockReturnValueOnce(2_000)
146
+ .mockReturnValueOnce(3_000);
147
+
148
+ try {
149
+ await writeProtocolV2File({
150
+ commands: { typedCall } as any,
151
+ path: 'vol1:/wallpapers/test.bin',
152
+ data,
153
+ onProgress,
154
+ });
155
+ } finally {
156
+ dateNowSpy.mockRestore();
157
+ }
158
+
159
+ expect(onProgress).toHaveBeenNthCalledWith(
160
+ 1,
161
+ expect.objectContaining({
162
+ transferredBytes: 4000,
163
+ rateBytesPerSecond: 4000,
164
+ elapsedMs: 1000,
165
+ })
166
+ );
167
+ expect(onProgress).toHaveBeenNthCalledWith(
168
+ 2,
169
+ expect.objectContaining({
170
+ transferredBytes: 4097,
171
+ rateBytesPerSecond: 97,
172
+ elapsedMs: 2000,
173
+ })
174
+ );
175
+ });
176
+
177
+ test('通过 Core Log 每十秒输出一次 BLE 传输关键指标', async () => {
178
+ const log = getLogger(LoggerNames.Method);
179
+ const logSpy = jest.spyOn(log, 'log').mockImplementation(() => undefined);
180
+ const getSettingsSpy = jest
181
+ .spyOn(DataManager, 'getSettings')
182
+ .mockReturnValue('react-native' as any);
183
+ const isBleConnectSpy = jest.spyOn(DataManager, 'isBleConnect').mockReturnValue(true);
184
+ const data = new Uint8Array(5400);
185
+ const typedCall = jest.fn().mockResolvedValue({ message: {} });
186
+ const dateNowSpy = jest
187
+ .spyOn(Date, 'now')
188
+ .mockReturnValueOnce(1_000)
189
+ .mockReturnValueOnce(5_000)
190
+ .mockReturnValueOnce(11_000)
191
+ .mockReturnValueOnce(15_000);
192
+
193
+ try {
194
+ await writeProtocolV2File({
195
+ commands: { typedCall } as any,
196
+ path: 'vol1:/wallpapers/test.bin',
197
+ data,
198
+ });
199
+
200
+ expect(logSpy).toHaveBeenCalledTimes(2);
201
+ expect(logSpy).toHaveBeenNthCalledWith(
202
+ 1,
203
+ '[FileWrite] metrics transport=BLE status=progress bytes=3600/5400 elapsed=10.00s speed=0.35 KiB/s'
204
+ );
205
+ expect(logSpy).toHaveBeenNthCalledWith(
206
+ 2,
207
+ '[FileWrite] metrics transport=BLE status=completed bytes=5400/5400 elapsed=14.00s speed=0.44 KiB/s'
208
+ );
209
+ } finally {
210
+ dateNowSpy.mockRestore();
211
+ getSettingsSpy.mockRestore();
212
+ isBleConnectSpy.mockRestore();
213
+ logSpy.mockRestore();
214
+ }
215
+ });
216
+
217
+ test('写入失败时通过 Core Log 输出已传输字节和平均速率', async () => {
218
+ const log = getLogger(LoggerNames.Method);
219
+ const logSpy = jest.spyOn(log, 'log').mockImplementation(() => undefined);
220
+ const typedCall = jest.fn().mockRejectedValue(new Error('write failed'));
221
+ const dateNowSpy = jest
222
+ .spyOn(Date, 'now')
223
+ .mockReturnValueOnce(1_000)
224
+ .mockReturnValueOnce(2_000);
225
+
226
+ try {
227
+ await expect(
228
+ writeProtocolV2File({
229
+ commands: { typedCall } as any,
230
+ path: 'vol1:/wallpapers/test.bin',
231
+ data: new Uint8Array(4000),
232
+ })
233
+ ).rejects.toThrow('write failed');
234
+
235
+ expect(logSpy).toHaveBeenNthCalledWith(
236
+ 1,
237
+ '[FileWrite] metrics transport=unknown status=failed bytes=0/4000 elapsed=1.00s speed=0.00 KiB/s'
238
+ );
239
+ } finally {
240
+ dateNowSpy.mockRestore();
241
+ logSpy.mockRestore();
242
+ }
243
+ });
92
244
  });
@@ -120,6 +120,69 @@ describe('ProtocolV2UiInteractionCoordinator', () => {
120
120
  ]);
121
121
  });
122
122
 
123
+ test('emits a routable close for a progress-only Protocol V2 operation', () => {
124
+ const postMessage = jest.fn();
125
+ const interaction = {
126
+ interactionId: 'interaction-progress',
127
+ phaseId: 'interaction-progress:phase-1',
128
+ sequence: 1,
129
+ phase: 'processing',
130
+ transition: 'finish',
131
+ outcome: 'succeeded',
132
+ protocol: 'V2',
133
+ } as const;
134
+ const device = {
135
+ ...createDevice(),
136
+ finishProtocolV2UiInteraction: jest.fn(() => interaction),
137
+ };
138
+ const coordinator = new ProtocolV2UiInteractionCoordinator(device as any, postMessage);
139
+
140
+ const emitted = coordinator.close({ ensureOperationClose: true });
141
+
142
+ expect(emitted).toBe(true);
143
+ expect(postMessage).toHaveBeenCalledWith({
144
+ event: 'UI_EVENT',
145
+ type: UI_REQUEST.CLOSE_UI_WINDOW,
146
+ payload: {
147
+ ...interaction,
148
+ device: { connectId: 'pro2-test', deviceType: 'pro2' },
149
+ },
150
+ });
151
+ });
152
+
153
+ test('closes a known Protocol V2 operation after transport state is released', () => {
154
+ const postMessage = jest.fn();
155
+ const interaction = {
156
+ interactionId: 'interaction-released',
157
+ phaseId: 'interaction-released:phase-1',
158
+ sequence: 2,
159
+ phase: 'processing',
160
+ transition: 'finish',
161
+ outcome: 'succeeded',
162
+ protocol: 'V2',
163
+ } as const;
164
+ const device = {
165
+ ...createDevice(false),
166
+ finishProtocolV2UiInteraction: jest.fn(() => interaction),
167
+ };
168
+ const coordinator = new ProtocolV2UiInteractionCoordinator(device as any, postMessage);
169
+
170
+ const emitted = coordinator.close({
171
+ ensureOperationClose: true,
172
+ protocolV2Operation: true,
173
+ });
174
+
175
+ expect(emitted).toBe(true);
176
+ expect(postMessage).toHaveBeenCalledWith({
177
+ event: 'UI_EVENT',
178
+ type: UI_REQUEST.CLOSE_UI_WINDOW,
179
+ payload: {
180
+ ...interaction,
181
+ device: { connectId: 'pro2-test', deviceType: 'pro2' },
182
+ },
183
+ });
184
+ });
185
+
123
186
  test('does not emit interaction events for methods without metadata such as Portfolio', () => {
124
187
  const postMessage = jest.fn();
125
188
  const coordinator = new ProtocolV2UiInteractionCoordinator(createDevice() as any, postMessage);
@@ -48,6 +48,7 @@ describe('public Pro2 API boundary', () => {
48
48
  const api = createCoreApi(jest.fn() as CoreApi['call']) as Record<string, unknown>;
49
49
 
50
50
  expect(api.deviceGetOnboardingStatus).toBeInstanceOf(Function);
51
+ expect(api.deviceUploadNft).toBeInstanceOf(Function);
51
52
  expect(api.uploadPortfolio).toBeInstanceOf(Function);
52
53
  expect(api.testProtocolV2Ping).toBeInstanceOf(Function);
53
54
  expect(publicMethods.testProtocolV2Ping).toBeInstanceOf(Function);
@@ -42,7 +42,7 @@ describe('SearchDevices', () => {
42
42
  mockIsBleConnect.mockReturnValue(false);
43
43
  });
44
44
 
45
- test('单个 USB 描述符无响应时跳过该设备并继续搜索', async () => {
45
+ test('搜索忽略调用方协议并主动探测,单个无响应设备不阻断后续结果', async () => {
46
46
  const unresponsiveDescriptor = {
47
47
  path: 'stale-usb-device',
48
48
  id: 'stale-usb-device',
@@ -74,6 +74,7 @@ describe('SearchDevices', () => {
74
74
  id: 1,
75
75
  payload: {
76
76
  method: 'searchDevices',
77
+ connectProtocol: 'V2',
77
78
  },
78
79
  } as any);
79
80
  method.init();
@@ -89,13 +90,21 @@ describe('SearchDevices', () => {
89
90
  1,
90
91
  [unresponsiveDescriptor],
91
92
  unresponsiveDescriptor.path,
92
- { connectProtocol: undefined, refreshRuntimeState: true }
93
+ {
94
+ connectProtocol: undefined,
95
+ forceProtocolDetection: true,
96
+ refreshRuntimeState: true,
97
+ }
93
98
  );
94
99
  expect(mockGetDevices).toHaveBeenNthCalledWith(
95
100
  2,
96
101
  [availableDescriptor],
97
102
  availableDescriptor.path,
98
- { connectProtocol: undefined, refreshRuntimeState: true }
103
+ {
104
+ connectProtocol: undefined,
105
+ forceProtocolDetection: true,
106
+ refreshRuntimeState: true,
107
+ }
99
108
  );
100
109
  });
101
110
 
@@ -44,7 +44,7 @@ describe('TronSignMessage legacy message validation', () => {
44
44
  }
45
45
  );
46
46
 
47
- test('allows Protocol V2 message signing on Pro2', async () => {
47
+ test('allows Protocol V2 message signing on the Pro2 product family', async () => {
48
48
  const method = new TronSignMessage({
49
49
  id: 1,
50
50
  payload: {
@@ -60,7 +60,7 @@ describe('TronSignMessage legacy message validation', () => {
60
60
  method.device = {
61
61
  commands: { typedCall },
62
62
  getCurrentFirmwareVersionString: jest.fn(() => '0.0.0'),
63
- getCurrentMethodVersionRange: jest.fn(selector => selector('pro2')),
63
+ getCurrentMethodVersionRange: jest.fn(selector => selector('model_pro2')),
64
64
  getCurrentFirmwareType: jest.fn(() => EFirmwareType.Universal),
65
65
  } as unknown as Device;
66
66
 
@@ -0,0 +1,74 @@
1
+ import { createUiMessage } from '../src/events';
2
+ import { UI_REQUEST } from '../src/events/ui-request';
3
+ import { createUiProgressMessageFilter } from '../src/utils/uiProgressThrottle';
4
+
5
+ import type { KnownDevice } from '../src/types';
6
+
7
+ describe('createUiProgressMessageFilter', () => {
8
+ let currentTime: number;
9
+ let shouldPostMessage: ReturnType<typeof createUiProgressMessageFilter>;
10
+
11
+ beforeEach(() => {
12
+ currentTime = 1_000;
13
+ shouldPostMessage = createUiProgressMessageFilter(250, () => currentTime);
14
+ });
15
+
16
+ const firmwareProgress = (
17
+ progress: number,
18
+ progressType: 'transferData' | 'installingFirmware' = 'transferData'
19
+ ) =>
20
+ createUiMessage(UI_REQUEST.FIRMWARE_PROGRESS, {
21
+ device: {} as KnownDevice,
22
+ progress,
23
+ progressType,
24
+ });
25
+
26
+ test('limits firmware progress to one event per interval', () => {
27
+ expect(shouldPostMessage(firmwareProgress(1))).toBe(true);
28
+
29
+ currentTime += 100;
30
+ expect(shouldPostMessage(firmwareProgress(1))).toBe(false);
31
+
32
+ currentTime += 150;
33
+ expect(shouldPostMessage(firmwareProgress(1))).toBe(true);
34
+ });
35
+
36
+ test('limits transfer and install progress independently', () => {
37
+ expect(shouldPostMessage(firmwareProgress(1, 'transferData'))).toBe(true);
38
+ expect(shouldPostMessage(firmwareProgress(1, 'installingFirmware'))).toBe(true);
39
+
40
+ currentTime += 10;
41
+ expect(shouldPostMessage(firmwareProgress(2, 'transferData'))).toBe(false);
42
+ expect(shouldPostMessage(firmwareProgress(2, 'installingFirmware'))).toBe(false);
43
+ });
44
+
45
+ test('emits phase boundaries immediately and suppresses duplicate boundaries', () => {
46
+ expect(shouldPostMessage(firmwareProgress(0))).toBe(true);
47
+ expect(shouldPostMessage(firmwareProgress(0))).toBe(false);
48
+
49
+ currentTime += 10;
50
+ expect(shouldPostMessage(firmwareProgress(50))).toBe(false);
51
+ expect(shouldPostMessage(firmwareProgress(100))).toBe(true);
52
+ expect(shouldPostMessage(firmwareProgress(100))).toBe(false);
53
+
54
+ expect(shouldPostMessage(firmwareProgress(0))).toBe(true);
55
+ });
56
+
57
+ test('treats decreasing progress as a new phase', () => {
58
+ expect(shouldPostMessage(firmwareProgress(80))).toBe(true);
59
+
60
+ currentTime += 10;
61
+ expect(shouldPostMessage(firmwareProgress(20))).toBe(true);
62
+ });
63
+
64
+ test('also limits device progress and leaves other UI events unchanged', () => {
65
+ const deviceProgress = (progress: number) =>
66
+ createUiMessage(UI_REQUEST.DEVICE_PROGRESS, { progress });
67
+
68
+ expect(shouldPostMessage(deviceProgress(1))).toBe(true);
69
+ currentTime += 10;
70
+ expect(shouldPostMessage(deviceProgress(2))).toBe(false);
71
+
72
+ expect(shouldPostMessage(createUiMessage(UI_REQUEST.CLOSE_UI_WINDOW))).toBe(true);
73
+ });
74
+ });
@@ -0,0 +1,115 @@
1
+ import { createDeferred } from '@onekeyfe/hd-shared';
2
+
3
+ import {
4
+ consumeUiPromise,
5
+ findUiPromiseForResponse,
6
+ rejectUiPromises,
7
+ } from '../src/core/uiPromiseRegistry';
8
+ import { UI_RESPONSE } from '../src/events';
9
+
10
+ import type { UiPromise, UiPromiseResponse } from '../src/events';
11
+
12
+ const createPinPromise = (interactionId: string, deviceId: string) => {
13
+ const promise = createDeferred(UI_RESPONSE.RECEIVE_PIN) as UiPromise<
14
+ typeof UI_RESPONSE.RECEIVE_PIN
15
+ >;
16
+ promise.responseCorrelation = { interactionId, deviceId };
17
+ return promise;
18
+ };
19
+
20
+ const asRegistry = (promises: UiPromise<typeof UI_RESPONSE.RECEIVE_PIN>[]) =>
21
+ promises as UiPromise<UiPromiseResponse['type']>[];
22
+
23
+ describe('UI response promise correlation', () => {
24
+ test('consumes a rejected UI promise and normalizes its callback error', async () => {
25
+ const pending = createDeferred<string>();
26
+ const onFulfilled = jest.fn();
27
+ const onRejected = jest.fn();
28
+
29
+ consumeUiPromise(pending.promise, onFulfilled, onRejected);
30
+ pending.reject('cancelled' as unknown as Error);
31
+ await Promise.resolve();
32
+
33
+ expect(onFulfilled).not.toHaveBeenCalled();
34
+ expect(onRejected).toHaveBeenCalledWith(expect.any(Error));
35
+ expect(onRejected.mock.calls[0][0].message).toBe('cancelled');
36
+ });
37
+
38
+ test('matches a sensitive response by type, interactionId and deviceId', () => {
39
+ const deviceA = createPinPromise('interaction-a', 'device-a');
40
+ const deviceB = createPinPromise('interaction-b', 'device-b');
41
+
42
+ expect(
43
+ findUiPromiseForResponse(asRegistry([deviceA, deviceB]), {
44
+ type: UI_RESPONSE.RECEIVE_PIN,
45
+ payload: '123',
46
+ interactionId: 'interaction-b',
47
+ deviceId: 'device-b',
48
+ })
49
+ ).toBe(deviceB);
50
+ });
51
+
52
+ test('does not match incomplete or incorrect correlation metadata', () => {
53
+ const pending = createPinPromise('interaction-a', 'device-a');
54
+
55
+ expect(
56
+ findUiPromiseForResponse(asRegistry([pending]), {
57
+ type: UI_RESPONSE.RECEIVE_PIN,
58
+ payload: '123',
59
+ interactionId: 'interaction-a',
60
+ })
61
+ ).toBeUndefined();
62
+ expect(
63
+ findUiPromiseForResponse(asRegistry([pending]), {
64
+ type: UI_RESPONSE.RECEIVE_PIN,
65
+ payload: '123',
66
+ interactionId: 'interaction-a',
67
+ deviceId: 'device-b',
68
+ })
69
+ ).toBeUndefined();
70
+ });
71
+
72
+ test('keeps legacy responses only when the sensitive candidate is unique', () => {
73
+ const deviceA = createPinPromise('interaction-a', 'device-a');
74
+ const deviceB = createPinPromise('interaction-b', 'device-b');
75
+ const legacyResponse = {
76
+ type: UI_RESPONSE.RECEIVE_PIN,
77
+ payload: '123',
78
+ } as const;
79
+
80
+ expect(findUiPromiseForResponse(asRegistry([deviceA]), legacyResponse)).toBe(deviceA);
81
+ expect(
82
+ findUiPromiseForResponse(asRegistry([deviceA, deviceB]), legacyResponse)
83
+ ).toBeUndefined();
84
+ });
85
+
86
+ test('applies the same exact matching to passphrase responses', () => {
87
+ const promise = createDeferred(UI_RESPONSE.RECEIVE_PASSPHRASE) as UiPromise<
88
+ typeof UI_RESPONSE.RECEIVE_PASSPHRASE
89
+ >;
90
+ promise.responseCorrelation = {
91
+ interactionId: 'passphrase-interaction',
92
+ deviceId: 'device-a',
93
+ };
94
+
95
+ expect(
96
+ findUiPromiseForResponse([promise] as UiPromise<UiPromiseResponse['type']>[], {
97
+ type: UI_RESPONSE.RECEIVE_PASSPHRASE,
98
+ payload: { value: 'redacted' },
99
+ interactionId: 'passphrase-interaction',
100
+ deviceId: 'device-a',
101
+ })
102
+ ).toBe(promise);
103
+ });
104
+
105
+ test('rejects every pending UI promise removed during cleanup', async () => {
106
+ const deviceA = createPinPromise('interaction-a', 'device-a');
107
+ const deviceB = createPinPromise('interaction-b', 'device-b');
108
+ const cancellation = new Error('UI request was cancelled');
109
+
110
+ rejectUiPromises(asRegistry([deviceA, deviceB]), cancellation);
111
+
112
+ await expect(deviceA.promise).rejects.toBe(cancellation);
113
+ await expect(deviceB.promise).rejects.toBe(cancellation);
114
+ });
115
+ });
@@ -1,11 +1,12 @@
1
1
  import { type EFirmwareType } from '@onekeyfe/hd-shared';
2
2
  import { type ProtocolType } from '@onekeyfe/hd-transport';
3
- import { type UnlockPolicy } from '../protocols/protocol-v2/unlockPolicy';
4
3
  import type { Device } from '../device/Device';
5
4
  import type DeviceConnector from '../device/DeviceConnector';
6
5
  import type { DeviceFirmwareRange } from '../types';
7
6
  import type { CoreMessage } from '../events';
7
+ import type { UnlockPolicy } from '../protocols/protocol-v2/unlockPolicy';
8
8
  import type { ProtocolV2InteractionDescriptor } from '../protocols/protocol-v2/uiInteraction';
9
+ import type { ProtocolV2UnlockContext } from '../protocols/protocol-v2/unlockPolicyRunner';
9
10
  import type { RequestContext } from '../utils/tracing';
10
11
  import type { CoreContext } from '../core';
11
12
  export type { UnlockPolicy } from '../protocols/protocol-v2/unlockPolicy';
@@ -37,6 +38,7 @@ export declare abstract class BaseMethod<Params = undefined> {
37
38
  getPreWarmKey(): string;
38
39
  strictCheckDeviceSupport: boolean;
39
40
  unlockPolicy: UnlockPolicy;
41
+ protocolV2UnlockContext?: ProtocolV2UnlockContext;
40
42
  getSupportedProtocols(): readonly ProtocolType[];
41
43
  supportsProtocol(protocol: ProtocolType): boolean;
42
44
  assertProtocolSupported(protocol: ProtocolType, firmwareType: EFirmwareType): void;
@@ -1 +1 @@
1
- {"version":3,"file":"BaseMethod.d.ts","sourceRoot":"","sources":["../../src/api/BaseMethod.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseMethod.d.ts","sourceRoot":"","sources":["../../src/api/BaseMethod.ts"],"names":[],"mappings":"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"}
@@ -13,9 +13,10 @@ type ProtocolV2FirmwareReleasePlan = {
13
13
  targetsToUpdate: FirmwareUpdateV4Target[];
14
14
  release: IFirmwareReleaseInfo | undefined;
15
15
  };
16
- export declare function buildProtocolV2FirmwareRelease({ currentVersions, currentVerification, remotePayloadHashes, firmwareType, release, }: {
16
+ export declare function buildProtocolV2FirmwareRelease({ currentVersions, currentVerification, checkFirmwareHash, remotePayloadHashes, firmwareType, release, }: {
17
17
  currentVersions: DeviceStateVersions;
18
18
  currentVerification?: Partial<DeviceFeaturesVerify>;
19
+ checkFirmwareHash?: boolean;
19
20
  remotePayloadHashes?: Readonly<Record<string, string | null>>;
20
21
  firmwareType: EFirmwareType;
21
22
  release: IFirmwareReleaseInfo | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"CheckAllFirmwareRelease.d.ts","sourceRoot":"","sources":["../../src/api/CheckAllFirmwareRelease.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA4C,MAAM,qBAAqB,CAAC;AAG9F,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAqB1C,OAAO,KAAK,EACV,kBAAkB,EAElB,kCAAkC,EAClC,+BAA+B,EAChC,MAAM,sCAAsC,CAAC;AAC9C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,KAAK,EACV,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EAGrB,MAAM,UAAU,CAAC;AA8HlB,KAAK,6BAA6B,GAAG;IACnC,YAAY,EAAE,aAAa,CAAC;IAC5B,MAAM,EAAE,+BAA+B,CAAC;IACxC,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,eAAe,EAAE,mBAAmB,CAAC;IACrC,UAAU,EAAE,kCAAkC,EAAE,CAAC;IACjD,eAAe,EAAE,sBAAsB,EAAE,CAAC;IAC1C,OAAO,EAAE,oBAAoB,GAAG,SAAS,CAAC;CAC3C,CAAC;AAEF,wBAAgB,8BAA8B,CAAC,EAC7C,eAAe,EACf,mBAAwB,EACxB,mBAAwB,EACxB,YAAY,EACZ,OAAO,GACR,EAAE;IACD,eAAe,EAAE,mBAAmB,CAAC;IACrC,mBAAmB,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACpD,mBAAmB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;IAC9D,YAAY,EAAE,aAAa,CAAC;IAC5B,OAAO,EAAE,oBAAoB,GAAG,SAAS,CAAC;CAC3C,GAAG,6BAA6B,CAuEhC;AAID,MAAM,CAAC,OAAO,OAAO,uBAAwB,SAAQ,UAAU;IAC7D,qBAAqB;IAIrB,IAAI;IAME,GAAG;YAuFK,aAAa;CAqD5B"}
1
+ {"version":3,"file":"CheckAllFirmwareRelease.d.ts","sourceRoot":"","sources":["../../src/api/CheckAllFirmwareRelease.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,aAAa,EAA6B,MAAM,qBAAqB,CAAC;AAY5F,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAM1C,OAAO,KAAK,EACV,kBAAkB,EAElB,kCAAkC,EAClC,+BAA+B,EAChC,MAAM,sCAAsC,CAAC;AAC9C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,KAAK,EACV,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EAGrB,MAAM,UAAU,CAAC;AA+HlB,KAAK,6BAA6B,GAAG;IACnC,YAAY,EAAE,aAAa,CAAC;IAC5B,MAAM,EAAE,+BAA+B,CAAC;IACxC,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,eAAe,EAAE,mBAAmB,CAAC;IACrC,UAAU,EAAE,kCAAkC,EAAE,CAAC;IACjD,eAAe,EAAE,sBAAsB,EAAE,CAAC;IAC1C,OAAO,EAAE,oBAAoB,GAAG,SAAS,CAAC;CAC3C,CAAC;AAEF,wBAAgB,8BAA8B,CAAC,EAC7C,eAAe,EACf,mBAAwB,EACxB,iBAAyB,EACzB,mBAAwB,EACxB,YAAY,EACZ,OAAO,GACR,EAAE;IACD,eAAe,EAAE,mBAAmB,CAAC;IACrC,mBAAmB,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACpD,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,mBAAmB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;IAC9D,YAAY,EAAE,aAAa,CAAC;IAC5B,OAAO,EAAE,oBAAoB,GAAG,SAAS,CAAC;CAC3C,GAAG,6BAA6B,CAqEhC;AAED,MAAM,CAAC,OAAO,OAAO,uBAAwB,SAAQ,UAAU;IAC7D,qBAAqB;IAIrB,IAAI;IAME,GAAG;YAuDK,aAAa;CA2F5B"}
@@ -0,0 +1,7 @@
1
+ import { BaseMethod } from './BaseMethod';
2
+ export default class DetectDeviceConnectProtocol extends BaseMethod {
3
+ init(): void;
4
+ getSupportedProtocols(): readonly ["V1", "V2"];
5
+ run(): Promise<"V1" | "V2">;
6
+ }
7
+ //# sourceMappingURL=DetectDeviceConnectProtocol.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DetectDeviceConnectProtocol.d.ts","sourceRoot":"","sources":["../../src/api/DetectDeviceConnectProtocol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,CAAC,OAAO,OAAO,2BAA4B,SAAQ,UAAU;IACjE,IAAI;IAOJ,qBAAqB;IAIrB,GAAG;CAGJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"FirmwareUpdate.d.ts","sourceRoot":"","sources":["../../src/api/FirmwareUpdate.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAY1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEpD,KAAK,MAAM,GAAG;IACZ,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE,UAAU,GAAG,KAAK,CAAC;CAChC,CAAC;AAIF,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,UAAU,CAAC,MAAM,CAAC;IAC5D,YAAY,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAQ;IAE1C,IAAI;IAgCJ,cAAc,YAAa,MAAM,UAS/B;IAEF,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS;IAiE/C,GAAG;CA+FV"}
1
+ {"version":3,"file":"FirmwareUpdate.d.ts","sourceRoot":"","sources":["../../src/api/FirmwareUpdate.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAW1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEpD,KAAK,MAAM,GAAG;IACZ,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE,UAAU,GAAG,KAAK,CAAC;CAChC,CAAC;AAIF,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,UAAU,CAAC,MAAM,CAAC;IAC5D,YAAY,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAQ;IAE1C,IAAI;IAgCJ,cAAc,YAAa,MAAM,UAS/B;IAEF,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS;IA0D/C,GAAG;CA+FV"}
@@ -1,19 +1,8 @@
1
1
  import { type Deferred, type EFirmwareType } from '@onekeyfe/hd-shared';
2
2
  import { BaseMethod } from './BaseMethod';
3
3
  import type { Features } from '../types';
4
- import type { FirmwareArtifactReader, FirmwareArtifactReference } from '../types/api/firmwareUpdate';
5
- import type { FirmwareUpdatePreparedPlan } from '../types/api/firmwareUpdatePreparedPlan';
6
4
  type Params = {
7
5
  binary?: ArrayBuffer;
8
- artifact?: FirmwareArtifactReference;
9
- resourceArtifact?: FirmwareArtifactReference;
10
- resourceEntries?: Array<{
11
- entryName: string;
12
- artifact: FirmwareArtifactReference;
13
- }>;
14
- artifactReader?: FirmwareArtifactReader;
15
- preparedPlan?: FirmwareUpdatePreparedPlan;
16
- platform?: FirmwareUpdatePreparedPlan['platform'];
17
6
  version?: number[];
18
7
  updateType: 'firmware' | 'ble';
19
8
  forcedUpdateRes?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"FirmwareUpdateV2.d.ts","sourceRoot":"","sources":["../../src/api/FirmwareUpdateV2.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,QAAQ,EAEb,KAAK,aAAa,EAKnB,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAyB1C,OAAO,KAAK,EAAE,QAAQ,EAAe,MAAM,UAAU,CAAC;AAEtD,OAAO,KAAK,EACV,sBAAsB,EACtB,yBAAyB,EAC1B,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AAE1F,KAAK,MAAM,GAAG;IACZ,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,QAAQ,CAAC,EAAE,yBAAyB,CAAC;IACrC,gBAAgB,CAAC,EAAE,yBAAyB,CAAC;IAC7C,eAAe,CAAC,EAAE,KAAK,CAAC;QACtB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,yBAAyB,CAAC;KACrC,CAAC,CAAC;IACH,cAAc,CAAC,EAAE,sBAAsB,CAAC;IACxC,YAAY,CAAC,EAAE,0BAA0B,CAAC;IAC1C,QAAQ,CAAC,EAAE,0BAA0B,CAAC,UAAU,CAAC,CAAC;IAClD,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE,UAAU,GAAG,KAAK,CAAC;IAC/B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,YAAY,CAAC,EAAE,aAAa,CAAC;CAC9B,CAAC;AAkFF,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,UAAU,CAAC,MAAM,CAAC;IAC9D,YAAY,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAQ;IAE1C,IAAI;IA6EJ,cAAc,YAAa,MAAM,UAS/B;YAEY,qCAAqC;IAkBnD,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS;YA6FvC,4BAA4B;IAuB1C,qBAAqB;IAUrB,uBAAuB,CAAC,UAAU,EAAE,MAAM;IAc1C,gCAAgC,CAAC,QAAQ,EAAE,QAAQ,GAAG,SAAS,EAAE,YAAY,EAAE,aAAa;IAwBtF,GAAG;CA2QV"}
1
+ {"version":3,"file":"FirmwareUpdateV2.d.ts","sourceRoot":"","sources":["../../src/api/FirmwareUpdateV2.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,QAAQ,EAEb,KAAK,aAAa,EAKnB,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAW1C,OAAO,KAAK,EAAE,QAAQ,EAAe,MAAM,UAAU,CAAC;AAGtD,KAAK,MAAM,GAAG;IACZ,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE,UAAU,GAAG,KAAK,CAAC;IAC/B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,YAAY,CAAC,EAAE,aAAa,CAAC;CAC9B,CAAC;AA2EF,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,UAAU,CAAC,MAAM,CAAC;IAC9D,YAAY,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAQ;IAE1C,IAAI;IA6CJ,cAAc,YAAa,MAAM,UAS/B;YAEY,qCAAqC;IAkBnD,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS;YAmFvC,4BAA4B;IAyB1C,qBAAqB;IAUrB,uBAAuB,CAAC,UAAU,EAAE,MAAM;IAc1C,gCAAgC,CAAC,QAAQ,EAAE,QAAQ,GAAG,SAAS,EAAE,YAAY,EAAE,aAAa;IAwBtF,GAAG;CAwJV"}
@@ -5,7 +5,6 @@ export declare const MIN_UPDATE_V3_BOOTLOADER_VERSION = "2.8.0";
5
5
  export default class FirmwareUpdateV3 extends FirmwareUpdateBaseMethod<FirmwareUpdateV3Params> {
6
6
  checkPromise: Deferred<any> | null;
7
7
  private isSwitchFirmware;
8
- private artifactSources;
9
8
  init(): void;
10
9
  run(): Promise<{
11
10
  bootloaderVersion: string;
@@ -14,12 +13,9 @@ export default class FirmwareUpdateV3 extends FirmwareUpdateBaseMethod<FirmwareU
14
13
  }>;
15
14
  private runProtocolV1;
16
15
  private validateDeviceAndVersion;
17
- private openArtifactSource;
18
- private closeArtifactSources;
19
- private assertSdkDownloadAllowed;
20
- private prepareResourceInput;
21
- private prepareBootloaderSource;
22
- private prepareFirmwareAndBleSources;
16
+ private prepareResourceBinary;
17
+ private prepareBootloaderBinary;
18
+ private prepareFirmwareAndBleBinary;
23
19
  private executeUpdate;
24
20
  private extractUpdateModeProgress;
25
21
  private isGetFeaturesTimeoutError;
@@ -1 +1 @@
1
- {"version":3,"file":"FirmwareUpdateV3.d.ts","sourceRoot":"","sources":["../../src/api/FirmwareUpdateV3.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAY/E,OAAO,KAAK,EAEV,sBAAsB,EACvB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,QAAQ,EAAiB,MAAM,qBAAqB,CAAC;AAMnE,eAAO,MAAM,gCAAgC,UAAU,CAAC;AAaxD,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,wBAAwB,CAAC,sBAAsB,CAAC;IAC5F,YAAY,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAQ;IAE1C,OAAO,CAAC,gBAAgB,CAAS;IAEjC,OAAO,CAAC,eAAe,CAA4B;IAEnD,IAAI;IAmFE,GAAG;;;;;YAQK,aAAa;IA6D3B,OAAO,CAAC,wBAAwB;YAiBlB,kBAAkB;YAelB,oBAAoB;IAKlC,OAAO,CAAC,wBAAwB;YAgBlB,oBAAoB;YA2DpB,uBAAuB;YAuBvB,4BAA4B;YA+E5B,aAAa;IAwN3B,OAAO,CAAC,yBAAyB;IAajC,OAAO,CAAC,yBAAyB;IAQjC,OAAO,CAAC,qBAAqB;IAmB7B,OAAO,CAAC,sCAAsC;IAexC,sBAAsB,CAAC,OAAO,EAAE,MAAM;CA2E7C"}
1
+ {"version":3,"file":"FirmwareUpdateV3.d.ts","sourceRoot":"","sources":["../../src/api/FirmwareUpdateV3.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAK/E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,KAAK,EAAE,QAAQ,EAAiB,MAAM,qBAAqB,CAAC;AAKnE,eAAO,MAAM,gCAAgC,UAAU,CAAC;AAaxD,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,wBAAwB,CAAC,sBAAsB,CAAC;IAC5F,YAAY,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAQ;IAE1C,OAAO,CAAC,gBAAgB,CAAS;IAEjC,IAAI;IAmCE,GAAG;;;;;YAQK,aAAa;IA+C3B,OAAO,CAAC,wBAAwB;YAiBlB,qBAAqB;YAoBrB,uBAAuB;YAiBvB,2BAA2B;YAiD3B,aAAa;IA0M3B,OAAO,CAAC,yBAAyB;IAajC,OAAO,CAAC,yBAAyB;IAQjC,OAAO,CAAC,qBAAqB;IAmB7B,OAAO,CAAC,sCAAsC;IAexC,sBAAsB,CAAC,OAAO,EAAE,MAAM;CA2E7C"}