@onekeyfe/hd-core 1.1.34-alpha.3 → 1.1.34-alpha.4

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 (613) hide show
  1. package/__tests__/DeviceCommands.test.ts +0 -217
  2. package/__tests__/evmLedgerLegacySafety.test.ts +4 -15
  3. package/__tests__/evmSignTransaction.test.ts +1 -1
  4. package/__tests__/evmSignTypedData.test.ts +1 -1
  5. package/__tests__/firmware-update/firmware-update-v2-download-before-boot.test.ts +31 -48
  6. package/__tests__/preInitialize.test.ts +0 -33
  7. package/dist/api/BaseMethod.d.ts +0 -12
  8. package/dist/api/BaseMethod.d.ts.map +1 -1
  9. package/dist/api/CheckAllFirmwareRelease.d.ts.map +1 -1
  10. package/dist/api/CheckBootloaderRelease.d.ts.map +1 -1
  11. package/dist/api/CheckFirmwareRelease.d.ts.map +1 -1
  12. package/dist/api/FirmwareUpdate.d.ts.map +1 -1
  13. package/dist/api/FirmwareUpdateV2.d.ts +3 -14
  14. package/dist/api/FirmwareUpdateV2.d.ts.map +1 -1
  15. package/dist/api/FirmwareUpdateV3.d.ts +3 -10
  16. package/dist/api/FirmwareUpdateV3.d.ts.map +1 -1
  17. package/dist/api/GetFeatures.d.ts +1 -1
  18. package/dist/api/GetFeatures.d.ts.map +1 -1
  19. package/dist/api/GetOnekeyFeatures.d.ts.map +1 -1
  20. package/dist/api/GetPassphraseState.d.ts.map +1 -1
  21. package/dist/api/PromptWebDeviceAccess.d.ts.map +1 -1
  22. package/dist/api/SearchDevices.d.ts +1 -5
  23. package/dist/api/SearchDevices.d.ts.map +1 -1
  24. package/dist/api/alephium/AlephiumGetAddress.d.ts +6 -2
  25. package/dist/api/alephium/AlephiumGetAddress.d.ts.map +1 -1
  26. package/dist/api/alephium/AlephiumSignMessage.d.ts +5 -2
  27. package/dist/api/alephium/AlephiumSignMessage.d.ts.map +1 -1
  28. package/dist/api/alephium/AlephiumSignTransaction.d.ts +8 -5
  29. package/dist/api/alephium/AlephiumSignTransaction.d.ts.map +1 -1
  30. package/dist/api/allnetwork/AllNetworkGetAddressBase.d.ts.map +1 -1
  31. package/dist/api/aptos/AptosGetAddress.d.ts.map +1 -1
  32. package/dist/api/benfen/BenfenGetAddress.d.ts +9 -2
  33. package/dist/api/benfen/BenfenGetAddress.d.ts.map +1 -1
  34. package/dist/api/benfen/BenfenGetPublicKey.d.ts +9 -2
  35. package/dist/api/benfen/BenfenGetPublicKey.d.ts.map +1 -1
  36. package/dist/api/benfen/BenfenSignMessage.d.ts +8 -2
  37. package/dist/api/benfen/BenfenSignMessage.d.ts.map +1 -1
  38. package/dist/api/benfen/BenfenSignTransaction.d.ts +8 -2
  39. package/dist/api/benfen/BenfenSignTransaction.d.ts.map +1 -1
  40. package/dist/api/btc/BTCGetAddress.d.ts +11 -1
  41. package/dist/api/btc/BTCGetAddress.d.ts.map +1 -1
  42. package/dist/api/btc/BTCGetPublicKey.d.ts +11 -1
  43. package/dist/api/btc/BTCGetPublicKey.d.ts.map +1 -1
  44. package/dist/api/btc/BTCSignMessage.d.ts +15 -1
  45. package/dist/api/btc/BTCSignMessage.d.ts.map +1 -1
  46. package/dist/api/btc/BTCSignPsbt.d.ts.map +1 -1
  47. package/dist/api/btc/BTCSignTransaction.d.ts +11 -1
  48. package/dist/api/btc/BTCSignTransaction.d.ts.map +1 -1
  49. package/dist/api/btc/BTCVerifyMessage.d.ts +11 -1
  50. package/dist/api/btc/BTCVerifyMessage.d.ts.map +1 -1
  51. package/dist/api/btc/helpers/versionLimit.d.ts +11 -2
  52. package/dist/api/btc/helpers/versionLimit.d.ts.map +1 -1
  53. package/dist/api/cardano/CardanoSignTransaction.d.ts.map +1 -1
  54. package/dist/api/conflux/ConfluxSignTransaction.d.ts.map +1 -1
  55. package/dist/api/device/DeviceCancel.d.ts.map +1 -1
  56. package/dist/api/device/DeviceChangePin.d.ts.map +1 -1
  57. package/dist/api/device/DeviceFullyUploadResource.d.ts +2 -1
  58. package/dist/api/device/DeviceFullyUploadResource.d.ts.map +1 -1
  59. package/dist/api/device/DeviceLock.d.ts.map +1 -1
  60. package/dist/api/device/DeviceRebootToBoardloader.d.ts +1 -1
  61. package/dist/api/device/DeviceRebootToBoardloader.d.ts.map +1 -1
  62. package/dist/api/device/DeviceRebootToBootloader.d.ts.map +1 -1
  63. package/dist/api/device/DeviceSettings.d.ts.map +1 -1
  64. package/dist/api/device/DeviceSupportFeatures.d.ts.map +1 -1
  65. package/dist/api/device/DeviceUnlock.d.ts +1 -1
  66. package/dist/api/device/DeviceUnlock.d.ts.map +1 -1
  67. package/dist/api/device/DeviceUpdateBootloader.d.ts +1 -7
  68. package/dist/api/device/DeviceUpdateBootloader.d.ts.map +1 -1
  69. package/dist/api/device/DeviceUploadResource.d.ts.map +1 -1
  70. package/dist/api/device/DeviceVerify.d.ts.map +1 -1
  71. package/dist/api/device/DeviceWipe.d.ts.map +1 -1
  72. package/dist/api/dynex/DnxGetAddress.d.ts.map +1 -1
  73. package/dist/api/dynex/DnxSignTransaction.d.ts.map +1 -1
  74. package/dist/api/evm/EVMGetPublicKey.d.ts.map +1 -1
  75. package/dist/api/evm/EVMSignMessageEIP712.d.ts +8 -2
  76. package/dist/api/evm/EVMSignMessageEIP712.d.ts.map +1 -1
  77. package/dist/api/evm/EVMSignTypedData.d.ts.map +1 -1
  78. package/dist/api/evm/latest/signTypedData.d.ts +1 -1
  79. package/dist/api/evm/latest/signTypedData.d.ts.map +1 -1
  80. package/dist/api/evm/latest/signTypedHash.d.ts.map +1 -1
  81. package/dist/api/evm/legacyV1/getAddress.d.ts.map +1 -1
  82. package/dist/api/evm/legacyV1/getPublicKey.d.ts.map +1 -1
  83. package/dist/api/evm/legacyV1/signMessage.d.ts.map +1 -1
  84. package/dist/api/evm/legacyV1/signTypedData.d.ts +1 -1
  85. package/dist/api/evm/legacyV1/signTypedData.d.ts.map +1 -1
  86. package/dist/api/evm/legacyV1/signTypedHash.d.ts.map +1 -1
  87. package/dist/api/evm/legacyV1/verifyMessage.d.ts.map +1 -1
  88. package/dist/api/firmware/FirmwareUpdateBaseMethod.d.ts +1 -10
  89. package/dist/api/firmware/FirmwareUpdateBaseMethod.d.ts.map +1 -1
  90. package/dist/api/firmware/bootloaderHelper.d.ts.map +1 -1
  91. package/dist/api/firmware/getBinary.d.ts +0 -11
  92. package/dist/api/firmware/getBinary.d.ts.map +1 -1
  93. package/dist/api/firmware/updateBootloader.d.ts +0 -2
  94. package/dist/api/firmware/updateBootloader.d.ts.map +1 -1
  95. package/dist/api/firmware/uploadFirmware.d.ts +1 -9
  96. package/dist/api/firmware/uploadFirmware.d.ts.map +1 -1
  97. package/dist/api/helpers/batchGetPublickeys.d.ts +0 -3
  98. package/dist/api/helpers/batchGetPublickeys.d.ts.map +1 -1
  99. package/dist/api/index.d.ts +0 -29
  100. package/dist/api/index.d.ts.map +1 -1
  101. package/dist/api/kaspa/KaspaSignTransaction.d.ts.map +1 -1
  102. package/dist/api/lightning/LnurlAuth.d.ts +0 -4
  103. package/dist/api/lightning/LnurlAuth.d.ts.map +1 -1
  104. package/dist/api/neo/NeoGetAddress.d.ts +8 -2
  105. package/dist/api/neo/NeoGetAddress.d.ts.map +1 -1
  106. package/dist/api/neo/NeoSignTransaction.d.ts +8 -2
  107. package/dist/api/neo/NeoSignTransaction.d.ts.map +1 -1
  108. package/dist/api/nervos/NervosGetAddress.d.ts +9 -2
  109. package/dist/api/nervos/NervosGetAddress.d.ts.map +1 -1
  110. package/dist/api/nervos/NervosSignTransaction.d.ts +12 -9
  111. package/dist/api/nervos/NervosSignTransaction.d.ts.map +1 -1
  112. package/dist/api/nexa/NexaGetAddress.d.ts +8 -2
  113. package/dist/api/nexa/NexaGetAddress.d.ts.map +1 -1
  114. package/dist/api/nexa/NexaSignTransaction.d.ts +9 -2
  115. package/dist/api/nexa/NexaSignTransaction.d.ts.map +1 -1
  116. package/dist/api/polkadot/PolkadotGetAddress.d.ts +0 -3
  117. package/dist/api/polkadot/PolkadotGetAddress.d.ts.map +1 -1
  118. package/dist/api/polkadot/networks.d.ts +0 -3
  119. package/dist/api/polkadot/networks.d.ts.map +1 -1
  120. package/dist/api/scdo/ScdoGetAddress.d.ts +6 -2
  121. package/dist/api/scdo/ScdoGetAddress.d.ts.map +1 -1
  122. package/dist/api/scdo/ScdoSignMessage.d.ts +5 -2
  123. package/dist/api/scdo/ScdoSignMessage.d.ts.map +1 -1
  124. package/dist/api/scdo/ScdoSignTransaction.d.ts +5 -2
  125. package/dist/api/scdo/ScdoSignTransaction.d.ts.map +1 -1
  126. package/dist/api/solana/SolGetAddress.d.ts +0 -1
  127. package/dist/api/solana/SolGetAddress.d.ts.map +1 -1
  128. package/dist/api/solana/SolSignMessage.d.ts +0 -3
  129. package/dist/api/solana/SolSignMessage.d.ts.map +1 -1
  130. package/dist/api/solana/SolSignOffchainMessage.d.ts +0 -3
  131. package/dist/api/solana/SolSignOffchainMessage.d.ts.map +1 -1
  132. package/dist/api/solana/SolSignTransaction.d.ts +0 -6
  133. package/dist/api/solana/SolSignTransaction.d.ts.map +1 -1
  134. package/dist/api/stellar/StellarGetAddress.d.ts +1 -2
  135. package/dist/api/stellar/StellarGetAddress.d.ts.map +1 -1
  136. package/dist/api/stellar/StellarSignTransaction.d.ts +2 -3
  137. package/dist/api/stellar/StellarSignTransaction.d.ts.map +1 -1
  138. package/dist/api/sui/SuiGetAddress.d.ts +0 -3
  139. package/dist/api/sui/SuiGetAddress.d.ts.map +1 -1
  140. package/dist/api/sui/SuiGetPublicKey.d.ts +0 -3
  141. package/dist/api/sui/SuiGetPublicKey.d.ts.map +1 -1
  142. package/dist/api/sui/SuiSignMessage.d.ts +0 -3
  143. package/dist/api/sui/SuiSignMessage.d.ts.map +1 -1
  144. package/dist/api/sui/SuiSignTransaction.d.ts +2 -5
  145. package/dist/api/sui/SuiSignTransaction.d.ts.map +1 -1
  146. package/dist/api/ton/TonGetAddress.d.ts +0 -3
  147. package/dist/api/ton/TonGetAddress.d.ts.map +1 -1
  148. package/dist/api/ton/TonSignData.d.ts +0 -1
  149. package/dist/api/ton/TonSignData.d.ts.map +1 -1
  150. package/dist/api/ton/TonSignMessage.d.ts +0 -3
  151. package/dist/api/ton/TonSignMessage.d.ts.map +1 -1
  152. package/dist/api/ton/TonSignProof.d.ts +0 -3
  153. package/dist/api/ton/TonSignProof.d.ts.map +1 -1
  154. package/dist/api/tron/TronSignMessage.d.ts +0 -3
  155. package/dist/api/tron/TronSignMessage.d.ts.map +1 -1
  156. package/dist/api/tron/TronSignTransaction.d.ts +0 -3
  157. package/dist/api/tron/TronSignTransaction.d.ts.map +1 -1
  158. package/dist/api/utils.d.ts +1 -2
  159. package/dist/api/utils.d.ts.map +1 -1
  160. package/dist/constants/index.d.ts +1 -2
  161. package/dist/constants/index.d.ts.map +1 -1
  162. package/dist/core/RequestQueue.d.ts +1 -19
  163. package/dist/core/RequestQueue.d.ts.map +1 -1
  164. package/dist/core/index.d.ts +1 -4
  165. package/dist/core/index.d.ts.map +1 -1
  166. package/dist/data-manager/DataManager.d.ts +5 -9
  167. package/dist/data-manager/DataManager.d.ts.map +1 -1
  168. package/dist/data-manager/MessagesConfig.d.ts +2 -2
  169. package/dist/data-manager/MessagesConfig.d.ts.map +1 -1
  170. package/dist/data-manager/TransportManager.d.ts +4 -5
  171. package/dist/data-manager/TransportManager.d.ts.map +1 -1
  172. package/dist/data-manager/connectSettings.d.ts.map +1 -1
  173. package/dist/device/Device.d.ts +16 -60
  174. package/dist/device/Device.d.ts.map +1 -1
  175. package/dist/device/DeviceCommands.d.ts +14 -16
  176. package/dist/device/DeviceCommands.d.ts.map +1 -1
  177. package/dist/device/DeviceConnector.d.ts +1 -2
  178. package/dist/device/DeviceConnector.d.ts.map +1 -1
  179. package/dist/device/DevicePool.d.ts +2 -4
  180. package/dist/device/DevicePool.d.ts.map +1 -1
  181. package/dist/events/call.d.ts +0 -7
  182. package/dist/events/call.d.ts.map +1 -1
  183. package/dist/events/core.d.ts +2 -2
  184. package/dist/events/core.d.ts.map +1 -1
  185. package/dist/events/device.d.ts +2 -11
  186. package/dist/events/device.d.ts.map +1 -1
  187. package/dist/events/iframe.d.ts +0 -1
  188. package/dist/events/iframe.d.ts.map +1 -1
  189. package/dist/events/logBlockEvent.d.ts +0 -1
  190. package/dist/events/logBlockEvent.d.ts.map +1 -1
  191. package/dist/events/ui-request.d.ts +2 -26
  192. package/dist/events/ui-request.d.ts.map +1 -1
  193. package/dist/index.d.ts +451 -1797
  194. package/dist/index.d.ts.map +1 -1
  195. package/dist/index.js +5556 -26855
  196. package/dist/inject.d.ts +2 -3
  197. package/dist/inject.d.ts.map +1 -1
  198. package/dist/lowLevelInject.d.ts +1 -2
  199. package/dist/lowLevelInject.d.ts.map +1 -1
  200. package/dist/topLevelInject.d.ts.map +1 -1
  201. package/dist/types/api/checkAllFirmwareRelease.d.ts +2 -4
  202. package/dist/types/api/checkAllFirmwareRelease.d.ts.map +1 -1
  203. package/dist/types/api/deviceSettings.d.ts +0 -9
  204. package/dist/types/api/deviceSettings.d.ts.map +1 -1
  205. package/dist/types/api/deviceUnlock.d.ts +1 -1
  206. package/dist/types/api/deviceUnlock.d.ts.map +1 -1
  207. package/dist/types/api/deviceUpdateBootloader.d.ts +1 -6
  208. package/dist/types/api/deviceUpdateBootloader.d.ts.map +1 -1
  209. package/dist/types/api/export.d.ts +1 -4
  210. package/dist/types/api/export.d.ts.map +1 -1
  211. package/dist/types/api/firmwareUpdate.d.ts +1 -114
  212. package/dist/types/api/firmwareUpdate.d.ts.map +1 -1
  213. package/dist/types/api/getFeatures.d.ts.map +1 -1
  214. package/dist/types/api/getOnekeyFeatures.d.ts.map +1 -1
  215. package/dist/types/api/getPassphraseState.d.ts +1 -2
  216. package/dist/types/api/getPassphraseState.d.ts.map +1 -1
  217. package/dist/types/api/index.d.ts +2 -48
  218. package/dist/types/api/index.d.ts.map +1 -1
  219. package/dist/types/api/searchDevices.d.ts +2 -2
  220. package/dist/types/api/searchDevices.d.ts.map +1 -1
  221. package/dist/types/device.d.ts +5 -207
  222. package/dist/types/device.d.ts.map +1 -1
  223. package/dist/types/params.d.ts +0 -3
  224. package/dist/types/params.d.ts.map +1 -1
  225. package/dist/types/settings.d.ts +0 -33
  226. package/dist/types/settings.d.ts.map +1 -1
  227. package/dist/utils/capabilitieUtils.d.ts.map +1 -1
  228. package/dist/utils/deviceFeaturesUtils.d.ts +9 -17
  229. package/dist/utils/deviceFeaturesUtils.d.ts.map +1 -1
  230. package/dist/utils/deviceInfoUtils.d.ts +8 -10
  231. package/dist/utils/deviceInfoUtils.d.ts.map +1 -1
  232. package/dist/utils/deviceSettings.d.ts +0 -2
  233. package/dist/utils/deviceSettings.d.ts.map +1 -1
  234. package/dist/utils/deviceVersionUtils.d.ts +5 -6
  235. package/dist/utils/deviceVersionUtils.d.ts.map +1 -1
  236. package/dist/utils/findDefectiveBatchDevice.d.ts +1 -1
  237. package/dist/utils/homescreen.d.ts.map +1 -1
  238. package/dist/utils/index.d.ts +1 -3
  239. package/dist/utils/index.d.ts.map +1 -1
  240. package/dist/utils/patch.d.ts +1 -1
  241. package/dist/utils/patch.d.ts.map +1 -1
  242. package/dist/utils/tracing.d.ts.map +1 -1
  243. package/dist/utils/versionUtils.d.ts +1 -1
  244. package/package.json +4 -4
  245. package/src/api/BaseMethod.ts +23 -60
  246. package/src/api/CheckAllFirmwareRelease.ts +3 -16
  247. package/src/api/CheckBootloaderRelease.ts +2 -1
  248. package/src/api/CheckFirmwareRelease.ts +2 -1
  249. package/src/api/FirmwareUpdate.ts +7 -15
  250. package/src/api/FirmwareUpdateV2.ts +148 -354
  251. package/src/api/FirmwareUpdateV3.ts +62 -376
  252. package/src/api/GetFeatures.ts +4 -12
  253. package/src/api/GetOnekeyFeatures.ts +3 -15
  254. package/src/api/GetPassphraseState.ts +10 -9
  255. package/src/api/PromptWebDeviceAccess.ts +1 -10
  256. package/src/api/SearchDevices.ts +3 -33
  257. package/src/api/alephium/AlephiumGetAddress.ts +2 -6
  258. package/src/api/alephium/AlephiumSignMessage.ts +1 -6
  259. package/src/api/alephium/AlephiumSignTransaction.ts +4 -15
  260. package/src/api/allnetwork/AllNetworkGetAddressBase.ts +21 -25
  261. package/src/api/aptos/AptosGetAddress.ts +3 -2
  262. package/src/api/benfen/BenfenGetAddress.ts +7 -11
  263. package/src/api/benfen/BenfenGetPublicKey.ts +2 -6
  264. package/src/api/benfen/BenfenSignMessage.ts +1 -6
  265. package/src/api/benfen/BenfenSignTransaction.ts +1 -6
  266. package/src/api/btc/BTCGetPublicKey.ts +2 -3
  267. package/src/api/btc/BTCSignPsbt.ts +2 -1
  268. package/src/api/btc/helpers/versionLimit.ts +1 -7
  269. package/src/api/cardano/CardanoSignTransaction.ts +4 -2
  270. package/src/api/conflux/ConfluxSignTransaction.ts +2 -5
  271. package/src/api/device/DeviceCancel.ts +0 -1
  272. package/src/api/device/DeviceChangePin.ts +0 -24
  273. package/src/api/device/DeviceFullyUploadResource.ts +7 -6
  274. package/src/api/device/DeviceLock.ts +3 -2
  275. package/src/api/device/DeviceRebootToBoardloader.ts +1 -11
  276. package/src/api/device/DeviceRebootToBootloader.ts +1 -11
  277. package/src/api/device/DeviceSettings.ts +0 -121
  278. package/src/api/device/DeviceSupportFeatures.ts +13 -2
  279. package/src/api/device/DeviceUnlock.ts +0 -9
  280. package/src/api/device/DeviceUpdateBootloader.ts +11 -175
  281. package/src/api/device/DeviceUploadResource.ts +5 -4
  282. package/src/api/device/DeviceVerify.ts +2 -1
  283. package/src/api/device/DeviceWipe.ts +0 -19
  284. package/src/api/dynex/DnxGetAddress.ts +0 -6
  285. package/src/api/dynex/DnxSignTransaction.ts +0 -6
  286. package/src/api/evm/EVMGetAddress.ts +1 -1
  287. package/src/api/evm/EVMGetPublicKey.ts +4 -3
  288. package/src/api/evm/EVMSignMessage.ts +1 -1
  289. package/src/api/evm/EVMSignMessageEIP712.ts +1 -14
  290. package/src/api/evm/EVMSignTransaction.ts +1 -1
  291. package/src/api/evm/EVMSignTypedData.ts +18 -30
  292. package/src/api/evm/EVMVerifyMessage.ts +1 -1
  293. package/src/api/evm/latest/signTypedHash.ts +4 -2
  294. package/src/api/evm/legacyV1/getAddress.ts +3 -5
  295. package/src/api/evm/legacyV1/getPublicKey.ts +3 -5
  296. package/src/api/evm/legacyV1/signMessage.ts +3 -5
  297. package/src/api/evm/legacyV1/signTypedData.ts +8 -9
  298. package/src/api/evm/legacyV1/signTypedHash.ts +7 -7
  299. package/src/api/evm/legacyV1/verifyMessage.ts +3 -5
  300. package/src/api/firmware/FirmwareUpdateBaseMethod.ts +15 -83
  301. package/src/api/firmware/bootloaderHelper.ts +2 -3
  302. package/src/api/firmware/getBinary.ts +1 -1
  303. package/src/api/firmware/releaseHelper.ts +3 -3
  304. package/src/api/firmware/updateBootloader.ts +4 -19
  305. package/src/api/firmware/uploadFirmware.ts +34 -148
  306. package/src/api/helpers/batchGetPublickeys.ts +6 -51
  307. package/src/api/index.ts +0 -32
  308. package/src/api/kaspa/KaspaSignTransaction.ts +3 -2
  309. package/src/api/lightning/LnurlAuth.ts +0 -4
  310. package/src/api/neo/NeoGetAddress.ts +1 -6
  311. package/src/api/neo/NeoSignTransaction.ts +1 -6
  312. package/src/api/nervos/NervosGetAddress.ts +2 -6
  313. package/src/api/nervos/NervosSignTransaction.ts +4 -14
  314. package/src/api/nexa/NexaGetAddress.ts +2 -6
  315. package/src/api/nexa/NexaSignTransaction.ts +12 -11
  316. package/src/api/polkadot/networks.ts +0 -9
  317. package/src/api/scdo/ScdoGetAddress.ts +2 -6
  318. package/src/api/scdo/ScdoSignMessage.ts +1 -6
  319. package/src/api/scdo/ScdoSignTransaction.ts +2 -6
  320. package/src/api/solana/SolGetAddress.ts +0 -4
  321. package/src/api/solana/SolSignMessage.ts +0 -3
  322. package/src/api/solana/SolSignOffchainMessage.ts +0 -3
  323. package/src/api/solana/SolSignTransaction.ts +0 -6
  324. package/src/api/stellar/StellarGetAddress.ts +1 -10
  325. package/src/api/stellar/StellarSignTransaction.ts +1 -14
  326. package/src/api/sui/SuiGetAddress.ts +3 -5
  327. package/src/api/sui/SuiGetPublicKey.ts +0 -3
  328. package/src/api/sui/SuiSignMessage.ts +0 -3
  329. package/src/api/sui/SuiSignTransaction.ts +12 -14
  330. package/src/api/ton/TonGetAddress.ts +0 -3
  331. package/src/api/ton/TonSignData.ts +3 -6
  332. package/src/api/ton/TonSignMessage.ts +5 -6
  333. package/src/api/ton/TonSignProof.ts +0 -3
  334. package/src/api/tron/TronSignMessage.ts +1 -4
  335. package/src/api/tron/TronSignTransaction.ts +0 -3
  336. package/src/api/utils.ts +3 -7
  337. package/src/api/xrp/XrpSignTransaction.ts +1 -1
  338. package/src/constants/index.ts +1 -7
  339. package/src/core/RequestQueue.ts +4 -124
  340. package/src/core/index.ts +116 -255
  341. package/src/data-manager/DataManager.ts +49 -61
  342. package/src/data-manager/MessagesConfig.ts +14 -14
  343. package/src/data-manager/TransportManager.ts +12 -38
  344. package/src/data-manager/connectSettings.ts +0 -15
  345. package/src/device/Device.ts +164 -759
  346. package/src/device/DeviceCommands.ts +36 -245
  347. package/src/device/DeviceConnector.ts +4 -29
  348. package/src/device/DevicePool.ts +21 -69
  349. package/src/events/call.ts +0 -6
  350. package/src/events/core.ts +0 -2
  351. package/src/events/device.ts +1 -17
  352. package/src/events/iframe.ts +0 -1
  353. package/src/events/logBlockEvent.ts +0 -30
  354. package/src/events/ui-request.ts +2 -32
  355. package/src/index.ts +0 -9
  356. package/src/inject.ts +3 -75
  357. package/src/lowLevelInject.ts +1 -8
  358. package/src/topLevelInject.ts +1 -7
  359. package/src/types/api/checkAllFirmwareRelease.ts +2 -4
  360. package/src/types/api/deviceSettings.ts +0 -9
  361. package/src/types/api/deviceUnlock.ts +1 -1
  362. package/src/types/api/deviceUpdateBootloader.ts +1 -10
  363. package/src/types/api/export.ts +0 -25
  364. package/src/types/api/firmwareUpdate.ts +1 -163
  365. package/src/types/api/getFeatures.ts +0 -3
  366. package/src/types/api/getOnekeyFeatures.ts +0 -3
  367. package/src/types/api/getPassphraseState.ts +2 -10
  368. package/src/types/api/index.ts +2 -89
  369. package/src/types/api/searchDevices.ts +2 -2
  370. package/src/types/device.ts +5 -266
  371. package/src/types/params.ts +0 -11
  372. package/src/types/settings.ts +29 -54
  373. package/src/utils/capabilitieUtils.ts +2 -1
  374. package/src/utils/deviceFeaturesUtils.ts +84 -122
  375. package/src/utils/deviceInfoUtils.ts +87 -38
  376. package/src/utils/deviceSettings.ts +0 -48
  377. package/src/utils/deviceVersionUtils.ts +62 -25
  378. package/src/utils/findDefectiveBatchDevice.ts +8 -8
  379. package/src/utils/homescreen.ts +0 -10
  380. package/src/utils/index.ts +0 -4
  381. package/src/utils/tracing.ts +1 -3
  382. package/__tests__/AllNetworkGetAddressBase.tracing.test.ts +0 -75
  383. package/__tests__/RequestQueue.test.ts +0 -140
  384. package/__tests__/UploadPortfolio.test.ts +0 -46
  385. package/__tests__/connectSettings.test.ts +0 -61
  386. package/__tests__/device-lifecycle-events.test.ts +0 -117
  387. package/__tests__/device-pool-state.test.ts +0 -132
  388. package/__tests__/device-settings.test.ts +0 -286
  389. package/__tests__/device-state-mapper.test.ts +0 -229
  390. package/__tests__/device-utils.test.ts +0 -106
  391. package/__tests__/device-wallet-session-store.test.ts +0 -191
  392. package/__tests__/filesystemValidation.test.ts +0 -53
  393. package/__tests__/firmware-update/firmware-artifact-source.test.ts +0 -119
  394. package/__tests__/firmware-update/firmware-checkpoint.test.ts +0 -105
  395. package/__tests__/firmware-update/firmware-host-binding.test.ts +0 -73
  396. package/__tests__/firmware-update/firmware-update-capabilities.test.ts +0 -17
  397. package/__tests__/firmware-update/firmware-update-plan.test.ts +0 -358
  398. package/__tests__/firmware-update/firmware-update-prepared-plan.test.ts +0 -200
  399. package/__tests__/firmware-update/firmware-update-recovery.test.ts +0 -81
  400. package/__tests__/firmware-update/firmware-upload-source.test.ts +0 -70
  401. package/__tests__/get-device-state.test.ts +0 -403
  402. package/__tests__/logBlockEvent.test.ts +0 -61
  403. package/__tests__/logger.test.ts +0 -34
  404. package/__tests__/open-wallet-session.test.ts +0 -565
  405. package/__tests__/pro2Wallpaper.test.ts +0 -39
  406. package/__tests__/protocol-v2-bootloader-mode.test.ts +0 -37
  407. package/__tests__/protocol-v2-firmware-targets.test.ts +0 -19
  408. package/__tests__/protocol-v2.test.ts +0 -6008
  409. package/__tests__/protocolV2FileWrite.test.ts +0 -67
  410. package/__tests__/public-pro2-api-boundary.test.ts +0 -66
  411. package/__tests__/search-devices.test.ts +0 -136
  412. package/dist/api/ClearSessionCache.d.ts +0 -9
  413. package/dist/api/ClearSessionCache.d.ts.map +0 -1
  414. package/dist/api/DirList.d.ts +0 -10
  415. package/dist/api/DirList.d.ts.map +0 -1
  416. package/dist/api/DirMake.d.ts +0 -9
  417. package/dist/api/DirMake.d.ts.map +0 -1
  418. package/dist/api/DirRemove.d.ts +0 -9
  419. package/dist/api/DirRemove.d.ts.map +0 -1
  420. package/dist/api/FileDelete.d.ts +0 -9
  421. package/dist/api/FileDelete.d.ts.map +0 -1
  422. package/dist/api/FileRead.d.ts +0 -19
  423. package/dist/api/FileRead.d.ts.map +0 -1
  424. package/dist/api/FileWrite.d.ts +0 -25
  425. package/dist/api/FileWrite.d.ts.map +0 -1
  426. package/dist/api/FirmwareUpdateV4.d.ts +0 -75
  427. package/dist/api/FirmwareUpdateV4.d.ts.map +0 -1
  428. package/dist/api/GetDeviceState.d.ts +0 -7
  429. package/dist/api/GetDeviceState.d.ts.map +0 -1
  430. package/dist/api/OpenWalletSession.d.ts +0 -14
  431. package/dist/api/OpenWalletSession.d.ts.map +0 -1
  432. package/dist/api/PathInfo.d.ts +0 -10
  433. package/dist/api/PathInfo.d.ts.map +0 -1
  434. package/dist/api/UploadPortfolio.d.ts +0 -18
  435. package/dist/api/UploadPortfolio.d.ts.map +0 -1
  436. package/dist/api/firmware/FirmwareArtifactSource.d.ts +0 -26
  437. package/dist/api/firmware/FirmwareArtifactSource.d.ts.map +0 -1
  438. package/dist/api/firmware/FirmwareCheckpoint.d.ts +0 -15
  439. package/dist/api/firmware/FirmwareCheckpoint.d.ts.map +0 -1
  440. package/dist/api/firmware/FirmwareHostBinding.d.ts +0 -6
  441. package/dist/api/firmware/FirmwareHostBinding.d.ts.map +0 -1
  442. package/dist/api/firmware/FirmwareUpdateCapabilities.d.ts +0 -3
  443. package/dist/api/firmware/FirmwareUpdateCapabilities.d.ts.map +0 -1
  444. package/dist/api/firmware/FirmwareUpdatePlan.d.ts +0 -29
  445. package/dist/api/firmware/FirmwareUpdatePlan.d.ts.map +0 -1
  446. package/dist/api/firmware/FirmwareUpdatePreparedPlan.d.ts +0 -25
  447. package/dist/api/firmware/FirmwareUpdatePreparedPlan.d.ts.map +0 -1
  448. package/dist/api/firmware/progressThrottle.d.ts +0 -3
  449. package/dist/api/firmware/progressThrottle.d.ts.map +0 -1
  450. package/dist/api/helpers/filesystemValidation.d.ts +0 -10
  451. package/dist/api/helpers/filesystemValidation.d.ts.map +0 -1
  452. package/dist/api/helpers/protocolV2FileWrite.d.ts +0 -33
  453. package/dist/api/helpers/protocolV2FileWrite.d.ts.map +0 -1
  454. package/dist/api/protocol-v2/DeviceFactoryInfoGet.d.ts +0 -6
  455. package/dist/api/protocol-v2/DeviceFactoryInfoGet.d.ts.map +0 -1
  456. package/dist/api/protocol-v2/DeviceFactoryInfoSet.d.ts +0 -7
  457. package/dist/api/protocol-v2/DeviceFactoryInfoSet.d.ts.map +0 -1
  458. package/dist/api/protocol-v2/DeviceFirmwareUpdate.d.ts +0 -7
  459. package/dist/api/protocol-v2/DeviceFirmwareUpdate.d.ts.map +0 -1
  460. package/dist/api/protocol-v2/DeviceGetFirmwareUpdateStatus.d.ts +0 -7
  461. package/dist/api/protocol-v2/DeviceGetFirmwareUpdateStatus.d.ts.map +0 -1
  462. package/dist/api/protocol-v2/DeviceGetOnboardingStatus.d.ts +0 -6
  463. package/dist/api/protocol-v2/DeviceGetOnboardingStatus.d.ts.map +0 -1
  464. package/dist/api/protocol-v2/DeviceInfoGet.d.ts +0 -28
  465. package/dist/api/protocol-v2/DeviceInfoGet.d.ts.map +0 -1
  466. package/dist/api/protocol-v2/DeviceReboot.d.ts +0 -7
  467. package/dist/api/protocol-v2/DeviceReboot.d.ts.map +0 -1
  468. package/dist/api/protocol-v2/DeviceSessionOpen.d.ts +0 -28
  469. package/dist/api/protocol-v2/DeviceSessionOpen.d.ts.map +0 -1
  470. package/dist/api/protocol-v2/DeviceSettingsGet.d.ts +0 -6
  471. package/dist/api/protocol-v2/DeviceSettingsGet.d.ts.map +0 -1
  472. package/dist/api/protocol-v2/DeviceSettingsPageShow.d.ts +0 -16
  473. package/dist/api/protocol-v2/DeviceSettingsPageShow.d.ts.map +0 -1
  474. package/dist/api/protocol-v2/DeviceSettingsSet.d.ts +0 -12
  475. package/dist/api/protocol-v2/DeviceSettingsSet.d.ts.map +0 -1
  476. package/dist/api/protocol-v2/DeviceStatusGet.d.ts +0 -6
  477. package/dist/api/protocol-v2/DeviceStatusGet.d.ts.map +0 -1
  478. package/dist/api/protocol-v2/DeviceUploadWallpaper.d.ts +0 -26
  479. package/dist/api/protocol-v2/DeviceUploadWallpaper.d.ts.map +0 -1
  480. package/dist/api/protocol-v2/FilesystemFormat.d.ts +0 -6
  481. package/dist/api/protocol-v2/FilesystemFormat.d.ts.map +0 -1
  482. package/dist/api/protocol-v2/FilesystemPermissionFix.d.ts +0 -6
  483. package/dist/api/protocol-v2/FilesystemPermissionFix.d.ts.map +0 -1
  484. package/dist/api/protocol-v2/Ping.d.ts +0 -8
  485. package/dist/api/protocol-v2/Ping.d.ts.map +0 -1
  486. package/dist/api/protocol-v2/ProtocolInfoRequest.d.ts +0 -6
  487. package/dist/api/protocol-v2/ProtocolInfoRequest.d.ts.map +0 -1
  488. package/dist/api/protocol-v2/helpers.d.ts +0 -42
  489. package/dist/api/protocol-v2/helpers.d.ts.map +0 -1
  490. package/dist/core/deviceEventRegistration.d.ts +0 -11
  491. package/dist/core/deviceEventRegistration.d.ts.map +0 -1
  492. package/dist/device/DeviceFeaturesState.d.ts +0 -4
  493. package/dist/device/DeviceFeaturesState.d.ts.map +0 -1
  494. package/dist/device/DeviceStateMapper.d.ts +0 -13
  495. package/dist/device/DeviceStateMapper.d.ts.map +0 -1
  496. package/dist/device/DeviceStateProjector.d.ts +0 -7
  497. package/dist/device/DeviceStateProjector.d.ts.map +0 -1
  498. package/dist/device/DeviceStateStore.d.ts +0 -21
  499. package/dist/device/DeviceStateStore.d.ts.map +0 -1
  500. package/dist/device/DeviceWalletSessionStore.d.ts +0 -15
  501. package/dist/device/DeviceWalletSessionStore.d.ts.map +0 -1
  502. package/dist/device/cloneDeviceState.d.ts +0 -2
  503. package/dist/device/cloneDeviceState.d.ts.map +0 -1
  504. package/dist/device/deviceIdentity.d.ts +0 -5
  505. package/dist/device/deviceIdentity.d.ts.map +0 -1
  506. package/dist/deviceProfile/buildDeviceFeatures.d.ts +0 -12
  507. package/dist/deviceProfile/buildDeviceFeatures.d.ts.map +0 -1
  508. package/dist/deviceProfile/index.d.ts +0 -2
  509. package/dist/deviceProfile/index.d.ts.map +0 -1
  510. package/dist/protocols/protocol-v2/deviceSession.d.ts +0 -7
  511. package/dist/protocols/protocol-v2/deviceSession.d.ts.map +0 -1
  512. package/dist/protocols/protocol-v2/features.d.ts +0 -88
  513. package/dist/protocols/protocol-v2/features.d.ts.map +0 -1
  514. package/dist/protocols/protocol-v2/firmware.d.ts +0 -15
  515. package/dist/protocols/protocol-v2/firmware.d.ts.map +0 -1
  516. package/dist/protocols/protocol-v2/index.d.ts +0 -5
  517. package/dist/protocols/protocol-v2/index.d.ts.map +0 -1
  518. package/dist/protocols/protocol-v2/lockedError.d.ts +0 -2
  519. package/dist/protocols/protocol-v2/lockedError.d.ts.map +0 -1
  520. package/dist/protocols/protocol-v2/settingsUnlockPolicy.d.ts +0 -16
  521. package/dist/protocols/protocol-v2/settingsUnlockPolicy.d.ts.map +0 -1
  522. package/dist/protocols/protocol-v2/uiInteraction.d.ts +0 -39
  523. package/dist/protocols/protocol-v2/uiInteraction.d.ts.map +0 -1
  524. package/dist/protocols/protocol-v2/unlockRetry.d.ts +0 -11
  525. package/dist/protocols/protocol-v2/unlockRetry.d.ts.map +0 -1
  526. package/dist/protocols/protocol-v2/walletSession.d.ts +0 -21
  527. package/dist/protocols/protocol-v2/walletSession.d.ts.map +0 -1
  528. package/dist/types/api/firmwareUpdateCapabilities.d.ts +0 -13
  529. package/dist/types/api/firmwareUpdateCapabilities.d.ts.map +0 -1
  530. package/dist/types/api/firmwareUpdatePlan.d.ts +0 -35
  531. package/dist/types/api/firmwareUpdatePlan.d.ts.map +0 -1
  532. package/dist/types/api/firmwareUpdatePreparedPlan.d.ts +0 -43
  533. package/dist/types/api/firmwareUpdatePreparedPlan.d.ts.map +0 -1
  534. package/dist/types/api/getDeviceState.d.ts +0 -12
  535. package/dist/types/api/getDeviceState.d.ts.map +0 -1
  536. package/dist/types/api/openWalletSession.d.ts +0 -35
  537. package/dist/types/api/openWalletSession.d.ts.map +0 -1
  538. package/dist/types/api/protocolV2.d.ts +0 -113
  539. package/dist/types/api/protocolV2.d.ts.map +0 -1
  540. package/dist/types/api/sessionCache.d.ts +0 -10
  541. package/dist/types/api/sessionCache.d.ts.map +0 -1
  542. package/dist/utils/deviceFeaturesCompat.d.ts +0 -13
  543. package/dist/utils/deviceFeaturesCompat.d.ts.map +0 -1
  544. package/dist/utils/pro2Wallpaper.d.ts +0 -12
  545. package/dist/utils/pro2Wallpaper.d.ts.map +0 -1
  546. package/src/api/ClearSessionCache.ts +0 -28
  547. package/src/api/DirList.ts +0 -33
  548. package/src/api/DirMake.ts +0 -23
  549. package/src/api/DirRemove.ts +0 -23
  550. package/src/api/FileDelete.ts +0 -23
  551. package/src/api/FileRead.ts +0 -183
  552. package/src/api/FileWrite.ts +0 -71
  553. package/src/api/FirmwareUpdateV4.ts +0 -2279
  554. package/src/api/GetDeviceState.ts +0 -55
  555. package/src/api/OpenWalletSession.ts +0 -211
  556. package/src/api/PathInfo.ts +0 -41
  557. package/src/api/UploadPortfolio.ts +0 -50
  558. package/src/api/firmware/FirmwareArtifactSource.ts +0 -278
  559. package/src/api/firmware/FirmwareCheckpoint.ts +0 -188
  560. package/src/api/firmware/FirmwareHostBinding.ts +0 -108
  561. package/src/api/firmware/FirmwareUpdateCapabilities.ts +0 -13
  562. package/src/api/firmware/FirmwareUpdatePlan.ts +0 -729
  563. package/src/api/firmware/FirmwareUpdatePreparedPlan.ts +0 -403
  564. package/src/api/firmware/progressThrottle.ts +0 -44
  565. package/src/api/helpers/filesystemValidation.ts +0 -112
  566. package/src/api/helpers/protocolV2FileWrite.ts +0 -193
  567. package/src/api/protocol-v2/DeviceFactoryInfoGet.ts +0 -20
  568. package/src/api/protocol-v2/DeviceFactoryInfoSet.ts +0 -32
  569. package/src/api/protocol-v2/DeviceFirmwareUpdate.ts +0 -61
  570. package/src/api/protocol-v2/DeviceGetFirmwareUpdateStatus.ts +0 -55
  571. package/src/api/protocol-v2/DeviceGetOnboardingStatus.ts +0 -18
  572. package/src/api/protocol-v2/DeviceInfoGet.ts +0 -145
  573. package/src/api/protocol-v2/DeviceReboot.ts +0 -26
  574. package/src/api/protocol-v2/DeviceSessionOpen.ts +0 -102
  575. package/src/api/protocol-v2/DeviceSettingsGet.ts +0 -18
  576. package/src/api/protocol-v2/DeviceSettingsPageShow.ts +0 -70
  577. package/src/api/protocol-v2/DeviceSettingsSet.ts +0 -44
  578. package/src/api/protocol-v2/DeviceStatusGet.ts +0 -16
  579. package/src/api/protocol-v2/DeviceUploadWallpaper.ts +0 -131
  580. package/src/api/protocol-v2/FilesystemFormat.ts +0 -19
  581. package/src/api/protocol-v2/FilesystemPermissionFix.ts +0 -16
  582. package/src/api/protocol-v2/Ping.ts +0 -18
  583. package/src/api/protocol-v2/ProtocolInfoRequest.ts +0 -16
  584. package/src/api/protocol-v2/helpers.ts +0 -203
  585. package/src/core/deviceEventRegistration.ts +0 -23
  586. package/src/data/messages/messages-protocol-v2.json +0 -13544
  587. package/src/device/DeviceFeaturesState.ts +0 -34
  588. package/src/device/DeviceStateMapper.ts +0 -348
  589. package/src/device/DeviceStateProjector.ts +0 -95
  590. package/src/device/DeviceStateStore.ts +0 -201
  591. package/src/device/DeviceWalletSessionStore.ts +0 -78
  592. package/src/device/cloneDeviceState.ts +0 -39
  593. package/src/device/deviceIdentity.ts +0 -18
  594. package/src/deviceProfile/buildDeviceFeatures.ts +0 -391
  595. package/src/deviceProfile/index.ts +0 -4
  596. package/src/protocols/protocol-v2/deviceSession.ts +0 -24
  597. package/src/protocols/protocol-v2/features.ts +0 -163
  598. package/src/protocols/protocol-v2/firmware.ts +0 -21
  599. package/src/protocols/protocol-v2/index.ts +0 -18
  600. package/src/protocols/protocol-v2/lockedError.ts +0 -10
  601. package/src/protocols/protocol-v2/settingsUnlockPolicy.ts +0 -61
  602. package/src/protocols/protocol-v2/uiInteraction.ts +0 -210
  603. package/src/protocols/protocol-v2/unlockRetry.ts +0 -76
  604. package/src/protocols/protocol-v2/walletSession.ts +0 -202
  605. package/src/types/api/firmwareUpdateCapabilities.ts +0 -13
  606. package/src/types/api/firmwareUpdatePlan.ts +0 -52
  607. package/src/types/api/firmwareUpdatePreparedPlan.ts +0 -55
  608. package/src/types/api/getDeviceState.ts +0 -19
  609. package/src/types/api/openWalletSession.ts +0 -54
  610. package/src/types/api/protocolV2.ts +0 -244
  611. package/src/types/api/sessionCache.ts +0 -14
  612. package/src/utils/deviceFeaturesCompat.ts +0 -173
  613. package/src/utils/pro2Wallpaper.ts +0 -109
