@onekeyfe/hd-core 1.2.0-alpha.1 → 1.2.0-alpha.100

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 (833) hide show
  1. package/__tests__/AllNetworkGetAddressBase.tracing.test.ts +390 -0
  2. package/__tests__/DeviceCommands.test.ts +563 -0
  3. package/__tests__/DeviceEventRegistration.test.ts +49 -0
  4. package/__tests__/chain-params-onekey-compatibility.test.ts +229 -0
  5. package/__tests__/check-all-firmware-release-protocol-v2.test.ts +830 -0
  6. package/__tests__/check-firmware-release-protocol-v2.test.ts +270 -0
  7. package/__tests__/connectSettings.test.ts +59 -0
  8. package/__tests__/core-dispose.test.ts +34 -0
  9. package/__tests__/core-error-output.test.ts +39 -0
  10. package/__tests__/core-initialization.test.ts +23 -0
  11. package/__tests__/device-connector-protocol.test.ts +81 -0
  12. package/__tests__/device-features-state.test.ts +78 -0
  13. package/__tests__/device-identity.test.ts +52 -0
  14. package/__tests__/device-initialize-timeout.test.ts +56 -0
  15. package/__tests__/device-lifecycle-events.test.ts +351 -0
  16. package/__tests__/device-pool-state.test.ts +166 -0
  17. package/__tests__/device-settings.test.ts +437 -0
  18. package/__tests__/device-state-contract.test.ts +28 -0
  19. package/__tests__/device-state-events.test.ts +286 -0
  20. package/__tests__/device-state-mapper.test.ts +288 -0
  21. package/__tests__/device-state-projector.test.ts +114 -0
  22. package/__tests__/device-state-store.test.ts +109 -0
  23. package/__tests__/device-utils.test.ts +154 -0
  24. package/__tests__/device-wallet-session-store.test.ts +478 -0
  25. package/__tests__/deviceFeaturesUtils.test.ts +39 -0
  26. package/__tests__/devicePoolBootloaderPath.test.ts +64 -0
  27. package/__tests__/deviceSettings.test.ts +113 -0
  28. package/__tests__/deviceUploadNft.test.ts +316 -0
  29. package/__tests__/evmLedgerLegacySafety.test.ts +12 -6
  30. package/__tests__/evmSignTransaction.test.ts +69 -0
  31. package/__tests__/evmSignTypedData.test.ts +80 -0
  32. package/__tests__/filesystemValidation.test.ts +53 -0
  33. package/__tests__/firmware-memory-host.test.ts +126 -0
  34. package/__tests__/firmware-update/check-all-firmware-release.test.ts +175 -0
  35. package/__tests__/firmware-update/device-update-bootloader.test.ts +109 -0
  36. package/__tests__/firmware-update/firmware-artifact-source.test.ts +171 -0
  37. package/__tests__/firmware-update/firmware-host-binding.test.ts +79 -0
  38. package/__tests__/firmware-update/firmware-preparation-error.test.ts +27 -0
  39. package/__tests__/firmware-update/firmware-prepared-host-digest.test.ts +583 -0
  40. package/__tests__/firmware-update/firmware-prepared-resource-archive.test.ts +150 -0
  41. package/__tests__/firmware-update/firmware-update-bootloader-poll.test.ts +375 -0
  42. package/__tests__/firmware-update/firmware-update-capabilities.test.ts +13 -0
  43. package/__tests__/firmware-update/firmware-update-plan-bootloader-identity.test.ts +474 -0
  44. package/__tests__/firmware-update/firmware-update-plan.test.ts +815 -0
  45. package/__tests__/firmware-update/firmware-update-prepared-plan.test.ts +283 -0
  46. package/__tests__/firmware-update/firmware-update-prepared-resource-executors.test.ts +326 -0
  47. package/__tests__/firmware-update/firmware-update-v2-download-before-boot.test.ts +457 -0
  48. package/__tests__/firmware-update/firmware-update-v3-reconnect.test.ts +121 -0
  49. package/__tests__/firmware-update/firmware-update-v4-parameters.test.ts +85 -0
  50. package/__tests__/firmware-update/firmware-upload-source.test.ts +70 -0
  51. package/__tests__/get-device-state.test.ts +578 -0
  52. package/__tests__/homescreen.test.ts +81 -0
  53. package/__tests__/kaspa-public-types.type-test.ts +16 -0
  54. package/__tests__/kaspa-use-tweak-pro2.test.ts +20 -0
  55. package/__tests__/kaspaSignTransaction.test.ts +578 -0
  56. package/__tests__/known-device-public-types.type-test.ts +3 -0
  57. package/__tests__/logBlockEvent.test.ts +128 -1
  58. package/__tests__/method-protocol-support.test.ts +144 -0
  59. package/__tests__/networkUtils.test.ts +406 -0
  60. package/__tests__/open-wallet-session-error-response.test.ts +43 -0
  61. package/__tests__/open-wallet-session.test.ts +1899 -0
  62. package/__tests__/preInitialize.test.ts +33 -0
  63. package/__tests__/pro2Nft.test.ts +108 -0
  64. package/__tests__/pro2Wallpaper.test.ts +39 -0
  65. package/__tests__/protocol-binding.test.ts +89 -0
  66. package/__tests__/protocol-v2-bootloader-mode.test.ts +37 -0
  67. package/__tests__/protocol-v2-firmware-targets.test.ts +124 -0
  68. package/__tests__/protocol-v2-ping.test.ts +28 -0
  69. package/__tests__/protocol-v2-resources.test.ts +270 -0
  70. package/__tests__/protocol-v2-ui-lifecycle.test.ts +91 -0
  71. package/__tests__/protocol-v2-unlock-policy.test.ts +308 -0
  72. package/__tests__/protocol-v2.test.ts +8346 -1866
  73. package/__tests__/protocolV2FileWrite.test.ts +285 -0
  74. package/__tests__/protocolV2UiInteraction.test.ts +329 -0
  75. package/__tests__/public-device-state-api.test.ts +275 -0
  76. package/__tests__/public-pro2-api-boundary.test.ts +107 -0
  77. package/__tests__/refresh-device-state.test.ts +101 -0
  78. package/__tests__/request-context-logging.test.ts +16 -0
  79. package/__tests__/search-devices.test.ts +145 -0
  80. package/__tests__/tron-sign-message-init.test.ts +74 -0
  81. package/__tests__/uiProgressThrottle.test.ts +74 -0
  82. package/__tests__/uiPromiseRegistry.test.ts +115 -0
  83. package/dist/api/BaseMethod.d.ts +16 -1
  84. package/dist/api/BaseMethod.d.ts.map +1 -1
  85. package/dist/api/CheckAllFirmwareRelease.d.ts +25 -1
  86. package/dist/api/CheckAllFirmwareRelease.d.ts.map +1 -1
  87. package/dist/api/CheckBLEFirmwareRelease.d.ts +3 -2
  88. package/dist/api/CheckBLEFirmwareRelease.d.ts.map +1 -1
  89. package/dist/api/CheckBootloaderRelease.d.ts +2 -1
  90. package/dist/api/CheckBootloaderRelease.d.ts.map +1 -1
  91. package/dist/api/CheckFirmwareRelease.d.ts +3 -2
  92. package/dist/api/CheckFirmwareRelease.d.ts.map +1 -1
  93. package/dist/api/CipherKeyValue.d.ts +1 -0
  94. package/dist/api/CipherKeyValue.d.ts.map +1 -1
  95. package/dist/api/ClearSessionCache.d.ts +9 -0
  96. package/dist/api/ClearSessionCache.d.ts.map +1 -0
  97. package/dist/api/DetectDeviceConnectProtocol.d.ts +7 -0
  98. package/dist/api/DetectDeviceConnectProtocol.d.ts.map +1 -0
  99. package/dist/api/DirList.d.ts +1 -0
  100. package/dist/api/DirList.d.ts.map +1 -1
  101. package/dist/api/DirMake.d.ts +1 -0
  102. package/dist/api/DirMake.d.ts.map +1 -1
  103. package/dist/api/DirRemove.d.ts +1 -0
  104. package/dist/api/DirRemove.d.ts.map +1 -1
  105. package/dist/api/FileDelete.d.ts +1 -0
  106. package/dist/api/FileDelete.d.ts.map +1 -1
  107. package/dist/api/FileRead.d.ts +1 -0
  108. package/dist/api/FileRead.d.ts.map +1 -1
  109. package/dist/api/FileWrite.d.ts +2 -0
  110. package/dist/api/FileWrite.d.ts.map +1 -1
  111. package/dist/api/FirmwareUpdate.d.ts.map +1 -1
  112. package/dist/api/FirmwareUpdateV2.d.ts +13 -2
  113. package/dist/api/FirmwareUpdateV2.d.ts.map +1 -1
  114. package/dist/api/FirmwareUpdateV3.d.ts +7 -3
  115. package/dist/api/FirmwareUpdateV3.d.ts.map +1 -1
  116. package/dist/api/FirmwareUpdateV4.d.ts +63 -6
  117. package/dist/api/FirmwareUpdateV4.d.ts.map +1 -1
  118. package/dist/api/GetDeviceState.d.ts +8 -0
  119. package/dist/api/GetDeviceState.d.ts.map +1 -0
  120. package/dist/api/GetFeatures.d.ts +1 -1
  121. package/dist/api/GetFeatures.d.ts.map +1 -1
  122. package/dist/api/GetOnekeyFeatures.d.ts.map +1 -1
  123. package/dist/api/GetPassphraseState.d.ts +2 -6
  124. package/dist/api/GetPassphraseState.d.ts.map +1 -1
  125. package/dist/api/OpenWalletSession.d.ts +8 -0
  126. package/dist/api/OpenWalletSession.d.ts.map +1 -0
  127. package/dist/api/PathInfo.d.ts +1 -0
  128. package/dist/api/PathInfo.d.ts.map +1 -1
  129. package/dist/api/PromptWebDeviceAccess.d.ts.map +1 -1
  130. package/dist/api/SearchDevices.d.ts +3 -0
  131. package/dist/api/SearchDevices.d.ts.map +1 -1
  132. package/dist/api/UploadPortfolio.d.ts +17 -0
  133. package/dist/api/UploadPortfolio.d.ts.map +1 -0
  134. package/dist/api/alephium/AlephiumGetAddress.d.ts.map +1 -1
  135. package/dist/api/alephium/AlephiumSignMessage.d.ts.map +1 -1
  136. package/dist/api/alephium/AlephiumSignTransaction.d.ts.map +1 -1
  137. package/dist/api/algo/AlgoGetAddress.d.ts +1 -0
  138. package/dist/api/algo/AlgoGetAddress.d.ts.map +1 -1
  139. package/dist/api/algo/AlgoSignTransaction.d.ts +1 -0
  140. package/dist/api/algo/AlgoSignTransaction.d.ts.map +1 -1
  141. package/dist/api/allnetwork/AllNetworkGetAddressBase.d.ts +1 -0
  142. package/dist/api/allnetwork/AllNetworkGetAddressBase.d.ts.map +1 -1
  143. package/dist/api/aptos/AptosGetAddress.d.ts +1 -0
  144. package/dist/api/aptos/AptosGetAddress.d.ts.map +1 -1
  145. package/dist/api/aptos/AptosGetPublicKey.d.ts +1 -0
  146. package/dist/api/aptos/AptosGetPublicKey.d.ts.map +1 -1
  147. package/dist/api/aptos/AptosSignInMessage.d.ts +1 -0
  148. package/dist/api/aptos/AptosSignInMessage.d.ts.map +1 -1
  149. package/dist/api/aptos/AptosSignMessage.d.ts +1 -0
  150. package/dist/api/aptos/AptosSignMessage.d.ts.map +1 -1
  151. package/dist/api/aptos/AptosSignTransaction.d.ts +1 -0
  152. package/dist/api/aptos/AptosSignTransaction.d.ts.map +1 -1
  153. package/dist/api/benfen/BenfenGetAddress.d.ts.map +1 -1
  154. package/dist/api/benfen/BenfenGetPublicKey.d.ts.map +1 -1
  155. package/dist/api/benfen/BenfenSignMessage.d.ts.map +1 -1
  156. package/dist/api/benfen/BenfenSignTransaction.d.ts.map +1 -1
  157. package/dist/api/btc/BTCGetAddress.d.ts +1 -0
  158. package/dist/api/btc/BTCGetAddress.d.ts.map +1 -1
  159. package/dist/api/btc/BTCGetPublicKey.d.ts +1 -0
  160. package/dist/api/btc/BTCGetPublicKey.d.ts.map +1 -1
  161. package/dist/api/btc/BTCSignMessage.d.ts +1 -0
  162. package/dist/api/btc/BTCSignMessage.d.ts.map +1 -1
  163. package/dist/api/btc/BTCSignPsbt.d.ts +1 -0
  164. package/dist/api/btc/BTCSignPsbt.d.ts.map +1 -1
  165. package/dist/api/btc/BTCSignTransaction.d.ts +1 -0
  166. package/dist/api/btc/BTCSignTransaction.d.ts.map +1 -1
  167. package/dist/api/btc/BTCVerifyMessage.d.ts +1 -0
  168. package/dist/api/btc/BTCVerifyMessage.d.ts.map +1 -1
  169. package/dist/api/btc/helpers/versionLimit.d.ts +2 -0
  170. package/dist/api/btc/helpers/versionLimit.d.ts.map +1 -1
  171. package/dist/api/cardano/CardanoGetAddress.d.ts +1 -0
  172. package/dist/api/cardano/CardanoGetAddress.d.ts.map +1 -1
  173. package/dist/api/cardano/CardanoGetPublicKey.d.ts +1 -0
  174. package/dist/api/cardano/CardanoGetPublicKey.d.ts.map +1 -1
  175. package/dist/api/cardano/CardanoSignMessage.d.ts +1 -0
  176. package/dist/api/cardano/CardanoSignMessage.d.ts.map +1 -1
  177. package/dist/api/cardano/CardanoSignTransaction.d.ts +1 -0
  178. package/dist/api/cardano/CardanoSignTransaction.d.ts.map +1 -1
  179. package/dist/api/conflux/ConfluxGetAddress.d.ts +2 -0
  180. package/dist/api/conflux/ConfluxGetAddress.d.ts.map +1 -1
  181. package/dist/api/conflux/ConfluxSignMessage.d.ts +2 -0
  182. package/dist/api/conflux/ConfluxSignMessage.d.ts.map +1 -1
  183. package/dist/api/conflux/ConfluxSignMessageCIP23.d.ts +2 -0
  184. package/dist/api/conflux/ConfluxSignMessageCIP23.d.ts.map +1 -1
  185. package/dist/api/conflux/ConfluxSignTransaction.d.ts +2 -0
  186. package/dist/api/conflux/ConfluxSignTransaction.d.ts.map +1 -1
  187. package/dist/api/cosmos/CosmosGetAddress.d.ts +1 -0
  188. package/dist/api/cosmos/CosmosGetAddress.d.ts.map +1 -1
  189. package/dist/api/cosmos/CosmosGetPublicKey.d.ts +1 -0
  190. package/dist/api/cosmos/CosmosGetPublicKey.d.ts.map +1 -1
  191. package/dist/api/cosmos/CosmosSignTransaction.d.ts +1 -0
  192. package/dist/api/cosmos/CosmosSignTransaction.d.ts.map +1 -1
  193. package/dist/api/device/DeviceCancel.d.ts +1 -0
  194. package/dist/api/device/DeviceCancel.d.ts.map +1 -1
  195. package/dist/api/device/DeviceChangePin.d.ts +1 -0
  196. package/dist/api/device/DeviceChangePin.d.ts.map +1 -1
  197. package/dist/api/device/DeviceFullyUploadResource.d.ts +1 -2
  198. package/dist/api/device/DeviceFullyUploadResource.d.ts.map +1 -1
  199. package/dist/api/device/DeviceLock.d.ts +1 -0
  200. package/dist/api/device/DeviceLock.d.ts.map +1 -1
  201. package/dist/api/device/DeviceRebootToBoardloader.d.ts +1 -0
  202. package/dist/api/device/DeviceRebootToBoardloader.d.ts.map +1 -1
  203. package/dist/api/device/DeviceRebootToBootloader.d.ts +1 -0
  204. package/dist/api/device/DeviceRebootToBootloader.d.ts.map +1 -1
  205. package/dist/api/device/DeviceSettings.d.ts +1 -0
  206. package/dist/api/device/DeviceSettings.d.ts.map +1 -1
  207. package/dist/api/device/DeviceSupportFeatures.d.ts +1 -0
  208. package/dist/api/device/DeviceSupportFeatures.d.ts.map +1 -1
  209. package/dist/api/device/DeviceUnlock.d.ts +3 -2
  210. package/dist/api/device/DeviceUnlock.d.ts.map +1 -1
  211. package/dist/api/device/DeviceUpdateBootloader.d.ts +5 -1
  212. package/dist/api/device/DeviceUpdateBootloader.d.ts.map +1 -1
  213. package/dist/api/device/DeviceWipe.d.ts +1 -0
  214. package/dist/api/device/DeviceWipe.d.ts.map +1 -1
  215. package/dist/api/device/PreInitialize.d.ts +1 -0
  216. package/dist/api/device/PreInitialize.d.ts.map +1 -1
  217. package/dist/api/dynex/DnxGetAddress.d.ts.map +1 -1
  218. package/dist/api/dynex/DnxSignTransaction.d.ts.map +1 -1
  219. package/dist/api/evm/EVMGetAddress.d.ts +1 -0
  220. package/dist/api/evm/EVMGetAddress.d.ts.map +1 -1
  221. package/dist/api/evm/EVMGetPublicKey.d.ts +1 -0
  222. package/dist/api/evm/EVMGetPublicKey.d.ts.map +1 -1
  223. package/dist/api/evm/EVMSignMessage.d.ts +1 -0
  224. package/dist/api/evm/EVMSignMessage.d.ts.map +1 -1
  225. package/dist/api/evm/EVMSignMessageEIP712.d.ts.map +1 -1
  226. package/dist/api/evm/EVMSignTransaction.d.ts +1 -0
  227. package/dist/api/evm/EVMSignTransaction.d.ts.map +1 -1
  228. package/dist/api/evm/EVMSignTypedData.d.ts +1 -0
  229. package/dist/api/evm/EVMSignTypedData.d.ts.map +1 -1
  230. package/dist/api/evm/EVMVerifyMessage.d.ts +1 -0
  231. package/dist/api/evm/EVMVerifyMessage.d.ts.map +1 -1
  232. package/dist/api/evm/protocol.d.ts +3 -0
  233. package/dist/api/evm/protocol.d.ts.map +1 -0
  234. package/dist/api/filecoin/FilecoinGetAddress.d.ts +1 -0
  235. package/dist/api/filecoin/FilecoinGetAddress.d.ts.map +1 -1
  236. package/dist/api/filecoin/FilecoinSignTransaction.d.ts +1 -0
  237. package/dist/api/filecoin/FilecoinSignTransaction.d.ts.map +1 -1
  238. package/dist/api/firmware/FirmwareArtifactSource.d.ts +29 -0
  239. package/dist/api/firmware/FirmwareArtifactSource.d.ts.map +1 -0
  240. package/dist/api/firmware/FirmwareHostBinding.d.ts +6 -0
  241. package/dist/api/firmware/FirmwareHostBinding.d.ts.map +1 -0
  242. package/dist/api/firmware/FirmwareMemoryHost.d.ts +22 -0
  243. package/dist/api/firmware/FirmwareMemoryHost.d.ts.map +1 -0
  244. package/dist/api/firmware/FirmwarePreparationError.d.ts +3 -0
  245. package/dist/api/firmware/FirmwarePreparationError.d.ts.map +1 -0
  246. package/dist/api/firmware/FirmwarePreparedResourceArchive.d.ts +11 -0
  247. package/dist/api/firmware/FirmwarePreparedResourceArchive.d.ts.map +1 -0
  248. package/dist/api/firmware/FirmwareUpdateBaseMethod.d.ts +12 -2
  249. package/dist/api/firmware/FirmwareUpdateBaseMethod.d.ts.map +1 -1
  250. package/dist/api/firmware/FirmwareUpdateCapabilities.d.ts +3 -0
  251. package/dist/api/firmware/FirmwareUpdateCapabilities.d.ts.map +1 -0
  252. package/dist/api/firmware/FirmwareUpdatePlan.d.ts +72 -0
  253. package/dist/api/firmware/FirmwareUpdatePlan.d.ts.map +1 -0
  254. package/dist/api/firmware/FirmwareUpdatePreparedPlan.d.ts +38 -0
  255. package/dist/api/firmware/FirmwareUpdatePreparedPlan.d.ts.map +1 -0
  256. package/dist/api/firmware/getBinary.d.ts +17 -3
  257. package/dist/api/firmware/getBinary.d.ts.map +1 -1
  258. package/dist/api/firmware/protocolV2Release.d.ts +33 -0
  259. package/dist/api/firmware/protocolV2Release.d.ts.map +1 -0
  260. package/dist/api/firmware/updateBootloader.d.ts +2 -0
  261. package/dist/api/firmware/updateBootloader.d.ts.map +1 -1
  262. package/dist/api/firmware/uploadFirmware.d.ts +9 -1
  263. package/dist/api/firmware/uploadFirmware.d.ts.map +1 -1
  264. package/dist/api/helpers/filesystemValidation.d.ts +3 -0
  265. package/dist/api/helpers/filesystemValidation.d.ts.map +1 -1
  266. package/dist/api/helpers/paramsValidator.d.ts +1 -0
  267. package/dist/api/helpers/paramsValidator.d.ts.map +1 -1
  268. package/dist/api/helpers/protocolV2FileWrite.d.ts +43 -0
  269. package/dist/api/helpers/protocolV2FileWrite.d.ts.map +1 -0
  270. package/dist/api/index.d.ts +8 -29
  271. package/dist/api/index.d.ts.map +1 -1
  272. package/dist/api/kaspa/KaspaGetAddress.d.ts +4 -0
  273. package/dist/api/kaspa/KaspaGetAddress.d.ts.map +1 -1
  274. package/dist/api/kaspa/KaspaSignTransaction.d.ts +9 -1
  275. package/dist/api/kaspa/KaspaSignTransaction.d.ts.map +1 -1
  276. package/dist/api/kaspa/helpers/TransferSerialize.d.ts.map +1 -1
  277. package/dist/api/lightning/LnurlAuth.d.ts +0 -4
  278. package/dist/api/lightning/LnurlAuth.d.ts.map +1 -1
  279. package/dist/api/near/NearGetAddress.d.ts +1 -0
  280. package/dist/api/near/NearGetAddress.d.ts.map +1 -1
  281. package/dist/api/near/NearSignTransaction.d.ts +1 -0
  282. package/dist/api/near/NearSignTransaction.d.ts.map +1 -1
  283. package/dist/api/nem/NEMGetAddress.d.ts +1 -0
  284. package/dist/api/nem/NEMGetAddress.d.ts.map +1 -1
  285. package/dist/api/nem/NEMSignTransaction.d.ts +1 -0
  286. package/dist/api/nem/NEMSignTransaction.d.ts.map +1 -1
  287. package/dist/api/neo/NeoGetAddress.d.ts.map +1 -1
  288. package/dist/api/neo/NeoSignTransaction.d.ts.map +1 -1
  289. package/dist/api/nervos/NervosGetAddress.d.ts.map +1 -1
  290. package/dist/api/nervos/NervosSignTransaction.d.ts.map +1 -1
  291. package/dist/api/nexa/NexaGetAddress.d.ts.map +1 -1
  292. package/dist/api/nexa/NexaSignTransaction.d.ts +1 -0
  293. package/dist/api/nexa/NexaSignTransaction.d.ts.map +1 -1
  294. package/dist/api/nostr/NostrDecryptMessage.d.ts +1 -0
  295. package/dist/api/nostr/NostrDecryptMessage.d.ts.map +1 -1
  296. package/dist/api/nostr/NostrEncryptMessage.d.ts +1 -0
  297. package/dist/api/nostr/NostrEncryptMessage.d.ts.map +1 -1
  298. package/dist/api/nostr/NostrGetPublicKey.d.ts +1 -0
  299. package/dist/api/nostr/NostrGetPublicKey.d.ts.map +1 -1
  300. package/dist/api/nostr/NostrSignEvent.d.ts +1 -0
  301. package/dist/api/nostr/NostrSignEvent.d.ts.map +1 -1
  302. package/dist/api/nostr/NostrSignSchnorr.d.ts +1 -0
  303. package/dist/api/nostr/NostrSignSchnorr.d.ts.map +1 -1
  304. package/dist/api/polkadot/PolkadotGetAddress.d.ts +2 -1
  305. package/dist/api/polkadot/PolkadotGetAddress.d.ts.map +1 -1
  306. package/dist/api/polkadot/PolkadotSignTransaction.d.ts +1 -0
  307. package/dist/api/polkadot/PolkadotSignTransaction.d.ts.map +1 -1
  308. package/dist/api/polkadot/networks.d.ts +1 -1
  309. package/dist/api/protocol-v2/DeviceFactoryInfoGet.d.ts +7 -0
  310. package/dist/api/protocol-v2/DeviceFactoryInfoGet.d.ts.map +1 -0
  311. package/dist/api/protocol-v2/DeviceFactoryInfoSet.d.ts +8 -0
  312. package/dist/api/protocol-v2/DeviceFactoryInfoSet.d.ts.map +1 -0
  313. package/dist/api/protocol-v2/DeviceFirmwareUpdate.d.ts +2 -1
  314. package/dist/api/protocol-v2/DeviceFirmwareUpdate.d.ts.map +1 -1
  315. package/dist/api/protocol-v2/DeviceGetFirmwareUpdateStatus.d.ts +4 -2
  316. package/dist/api/protocol-v2/DeviceGetFirmwareUpdateStatus.d.ts.map +1 -1
  317. package/dist/api/protocol-v2/DeviceGetOnboardingStatus.d.ts +1 -0
  318. package/dist/api/protocol-v2/DeviceGetOnboardingStatus.d.ts.map +1 -1
  319. package/dist/api/protocol-v2/DeviceInfoGet.d.ts +29 -0
  320. package/dist/api/protocol-v2/DeviceInfoGet.d.ts.map +1 -0
  321. package/dist/api/protocol-v2/DeviceReboot.d.ts +1 -0
  322. package/dist/api/protocol-v2/DeviceReboot.d.ts.map +1 -1
  323. package/dist/api/protocol-v2/DeviceStatusGet.d.ts +7 -0
  324. package/dist/api/protocol-v2/DeviceStatusGet.d.ts.map +1 -0
  325. package/dist/api/protocol-v2/DeviceUploadNft.d.ts +31 -0
  326. package/dist/api/protocol-v2/DeviceUploadNft.d.ts.map +1 -0
  327. package/dist/api/protocol-v2/DeviceUploadWallpaper.d.ts +27 -0
  328. package/dist/api/protocol-v2/DeviceUploadWallpaper.d.ts.map +1 -0
  329. package/dist/api/protocol-v2/FilesystemFormat.d.ts +1 -0
  330. package/dist/api/protocol-v2/FilesystemFormat.d.ts.map +1 -1
  331. package/dist/api/protocol-v2/FilesystemPermissionFix.d.ts +7 -0
  332. package/dist/api/protocol-v2/FilesystemPermissionFix.d.ts.map +1 -0
  333. package/dist/api/protocol-v2/Ping.d.ts +3 -0
  334. package/dist/api/protocol-v2/Ping.d.ts.map +1 -1
  335. package/dist/api/protocol-v2/ProtocolInfoRequest.d.ts +7 -0
  336. package/dist/api/protocol-v2/ProtocolInfoRequest.d.ts.map +1 -0
  337. package/dist/api/protocol-v2/helpers.d.ts +27 -18
  338. package/dist/api/protocol-v2/helpers.d.ts.map +1 -1
  339. package/dist/api/scdo/ScdoGetAddress.d.ts.map +1 -1
  340. package/dist/api/scdo/ScdoSignMessage.d.ts.map +1 -1
  341. package/dist/api/scdo/ScdoSignTransaction.d.ts.map +1 -1
  342. package/dist/api/solana/SolGetAddress.d.ts +1 -0
  343. package/dist/api/solana/SolGetAddress.d.ts.map +1 -1
  344. package/dist/api/solana/SolSignMessage.d.ts +2 -1
  345. package/dist/api/solana/SolSignMessage.d.ts.map +1 -1
  346. package/dist/api/solana/SolSignOffchainMessage.d.ts +2 -1
  347. package/dist/api/solana/SolSignOffchainMessage.d.ts.map +1 -1
  348. package/dist/api/solana/SolSignTransaction.d.ts +3 -2
  349. package/dist/api/solana/SolSignTransaction.d.ts.map +1 -1
  350. package/dist/api/starcoin/StarcoinGetAddress.d.ts +1 -0
  351. package/dist/api/starcoin/StarcoinGetAddress.d.ts.map +1 -1
  352. package/dist/api/starcoin/StarcoinGetPublicKey.d.ts +1 -0
  353. package/dist/api/starcoin/StarcoinGetPublicKey.d.ts.map +1 -1
  354. package/dist/api/starcoin/StarcoinSignMessage.d.ts +1 -0
  355. package/dist/api/starcoin/StarcoinSignMessage.d.ts.map +1 -1
  356. package/dist/api/starcoin/StarcoinSignTransaction.d.ts +1 -0
  357. package/dist/api/starcoin/StarcoinSignTransaction.d.ts.map +1 -1
  358. package/dist/api/starcoin/StarcoinVerifyMessage.d.ts +1 -0
  359. package/dist/api/starcoin/StarcoinVerifyMessage.d.ts.map +1 -1
  360. package/dist/api/stellar/StellarGetAddress.d.ts +1 -2
  361. package/dist/api/stellar/StellarGetAddress.d.ts.map +1 -1
  362. package/dist/api/stellar/StellarSignTransaction.d.ts +2 -3
  363. package/dist/api/stellar/StellarSignTransaction.d.ts.map +1 -1
  364. package/dist/api/sui/SuiGetAddress.d.ts +2 -1
  365. package/dist/api/sui/SuiGetAddress.d.ts.map +1 -1
  366. package/dist/api/sui/SuiGetPublicKey.d.ts +2 -1
  367. package/dist/api/sui/SuiGetPublicKey.d.ts.map +1 -1
  368. package/dist/api/sui/SuiSignMessage.d.ts +2 -1
  369. package/dist/api/sui/SuiSignMessage.d.ts.map +1 -1
  370. package/dist/api/sui/SuiSignTransaction.d.ts +2 -1
  371. package/dist/api/sui/SuiSignTransaction.d.ts.map +1 -1
  372. package/dist/api/ton/TonGetAddress.d.ts +2 -1
  373. package/dist/api/ton/TonGetAddress.d.ts.map +1 -1
  374. package/dist/api/ton/TonSignData.d.ts +2 -5
  375. package/dist/api/ton/TonSignData.d.ts.map +1 -1
  376. package/dist/api/ton/TonSignMessage.d.ts +2 -1
  377. package/dist/api/ton/TonSignMessage.d.ts.map +1 -1
  378. package/dist/api/ton/TonSignProof.d.ts +2 -1
  379. package/dist/api/ton/TonSignProof.d.ts.map +1 -1
  380. package/dist/api/tron/TronGetAddress.d.ts +1 -0
  381. package/dist/api/tron/TronGetAddress.d.ts.map +1 -1
  382. package/dist/api/tron/TronSignMessage.d.ts +6 -2
  383. package/dist/api/tron/TronSignMessage.d.ts.map +1 -1
  384. package/dist/api/tron/TronSignTransaction.d.ts +2 -2
  385. package/dist/api/tron/TronSignTransaction.d.ts.map +1 -1
  386. package/dist/api/utils.d.ts +4 -1
  387. package/dist/api/utils.d.ts.map +1 -1
  388. package/dist/api/xrp/XrpGetAddress.d.ts +1 -0
  389. package/dist/api/xrp/XrpGetAddress.d.ts.map +1 -1
  390. package/dist/api/xrp/XrpSignTransaction.d.ts +1 -0
  391. package/dist/api/xrp/XrpSignTransaction.d.ts.map +1 -1
  392. package/dist/constants/index.d.ts +1 -1
  393. package/dist/constants/index.d.ts.map +1 -1
  394. package/dist/core/RequestQueue.d.ts.map +1 -1
  395. package/dist/core/deviceEventRegistration.d.ts +13 -0
  396. package/dist/core/deviceEventRegistration.d.ts.map +1 -0
  397. package/dist/core/index.d.ts +3 -1
  398. package/dist/core/index.d.ts.map +1 -1
  399. package/dist/core/uiPromiseRegistry.d.ts +6 -0
  400. package/dist/core/uiPromiseRegistry.d.ts.map +1 -0
  401. package/dist/data-manager/DataManager.d.ts +12 -4
  402. package/dist/data-manager/DataManager.d.ts.map +1 -1
  403. package/dist/data-manager/TransportManager.d.ts.map +1 -1
  404. package/dist/data-manager/connectSettings.d.ts.map +1 -1
  405. package/dist/device/Device.d.ts +75 -17
  406. package/dist/device/Device.d.ts.map +1 -1
  407. package/dist/device/DeviceCommands.d.ts +8 -6
  408. package/dist/device/DeviceCommands.d.ts.map +1 -1
  409. package/dist/device/DeviceConnector.d.ts +4 -3
  410. package/dist/device/DeviceConnector.d.ts.map +1 -1
  411. package/dist/device/DeviceFeaturesState.d.ts +3 -0
  412. package/dist/device/DeviceFeaturesState.d.ts.map +1 -0
  413. package/dist/device/DevicePool.d.ts +6 -2
  414. package/dist/device/DevicePool.d.ts.map +1 -1
  415. package/dist/device/DeviceStateMapper.d.ts +13 -0
  416. package/dist/device/DeviceStateMapper.d.ts.map +1 -0
  417. package/dist/device/DeviceStateProjector.d.ts +7 -0
  418. package/dist/device/DeviceStateProjector.d.ts.map +1 -0
  419. package/dist/device/DeviceStateStore.d.ts +21 -0
  420. package/dist/device/DeviceStateStore.d.ts.map +1 -0
  421. package/dist/device/DeviceWalletSessionStore.d.ts +27 -0
  422. package/dist/device/DeviceWalletSessionStore.d.ts.map +1 -0
  423. package/dist/device/cloneDeviceState.d.ts +2 -0
  424. package/dist/device/cloneDeviceState.d.ts.map +1 -0
  425. package/dist/device/deviceIdentity.d.ts +5 -0
  426. package/dist/device/deviceIdentity.d.ts.map +1 -0
  427. package/dist/deviceProfile/buildDeviceFeatures.d.ts +9 -3
  428. package/dist/deviceProfile/buildDeviceFeatures.d.ts.map +1 -1
  429. package/dist/deviceProfile/index.d.ts +0 -1
  430. package/dist/deviceProfile/index.d.ts.map +1 -1
  431. package/dist/deviceProfile/protocolV2DeviceIdentity.d.ts +7 -0
  432. package/dist/deviceProfile/protocolV2DeviceIdentity.d.ts.map +1 -0
  433. package/dist/events/device.d.ts +16 -2
  434. package/dist/events/device.d.ts.map +1 -1
  435. package/dist/events/logBlockEvent.d.ts +2 -0
  436. package/dist/events/logBlockEvent.d.ts.map +1 -1
  437. package/dist/events/ui-promise.d.ts +4 -2
  438. package/dist/events/ui-promise.d.ts.map +1 -1
  439. package/dist/events/ui-request.d.ts +50 -4
  440. package/dist/events/ui-request.d.ts.map +1 -1
  441. package/dist/events/ui-response.d.ts +10 -2
  442. package/dist/events/ui-response.d.ts.map +1 -1
  443. package/dist/index.d.ts +1792 -750
  444. package/dist/index.d.ts.map +1 -1
  445. package/dist/index.js +12615 -4679
  446. package/dist/inject.d.ts +6 -1
  447. package/dist/inject.d.ts.map +1 -1
  448. package/dist/lowLevelInject.d.ts.map +1 -1
  449. package/dist/protocols/protocol-v2/deviceSession.d.ts +7 -0
  450. package/dist/protocols/protocol-v2/deviceSession.d.ts.map +1 -0
  451. package/dist/protocols/protocol-v2/features.d.ts +30 -28
  452. package/dist/protocols/protocol-v2/features.d.ts.map +1 -1
  453. package/dist/protocols/protocol-v2/firmware.d.ts +11 -9
  454. package/dist/protocols/protocol-v2/firmware.d.ts.map +1 -1
  455. package/dist/protocols/protocol-v2/index.d.ts +3 -2
  456. package/dist/protocols/protocol-v2/index.d.ts.map +1 -1
  457. package/dist/protocols/protocol-v2/resources.d.ts +12 -0
  458. package/dist/protocols/protocol-v2/resources.d.ts.map +1 -0
  459. package/dist/protocols/protocol-v2/settingsUnlockPolicy.d.ts +17 -0
  460. package/dist/protocols/protocol-v2/settingsUnlockPolicy.d.ts.map +1 -0
  461. package/dist/protocols/protocol-v2/uiInteraction.d.ts +42 -0
  462. package/dist/protocols/protocol-v2/uiInteraction.d.ts.map +1 -0
  463. package/dist/protocols/protocol-v2/unlockPolicy.d.ts +2 -0
  464. package/dist/protocols/protocol-v2/unlockPolicy.d.ts.map +1 -0
  465. package/dist/protocols/protocol-v2/unlockPolicyRunner.d.ts +22 -0
  466. package/dist/protocols/protocol-v2/unlockPolicyRunner.d.ts.map +1 -0
  467. package/dist/protocols/protocol-v2/walletSession.d.ts +27 -0
  468. package/dist/protocols/protocol-v2/walletSession.d.ts.map +1 -0
  469. package/dist/topLevelInject.d.ts.map +1 -1
  470. package/dist/types/api/checkAllFirmwareRelease.d.ts +48 -9
  471. package/dist/types/api/checkAllFirmwareRelease.d.ts.map +1 -1
  472. package/dist/types/api/checkBLEFirmwareRelease.d.ts +2 -13
  473. package/dist/types/api/checkBLEFirmwareRelease.d.ts.map +1 -1
  474. package/dist/types/api/checkBootloaderRelease.d.ts +2 -6
  475. package/dist/types/api/checkBootloaderRelease.d.ts.map +1 -1
  476. package/dist/types/api/checkFirmwareRelease.d.ts +2 -13
  477. package/dist/types/api/checkFirmwareRelease.d.ts.map +1 -1
  478. package/dist/types/api/checkFirmwareTypeAvailable.d.ts +2 -2
  479. package/dist/types/api/checkFirmwareTypeAvailable.d.ts.map +1 -1
  480. package/dist/types/api/detectDeviceConnectProtocol.d.ts +4 -0
  481. package/dist/types/api/detectDeviceConnectProtocol.d.ts.map +1 -0
  482. package/dist/types/api/deviceSettings.d.ts +11 -2
  483. package/dist/types/api/deviceSettings.d.ts.map +1 -1
  484. package/dist/types/api/deviceUnlock.d.ts +6 -2
  485. package/dist/types/api/deviceUnlock.d.ts.map +1 -1
  486. package/dist/types/api/deviceUpdateBootloader.d.ts +6 -0
  487. package/dist/types/api/deviceUpdateBootloader.d.ts.map +1 -1
  488. package/dist/types/api/export.d.ts +8 -3
  489. package/dist/types/api/export.d.ts.map +1 -1
  490. package/dist/types/api/firmwareUpdate.d.ts +68 -6
  491. package/dist/types/api/firmwareUpdate.d.ts.map +1 -1
  492. package/dist/types/api/firmwareUpdateCapabilities.d.ts +9 -0
  493. package/dist/types/api/firmwareUpdateCapabilities.d.ts.map +1 -0
  494. package/dist/types/api/firmwareUpdatePlan.d.ts +28 -0
  495. package/dist/types/api/firmwareUpdatePlan.d.ts.map +1 -0
  496. package/dist/types/api/firmwareUpdatePreparedPlan.d.ts +42 -0
  497. package/dist/types/api/firmwareUpdatePreparedPlan.d.ts.map +1 -0
  498. package/dist/types/api/getDeviceState.d.ts +12 -0
  499. package/dist/types/api/getDeviceState.d.ts.map +1 -0
  500. package/dist/types/api/getFeatures.d.ts.map +1 -1
  501. package/dist/types/api/getOnekeyFeatures.d.ts.map +1 -1
  502. package/dist/types/api/getPassphraseState.d.ts +2 -10
  503. package/dist/types/api/getPassphraseState.d.ts.map +1 -1
  504. package/dist/types/api/index.d.ts +31 -35
  505. package/dist/types/api/index.d.ts.map +1 -1
  506. package/dist/types/api/kaspaSignTransaction.d.ts +42 -4
  507. package/dist/types/api/kaspaSignTransaction.d.ts.map +1 -1
  508. package/dist/types/api/openWalletSession.d.ts +35 -0
  509. package/dist/types/api/openWalletSession.d.ts.map +1 -0
  510. package/dist/types/api/protocolV2.d.ts +17 -88
  511. package/dist/types/api/protocolV2.d.ts.map +1 -1
  512. package/dist/types/api/sessionCache.d.ts +13 -0
  513. package/dist/types/api/sessionCache.d.ts.map +1 -0
  514. package/dist/types/device.d.ts +143 -10
  515. package/dist/types/device.d.ts.map +1 -1
  516. package/dist/types/params.d.ts +2 -0
  517. package/dist/types/params.d.ts.map +1 -1
  518. package/dist/types/settings.d.ts +71 -9
  519. package/dist/types/settings.d.ts.map +1 -1
  520. package/dist/utils/assets.d.ts +2 -1
  521. package/dist/utils/assets.d.ts.map +1 -1
  522. package/dist/utils/deviceFeaturesCompat.d.ts +14 -0
  523. package/dist/utils/deviceFeaturesCompat.d.ts.map +1 -0
  524. package/dist/utils/deviceFeaturesUtils.d.ts +12 -3
  525. package/dist/utils/deviceFeaturesUtils.d.ts.map +1 -1
  526. package/dist/utils/deviceInfoUtils.d.ts +9 -9
  527. package/dist/utils/deviceInfoUtils.d.ts.map +1 -1
  528. package/dist/utils/deviceSettings.d.ts +38 -7
  529. package/dist/utils/deviceSettings.d.ts.map +1 -1
  530. package/dist/utils/deviceVersionUtils.d.ts +7 -5
  531. package/dist/utils/deviceVersionUtils.d.ts.map +1 -1
  532. package/dist/utils/homescreen.d.ts +4 -0
  533. package/dist/utils/homescreen.d.ts.map +1 -1
  534. package/dist/utils/index.d.ts +6 -3
  535. package/dist/utils/index.d.ts.map +1 -1
  536. package/dist/utils/networkUtils.d.ts +10 -1
  537. package/dist/utils/networkUtils.d.ts.map +1 -1
  538. package/dist/utils/patch.d.ts +1 -1
  539. package/dist/utils/patch.d.ts.map +1 -1
  540. package/dist/utils/pro2Nft.d.ts +31 -0
  541. package/dist/utils/pro2Nft.d.ts.map +1 -0
  542. package/dist/utils/pro2Wallpaper.d.ts +22 -0
  543. package/dist/utils/pro2Wallpaper.d.ts.map +1 -0
  544. package/dist/utils/tracing.d.ts.map +1 -1
  545. package/dist/utils/uiProgressThrottle.d.ts +3 -0
  546. package/dist/utils/uiProgressThrottle.d.ts.map +1 -0
  547. package/package.json +4 -4
  548. package/src/api/BaseMethod.ts +53 -20
  549. package/src/api/CheckAllFirmwareRelease.ts +442 -4
  550. package/src/api/CheckBLEFirmwareRelease.ts +37 -5
  551. package/src/api/CheckBootloaderRelease.ts +37 -5
  552. package/src/api/CheckFirmwareRelease.ts +36 -9
  553. package/src/api/CipherKeyValue.ts +4 -0
  554. package/src/api/ClearSessionCache.ts +32 -0
  555. package/src/api/DetectDeviceConnectProtocol.ts +18 -0
  556. package/src/api/DirList.ts +9 -4
  557. package/src/api/DirMake.ts +7 -4
  558. package/src/api/DirRemove.ts +7 -4
  559. package/src/api/FileDelete.ts +7 -4
  560. package/src/api/FileRead.ts +27 -8
  561. package/src/api/FileWrite.ts +26 -168
  562. package/src/api/FirmwareUpdate.ts +30 -15
  563. package/src/api/FirmwareUpdateV2.ts +532 -169
  564. package/src/api/FirmwareUpdateV3.ts +320 -72
  565. package/src/api/FirmwareUpdateV4.ts +2691 -428
  566. package/src/api/GetDeviceState.ts +59 -0
  567. package/src/api/GetFeatures.ts +6 -4
  568. package/src/api/GetOnekeyFeatures.ts +1 -75
  569. package/src/api/GetPassphraseState.ts +36 -18
  570. package/src/api/OpenWalletSession.ts +268 -0
  571. package/src/api/PathInfo.ts +9 -4
  572. package/src/api/PromptWebDeviceAccess.ts +2 -7
  573. package/src/api/SearchDevices.ts +31 -4
  574. package/src/api/UploadPortfolio.ts +58 -0
  575. package/src/api/alephium/AlephiumGetAddress.ts +0 -4
  576. package/src/api/alephium/AlephiumSignMessage.ts +0 -4
  577. package/src/api/alephium/AlephiumSignTransaction.ts +2 -6
  578. package/src/api/algo/AlgoGetAddress.ts +4 -0
  579. package/src/api/algo/AlgoSignTransaction.ts +4 -0
  580. package/src/api/allnetwork/AllNetworkGetAddress.ts +21 -21
  581. package/src/api/allnetwork/AllNetworkGetAddressBase.ts +45 -32
  582. package/src/api/aptos/AptosGetAddress.ts +4 -0
  583. package/src/api/aptos/AptosGetPublicKey.ts +4 -0
  584. package/src/api/aptos/AptosSignInMessage.ts +4 -0
  585. package/src/api/aptos/AptosSignMessage.ts +4 -0
  586. package/src/api/aptos/AptosSignTransaction.ts +4 -0
  587. package/src/api/benfen/BenfenGetAddress.ts +11 -7
  588. package/src/api/benfen/BenfenGetPublicKey.ts +0 -4
  589. package/src/api/benfen/BenfenSignMessage.ts +0 -4
  590. package/src/api/benfen/BenfenSignTransaction.ts +0 -4
  591. package/src/api/btc/BTCGetAddress.ts +8 -1
  592. package/src/api/btc/BTCGetPublicKey.ts +9 -2
  593. package/src/api/btc/BTCSignMessage.ts +8 -1
  594. package/src/api/btc/BTCSignPsbt.ts +4 -0
  595. package/src/api/btc/BTCSignTransaction.ts +8 -1
  596. package/src/api/btc/BTCVerifyMessage.ts +8 -1
  597. package/src/api/btc/helpers/versionLimit.ts +7 -4
  598. package/src/api/cardano/CardanoGetAddress.ts +4 -0
  599. package/src/api/cardano/CardanoGetPublicKey.ts +4 -0
  600. package/src/api/cardano/CardanoSignMessage.ts +5 -1
  601. package/src/api/cardano/CardanoSignTransaction.ts +5 -1
  602. package/src/api/conflux/ConfluxGetAddress.ts +6 -0
  603. package/src/api/conflux/ConfluxSignMessage.ts +6 -0
  604. package/src/api/conflux/ConfluxSignMessageCIP23.ts +6 -0
  605. package/src/api/conflux/ConfluxSignTransaction.ts +8 -5
  606. package/src/api/cosmos/CosmosGetAddress.ts +4 -0
  607. package/src/api/cosmos/CosmosGetPublicKey.ts +4 -0
  608. package/src/api/cosmos/CosmosSignTransaction.ts +4 -0
  609. package/src/api/device/DeviceCancel.ts +5 -0
  610. package/src/api/device/DeviceChangePin.ts +28 -0
  611. package/src/api/device/DeviceFullyUploadResource.ts +4 -5
  612. package/src/api/device/DeviceLock.ts +5 -0
  613. package/src/api/device/DeviceRebootToBoardloader.ts +9 -4
  614. package/src/api/device/DeviceRebootToBootloader.ts +9 -4
  615. package/src/api/device/DeviceSettings.ts +195 -1
  616. package/src/api/device/DeviceSupportFeatures.ts +4 -0
  617. package/src/api/device/DeviceUnlock.ts +21 -3
  618. package/src/api/device/DeviceUpdateBootloader.ts +152 -8
  619. package/src/api/device/DeviceWipe.ts +25 -0
  620. package/src/api/device/PreInitialize.ts +4 -0
  621. package/src/api/dynex/DnxGetAddress.ts +0 -6
  622. package/src/api/dynex/DnxSignTransaction.ts +0 -6
  623. package/src/api/evm/EVMGetAddress.ts +6 -2
  624. package/src/api/evm/EVMGetPublicKey.ts +6 -2
  625. package/src/api/evm/EVMSignMessage.ts +6 -2
  626. package/src/api/evm/EVMSignMessageEIP712.ts +1 -11
  627. package/src/api/evm/EVMSignTransaction.ts +6 -2
  628. package/src/api/evm/EVMSignTypedData.ts +42 -50
  629. package/src/api/evm/EVMVerifyMessage.ts +6 -2
  630. package/src/api/evm/legacyV1/getAddress.ts +2 -2
  631. package/src/api/evm/legacyV1/getPublicKey.ts +2 -2
  632. package/src/api/evm/legacyV1/signMessage.ts +2 -2
  633. package/src/api/evm/legacyV1/signTypedData.ts +2 -2
  634. package/src/api/evm/legacyV1/signTypedHash.ts +2 -2
  635. package/src/api/evm/legacyV1/verifyMessage.ts +2 -2
  636. package/src/api/evm/protocol.ts +6 -0
  637. package/src/api/filecoin/FilecoinGetAddress.ts +4 -0
  638. package/src/api/filecoin/FilecoinSignTransaction.ts +4 -0
  639. package/src/api/firmware/FirmwareArtifactSource.ts +305 -0
  640. package/src/api/firmware/FirmwareHostBinding.ts +123 -0
  641. package/src/api/firmware/FirmwareMemoryHost.ts +143 -0
  642. package/src/api/firmware/FirmwarePreparationError.ts +12 -0
  643. package/src/api/firmware/FirmwarePreparedResourceArchive.ts +187 -0
  644. package/src/api/firmware/FirmwareUpdateBaseMethod.ts +216 -65
  645. package/src/api/firmware/FirmwareUpdateCapabilities.ts +9 -0
  646. package/src/api/firmware/FirmwareUpdatePlan.ts +945 -0
  647. package/src/api/firmware/FirmwareUpdatePreparedPlan.ts +486 -0
  648. package/src/api/firmware/getBinary.ts +8 -3
  649. package/src/api/firmware/protocolV2Release.ts +168 -0
  650. package/src/api/firmware/updateBootloader.ts +19 -4
  651. package/src/api/firmware/uploadFirmware.ts +157 -26
  652. package/src/api/helpers/batchGetPublickeys.ts +2 -2
  653. package/src/api/helpers/filesystemValidation.ts +61 -0
  654. package/src/api/helpers/paramsValidator.ts +1 -1
  655. package/src/api/helpers/protocolV2FileWrite.ts +392 -0
  656. package/src/api/index.ts +9 -30
  657. package/src/api/kaspa/KaspaGetAddress.ts +7 -0
  658. package/src/api/kaspa/KaspaSignTransaction.ts +369 -29
  659. package/src/api/kaspa/helpers/TransferSerialize.ts +17 -7
  660. package/src/api/lightning/LnurlAuth.ts +0 -4
  661. package/src/api/near/NearGetAddress.ts +4 -0
  662. package/src/api/near/NearSignTransaction.ts +4 -0
  663. package/src/api/nem/NEMGetAddress.ts +4 -0
  664. package/src/api/nem/NEMSignTransaction.ts +4 -0
  665. package/src/api/neo/NeoGetAddress.ts +0 -4
  666. package/src/api/neo/NeoSignTransaction.ts +0 -4
  667. package/src/api/nervos/NervosGetAddress.ts +0 -4
  668. package/src/api/nervos/NervosSignTransaction.ts +2 -6
  669. package/src/api/nexa/NexaGetAddress.ts +0 -4
  670. package/src/api/nexa/NexaSignTransaction.ts +3 -5
  671. package/src/api/nostr/NostrDecryptMessage.ts +4 -0
  672. package/src/api/nostr/NostrEncryptMessage.ts +4 -0
  673. package/src/api/nostr/NostrGetPublicKey.ts +4 -0
  674. package/src/api/nostr/NostrSignEvent.ts +4 -0
  675. package/src/api/nostr/NostrSignSchnorr.ts +4 -0
  676. package/src/api/polkadot/PolkadotGetAddress.ts +4 -0
  677. package/src/api/polkadot/PolkadotSignTransaction.ts +4 -0
  678. package/src/api/polkadot/networks.ts +3 -3
  679. package/src/api/protocol-v2/{FactoryGetDeviceInfo.ts → DeviceFactoryInfoGet.ts} +8 -5
  680. package/src/api/protocol-v2/DeviceFactoryInfoSet.ts +35 -0
  681. package/src/api/protocol-v2/DeviceFirmwareUpdate.ts +11 -10
  682. package/src/api/protocol-v2/DeviceGetFirmwareUpdateStatus.ts +45 -7
  683. package/src/api/protocol-v2/DeviceGetOnboardingStatus.ts +10 -5
  684. package/src/api/protocol-v2/DeviceInfoGet.ts +141 -0
  685. package/src/api/protocol-v2/DeviceReboot.ts +8 -4
  686. package/src/api/protocol-v2/DeviceStatusGet.ts +19 -0
  687. package/src/api/protocol-v2/DeviceUploadNft.ts +197 -0
  688. package/src/api/protocol-v2/DeviceUploadWallpaper.ts +134 -0
  689. package/src/api/protocol-v2/FilesystemFormat.ts +9 -3
  690. package/src/api/protocol-v2/{FilesystemFixPermission.ts → FilesystemPermissionFix.ts} +7 -4
  691. package/src/api/protocol-v2/Ping.ts +37 -3
  692. package/src/api/protocol-v2/ProtocolInfoRequest.ts +21 -0
  693. package/src/api/protocol-v2/helpers.ts +71 -50
  694. package/src/api/scdo/ScdoGetAddress.ts +0 -4
  695. package/src/api/scdo/ScdoSignMessage.ts +0 -4
  696. package/src/api/scdo/ScdoSignTransaction.ts +0 -4
  697. package/src/api/solana/SolGetAddress.ts +4 -0
  698. package/src/api/solana/SolSignMessage.ts +5 -1
  699. package/src/api/solana/SolSignOffchainMessage.ts +5 -1
  700. package/src/api/solana/SolSignTransaction.ts +6 -2
  701. package/src/api/starcoin/StarcoinGetAddress.ts +4 -0
  702. package/src/api/starcoin/StarcoinGetPublicKey.ts +4 -0
  703. package/src/api/starcoin/StarcoinSignMessage.ts +4 -0
  704. package/src/api/starcoin/StarcoinSignTransaction.ts +4 -0
  705. package/src/api/starcoin/StarcoinVerifyMessage.ts +4 -0
  706. package/src/api/stellar/StellarGetAddress.ts +1 -10
  707. package/src/api/stellar/StellarSignTransaction.ts +1 -14
  708. package/src/api/sui/SuiGetAddress.ts +5 -1
  709. package/src/api/sui/SuiGetPublicKey.ts +5 -1
  710. package/src/api/sui/SuiSignMessage.ts +5 -1
  711. package/src/api/sui/SuiSignTransaction.ts +5 -1
  712. package/src/api/ton/TonGetAddress.ts +5 -1
  713. package/src/api/ton/TonSignData.ts +6 -6
  714. package/src/api/ton/TonSignMessage.ts +5 -1
  715. package/src/api/ton/TonSignProof.ts +5 -1
  716. package/src/api/tron/TronGetAddress.ts +4 -0
  717. package/src/api/tron/TronSignMessage.ts +19 -9
  718. package/src/api/tron/TronSignTransaction.ts +5 -2
  719. package/src/api/utils.ts +32 -3
  720. package/src/api/xrp/XrpGetAddress.ts +4 -0
  721. package/src/api/xrp/XrpSignTransaction.ts +5 -1
  722. package/src/constants/index.ts +1 -4
  723. package/src/core/RequestQueue.ts +1 -0
  724. package/src/core/deviceEventRegistration.ts +27 -0
  725. package/src/core/index.ts +400 -157
  726. package/src/core/uiPromiseRegistry.ts +63 -0
  727. package/src/data/messages/messages-protocol-v2.json +904 -791
  728. package/src/data/messages/messages.json +286 -1
  729. package/src/data-manager/DataManager.ts +158 -40
  730. package/src/data-manager/TransportManager.ts +7 -1
  731. package/src/data-manager/connectSettings.ts +13 -4
  732. package/src/device/Device.ts +909 -296
  733. package/src/device/DeviceCommands.ts +193 -158
  734. package/src/device/DeviceConnector.ts +44 -21
  735. package/src/device/DeviceFeaturesState.ts +25 -0
  736. package/src/device/DevicePool.ts +101 -23
  737. package/src/device/DeviceStateMapper.ts +416 -0
  738. package/src/device/DeviceStateProjector.ts +152 -0
  739. package/src/device/DeviceStateStore.ts +232 -0
  740. package/src/device/DeviceWalletSessionStore.ts +144 -0
  741. package/src/device/cloneDeviceState.ts +39 -0
  742. package/src/device/deviceIdentity.ts +18 -0
  743. package/src/deviceProfile/buildDeviceFeatures.ts +243 -212
  744. package/src/deviceProfile/index.ts +0 -1
  745. package/src/deviceProfile/protocolV2DeviceIdentity.ts +35 -0
  746. package/src/events/device.ts +22 -1
  747. package/src/events/logBlockEvent.ts +80 -2
  748. package/src/events/ui-promise.ts +4 -2
  749. package/src/events/ui-request.ts +61 -4
  750. package/src/events/ui-response.ts +12 -2
  751. package/src/index.ts +17 -0
  752. package/src/inject.ts +93 -49
  753. package/src/lowLevelInject.ts +11 -4
  754. package/src/protocols/protocol-v2/deviceSession.ts +24 -0
  755. package/src/protocols/protocol-v2/features.ts +113 -83
  756. package/src/protocols/protocol-v2/firmware.ts +14 -36
  757. package/src/protocols/protocol-v2/index.ts +8 -1
  758. package/src/protocols/protocol-v2/resources.ts +210 -0
  759. package/src/protocols/protocol-v2/settingsUnlockPolicy.ts +65 -0
  760. package/src/protocols/protocol-v2/uiInteraction.ts +250 -0
  761. package/src/protocols/protocol-v2/unlockPolicy.ts +1 -0
  762. package/src/protocols/protocol-v2/unlockPolicyRunner.ts +131 -0
  763. package/src/protocols/protocol-v2/walletSession.ts +463 -0
  764. package/src/topLevelInject.ts +11 -4
  765. package/src/types/api/checkAllFirmwareRelease.ts +72 -9
  766. package/src/types/api/checkBLEFirmwareRelease.ts +4 -13
  767. package/src/types/api/checkBootloaderRelease.ts +2 -6
  768. package/src/types/api/checkFirmwareRelease.ts +2 -13
  769. package/src/types/api/checkFirmwareTypeAvailable.ts +2 -2
  770. package/src/types/api/detectDeviceConnectProtocol.ts +6 -0
  771. package/src/types/api/deviceSettings.ts +26 -2
  772. package/src/types/api/deviceUnlock.ts +13 -2
  773. package/src/types/api/deviceUpdateBootloader.ts +7 -0
  774. package/src/types/api/export.ts +33 -1
  775. package/src/types/api/firmwareUpdate.ts +101 -19
  776. package/src/types/api/firmwareUpdateCapabilities.ts +9 -0
  777. package/src/types/api/firmwareUpdatePlan.ts +38 -0
  778. package/src/types/api/firmwareUpdatePreparedPlan.ts +53 -0
  779. package/src/types/api/getDeviceState.ts +19 -0
  780. package/src/types/api/getFeatures.ts +3 -0
  781. package/src/types/api/getOnekeyFeatures.ts +3 -0
  782. package/src/types/api/getPassphraseState.ts +9 -11
  783. package/src/types/api/index.ts +50 -72
  784. package/src/types/api/kaspaSignTransaction.ts +60 -4
  785. package/src/types/api/openWalletSession.ts +54 -0
  786. package/src/types/api/protocolV2.ts +31 -157
  787. package/src/types/api/sessionCache.ts +19 -0
  788. package/src/types/device.ts +217 -10
  789. package/src/types/params.ts +12 -1
  790. package/src/types/settings.ts +91 -42
  791. package/src/utils/assets.ts +4 -1
  792. package/src/utils/deviceFeaturesCompat.ts +191 -0
  793. package/src/utils/deviceFeaturesUtils.ts +85 -26
  794. package/src/utils/deviceInfoUtils.ts +29 -69
  795. package/src/utils/deviceSettings.ts +174 -39
  796. package/src/utils/deviceVersionUtils.ts +25 -44
  797. package/src/utils/findDefectiveBatchDevice.ts +3 -3
  798. package/src/utils/homescreen.ts +40 -0
  799. package/src/utils/index.ts +27 -3
  800. package/src/utils/networkUtils.ts +274 -16
  801. package/src/utils/pro2Nft.ts +142 -0
  802. package/src/utils/pro2Wallpaper.ts +130 -0
  803. package/src/utils/tracing.ts +3 -1
  804. package/src/utils/uiProgressThrottle.ts +63 -0
  805. package/tsconfig.type-tests.json +12 -0
  806. package/dist/api/GetDeviceInfo.d.ts +0 -9
  807. package/dist/api/GetDeviceInfo.d.ts.map +0 -1
  808. package/dist/api/protocol-v2/DevReboot.d.ts +0 -7
  809. package/dist/api/protocol-v2/DevReboot.d.ts.map +0 -1
  810. package/dist/api/protocol-v2/DeviceGetDeviceInfo.d.ts +0 -29
  811. package/dist/api/protocol-v2/DeviceGetDeviceInfo.d.ts.map +0 -1
  812. package/dist/api/protocol-v2/FactoryDeviceInfoSettings.d.ts +0 -7
  813. package/dist/api/protocol-v2/FactoryDeviceInfoSettings.d.ts.map +0 -1
  814. package/dist/api/protocol-v2/FactoryGetDeviceInfo.d.ts +0 -6
  815. package/dist/api/protocol-v2/FactoryGetDeviceInfo.d.ts.map +0 -1
  816. package/dist/api/protocol-v2/FilesystemDiskControl.d.ts +0 -13
  817. package/dist/api/protocol-v2/FilesystemDiskControl.d.ts.map +0 -1
  818. package/dist/api/protocol-v2/FilesystemFixPermission.d.ts +0 -6
  819. package/dist/api/protocol-v2/FilesystemFixPermission.d.ts.map +0 -1
  820. package/dist/api/protocol-v2/GetProtoVersion.d.ts +0 -6
  821. package/dist/api/protocol-v2/GetProtoVersion.d.ts.map +0 -1
  822. package/dist/deviceProfile/buildDeviceProfile.d.ts +0 -21
  823. package/dist/deviceProfile/buildDeviceProfile.d.ts.map +0 -1
  824. package/dist/types/api/getDeviceInfo.d.ts +0 -85
  825. package/dist/types/api/getDeviceInfo.d.ts.map +0 -1
  826. package/src/api/GetDeviceInfo.ts +0 -145
  827. package/src/api/protocol-v2/DevReboot.ts +0 -24
  828. package/src/api/protocol-v2/DeviceGetDeviceInfo.ts +0 -118
  829. package/src/api/protocol-v2/FactoryDeviceInfoSettings.ts +0 -29
  830. package/src/api/protocol-v2/FilesystemDiskControl.ts +0 -50
  831. package/src/api/protocol-v2/GetProtoVersion.ts +0 -16
  832. package/src/deviceProfile/buildDeviceProfile.ts +0 -333
  833. package/src/types/api/getDeviceInfo.ts +0 -99
@@ -0,0 +1,191 @@
1
+ import { EDeviceType, EFirmwareType } from '@onekeyfe/hd-shared';
2
+ import { Enum_Capability } from '@onekeyfe/hd-transport';
3
+
4
+ import type { PROTO } from '../constants';
5
+ import type { Features, IDeviceType } from '../types';
6
+
7
+ export type DeviceFeaturesInput = Features | PROTO.Features;
8
+
9
+ type CompatibleDeviceFeatures = Partial<Features> &
10
+ Partial<PROTO.Features> & {
11
+ onekey_serial?: string;
12
+ onekey_version?: string;
13
+ };
14
+
15
+ const asCompatibleFeatures = (features: DeviceFeaturesInput): CompatibleDeviceFeatures =>
16
+ features as CompatibleDeviceFeatures;
17
+
18
+ const firstNonEmptyString = (...values: Array<string | null | undefined>) =>
19
+ values.find(value => typeof value === 'string' && value.length > 0);
20
+
21
+ const firstMeaningfulVersion = (...versions: Array<string | null | undefined>) =>
22
+ versions.find(version => Boolean(version && version !== '0.0.0')) ?? null;
23
+
24
+ const versionFromParts = (major?: number | null, minor?: number | null, patch?: number | null) =>
25
+ [major, minor, patch].map(part => Number(part) || 0).join('.');
26
+
27
+ export const resolveDeviceSerialNo = (features?: DeviceFeaturesInput): string => {
28
+ if (!features) return '';
29
+ const compatible = asCompatibleFeatures(features);
30
+ return (
31
+ firstNonEmptyString(
32
+ compatible.serialNo,
33
+ compatible.onekey_serial_no,
34
+ compatible.onekey_serial,
35
+ compatible.serial_no
36
+ ) ?? ''
37
+ );
38
+ };
39
+
40
+ export const resolveDeviceBootloaderMode = (features?: DeviceFeaturesInput): boolean => {
41
+ if (!features) return false;
42
+ const compatible = asCompatibleFeatures(features);
43
+ return (compatible.bootloaderMode ?? compatible.bootloader_mode) === true;
44
+ };
45
+
46
+ export const resolveDeviceType = (features?: DeviceFeaturesInput): IDeviceType => {
47
+ if (!features || typeof features !== 'object') {
48
+ return EDeviceType.Unknown;
49
+ }
50
+
51
+ const compatible = asCompatibleFeatures(features);
52
+ if (compatible.deviceType && compatible.deviceType !== EDeviceType.Unknown) {
53
+ return compatible.deviceType;
54
+ }
55
+
56
+ switch (compatible.onekey_device_type?.toString().toUpperCase()) {
57
+ case 'CLASSIC':
58
+ return EDeviceType.Classic;
59
+ case 'CLASSIC1S':
60
+ return EDeviceType.Classic1s;
61
+ case 'MINI':
62
+ return EDeviceType.Mini;
63
+ case 'TOUCH':
64
+ return EDeviceType.Touch;
65
+ case 'PRO':
66
+ return EDeviceType.Pro;
67
+ case 'PRO2':
68
+ return EDeviceType.Pro2;
69
+ case 'NEO':
70
+ return EDeviceType.Neo;
71
+ case 'PURE':
72
+ return EDeviceType.ClassicPure;
73
+ default:
74
+ break;
75
+ }
76
+
77
+ if (compatible.model?.toString().toLowerCase() === EDeviceType.Pro2) {
78
+ return EDeviceType.Pro2;
79
+ }
80
+ if (compatible.model?.toString().toLowerCase() === EDeviceType.Neo) {
81
+ return EDeviceType.Neo;
82
+ }
83
+
84
+ const serialNo = resolveDeviceSerialNo(features);
85
+ const prefix = serialNo.slice(0, 2).toLowerCase();
86
+ if (prefix === 'bi' || prefix === 'cl') return EDeviceType.Classic;
87
+ if (prefix === 'cp') return EDeviceType.ClassicPure;
88
+ if (prefix === 'mi') return EDeviceType.Mini;
89
+ if (prefix === 'tc') return EDeviceType.Touch;
90
+ if (prefix === 'pr') return EDeviceType.Pro;
91
+ if (prefix === 'p2') return EDeviceType.Pro2;
92
+
93
+ const bootloaderMode = compatible.bootloaderMode ?? compatible.bootloader_mode;
94
+ if (!serialNo && bootloaderMode === true && compatible.model === '1') {
95
+ return EDeviceType.Classic;
96
+ }
97
+
98
+ return compatible.deviceType ?? EDeviceType.Unknown;
99
+ };
100
+
101
+ export const resolveDeviceFirmwareType = (features?: DeviceFeaturesInput): EFirmwareType => {
102
+ if (!features) {
103
+ return EFirmwareType.Universal;
104
+ }
105
+
106
+ const compatible = asCompatibleFeatures(features);
107
+ if (compatible.firmwareType) {
108
+ return compatible.firmwareType;
109
+ }
110
+ if (compatible.fw_vendor === 'OneKey Bitcoin-only') {
111
+ return EFirmwareType.BitcoinOnly;
112
+ }
113
+
114
+ const capabilities = compatible.capabilities as Array<number | string> | null | undefined;
115
+ const supportsBitcoinLike = capabilities?.some(
116
+ capability =>
117
+ capability === Enum_Capability.Capability_Bitcoin_like ||
118
+ capability === 'Capability_Bitcoin_like'
119
+ );
120
+ return capabilities?.length && !supportsBitcoinLike
121
+ ? EFirmwareType.BitcoinOnly
122
+ : EFirmwareType.Universal;
123
+ };
124
+
125
+ export const resolveDeviceBleName = (features?: DeviceFeaturesInput): string | null => {
126
+ if (!features) return null;
127
+ const compatible = asCompatibleFeatures(features);
128
+ return (
129
+ firstNonEmptyString(compatible.bleName, compatible.onekey_ble_name, compatible.ble_name) ?? null
130
+ );
131
+ };
132
+
133
+ export const resolveDeviceFirmwareVersion = (features?: DeviceFeaturesInput): string | null => {
134
+ if (!features) return null;
135
+ const compatible = asCompatibleFeatures(features);
136
+ const bootloaderMode = compatible.bootloaderMode ?? compatible.bootloader_mode;
137
+ return firstMeaningfulVersion(
138
+ compatible.firmwareVersion,
139
+ compatible.onekey_firmware_version,
140
+ compatible.onekey_version,
141
+ bootloaderMode
142
+ ? null
143
+ : versionFromParts(
144
+ compatible.major_version,
145
+ compatible.minor_version,
146
+ compatible.patch_version
147
+ )
148
+ );
149
+ };
150
+
151
+ export const resolveDeviceBootloaderVersion = (features?: DeviceFeaturesInput): string | null => {
152
+ if (!features) return null;
153
+ const compatible = asCompatibleFeatures(features);
154
+ const bootloaderMode = compatible.bootloaderMode ?? compatible.bootloader_mode;
155
+ return firstMeaningfulVersion(
156
+ compatible.bootloaderVersion,
157
+ compatible.onekey_boot_version,
158
+ compatible.bootloader_version,
159
+ compatible.onekey_bootloader_version,
160
+ bootloaderMode
161
+ ? versionFromParts(
162
+ compatible.major_version,
163
+ compatible.minor_version,
164
+ compatible.patch_version
165
+ )
166
+ : null
167
+ );
168
+ };
169
+
170
+ export const resolveDeviceBoardVersion = (features?: DeviceFeaturesInput): string | null => {
171
+ if (!features) return null;
172
+ const compatible = asCompatibleFeatures(features);
173
+ return firstMeaningfulVersion(
174
+ compatible.boardVersion,
175
+ compatible.onekey_board_version,
176
+ compatible.boardloader_version,
177
+ compatible.onekey_romloader_version,
178
+ compatible.romloader_version
179
+ );
180
+ };
181
+
182
+ export const resolveDeviceBleFirmwareVersion = (features?: DeviceFeaturesInput): string | null => {
183
+ if (!features) return null;
184
+ const compatible = asCompatibleFeatures(features);
185
+ return firstMeaningfulVersion(
186
+ compatible.bleVersion,
187
+ compatible.onekey_ble_version,
188
+ compatible.ble_ver,
189
+ compatible.onekey_coprocessor_version
190
+ );
191
+ };
@@ -13,14 +13,11 @@ import { PROTOBUF_MESSAGE_CONFIG } from '../data-manager/MessagesConfig';
13
13
  import { getDeviceType } from './deviceInfoUtils';