@@ -1,42 +1,79 @@
1
1
  import semver from 'semver';
2
2
 
3
- import {
4
- resolveDeviceBleFirmwareVersion,
5
- resolveDeviceBoardVersion,
6
- resolveDeviceBootloaderVersion,
7
- resolveDeviceFirmwareVersion,
8
- } from './deviceFeaturesCompat';
3
+ import type { Features, IVersionArray } from '../types';
9
4
 
10
- import type { IVersionArray } from '../types';
11
- import type { DeviceFeaturesInput } from './deviceFeaturesCompat';
5
+ /**
6
+ * Get Connected Device version by features
7
+ */
8
+ export const getDeviceFirmwareVersion = (features: Features | undefined): IVersionArray => {
9
+ if (!features) return [0, 0, 0];
12
10
 
13
- const EMPTY_VERSION: IVersionArray = [0, 0, 0];
11
+ if (semver.valid(features.onekey_firmware_version)) {
12
+ return features.onekey_firmware_version?.split('.') as unknown as IVersionArray;
13
+ }
14
14
 
15
- const parseDeviceVersion = (version?: string | null): IVersionArray => {
16
- const parsed = version ? semver.parse(version) : null;
17
- return parsed ? [parsed.major, parsed.minor, parsed.patch] : [...EMPTY_VERSION];
15
+ if (semver.valid(features.onekey_version)) {
16
+ return features.onekey_version?.split('.') as unknown as IVersionArray;
17
+ }
18
+
19
+ return [0, 0, 0];
18
20
  };
19
21
 
20
22
  /**
21
- * Get Connected Device version by features
23
+ * Get Connected Device bluetooth firmware version by features
22
24
  */
23
- export const getDeviceFirmwareVersion = (features?: DeviceFeaturesInput): IVersionArray =>
24
- parseDeviceVersion(resolveDeviceFirmwareVersion(features));
25
+ export const getDeviceBLEFirmwareVersion = (features: Features): IVersionArray => {
26
+ const bleVer = features?.onekey_ble_version || features?.ble_ver;
27
+
28
+ if (!bleVer) {
29
+ return [0, 0, 0];
30
+ }
31
+
32
+ if (!semver.valid(bleVer)) {
33
+ return [0, 0, 0];
34
+ }
35
+
36
+ if (bleVer) {
37
+ return bleVer.split('.').map(Number) as IVersionArray;
38
+ }
39
+ return [0, 0, 0];
40
+ };
25
41
 
26
42
  /**
27
43
  * Get Connected Device bootloader version by features
28
44
  */
29
- export const getDeviceBootloaderVersion = (features?: DeviceFeaturesInput): IVersionArray =>
30
- parseDeviceVersion(resolveDeviceBootloaderVersion(features));
45
+ export const getDeviceBootloaderVersion = (features: Features | undefined): IVersionArray => {
46
+ if (!features) return [0, 0, 0];
31
47
 
32
- /**
33
- * Get Connected Device boardloader/romloader version by features
34
- */
35
- export const getDeviceBoardloaderVersion = (features?: DeviceFeaturesInput): IVersionArray =>
36
- parseDeviceVersion(resolveDeviceBoardVersion(features));
48
+ // classic1s 3.5.0 pro 4.6.0
49
+ if (semver.valid(features.onekey_boot_version)) {
50
+ return features.onekey_boot_version?.split('.') as unknown as IVersionArray;
51
+ }
52
+
53
+ // low version hardware
54
+ if (!features.bootloader_version) {
55
+ if (features.bootloader_mode) {
56
+ return [
57
+ features?.major_version ?? 0,
58
+ features?.minor_version ?? 0,
59
+ features?.patch_version ?? 0,
60
+ ];
61
+ }
62
+ return [0, 0, 0];
63
+ }
64
+ if (semver.valid(features.bootloader_version)) {
65
+ return features.bootloader_version?.split('.') as unknown as IVersionArray;
66
+ }
67
+ return [0, 0, 0];
68
+ };
37
69
 
38
70
  /**
39
- * Get Connected Device bluetooth firmware version by features
71
+ * Get Connected Device boardloader version by features
40
72
  */
41
- export const getDeviceBLEFirmwareVersion = (features?: DeviceFeaturesInput): IVersionArray =>
42
- parseDeviceVersion(resolveDeviceBleFirmwareVersion(features));
73
+ export const getDeviceBoardloaderVersion = (features: Features): IVersionArray => {
74
+ if (semver.valid(features?.onekey_board_version)) {
75
+ return features?.onekey_board_version?.split('.') as unknown as IVersionArray;
76
+ }
77
+
78
+ return [0, 0, 0];
79
+ };
@@ -1,11 +1,11 @@
1
- import { getDeviceSerialNo, getDeviceType } from './deviceInfoUtils';
1
+ import { getDeviceType, getDeviceUUID } from './deviceInfoUtils';
2
2
 
3
3
  import type { Features } from '../types';
4
4
 
5
5
  /**
6
6
  * 检测故障固件设备
7
7
  * 检测规则:
8
- * - Serial number range: 21032200001 through 21032201500
8
+ * - 序列号范围:21032200001 21032201500 (从 onekey_serial 字段提取)
9
9
  * - SE版本为 1.1.0.2
10
10
  *
11
11
  * 对齐之前版本的检测逻辑
@@ -13,13 +13,13 @@ import type { Features } from '../types';
13
13
  export const findDefectiveBatchDevice = (features: Features) => {
14
14
  if (!features) return;
15
15
 
16
- const { serialNo, seVersion } = features;
17
- if (!serialNo) return;
16
+ const { onekey_serial: onekeySerial, se_ver: seVer } = features;
17
+ if (!onekeySerial) return;
18
18
 
19
- const versionNum = +serialNo.slice(5);
19
+ const versionNum = +onekeySerial.slice(5);
20
20
  if (Number.isNaN(versionNum)) return;
21
21
 
22
- return versionNum >= 21032200001 && versionNum <= 21032201500 && seVersion === '1.1.0.2';
22
+ return versionNum >= 21032200001 && versionNum <= 21032201500 && seVer === '1.1.0.2';
23
23
  };
24
24
 
25
25
  /**
@@ -27,9 +27,9 @@ export const findDefectiveBatchDevice = (features: Features) => {
27
27
  */
28
28
  export const getDefectiveDeviceInfo = (features: Features) => {
29
29
  if (!findDefectiveBatchDevice(features)) return null;
30
- const serialNo = getDeviceSerialNo(features);
30
+ const serialNo = getDeviceUUID(features);
31
31
  const deviceType = getDeviceType(features);
32
- const { seVersion } = features;
32
+ const seVersion = features.se_ver;
33
33
 
34
34
  return {
35
35
  serialNo,
@@ -3,7 +3,6 @@ import { EDeviceType } from '@onekeyfe/hd-shared';
3
3
 
4
4
  import { getDeviceType } from './deviceInfoUtils';
5
5
  import { getDeviceFirmwareVersion } from './deviceVersionUtils';
6
- import { PRO2_WALLPAPER_HEIGHT, PRO2_WALLPAPER_WIDTH } from './pro2Wallpaper';
7
6
 
8
7
  import type { Features, IDeviceType } from '../types';
9
8
 
@@ -311,15 +310,6 @@ export const getHomeScreenSize = ({
311
310
  homeScreenType: 'WallPaper' | 'Nft';
312
311
  thumbnail?: boolean;
313
312
  }) => {
314
- if (deviceType === EDeviceType.Pro2) {
315
- return thumbnail
316
- ? undefined
317
- : {
318
- width: PRO2_WALLPAPER_WIDTH,
319
- height: PRO2_WALLPAPER_HEIGHT,
320
- };
321
- }
322
-
323
313
  const sizes: Partial<
324
314
  Record<
325
315
  IDeviceType,
@@ -8,11 +8,9 @@ export {
8
8
  getDeviceTypeByBleName,
9
9
  getDeviceType,
10
10
  getDeviceBleName,
11
- getDeviceSerialNo,
12
11
  getDeviceUUID,
13
12
  getDeviceLabel,
14
13
  getMethodVersionRange,
15
- isMethodVersionRangeUnsupported,
16
14
  getFirmwareType,
17
15
  } from './deviceInfoUtils';
18
16
  export {
@@ -39,8 +37,6 @@ export { getHDPath, getScriptType, getOutputScriptType } from '../api/helpers/pa
39
37
  export const isBleConnect = (env: string) => env === 'react-native' || env === 'lowlevel';
40
38
 
41
39
  export { getHomeScreenHex, getHomeScreenDefaultList, getHomeScreenSize } from './homescreen';
42
- export { encodePro2Wallpaper, PRO2_WALLPAPER_HEIGHT, PRO2_WALLPAPER_WIDTH } from './pro2Wallpaper';
43
- export type { Pro2WallpaperColorFormat } from './pro2Wallpaper';
44
40
 
45
41
  export const wait = (ms: number) =>
46
42
  new Promise(resolve => {
@@ -164,9 +164,7 @@ export function completeRequestContext(responseID: number, error?: Error): void
164
164
  context.status = error ? 'error' : 'success';
165
165
  if (error) {
166
166
  context.error = error.message;
167
- // Method errors already reach callers through the standard API response.
168
- // Request tracing is diagnostic and must not emit a second user-facing error.
169
- Log.debug(
167
+ Log.error(
170
168
  `[RequestContext] [completeRequestContext] Error: ${formatRequestContext(context)}`
171
169
  );
172
170
  }
@@ -1,75 +0,0 @@
1
- import AllNetworkGetAddressBase from '../src/api/allnetwork/AllNetworkGetAddressBase';
2
- import { findMethod } from '../src/api/utils';
3
- import { getActiveRequestsByDeviceInstance } from '../src/utils/tracing';
4
-
5
- jest.mock('../src/data/config', () => ({
6
- getSDKVersion: jest.fn(() => '1.0.0'),
7
- DEFAULT_DOMAIN: 'https://jssdk.onekey.so/1.0.0/',
8
- }));
9
-
10
- jest.mock('../src/api/utils', () => ({
11
- findMethod: jest.fn(),
12
- }));
13
-
14
- class TestAllNetworkMethod extends AllNetworkGetAddressBase {
15
- async getAllNetworkAddress() {
16
- return Promise.resolve([]);
17
- }
18
- }
19
-
20
- describe('AllNetworkGetAddressBase tracing', () => {
21
- test('releases the nested request context when an unhandled error escapes', async () => {
22
- const deviceInstanceId = 'device-instance';
23
- const innerMethod = {
24
- checkSafetyLevelOnTestNet: jest.fn().mockResolvedValue(false),
25
- connectId: 'connect-id',
26
- deviceId: 'device-id',
27
- getVersionRange: jest.fn().mockReturnValue({}),
28
- init: jest.fn(),
29
- name: 'xrpGetAddress',
30
- responseID: 42,
31
- run: jest.fn().mockRejectedValue(new Error('address failed')),
32
- setDevice: jest.fn(),
33
- strictCheckDeviceSupport: false,
34
- };
35
- (findMethod as jest.Mock).mockReturnValue(innerMethod);
36
- const method = new TestAllNetworkMethod({
37
- id: 1,
38
- payload: {
39
- method: 'allNetworkGetAddress',
40
- connectId: 'connect-id',
41
- deviceId: 'device-id',
42
- bundle: [],
43
- },
44
- });
45
- method.device = {
46
- instanceId: deviceInstanceId,
47
- getCurrentFirmwareType: jest.fn(),
48
- getCurrentFirmwareVersionString: jest.fn().mockReturnValue('1.0.0'),
49
- getCurrentMethodVersionRange: jest
50
- .fn()
51
- .mockImplementation((getRange: (type: string) => unknown) => getRange('classic')),
52
- off: jest.fn(),
53
- on: jest.fn(),
54
- } as any;
55
-
56
- await expect(
57
- method.callMethod(
58
- 'xrpGetAddress',
59
- {
60
- bundle: [
61
- {
62
- _originRequestParams: {
63
- network: 'xrp',
64
- path: "m/44'/144'/0'/0/0",
65
- },
66
- },
67
- ],
68
- },
69
- 0
70
- )
71
- ).rejects.toThrow('address failed');
72
-
73
- expect(getActiveRequestsByDeviceInstance(deviceInstanceId)).toEqual([]);
74
- });
75
- });
@@ -1,140 +0,0 @@
1
- import RequestQueue from '../src/core/RequestQueue';
2
-
3
- import type { BaseMethod } from '../src/api/BaseMethod';
4
-
5
- jest.mock('../src/data/config', () => ({
6
- getSDKVersion: jest.fn(() => '1.0.0'),
7
- DEFAULT_DOMAIN: 'https://jssdk.onekey.so/1.0.0/',
8
- }));
9
-
10
- function buildMethod(responseID: number, operationId?: string) {
11
- return {
12
- connectId: 'device-1',
13
- executionPriority: 'normal',
14
- payload: { operationId },
15
- responseID,
16
- } as unknown as BaseMethod;
17
- }
18
-
19
- function buildBackgroundMethod(responseID: number, operationId?: string) {
20
- return {
21
- ...buildMethod(responseID, operationId),
22
- executionPriority: 'background',
23
- } as unknown as BaseMethod;
24
- }
25
-
26
- describe('RequestQueue operation cancellation', () => {
27
- test('aborts only the request matching the operation id', () => {
28
- const queue = new RequestQueue();
29
- const portfolio = queue.createTask(buildMethod(1, 'portfolio-1'));
30
- const userAction = queue.createTask(buildMethod(2, 'user-action'));
31
-
32
- expect(queue.abortOperation('portfolio-1')).toBe(true);
33
- expect(portfolio.abortController?.signal.aborted).toBe(true);
34
- expect(userAction.abortController?.signal.aborted).toBe(false);
35
- });
36
-
37
- test('returns false for an unknown operation id', () => {
38
- const queue = new RequestQueue();
39
- queue.createTask(buildMethod(1, 'portfolio-1'));
40
-
41
- expect(queue.abortOperation('missing')).toBe(false);
42
- });
43
-
44
- test('honors cancellation that arrives before the request is registered', () => {
45
- const queue = new RequestQueue();
46
-
47
- expect(queue.abortOperation('portfolio-1')).toBe(false);
48
-
49
- const portfolio = queue.createTask(buildMethod(1, 'portfolio-1'));
50
- const userAction = queue.createTask(buildMethod(2, 'user-action'));
51
-
52
- expect(portfolio.abortController?.signal.aborted).toBe(true);
53
- expect(userAction.abortController?.signal.aborted).toBe(false);
54
- });
55
-
56
- test('expires a cancellation that is never matched', () => {
57
- const nowSpy = jest.spyOn(Date, 'now');
58
- nowSpy.mockReturnValueOnce(1_000);
59
- const queue = new RequestQueue();
60
- queue.abortOperation('portfolio-1');
61
- nowSpy.mockReturnValue(31_001);
62
-
63
- const portfolio = queue.createTask(buildMethod(1, 'portfolio-1'));
64
-
65
- expect(portfolio.abortController?.signal.aborted).toBe(false);
66
- nowSpy.mockRestore();
67
- });
68
-
69
- test('rejects a background request while the device has an active user request', async () => {
70
- const queue = new RequestQueue();
71
- queue.createTask(buildMethod(1, 'user-action'));
72
-
73
- await expect(
74
- queue.admitTask(buildBackgroundMethod(2, 'portfolio-1'), {
75
- backgroundPreemptTimeoutMs: 100,
76
- })
77
- ).resolves.toMatchObject({ status: 'busy' });
78
- expect(queue.getTask(2)).toBeUndefined();
79
- });
80
-
81
- test('aborts and waits for an active background request before admitting a user request', async () => {
82
- const queue = new RequestQueue();
83
- const portfolio = queue.createTask(buildBackgroundMethod(1, 'portfolio-1'));
84
-
85
- const admission = queue.admitTask(buildMethod(2, 'user-action'), {
86
- backgroundPreemptTimeoutMs: 100,
87
- });
88
- await Promise.resolve();
89
-
90
- expect(portfolio.abortController?.signal.aborted).toBe(true);
91
- expect(queue.getTask(2)).toBeUndefined();
92
-
93
- portfolio.settled.resolve();
94
- await Promise.resolve();
95
- expect(queue.getTask(2)).toBeUndefined();
96
-
97
- queue.releaseTask(1);
98
-
99
- await expect(admission).resolves.toMatchObject({
100
- status: 'reserved',
101
- task: { id: 2 },
102
- });
103
- });
104
-
105
- test('uses the background method abort latency when no admission override is provided', async () => {
106
- const queue = new RequestQueue();
107
- const portfolio = queue.createTask(buildBackgroundMethod(1, 'portfolio-1'));
108
- portfolio.method.maxAbortLatencyMs = 12_000;
109
- const waitForTasksReleased = jest
110
- .spyOn(queue as any, 'waitForTasksReleased')
111
- .mockResolvedValue(false);
112
-
113
- await expect(queue.admitTask(buildMethod(2, 'user-action'))).resolves.toMatchObject({
114
- status: 'busy',
115
- });
116
- expect(waitForTasksReleased).toHaveBeenCalledWith([portfolio], 12_000);
117
- });
118
-
119
- test('returns busy when an aborted background request does not release in time', async () => {
120
- const queue = new RequestQueue();
121
- const portfolio = queue.createTask(buildBackgroundMethod(1, 'portfolio-1'));
122
-
123
- await expect(
124
- queue.admitTask(buildMethod(2, 'user-action'), {
125
- backgroundPreemptTimeoutMs: 1,
126
- })
127
- ).resolves.toMatchObject({
128
- status: 'busy',
129
- blockingTask: { id: 1 },
130
- });
131
- expect(portfolio.abortController?.signal.aborted).toBe(true);
132
- expect(queue.getTask(2)).toBeUndefined();
133
-
134
- queue.releaseTask(1);
135
- await expect(queue.admitTask(buildMethod(3, 'user-retry'))).resolves.toMatchObject({
136
- status: 'reserved',
137
- task: { id: 3 },
138
- });
139
- });
140
- });
@@ -1,46 +0,0 @@
1
- import UploadPortfolio from '../src/api/UploadPortfolio';
2
-
3
- jest.mock('../src/data/config', () => ({
4
- getSDKVersion: jest.fn(() => '1.0.0'),
5
- DEFAULT_DOMAIN: 'https://jssdk.onekey.so/1.0.0/',
6
- }));
7
-
8
- describe('UploadPortfolio timeout', () => {
9
- test('applies the command timeout to staging and PortfolioUpdate', async () => {
10
- const packageBytes = new Uint8Array([1, 2, 3]);
11
- const typedCall = jest
12
- .fn()
13
- .mockResolvedValueOnce({ message: { processed_byte: 3 } })
14
- .mockResolvedValueOnce({ message: {} });
15
- const method = new UploadPortfolio({
16
- id: 1,
17
- payload: {
18
- method: 'uploadPortfolio',
19
- packageBytes,
20
- },
21
- });
22
- method.device = {
23
- commands: { typedCall },
24
- } as any;
25
- method.postMessage = jest.fn();
26
-
27
- method.init();
28
- await method.run();
29
-
30
- expect(method.executionPriority).toBe('background');
31
- expect(typedCall).toHaveBeenNthCalledWith(
32
- 1,
33
- 'FilesystemFileWrite',
34
- 'FilesystemFile',
35
- expect.any(Object),
36
- { timeoutMs: 5_000 }
37
- );
38
- expect(typedCall).toHaveBeenNthCalledWith(
39
- 2,
40
- 'PortfolioUpdate',
41
- 'Success',
42
- {},
43
- { timeoutMs: 5_000 }
44
- );
45
- });
46
- });
@@ -1,61 +0,0 @@
1
- import DataManager from '../src/data-manager/DataManager';
2
- import { parseConnectSettings } from '../src/data-manager/connectSettings';
3
-
4
- import type { RemoteConfigResponse } from '../src/types';
5
-
6
- jest.mock('axios', () => ({
7
- get: jest.fn(),
8
- }));
9
-
10
- jest.mock('../src/data/config', () => ({
11
- getSDKVersion: jest.fn(() => '1.0.0'),
12
- DEFAULT_DOMAIN: 'https://jssdk.onekey.so/1.0.0/',
13
- }));
14
-
15
- const mockAxiosGet: jest.Mock = jest.requireMock('axios').get;
16
-
17
- describe('parseConnectSettings', () => {
18
- const preloadedConfig = {
19
- bridge: {},
20
- classic: { firmware: [], ble: [] },
21
- classic1s: { firmware: [], ble: [] },
22
- classicpure: { firmware: [], ble: [] },
23
- mini: { firmware: [], ble: [] },
24
- touch: { firmware: [], ble: [] },
25
- pro: { firmware: [], ble: [] },
26
- pro2: { firmware: [], ble: [] },
27
- } as unknown as RemoteConfigResponse;
28
-
29
- it('keeps a serializable preloaded config in parsed settings', () => {
30
- const settings = parseConnectSettings({
31
- firmwareManifestMode: 'sdk-managed',
32
- preloadedConfig,
33
- });
34
-
35
- expect(settings.firmwareManifestMode).toBe('sdk-managed');
36
- expect(settings.preloadedConfig).toBe(preloadedConfig);
37
- });
38
-
39
- it('uses the preloaded config before the SDK network client', async () => {
40
- const settings = parseConnectSettings({
41
- firmwareManifestMode: 'sdk-managed',
42
- preloadedConfig,
43
- });
44
-
45
- await DataManager.load(settings);
46
-
47
- expect(mockAxiosGet).not.toHaveBeenCalled();
48
- expect(DataManager.deviceMap.classic).toEqual({ firmware: [], ble: [] });
49
- });
50
-
51
- it('fails closed without a preloaded config in external-only mode', async () => {
52
- const settings = parseConnectSettings({
53
- firmwareManifestMode: 'external-only',
54
- });
55
-
56
- await expect(DataManager.load(settings)).rejects.toThrow(
57
- 'External firmware config snapshot is required'
58
- );
59
- expect(mockAxiosGet).not.toHaveBeenCalled();
60
- });
61
- });
@@ -1,117 +0,0 @@
1
- import { initConnector, initCore } from '../src/core';
2
- import { DataManager } from '../src/data-manager';
3
- import TransportManager from '../src/data-manager/TransportManager';
4
- import { Device } from '../src/device/Device';
5
- import { DevicePool } from '../src/device/DevicePool';
6
- import { CORE_EVENT, DEVICE, IFRAME } from '../src/events';
7
-
8
- import type Core from '../src/core';
9
- import type { CoreMessage } from '../src/events';
10
- import type { KnownDevice } from '../src/types';
11
-
12
- jest.mock('../src/data/config', () => ({
13
- getSDKVersion: jest.fn(() => '1.0.0-test'),
14
- DEFAULT_DOMAIN: 'https://jssdk.onekey.so/1.0.0-test/',
15
- }));
16
-
17
- const createInitializedDevice = (protocol: 'V1' | 'V2') => {
18
- const device = Device.fromDescriptor({
19
- id: 'ble-discovery-id',
20
- path: 'ble-discovery-id',
21
- commType: 'ble',
22
- protocolType: protocol,
23
- } as never);
24
- device.mainId = 'ble-connect-id';
25
- device.features = {
26
- protocol,
27
- deviceType: protocol === 'V2' ? 'pro2' : 'classic',
28
- firmwareType: 'universal',
29
- deviceId: 'wallet-device-id',
30
- serialNo: 'SERIAL-001',
31
- label: 'OneKey Test',
32
- bleName: 'OneKey Test BLE',
33
- capabilities: [],
34
- mode: 'normal',
35
- initialized: true,
36
- bootloaderMode: false,
37
- firmwareVersion: '1.2.3',
38
- bootloaderVersion: '1.0.0',
39
- boardVersion: '1.0.0',
40
- bleVersion: '2.3.4',
41
- } as never;
42
- return device;
43
- };
44
-
45
- describe('public device lifecycle events', () => {
46
- let core: Core | undefined;
47
-
48
- beforeEach(() => {
49
- DevicePool.resetState();
50
- jest.spyOn(TransportManager, 'load').mockImplementation();
51
- TransportManager.transport = {
52
- stop: jest.fn().mockResolvedValue(undefined),
53
- } as never;
54
- });
55
-
56
- afterEach(async () => {
57
- await core?.dispose();
58
- core = undefined;
59
- jest.restoreAllMocks();
60
- });
61
-
62
- test.each([
63
- ['react-native', 'V1'],
64
- ['react-native', 'V2'],
65
- ['lowlevel', 'V1'],
66
- ['lowlevel', 'V2'],
67
- ] as const)(
68
- 'emits KnownDevice snapshots for %s Protocol %s connect and disconnect events',
69
- async (env, protocol) => {
70
- jest.spyOn(DataManager, 'getSettings').mockReturnValue(env as never);
71
- core = initCore();
72
- initConnector();
73
-
74
- await core.handleMessage({
75
- id: 'register-device-connect-listener',
76
- event: IFRAME.CALL,
77
- type: IFRAME.CALL,
78
- payload: { method: 'clearSessionCache' },
79
- } as CoreMessage);
80
-
81
- const messages: CoreMessage[] = [];
82
- core.on(CORE_EVENT, message => messages.push(message));
83
- const internalDevice = createInitializedDevice(protocol);
84
-
85
- DevicePool.emitter.emit(DEVICE.CONNECT, internalDevice);
86
- internalDevice.updateState({ identity: { label: 'Updated label' } }, 'apply-settings');
87
- DevicePool.emitter.emit(DEVICE.DISCONNECT, internalDevice);
88
-
89
- const connectMessage = messages.find(message => message.type === DEVICE.CONNECT);
90
- const disconnectMessage = messages.find(message => message.type === DEVICE.DISCONNECT);
91
- const connectedDevice = connectMessage?.payload.device as KnownDevice;
92
- const disconnectedDevice = disconnectMessage?.payload.device as KnownDevice;
93
-
94
- expect(connectedDevice).toMatchObject({
95
- connectId: 'ble-connect-id',
96
- serialNo: 'SERIAL-001',
97
- uuid: 'SERIAL-001',
98
- label: 'OneKey Test',
99
- state: { protocol },
100
- });
101
- expect(disconnectedDevice).toMatchObject({
102
- connectId: 'ble-connect-id',
103
- serialNo: 'SERIAL-001',
104
- uuid: 'SERIAL-001',
105
- label: 'Updated label',
106
- state: { protocol },
107
- });
108
- expect(connectedDevice).not.toBe(internalDevice);
109
- expect(connectedDevice).not.toBe(disconnectedDevice);
110
- expect(connectedDevice).not.toHaveProperty('run');
111
- expect(connectedDevice).not.toHaveProperty('acquire');
112
- expect(connectedDevice).not.toHaveProperty('commands');
113
- expect(() => JSON.stringify(connectedDevice)).not.toThrow();
114
- expect(connectedDevice.label).toBe('OneKey Test');
115
- }
116
- );
117
- });