14
14
  import { getDeviceFirmwareVersion } from './deviceVersionUtils';
15
15
  import { existCapability } from './capabilitieUtils';
16
+ import { getProtocolV2WalletSession } from '../protocols/protocol-v2/walletSession';
16
17
 
17
18
  import type { Device } from '../device/Device';
18
19
  import type { Features, IDeviceType, SupportFeatureType } from '../types';
19
20
 
20
- // 生成的 GetPassphraseState 已包含 _only_main_pin / allow_create_attach_pin,
21
- // 不再需要手动扩展字段。
22
- type GetPassphraseStateMessage = GetPassphraseState;
23
-
24
21
  export const getSupportProtocolV1MessageSchema = (
25
22
  features: Features | undefined
26
23
  ): { messages: JSON; protocolV1MessageSchema: ProtocolV1MessageSchema } => {
@@ -33,6 +30,18 @@ export const getSupportProtocolV1MessageSchema = (
33
30
  const currentDeviceVersion = getDeviceFirmwareVersion(features).join('.');
34
31
  const deviceType = getDeviceType(features);
35
32
 
33
+ // In bootloader mode the major/minor/patch fields carry the bootloader version, not the
34
+ // firmware version; normalizing them would mis-route to the legacy schema (e.g. 2.x < 3.3.0).
35
+ // The legacy getDeviceFirmwareVersion returned 0.0.0 here and landed on v1CurrentSchema, so
36
+ // force v1CurrentSchema for every bootloader device, including in-place upgrades on
37
+ // Classic1s/Touch/Pro where firmware is still present.
38
+ if (features.bootloaderMode === true) {
39
+ return {
40
+ messages: DataManager.messages.v1CurrentSchema,
41
+ protocolV1MessageSchema: 'v1CurrentSchema',
42
+ };
43
+ }
44
+
36
45
  const deviceVersionConfigs =
37
46
  PROTOBUF_MESSAGE_CONFIG[deviceType] ||
38
47
  (DeviceTypeToModels[deviceType] &&
@@ -58,11 +67,16 @@ export const getSupportProtocolV1MessageSchema = (
58
67
  };
59
68
  };
60
69
 
61
- export const supportInputPinOnSoftware = (features: Features): SupportFeatureType => {
70
+ export const supportInputPinOnSoftware = (features?: Features): SupportFeatureType => {
62
71
  if (!features) return { support: false };
63
72
 
64
73
  const deviceType = getDeviceType(features);
65
- if (deviceType === EDeviceType.Touch || deviceType === EDeviceType.Pro) {
74
+ if (
75
+ deviceType === EDeviceType.Touch ||
76
+ deviceType === EDeviceType.Pro ||
77
+ deviceType === EDeviceType.Pro2 ||
78
+ deviceType === EDeviceType.Neo
79
+ ) {
66
80
  return { support: false };
67
81
  }
68
82
 
@@ -77,7 +91,8 @@ export const supportNewPassphrase = (features?: Features): SupportFeatureType =>
77
91
  if (
78
92
  deviceType === EDeviceType.Touch ||
79
93
  deviceType === EDeviceType.Pro ||
80
- deviceType === EDeviceType.Pro2
94
+ deviceType === EDeviceType.Pro2 ||
95
+ deviceType === EDeviceType.Neo
81
96
  ) {
82
97
  return { support: true };
83
98
  }
@@ -92,13 +107,37 @@ export const getPassphraseStateWithRefreshDeviceInfo = async (
92
107
  options?: {
93
108
  expectPassphraseState?: string;
94
109
  onlyMainPin?: boolean;
95
- allowCreateAttachPin?: boolean;
110
+ initSession?: boolean;
111
+ deriveCardano?: boolean;
112
+ rejectAttachPinForMainWallet?: boolean;
96
113
  }
97
114
  ) => {
115
+ if (device.isProtocolV2()) {
116
+ if (!device.features) {
117
+ return {
118
+ passphraseState: undefined,
119
+ newSession: undefined,
120
+ unlockedAttachPin: undefined,
121
+ };
122
+ }
123
+
124
+ return getProtocolV2WalletSession(device, {
125
+ initSession: options?.initSession,
126
+ expectedPassphraseState: options?.expectPassphraseState,
127
+ onlyMainPin: options?.onlyMainPin,
128
+ deriveCardano: options?.deriveCardano,
129
+ rejectAttachPinForMainWallet: options?.rejectAttachPinForMainWallet,
130
+ });
131
+ }
132
+
98
133
  const { features } = device;
99
134
  const locked = features?.unlocked === false;
100
135
  const deviceType = device.getCurrentDeviceType();
101
136
 
137
+ if (options?.initSession) {
138
+ device.clearInternalState();
139
+ }
140
+
102
141
  const { passphraseState, newSession, unlockedAttachPin } = await getPassphraseState(device, {
103
142
  ...options,
104
143
  });
@@ -106,7 +145,8 @@ export const getPassphraseStateWithRefreshDeviceInfo = async (
106
145
  const isModeT =
107
146
  deviceType === EDeviceType.Touch ||
108
147
  deviceType === EDeviceType.Pro ||
109
- deviceType === EDeviceType.Pro2;
148
+ deviceType === EDeviceType.Pro2 ||
149
+ deviceType === EDeviceType.Neo;
110
150
 
111
151
  // 如果可以获取到 passphraseState,但是设备 features 显示设备未开启 passphrase,需要刷新设备状态
112
152
  // if passphraseState can be obtained, but the device features show that the device has not enabled passphrase, the device status needs to be refreshed
@@ -123,19 +163,26 @@ export const getPassphraseStateWithRefreshDeviceInfo = async (
123
163
 
124
164
  // Attach to pin try to fix internal state
125
165
  const deviceId = device.getCurrentDeviceId();
166
+ let existingSessionId: string | null | undefined;
167
+ if (!options?.initSession && typeof device.getInternalState === 'function') {
168
+ existingSessionId = device.getInternalState();
169
+ }
126
170
  device.updateInternalState(
127
171
  device.getCurrentPassphraseProtection() ?? false,
128
172
  passphraseState,
129
173
  deviceId,
130
174
  newSession,
131
- device.features?.sessionId
175
+ options?.initSession ? null : existingSessionId
132
176
  );
133
177
 
134
- return { passphraseState, newSession, unlockedAttachPin };
178
+ return {
179
+ passphraseState,
180
+ newSession,
181
+ unlockedAttachPin: unlockedAttachPin ?? device.features?.unlockedAttachPin,
182
+ };
135
183
  };
136
184
 
137
- // 仅适用于 Protocol V1 Pro:Pro2 走独立版本线,不能套用 4.15.0 门槛
138
- // (Pro2 在 getPassphraseState 中通过 isProtocolV2 直接判定支持)。
185
+ // Applies to Protocol V1 Pro only; Pro2 has an independent version line.
139
186
  const supportProSeriesAttachPinPassphrase = (deviceType: IDeviceType, firmwareVersion: string) =>
140
187
  deviceType === EDeviceType.Pro && semver.gte(firmwareVersion, '4.15.0');
141
188
 
@@ -144,7 +191,9 @@ export const getPassphraseState = async (
144
191
  options?: {
145
192
  expectPassphraseState?: string;
146
193
  onlyMainPin?: boolean;
147
- allowCreateAttachPin?: boolean;
194
+ initSession?: boolean;
195
+ deriveCardano?: boolean;
196
+ rejectAttachPinForMainWallet?: boolean;
148
197
  }
149
198
  ): Promise<{
150
199
  passphraseState: string | undefined;
@@ -153,31 +202,34 @@ export const getPassphraseState = async (
153
202
  }> => {
154
203
  const { features, commands } = device;
155
204
 
156
- // 设备尚未建立任何状态时无法判定,保持旧的空返回语义
205
+ // Preserve legacy empty-result semantics until the device has established state.
157
206
  if (!features)
158
207
  return { passphraseState: undefined, newSession: undefined, unlockedAttachPin: undefined };
159
208
 
160
209
  const firmwareVersion = device.getCurrentFirmwareVersionString() ?? '0.0.0';
161
210
  const deviceType = device.getCurrentDeviceType();
162
211
 
212
+ if (device.isProtocolV2()) {
213
+ return getProtocolV2WalletSession(device, {
214
+ initSession: options?.initSession,
215
+ expectedPassphraseState: options?.expectPassphraseState,
216
+ onlyMainPin: options?.onlyMainPin,
217
+ deriveCardano: options?.deriveCardano,
218
+ rejectAttachPinForMainWallet: options?.rejectAttachPinForMainWallet,
219
+ });
220
+ }
221
+
163
222
  const supportAttachPinCapability = existCapability(
164
223
  features,
165
224
  Enum_Capability.Capability_AttachToPin
166
225
  );
167
- // Pro2 (Protocol V2) 协议自带 GetPassphraseState(10028),固件从首个版本即支持,
168
- // 不依赖 Pro 系列的 4.15.0 版本线;V2 也没有 GetAddress Testnet 探测这条 legacy 回退路径。
169
226
  const supportGetPassphraseState =
170
- device.isProtocolV2() ||
171
- supportAttachPinCapability ||
172
- supportProSeriesAttachPinPassphrase(deviceType, firmwareVersion);
227
+ supportAttachPinCapability || supportProSeriesAttachPinPassphrase(deviceType, firmwareVersion);
173
228
 
174
229
  if (supportGetPassphraseState) {
175
- const payload: GetPassphraseStateMessage = options?.onlyMainPin
176
- ? { _only_main_pin: true }
177
- : { passphrase_state: options?.expectPassphraseState };
178
- if (options?.allowCreateAttachPin) {
179
- payload.allow_create_attach_pin = true;
180
- }
230
+ const payload: GetPassphraseState = {
231
+ passphrase_state: options?.onlyMainPin ? undefined : options?.expectPassphraseState,
232
+ };
181
233
 
182
234
  const { message, type } = await commands.typedCall(
183
235
  'GetPassphraseState',
@@ -276,6 +328,9 @@ export const getFirmwareUpdateField = ({
276
328
  if (deviceType === EDeviceType.Pro) {
277
329
  return latestFirmwareField;
278
330
  }
331
+ if (deviceType === EDeviceType.Pro2 || deviceType === EDeviceType.Neo) {
332
+ return 'firmware-v1';
333
+ }
279
334
  return 'firmware';
280
335
  };
281
336
  /**
@@ -319,6 +374,10 @@ export const getFirmwareUpdateFieldArray = (
319
374
  return ['firmware-v8'];
320
375
  }
321
376
 
377
+ if (deviceType === 'pro2' || deviceType === 'neo') {
378
+ return ['firmware-v1'];
379
+ }
380
+
322
381
  return ['firmware'];
323
382
  };
324
383
 
@@ -1,51 +1,21 @@
1
- import { isEmpty } from 'lodash';
2
- import { EDeviceType, EFirmwareType } from '@onekeyfe/hd-shared';
3
- import { Enum_Capability } from '@onekeyfe/hd-transport';
1
+ import { EDeviceType } from '@onekeyfe/hd-shared';
4
2
 
5
3
  import { DeviceModelToTypes } from '../types';
6
- import { existCapability } from './capabilitieUtils';
4
+ import {
5
+ resolveDeviceBleName,
6
+ resolveDeviceFirmwareType,
7
+ resolveDeviceSerialNo,
8
+ resolveDeviceType,
9
+ } from './deviceFeaturesCompat';
7
10
 
8
- import type { Features, IDeviceModel, IDeviceType, IVersionRange } from '../types';
11
+ import type { IDeviceModel, IDeviceType, IVersionRange } from '../types';
12
+ import type { DeviceFeaturesInput } from './deviceFeaturesCompat';
9
13
 
10
14
  /**
11
15
  * get device type by features
12
16
  */
13
- export const getDeviceType = (features?: Features): IDeviceType => {
14
- if (!features || typeof features !== 'object') {
15
- return EDeviceType.Unknown;
16
- }
17
- if (features.deviceType) {
18
- return features.deviceType;
19
- }
20
-
21
- if (features.model === EDeviceType.Pro2 || features.model === 'pro2') {
22
- return EDeviceType.Pro2;
23
- }
24
-
25
- // low version hardware
26
- // onekey_serial_no > onekey_serial > serial_no
27
- const serialNo = getDeviceUUID(features);
28
-
29
- // not exist serialNo, bootloader mode, model 1 is classic
30
- if (isEmpty(serialNo) && features.bootloaderMode === true && features.model === '1') {
31
- return EDeviceType.Classic;
32
- }
33
-
34
- if (isEmpty(serialNo)) return EDeviceType.Unknown;
35
-
36
- const miniFlag = serialNo.slice(0, 2);
37
- // By May 2021, the miniFlag is 'bixin' for all classic devices
38
- if (miniFlag.toLowerCase() === 'bi') return EDeviceType.Classic;
39
- if (miniFlag.toLowerCase() === 'cl') return EDeviceType.Classic;
40
- if (miniFlag.toLowerCase() === 'cp') return EDeviceType.ClassicPure;
41
- if (miniFlag.toLowerCase() === 'mi') return EDeviceType.Mini;
42
- if (miniFlag.toLowerCase() === 'tc') return EDeviceType.Touch;
43
- if (miniFlag.toLowerCase() === 'pr') return EDeviceType.Pro;
44
- if (miniFlag.toLowerCase() === 'p2') return EDeviceType.Pro2;
45
-
46
- // unknown device
47
- return EDeviceType.Unknown;
48
- };
17
+ export const getDeviceType = (features?: DeviceFeaturesInput): IDeviceType =>
18
+ resolveDeviceType(features);
49
19
 
50
20
  /**
51
21
  * get device type by ble name
@@ -61,6 +31,7 @@ export const getDeviceTypeByBleName = (name?: string): IDeviceType => {
61
31
  if (/^Touch/i.test(name)) return EDeviceType.Touch;
62
32
 
63
33
  if (/\bPro\s*2\b/i.test(name) || /^Pro2/i.test(name)) return EDeviceType.Pro2;
34
+ if (/\bNeo\b/i.test(name) || /^Neo/i.test(name)) return EDeviceType.Neo;
64
35
  if (/\bPro\b/i.test(name) || /^Pro/i.test(name)) return EDeviceType.Pro;
65
36
 
66
37
  return EDeviceType.Unknown;
@@ -70,33 +41,35 @@ export const getDeviceTypeByBleName = (name?: string): IDeviceType => {
70
41
  * Get Connected Device ble name by features
71
42
  * @returns
72
43
  */
73
- export const getDeviceBleName = (features?: Features): string | null => {
74
- if (features == null) return null;
75
- return features.bleName || null;
76
- };
44
+ export const getDeviceBleName = (features?: DeviceFeaturesInput): string | null =>
45
+ resolveDeviceBleName(features);
77
46
 
78
47
  /**
79
- * Get Connected Device UUID by features
48
+ * Get Connected Device serial number by features
80
49
  */
81
- export const getDeviceUUID = (features: Features) => {
82
- return features.serialNo ?? '';
83
- };
50
+ export const getDeviceSerialNo = (features?: DeviceFeaturesInput): string =>
51
+ resolveDeviceSerialNo(features);
52
+
53
+ /**
54
+ * @deprecated Use getDeviceSerialNo instead.
55
+ */
56
+ export const getDeviceUUID = getDeviceSerialNo;
84
57
 
85
58
  /**
86
59
  * Get Connected Device label by features
87
60
  */
88
- export const getDeviceLabel = (features?: Features) => {
61
+ export const getDeviceLabel = (features?: DeviceFeaturesInput) => {
89
62
  if (!features) return null;
90
63
 
91
64
  const deviceType = getDeviceType(features);
92
65
  if (deviceType == null) return null;
93
66
 
94
- if (typeof features.label === 'string' && !isEmpty(features.label)) {
67
+ if ('label' in features && typeof features.label === 'string' && features.label.length > 0) {
95
68
  return features.label;
96
69
  }
97
70
 
98
71
  const bleName = getDeviceBleName(features);
99
- if (!isEmpty(bleName)) return bleName;
72
+ if (bleName) return bleName;
100
73
 
101
74
  if (deviceType === EDeviceType.ClassicPure) {
102
75
  return 'OneKey Classic 1S';
@@ -110,7 +83,7 @@ export const getDeviceLabel = (features?: Features) => {
110
83
  * Type has a higher priority than Model
111
84
  */
112
85
  export const getMethodVersionRange = (
113
- features: Features | undefined,
86
+ features: DeviceFeaturesInput | undefined,
114
87
  getVersionRange: (deviceModel: IDeviceType | IDeviceModel) => IVersionRange | undefined
115
88
  ): IVersionRange | undefined => {
116
89
  const deviceType = getDeviceType(features);
@@ -121,6 +94,7 @@ export const getMethodVersionRange = (
121
94
  }
122
95
 
123
96
  const modelFallbacks: IDeviceModel[] = [
97
+ 'model_pro2',
124
98
  'model_classic1s',
125
99
  'model_classic',
126
100
  'model_mini',
@@ -138,19 +112,5 @@ export const getMethodVersionRange = (
138
112
  return undefined;
139
113
  };
140
114
 
141
- export const isMethodVersionRangeUnsupported = (versionRange?: IVersionRange): boolean =>
142
- versionRange?.unsupported === true;
143
-
144
- export const getFirmwareType = (features: Features | undefined) => {
145
- if (!features) {
146
- return EFirmwareType.Universal;
147
- }
148
- if (features.firmwareType) {
149
- return features.firmwareType;
150
- }
151
- // old firmware
152
- return features?.capabilities?.length > 0 &&
153
- !existCapability(features, Enum_Capability.Capability_Bitcoin_like)
154
- ? EFirmwareType.BitcoinOnly
155
- : EFirmwareType.Universal;
156
- };
115
+ export const getFirmwareType = (features?: DeviceFeaturesInput) =>
116
+ resolveDeviceFirmwareType(features);