@onekeyfe/hd-core 1.2.0-alpha.12 → 1.2.0-alpha.121

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 (852) hide show
  1. package/__tests__/AllNetworkGetAddressBase.tracing.test.ts +390 -0
  2. package/__tests__/DeviceCommands.test.ts +652 -0
  3. package/__tests__/DeviceEventRegistration.test.ts +49 -0
  4. package/__tests__/base64Data.test.ts +69 -0
  5. package/__tests__/chain-params-onekey-compatibility.test.ts +229 -0
  6. package/__tests__/check-all-firmware-release-protocol-v2.test.ts +830 -0
  7. package/__tests__/check-firmware-release-protocol-v2.test.ts +270 -0
  8. package/__tests__/connectSettings.test.ts +45 -5
  9. package/__tests__/core-dispose.test.ts +34 -0
  10. package/__tests__/core-error-output.test.ts +39 -0
  11. package/__tests__/core-initialization.test.ts +23 -0
  12. package/__tests__/device-connector-protocol.test.ts +81 -0
  13. package/__tests__/device-features-state.test.ts +78 -0
  14. package/__tests__/device-identity.test.ts +52 -0
  15. package/__tests__/device-initialize-timeout.test.ts +56 -0
  16. package/__tests__/device-lifecycle-events.test.ts +462 -0
  17. package/__tests__/device-pool-state.test.ts +191 -0
  18. package/__tests__/device-settings.test.ts +484 -0
  19. package/__tests__/device-state-contract.test.ts +28 -0
  20. package/__tests__/device-state-events.test.ts +286 -0
  21. package/__tests__/device-state-mapper.test.ts +288 -0
  22. package/__tests__/device-state-projector.test.ts +114 -0
  23. package/__tests__/device-state-store.test.ts +109 -0
  24. package/__tests__/device-upload-resource.test.ts +53 -0
  25. package/__tests__/device-utils.test.ts +154 -0
  26. package/__tests__/device-wallet-session-store.test.ts +348 -1
  27. package/__tests__/deviceFeaturesUtils.test.ts +39 -0
  28. package/__tests__/devicePoolBootloaderPath.test.ts +64 -0
  29. package/__tests__/deviceSettings.test.ts +117 -0
  30. package/__tests__/deviceUploadNft.test.ts +345 -0
  31. package/__tests__/evmLedgerLegacySafety.test.ts +12 -6
  32. package/__tests__/evmSignTransaction.test.ts +69 -0
  33. package/__tests__/evmSignTypedData.test.ts +80 -0
  34. package/__tests__/filesystemValidation.test.ts +53 -0
  35. package/__tests__/firmware-memory-host.test.ts +126 -0
  36. package/__tests__/firmware-update/check-all-firmware-release.test.ts +175 -0
  37. package/__tests__/firmware-update/device-update-bootloader.test.ts +109 -0
  38. package/__tests__/firmware-update/firmware-artifact-source.test.ts +171 -0
  39. package/__tests__/firmware-update/firmware-host-binding.test.ts +79 -0
  40. package/__tests__/firmware-update/firmware-preparation-error.test.ts +27 -0
  41. package/__tests__/firmware-update/firmware-prepared-host-digest.test.ts +583 -0
  42. package/__tests__/firmware-update/firmware-prepared-resource-archive.test.ts +150 -0
  43. package/__tests__/firmware-update/firmware-update-bootloader-poll.test.ts +375 -0
  44. package/__tests__/firmware-update/firmware-update-capabilities.test.ts +13 -0
  45. package/__tests__/firmware-update/firmware-update-plan-bootloader-identity.test.ts +474 -0
  46. package/__tests__/firmware-update/firmware-update-plan.test.ts +819 -0
  47. package/__tests__/firmware-update/firmware-update-prepared-plan.test.ts +287 -0
  48. package/__tests__/firmware-update/firmware-update-prepared-resource-executors.test.ts +326 -0
  49. package/__tests__/firmware-update/firmware-update-v2-download-before-boot.test.ts +457 -0
  50. package/__tests__/firmware-update/firmware-update-v3-reconnect.test.ts +237 -0
  51. package/__tests__/firmware-update/firmware-update-v4-install-poll.test.ts +125 -0
  52. package/__tests__/firmware-update/firmware-update-v4-parameters.test.ts +85 -0
  53. package/__tests__/firmware-update/firmware-upload-source.test.ts +70 -0
  54. package/__tests__/get-device-state.test.ts +650 -0
  55. package/__tests__/homescreen.test.ts +81 -0
  56. package/__tests__/kaspa-public-types.type-test.ts +16 -0
  57. package/__tests__/kaspa-use-tweak-pro2.test.ts +20 -0
  58. package/__tests__/kaspaSignTransaction.test.ts +578 -0
  59. package/__tests__/known-device-public-types.type-test.ts +3 -0
  60. package/__tests__/logBlockEvent.test.ts +140 -1
  61. package/__tests__/method-protocol-support.test.ts +144 -0
  62. package/__tests__/networkUtils.test.ts +406 -0
  63. package/__tests__/open-wallet-session-error-response.test.ts +43 -0
  64. package/__tests__/open-wallet-session.test.ts +1899 -0
  65. package/__tests__/pro2Nft.test.ts +108 -0
  66. package/__tests__/pro2Wallpaper.test.ts +8 -19
  67. package/__tests__/protocol-binding.test.ts +89 -0
  68. package/__tests__/protocol-v2-bootloader-mode.test.ts +37 -0
  69. package/__tests__/protocol-v2-firmware-targets.test.ts +105 -0
  70. package/__tests__/protocol-v2-ping.test.ts +28 -0
  71. package/__tests__/protocol-v2-resources.test.ts +290 -0
  72. package/__tests__/protocol-v2-ui-lifecycle.test.ts +91 -0
  73. package/__tests__/protocol-v2-unlock-policy.test.ts +339 -0
  74. package/__tests__/protocol-v2.test.ts +8074 -2522
  75. package/__tests__/protocolV2FileWrite.test.ts +232 -2
  76. package/__tests__/protocolV2UiInteraction.test.ts +329 -0
  77. package/__tests__/public-device-state-api.test.ts +275 -0
  78. package/__tests__/public-pro2-api-boundary.test.ts +107 -0
  79. package/__tests__/refresh-device-state.test.ts +103 -0
  80. package/__tests__/request-context-logging.test.ts +16 -0
  81. package/__tests__/resourceBase64Boundary.test.ts +48 -0
  82. package/__tests__/search-devices.test.ts +151 -0
  83. package/__tests__/ton-sign-message.test.ts +84 -0
  84. package/__tests__/tron-sign-message-init.test.ts +74 -0
  85. package/__tests__/uiProgressThrottle.test.ts +74 -0
  86. package/__tests__/uiPromiseRegistry.test.ts +115 -0
  87. package/dist/api/BaseMethod.d.ts +14 -2
  88. package/dist/api/BaseMethod.d.ts.map +1 -1
  89. package/dist/api/CheckAllFirmwareRelease.d.ts +25 -1
  90. package/dist/api/CheckAllFirmwareRelease.d.ts.map +1 -1
  91. package/dist/api/CheckBLEFirmwareRelease.d.ts +3 -2
  92. package/dist/api/CheckBLEFirmwareRelease.d.ts.map +1 -1
  93. package/dist/api/CheckBootloaderRelease.d.ts +2 -1
  94. package/dist/api/CheckBootloaderRelease.d.ts.map +1 -1
  95. package/dist/api/CheckFirmwareRelease.d.ts +3 -2
  96. package/dist/api/CheckFirmwareRelease.d.ts.map +1 -1
  97. package/dist/api/CipherKeyValue.d.ts +1 -0
  98. package/dist/api/CipherKeyValue.d.ts.map +1 -1
  99. package/dist/api/ClearSessionCache.d.ts.map +1 -1
  100. package/dist/api/DetectDeviceConnectProtocol.d.ts +7 -0
  101. package/dist/api/DetectDeviceConnectProtocol.d.ts.map +1 -0
  102. package/dist/api/DirList.d.ts +1 -0
  103. package/dist/api/DirList.d.ts.map +1 -1
  104. package/dist/api/DirMake.d.ts +1 -0
  105. package/dist/api/DirMake.d.ts.map +1 -1
  106. package/dist/api/DirRemove.d.ts +1 -0
  107. package/dist/api/DirRemove.d.ts.map +1 -1
  108. package/dist/api/FileDelete.d.ts +1 -0
  109. package/dist/api/FileDelete.d.ts.map +1 -1
  110. package/dist/api/FileRead.d.ts +1 -0
  111. package/dist/api/FileRead.d.ts.map +1 -1
  112. package/dist/api/FileWrite.d.ts +2 -0
  113. package/dist/api/FileWrite.d.ts.map +1 -1
  114. package/dist/api/FirmwareUpdate.d.ts.map +1 -1
  115. package/dist/api/FirmwareUpdateV2.d.ts +13 -2
  116. package/dist/api/FirmwareUpdateV2.d.ts.map +1 -1
  117. package/dist/api/FirmwareUpdateV3.d.ts +7 -3
  118. package/dist/api/FirmwareUpdateV3.d.ts.map +1 -1
  119. package/dist/api/FirmwareUpdateV4.d.ts +57 -12
  120. package/dist/api/FirmwareUpdateV4.d.ts.map +1 -1
  121. package/dist/api/GetDeviceState.d.ts +8 -0
  122. package/dist/api/GetDeviceState.d.ts.map +1 -0
  123. package/dist/api/GetFeatures.d.ts +1 -1
  124. package/dist/api/GetFeatures.d.ts.map +1 -1
  125. package/dist/api/GetOnekeyFeatures.d.ts.map +1 -1
  126. package/dist/api/GetPassphraseState.d.ts +1 -0
  127. package/dist/api/GetPassphraseState.d.ts.map +1 -1
  128. package/dist/api/OpenWalletSession.d.ts +8 -0
  129. package/dist/api/OpenWalletSession.d.ts.map +1 -0
  130. package/dist/api/PathInfo.d.ts +1 -0
  131. package/dist/api/PathInfo.d.ts.map +1 -1
  132. package/dist/api/PromptWebDeviceAccess.d.ts.map +1 -1
  133. package/dist/api/SearchDevices.d.ts +3 -0
  134. package/dist/api/SearchDevices.d.ts.map +1 -1
  135. package/dist/api/UploadPortfolio.d.ts +1 -2
  136. package/dist/api/UploadPortfolio.d.ts.map +1 -1
  137. package/dist/api/alephium/AlephiumGetAddress.d.ts.map +1 -1
  138. package/dist/api/alephium/AlephiumSignMessage.d.ts.map +1 -1
  139. package/dist/api/alephium/AlephiumSignTransaction.d.ts.map +1 -1
  140. package/dist/api/algo/AlgoGetAddress.d.ts +1 -0
  141. package/dist/api/algo/AlgoGetAddress.d.ts.map +1 -1
  142. package/dist/api/algo/AlgoSignTransaction.d.ts +1 -0
  143. package/dist/api/algo/AlgoSignTransaction.d.ts.map +1 -1
  144. package/dist/api/allnetwork/AllNetworkGetAddressBase.d.ts +1 -0
  145. package/dist/api/allnetwork/AllNetworkGetAddressBase.d.ts.map +1 -1
  146. package/dist/api/aptos/AptosGetAddress.d.ts +1 -0
  147. package/dist/api/aptos/AptosGetAddress.d.ts.map +1 -1
  148. package/dist/api/aptos/AptosGetPublicKey.d.ts +1 -0
  149. package/dist/api/aptos/AptosGetPublicKey.d.ts.map +1 -1
  150. package/dist/api/aptos/AptosSignInMessage.d.ts +1 -0
  151. package/dist/api/aptos/AptosSignInMessage.d.ts.map +1 -1
  152. package/dist/api/aptos/AptosSignMessage.d.ts +1 -0
  153. package/dist/api/aptos/AptosSignMessage.d.ts.map +1 -1
  154. package/dist/api/aptos/AptosSignTransaction.d.ts +1 -0
  155. package/dist/api/aptos/AptosSignTransaction.d.ts.map +1 -1
  156. package/dist/api/benfen/BenfenGetAddress.d.ts.map +1 -1
  157. package/dist/api/benfen/BenfenGetPublicKey.d.ts.map +1 -1
  158. package/dist/api/benfen/BenfenSignMessage.d.ts.map +1 -1
  159. package/dist/api/benfen/BenfenSignTransaction.d.ts.map +1 -1
  160. package/dist/api/btc/BTCGetAddress.d.ts +1 -0
  161. package/dist/api/btc/BTCGetAddress.d.ts.map +1 -1
  162. package/dist/api/btc/BTCGetPublicKey.d.ts +1 -0
  163. package/dist/api/btc/BTCGetPublicKey.d.ts.map +1 -1
  164. package/dist/api/btc/BTCSignMessage.d.ts +1 -0
  165. package/dist/api/btc/BTCSignMessage.d.ts.map +1 -1
  166. package/dist/api/btc/BTCSignPsbt.d.ts +1 -0
  167. package/dist/api/btc/BTCSignPsbt.d.ts.map +1 -1
  168. package/dist/api/btc/BTCSignTransaction.d.ts +1 -0
  169. package/dist/api/btc/BTCSignTransaction.d.ts.map +1 -1
  170. package/dist/api/btc/BTCVerifyMessage.d.ts +1 -0
  171. package/dist/api/btc/BTCVerifyMessage.d.ts.map +1 -1
  172. package/dist/api/btc/helpers/versionLimit.d.ts +2 -0
  173. package/dist/api/btc/helpers/versionLimit.d.ts.map +1 -1
  174. package/dist/api/cardano/CardanoGetAddress.d.ts +1 -0
  175. package/dist/api/cardano/CardanoGetAddress.d.ts.map +1 -1
  176. package/dist/api/cardano/CardanoGetPublicKey.d.ts +1 -0
  177. package/dist/api/cardano/CardanoGetPublicKey.d.ts.map +1 -1
  178. package/dist/api/cardano/CardanoSignMessage.d.ts +1 -0
  179. package/dist/api/cardano/CardanoSignMessage.d.ts.map +1 -1
  180. package/dist/api/cardano/CardanoSignTransaction.d.ts +1 -0
  181. package/dist/api/cardano/CardanoSignTransaction.d.ts.map +1 -1
  182. package/dist/api/conflux/ConfluxGetAddress.d.ts +2 -0
  183. package/dist/api/conflux/ConfluxGetAddress.d.ts.map +1 -1
  184. package/dist/api/conflux/ConfluxSignMessage.d.ts +2 -0
  185. package/dist/api/conflux/ConfluxSignMessage.d.ts.map +1 -1
  186. package/dist/api/conflux/ConfluxSignMessageCIP23.d.ts +2 -0
  187. package/dist/api/conflux/ConfluxSignMessageCIP23.d.ts.map +1 -1
  188. package/dist/api/conflux/ConfluxSignTransaction.d.ts +2 -0
  189. package/dist/api/conflux/ConfluxSignTransaction.d.ts.map +1 -1
  190. package/dist/api/cosmos/CosmosGetAddress.d.ts +1 -0
  191. package/dist/api/cosmos/CosmosGetAddress.d.ts.map +1 -1
  192. package/dist/api/cosmos/CosmosGetPublicKey.d.ts +1 -0
  193. package/dist/api/cosmos/CosmosGetPublicKey.d.ts.map +1 -1
  194. package/dist/api/cosmos/CosmosSignTransaction.d.ts +1 -0
  195. package/dist/api/cosmos/CosmosSignTransaction.d.ts.map +1 -1
  196. package/dist/api/device/DeviceCancel.d.ts +1 -0
  197. package/dist/api/device/DeviceCancel.d.ts.map +1 -1
  198. package/dist/api/device/DeviceChangePin.d.ts +1 -0
  199. package/dist/api/device/DeviceChangePin.d.ts.map +1 -1
  200. package/dist/api/device/DeviceFullyUploadResource.d.ts +1 -2
  201. package/dist/api/device/DeviceFullyUploadResource.d.ts.map +1 -1
  202. package/dist/api/device/DeviceLock.d.ts +1 -0
  203. package/dist/api/device/DeviceLock.d.ts.map +1 -1
  204. package/dist/api/device/DeviceRebootToBoardloader.d.ts +1 -0
  205. package/dist/api/device/DeviceRebootToBoardloader.d.ts.map +1 -1
  206. package/dist/api/device/DeviceRebootToBootloader.d.ts +1 -0
  207. package/dist/api/device/DeviceRebootToBootloader.d.ts.map +1 -1
  208. package/dist/api/device/DeviceSettings.d.ts +1 -0
  209. package/dist/api/device/DeviceSettings.d.ts.map +1 -1
  210. package/dist/api/device/DeviceSupportFeatures.d.ts +1 -0
  211. package/dist/api/device/DeviceSupportFeatures.d.ts.map +1 -1
  212. package/dist/api/device/DeviceUnlock.d.ts +3 -2
  213. package/dist/api/device/DeviceUnlock.d.ts.map +1 -1
  214. package/dist/api/device/DeviceUpdateBootloader.d.ts +5 -1
  215. package/dist/api/device/DeviceUpdateBootloader.d.ts.map +1 -1
  216. package/dist/api/device/DeviceUploadResource.d.ts.map +1 -1
  217. package/dist/api/device/DeviceWipe.d.ts +1 -0
  218. package/dist/api/device/DeviceWipe.d.ts.map +1 -1
  219. package/dist/api/device/PreInitialize.d.ts +1 -0
  220. package/dist/api/device/PreInitialize.d.ts.map +1 -1
  221. package/dist/api/dynex/DnxGetAddress.d.ts.map +1 -1
  222. package/dist/api/dynex/DnxSignTransaction.d.ts.map +1 -1
  223. package/dist/api/evm/EVMGetAddress.d.ts +1 -0
  224. package/dist/api/evm/EVMGetAddress.d.ts.map +1 -1
  225. package/dist/api/evm/EVMGetPublicKey.d.ts +1 -0
  226. package/dist/api/evm/EVMGetPublicKey.d.ts.map +1 -1
  227. package/dist/api/evm/EVMSignMessage.d.ts +1 -0
  228. package/dist/api/evm/EVMSignMessage.d.ts.map +1 -1
  229. package/dist/api/evm/EVMSignMessageEIP712.d.ts.map +1 -1
  230. package/dist/api/evm/EVMSignTransaction.d.ts +1 -0
  231. package/dist/api/evm/EVMSignTransaction.d.ts.map +1 -1
  232. package/dist/api/evm/EVMSignTypedData.d.ts +1 -0
  233. package/dist/api/evm/EVMSignTypedData.d.ts.map +1 -1
  234. package/dist/api/evm/EVMVerifyMessage.d.ts +1 -0
  235. package/dist/api/evm/EVMVerifyMessage.d.ts.map +1 -1
  236. package/dist/api/evm/protocol.d.ts +3 -0
  237. package/dist/api/evm/protocol.d.ts.map +1 -0
  238. package/dist/api/filecoin/FilecoinGetAddress.d.ts +1 -0
  239. package/dist/api/filecoin/FilecoinGetAddress.d.ts.map +1 -1
  240. package/dist/api/filecoin/FilecoinSignTransaction.d.ts +1 -0
  241. package/dist/api/filecoin/FilecoinSignTransaction.d.ts.map +1 -1
  242. package/dist/api/firmware/FirmwareArtifactSource.d.ts +29 -0
  243. package/dist/api/firmware/FirmwareArtifactSource.d.ts.map +1 -0
  244. package/dist/api/firmware/FirmwareHostBinding.d.ts +6 -0
  245. package/dist/api/firmware/FirmwareHostBinding.d.ts.map +1 -0
  246. package/dist/api/firmware/FirmwareMemoryHost.d.ts +22 -0
  247. package/dist/api/firmware/FirmwareMemoryHost.d.ts.map +1 -0
  248. package/dist/api/firmware/FirmwarePreparationError.d.ts +3 -0
  249. package/dist/api/firmware/FirmwarePreparationError.d.ts.map +1 -0
  250. package/dist/api/firmware/FirmwarePreparedResourceArchive.d.ts +11 -0
  251. package/dist/api/firmware/FirmwarePreparedResourceArchive.d.ts.map +1 -0
  252. package/dist/api/firmware/FirmwareUpdateBaseMethod.d.ts +12 -3
  253. package/dist/api/firmware/FirmwareUpdateBaseMethod.d.ts.map +1 -1
  254. package/dist/api/firmware/FirmwareUpdateCapabilities.d.ts +3 -0
  255. package/dist/api/firmware/FirmwareUpdateCapabilities.d.ts.map +1 -0
  256. package/dist/api/firmware/FirmwareUpdatePlan.d.ts +72 -0
  257. package/dist/api/firmware/FirmwareUpdatePlan.d.ts.map +1 -0
  258. package/dist/api/firmware/FirmwareUpdatePreparedPlan.d.ts +38 -0
  259. package/dist/api/firmware/FirmwareUpdatePreparedPlan.d.ts.map +1 -0
  260. package/dist/api/firmware/getBinary.d.ts +14 -4
  261. package/dist/api/firmware/getBinary.d.ts.map +1 -1
  262. package/dist/api/firmware/protocolV2Release.d.ts +33 -0
  263. package/dist/api/firmware/protocolV2Release.d.ts.map +1 -0
  264. package/dist/api/firmware/updateBootloader.d.ts +2 -0
  265. package/dist/api/firmware/updateBootloader.d.ts.map +1 -1
  266. package/dist/api/firmware/uploadFirmware.d.ts +9 -1
  267. package/dist/api/firmware/uploadFirmware.d.ts.map +1 -1
  268. package/dist/api/helpers/base64Data.d.ts +16 -0
  269. package/dist/api/helpers/base64Data.d.ts.map +1 -0
  270. package/dist/api/helpers/filesystemValidation.d.ts +3 -0
  271. package/dist/api/helpers/filesystemValidation.d.ts.map +1 -1
  272. package/dist/api/helpers/paramsValidator.d.ts +1 -0
  273. package/dist/api/helpers/paramsValidator.d.ts.map +1 -1
  274. package/dist/api/helpers/protocolV2FileWrite.d.ts +11 -0
  275. package/dist/api/helpers/protocolV2FileWrite.d.ts.map +1 -1
  276. package/dist/api/index.d.ts +5 -30
  277. package/dist/api/index.d.ts.map +1 -1
  278. package/dist/api/kaspa/KaspaGetAddress.d.ts +4 -0
  279. package/dist/api/kaspa/KaspaGetAddress.d.ts.map +1 -1
  280. package/dist/api/kaspa/KaspaSignTransaction.d.ts +9 -1
  281. package/dist/api/kaspa/KaspaSignTransaction.d.ts.map +1 -1
  282. package/dist/api/kaspa/helpers/TransferSerialize.d.ts.map +1 -1
  283. package/dist/api/lightning/LnurlAuth.d.ts +0 -4
  284. package/dist/api/lightning/LnurlAuth.d.ts.map +1 -1
  285. package/dist/api/near/NearGetAddress.d.ts +1 -0
  286. package/dist/api/near/NearGetAddress.d.ts.map +1 -1
  287. package/dist/api/near/NearSignTransaction.d.ts +1 -0
  288. package/dist/api/near/NearSignTransaction.d.ts.map +1 -1
  289. package/dist/api/nem/NEMGetAddress.d.ts +1 -0
  290. package/dist/api/nem/NEMGetAddress.d.ts.map +1 -1
  291. package/dist/api/nem/NEMSignTransaction.d.ts +1 -0
  292. package/dist/api/nem/NEMSignTransaction.d.ts.map +1 -1
  293. package/dist/api/neo/NeoGetAddress.d.ts.map +1 -1
  294. package/dist/api/neo/NeoSignTransaction.d.ts.map +1 -1
  295. package/dist/api/nervos/NervosGetAddress.d.ts.map +1 -1
  296. package/dist/api/nervos/NervosSignTransaction.d.ts.map +1 -1
  297. package/dist/api/nexa/NexaGetAddress.d.ts.map +1 -1
  298. package/dist/api/nexa/NexaSignTransaction.d.ts +1 -0
  299. package/dist/api/nexa/NexaSignTransaction.d.ts.map +1 -1
  300. package/dist/api/nostr/NostrDecryptMessage.d.ts +1 -0
  301. package/dist/api/nostr/NostrDecryptMessage.d.ts.map +1 -1
  302. package/dist/api/nostr/NostrEncryptMessage.d.ts +1 -0
  303. package/dist/api/nostr/NostrEncryptMessage.d.ts.map +1 -1
  304. package/dist/api/nostr/NostrGetPublicKey.d.ts +1 -0
  305. package/dist/api/nostr/NostrGetPublicKey.d.ts.map +1 -1
  306. package/dist/api/nostr/NostrSignEvent.d.ts +1 -0
  307. package/dist/api/nostr/NostrSignEvent.d.ts.map +1 -1
  308. package/dist/api/nostr/NostrSignSchnorr.d.ts +1 -0
  309. package/dist/api/nostr/NostrSignSchnorr.d.ts.map +1 -1
  310. package/dist/api/polkadot/PolkadotGetAddress.d.ts +2 -1
  311. package/dist/api/polkadot/PolkadotGetAddress.d.ts.map +1 -1
  312. package/dist/api/polkadot/PolkadotSignTransaction.d.ts +1 -0
  313. package/dist/api/polkadot/PolkadotSignTransaction.d.ts.map +1 -1
  314. package/dist/api/polkadot/networks.d.ts +1 -1
  315. package/dist/api/protocol-v2/DeviceFactoryInfoGet.d.ts +1 -0
  316. package/dist/api/protocol-v2/DeviceFactoryInfoGet.d.ts.map +1 -1
  317. package/dist/api/protocol-v2/DeviceFactoryInfoSet.d.ts +1 -0
  318. package/dist/api/protocol-v2/DeviceFactoryInfoSet.d.ts.map +1 -1
  319. package/dist/api/protocol-v2/DeviceFirmwareUpdate.d.ts +4 -1
  320. package/dist/api/protocol-v2/DeviceFirmwareUpdate.d.ts.map +1 -1
  321. package/dist/api/protocol-v2/DeviceGetFirmwareUpdateStatus.d.ts +1 -0
  322. package/dist/api/protocol-v2/DeviceGetFirmwareUpdateStatus.d.ts.map +1 -1
  323. package/dist/api/protocol-v2/DeviceGetOnboardingStatus.d.ts +2 -1
  324. package/dist/api/protocol-v2/DeviceGetOnboardingStatus.d.ts.map +1 -1
  325. package/dist/api/protocol-v2/DeviceInfoGet.d.ts +2 -2
  326. package/dist/api/protocol-v2/DeviceInfoGet.d.ts.map +1 -1
  327. package/dist/api/protocol-v2/DeviceReboot.d.ts +1 -0
  328. package/dist/api/protocol-v2/DeviceReboot.d.ts.map +1 -1
  329. package/dist/api/protocol-v2/DeviceStatusGet.d.ts +1 -0
  330. package/dist/api/protocol-v2/DeviceStatusGet.d.ts.map +1 -1
  331. package/dist/api/protocol-v2/DeviceUploadNft.d.ts +30 -0
  332. package/dist/api/protocol-v2/DeviceUploadNft.d.ts.map +1 -0
  333. package/dist/api/protocol-v2/DeviceUploadWallpaper.d.ts +3 -3
  334. package/dist/api/protocol-v2/DeviceUploadWallpaper.d.ts.map +1 -1
  335. package/dist/api/protocol-v2/FilesystemFormat.d.ts +1 -0
  336. package/dist/api/protocol-v2/FilesystemFormat.d.ts.map +1 -1
  337. package/dist/api/protocol-v2/FilesystemPermissionFix.d.ts +1 -0
  338. package/dist/api/protocol-v2/FilesystemPermissionFix.d.ts.map +1 -1
  339. package/dist/api/protocol-v2/Ping.d.ts +3 -0
  340. package/dist/api/protocol-v2/Ping.d.ts.map +1 -1
  341. package/dist/api/protocol-v2/ProtocolInfoRequest.d.ts +1 -0
  342. package/dist/api/protocol-v2/ProtocolInfoRequest.d.ts.map +1 -1
  343. package/dist/api/protocol-v2/helpers.d.ts.map +1 -1
  344. package/dist/api/scdo/ScdoGetAddress.d.ts.map +1 -1
  345. package/dist/api/scdo/ScdoSignMessage.d.ts.map +1 -1
  346. package/dist/api/scdo/ScdoSignTransaction.d.ts.map +1 -1
  347. package/dist/api/solana/SolGetAddress.d.ts +1 -0
  348. package/dist/api/solana/SolGetAddress.d.ts.map +1 -1
  349. package/dist/api/solana/SolSignMessage.d.ts +2 -1
  350. package/dist/api/solana/SolSignMessage.d.ts.map +1 -1
  351. package/dist/api/solana/SolSignOffchainMessage.d.ts +2 -1
  352. package/dist/api/solana/SolSignOffchainMessage.d.ts.map +1 -1
  353. package/dist/api/solana/SolSignTransaction.d.ts +3 -2
  354. package/dist/api/solana/SolSignTransaction.d.ts.map +1 -1
  355. package/dist/api/starcoin/StarcoinGetAddress.d.ts +1 -0
  356. package/dist/api/starcoin/StarcoinGetAddress.d.ts.map +1 -1
  357. package/dist/api/starcoin/StarcoinGetPublicKey.d.ts +1 -0
  358. package/dist/api/starcoin/StarcoinGetPublicKey.d.ts.map +1 -1
  359. package/dist/api/starcoin/StarcoinSignMessage.d.ts +1 -0
  360. package/dist/api/starcoin/StarcoinSignMessage.d.ts.map +1 -1
  361. package/dist/api/starcoin/StarcoinSignTransaction.d.ts +1 -0
  362. package/dist/api/starcoin/StarcoinSignTransaction.d.ts.map +1 -1
  363. package/dist/api/starcoin/StarcoinVerifyMessage.d.ts +1 -0
  364. package/dist/api/starcoin/StarcoinVerifyMessage.d.ts.map +1 -1
  365. package/dist/api/stellar/StellarGetAddress.d.ts +1 -2
  366. package/dist/api/stellar/StellarGetAddress.d.ts.map +1 -1
  367. package/dist/api/stellar/StellarSignTransaction.d.ts +2 -3
  368. package/dist/api/stellar/StellarSignTransaction.d.ts.map +1 -1
  369. package/dist/api/sui/SuiGetAddress.d.ts +2 -1
  370. package/dist/api/sui/SuiGetAddress.d.ts.map +1 -1
  371. package/dist/api/sui/SuiGetPublicKey.d.ts +2 -1
  372. package/dist/api/sui/SuiGetPublicKey.d.ts.map +1 -1
  373. package/dist/api/sui/SuiSignMessage.d.ts +2 -1
  374. package/dist/api/sui/SuiSignMessage.d.ts.map +1 -1
  375. package/dist/api/sui/SuiSignTransaction.d.ts +2 -1
  376. package/dist/api/sui/SuiSignTransaction.d.ts.map +1 -1
  377. package/dist/api/ton/TonGetAddress.d.ts +2 -1
  378. package/dist/api/ton/TonGetAddress.d.ts.map +1 -1
  379. package/dist/api/ton/TonSignData.d.ts +1 -0
  380. package/dist/api/ton/TonSignData.d.ts.map +1 -1
  381. package/dist/api/ton/TonSignMessage.d.ts +2 -1
  382. package/dist/api/ton/TonSignMessage.d.ts.map +1 -1
  383. package/dist/api/ton/TonSignProof.d.ts +2 -1
  384. package/dist/api/ton/TonSignProof.d.ts.map +1 -1
  385. package/dist/api/tron/TronGetAddress.d.ts +1 -0
  386. package/dist/api/tron/TronGetAddress.d.ts.map +1 -1
  387. package/dist/api/tron/TronSignMessage.d.ts +6 -1
  388. package/dist/api/tron/TronSignMessage.d.ts.map +1 -1
  389. package/dist/api/tron/TronSignTransaction.d.ts +2 -1
  390. package/dist/api/tron/TronSignTransaction.d.ts.map +1 -1
  391. package/dist/api/utils.d.ts +4 -1
  392. package/dist/api/utils.d.ts.map +1 -1
  393. package/dist/api/xrp/XrpGetAddress.d.ts +1 -0
  394. package/dist/api/xrp/XrpGetAddress.d.ts.map +1 -1
  395. package/dist/api/xrp/XrpSignTransaction.d.ts +1 -0
  396. package/dist/api/xrp/XrpSignTransaction.d.ts.map +1 -1
  397. package/dist/constants/index.d.ts +1 -1
  398. package/dist/constants/index.d.ts.map +1 -1
  399. package/dist/core/RequestQueue.d.ts +0 -2
  400. package/dist/core/RequestQueue.d.ts.map +1 -1
  401. package/dist/core/deviceEventRegistration.d.ts +13 -0
  402. package/dist/core/deviceEventRegistration.d.ts.map +1 -0
  403. package/dist/core/index.d.ts +3 -2
  404. package/dist/core/index.d.ts.map +1 -1
  405. package/dist/core/uiPromiseRegistry.d.ts +6 -0
  406. package/dist/core/uiPromiseRegistry.d.ts.map +1 -0
  407. package/dist/data-manager/DataManager.d.ts +11 -3
  408. package/dist/data-manager/DataManager.d.ts.map +1 -1
  409. package/dist/data-manager/TransportManager.d.ts.map +1 -1
  410. package/dist/data-manager/connectSettings.d.ts.map +1 -1
  411. package/dist/device/Device.d.ts +86 -18
  412. package/dist/device/Device.d.ts.map +1 -1
  413. package/dist/device/DeviceCommands.d.ts +8 -6
  414. package/dist/device/DeviceCommands.d.ts.map +1 -1
  415. package/dist/device/DeviceConnector.d.ts +4 -3
  416. package/dist/device/DeviceConnector.d.ts.map +1 -1
  417. package/dist/device/DeviceFeaturesState.d.ts +3 -0
  418. package/dist/device/DeviceFeaturesState.d.ts.map +1 -0
  419. package/dist/device/DevicePool.d.ts +6 -2
  420. package/dist/device/DevicePool.d.ts.map +1 -1
  421. package/dist/device/DeviceStateMapper.d.ts +13 -0
  422. package/dist/device/DeviceStateMapper.d.ts.map +1 -0
  423. package/dist/device/DeviceStateProjector.d.ts +7 -0
  424. package/dist/device/DeviceStateProjector.d.ts.map +1 -0
  425. package/dist/device/DeviceStateStore.d.ts +21 -0
  426. package/dist/device/DeviceStateStore.d.ts.map +1 -0
  427. package/dist/device/DeviceWalletSessionStore.d.ts +13 -1
  428. package/dist/device/DeviceWalletSessionStore.d.ts.map +1 -1
  429. package/dist/device/cloneDeviceState.d.ts +2 -0
  430. package/dist/device/cloneDeviceState.d.ts.map +1 -0
  431. package/dist/device/deviceIdentity.d.ts +5 -0
  432. package/dist/device/deviceIdentity.d.ts.map +1 -0
  433. package/dist/deviceProfile/buildDeviceFeatures.d.ts +8 -2
  434. package/dist/deviceProfile/buildDeviceFeatures.d.ts.map +1 -1
  435. package/dist/deviceProfile/index.d.ts +0 -1
  436. package/dist/deviceProfile/index.d.ts.map +1 -1
  437. package/dist/deviceProfile/protocolV2DeviceIdentity.d.ts +7 -0
  438. package/dist/deviceProfile/protocolV2DeviceIdentity.d.ts.map +1 -0
  439. package/dist/events/call.d.ts +0 -7
  440. package/dist/events/call.d.ts.map +1 -1
  441. package/dist/events/core.d.ts +2 -2
  442. package/dist/events/core.d.ts.map +1 -1
  443. package/dist/events/device.d.ts +16 -2
  444. package/dist/events/device.d.ts.map +1 -1
  445. package/dist/events/iframe.d.ts +0 -1
  446. package/dist/events/iframe.d.ts.map +1 -1
  447. package/dist/events/logBlockEvent.d.ts +2 -0
  448. package/dist/events/logBlockEvent.d.ts.map +1 -1
  449. package/dist/events/ui-promise.d.ts +4 -2
  450. package/dist/events/ui-promise.d.ts.map +1 -1
  451. package/dist/events/ui-request.d.ts +50 -4
  452. package/dist/events/ui-request.d.ts.map +1 -1
  453. package/dist/events/ui-response.d.ts +10 -2
  454. package/dist/events/ui-response.d.ts.map +1 -1
  455. package/dist/index.d.ts +1771 -835
  456. package/dist/index.d.ts.map +1 -1
  457. package/dist/index.js +11979 -4741
  458. package/dist/inject.d.ts +7 -3
  459. package/dist/inject.d.ts.map +1 -1
  460. package/dist/lowLevelInject.d.ts +1 -2
  461. package/dist/lowLevelInject.d.ts.map +1 -1
  462. package/dist/protocols/protocol-v2/deviceSession.d.ts +7 -0
  463. package/dist/protocols/protocol-v2/deviceSession.d.ts.map +1 -0
  464. package/dist/protocols/protocol-v2/features.d.ts +33 -22
  465. package/dist/protocols/protocol-v2/features.d.ts.map +1 -1
  466. package/dist/protocols/protocol-v2/firmware.d.ts.map +1 -1
  467. package/dist/protocols/protocol-v2/index.d.ts +2 -2
  468. package/dist/protocols/protocol-v2/index.d.ts.map +1 -1
  469. package/dist/protocols/protocol-v2/resources.d.ts +12 -0
  470. package/dist/protocols/protocol-v2/resources.d.ts.map +1 -0
  471. package/dist/protocols/protocol-v2/settingsUnlockPolicy.d.ts +17 -0
  472. package/dist/protocols/protocol-v2/settingsUnlockPolicy.d.ts.map +1 -0
  473. package/dist/protocols/protocol-v2/uiInteraction.d.ts +42 -0
  474. package/dist/protocols/protocol-v2/uiInteraction.d.ts.map +1 -0
  475. package/dist/protocols/protocol-v2/unlockPolicy.d.ts +2 -0
  476. package/dist/protocols/protocol-v2/unlockPolicy.d.ts.map +1 -0
  477. package/dist/protocols/protocol-v2/unlockPolicyRunner.d.ts +22 -0
  478. package/dist/protocols/protocol-v2/unlockPolicyRunner.d.ts.map +1 -0
  479. package/dist/protocols/protocol-v2/walletSession.d.ts +18 -4
  480. package/dist/protocols/protocol-v2/walletSession.d.ts.map +1 -1
  481. package/dist/topLevelInject.d.ts.map +1 -1
  482. package/dist/types/api/checkAllFirmwareRelease.d.ts +48 -9
  483. package/dist/types/api/checkAllFirmwareRelease.d.ts.map +1 -1
  484. package/dist/types/api/checkBLEFirmwareRelease.d.ts +2 -13
  485. package/dist/types/api/checkBLEFirmwareRelease.d.ts.map +1 -1
  486. package/dist/types/api/checkBootloaderRelease.d.ts +2 -6
  487. package/dist/types/api/checkBootloaderRelease.d.ts.map +1 -1
  488. package/dist/types/api/checkFirmwareRelease.d.ts +2 -13
  489. package/dist/types/api/checkFirmwareRelease.d.ts.map +1 -1
  490. package/dist/types/api/checkFirmwareTypeAvailable.d.ts +2 -2
  491. package/dist/types/api/checkFirmwareTypeAvailable.d.ts.map +1 -1
  492. package/dist/types/api/detectDeviceConnectProtocol.d.ts +4 -0
  493. package/dist/types/api/detectDeviceConnectProtocol.d.ts.map +1 -0
  494. package/dist/types/api/deviceSettings.d.ts +11 -2
  495. package/dist/types/api/deviceSettings.d.ts.map +1 -1
  496. package/dist/types/api/deviceUnlock.d.ts +6 -2
  497. package/dist/types/api/deviceUnlock.d.ts.map +1 -1
  498. package/dist/types/api/deviceUpdateBootloader.d.ts +6 -0
  499. package/dist/types/api/deviceUpdateBootloader.d.ts.map +1 -1
  500. package/dist/types/api/export.d.ts +8 -3
  501. package/dist/types/api/export.d.ts.map +1 -1
  502. package/dist/types/api/firmwareUpdate.d.ts +67 -5
  503. package/dist/types/api/firmwareUpdate.d.ts.map +1 -1
  504. package/dist/types/api/firmwareUpdateCapabilities.d.ts +9 -0
  505. package/dist/types/api/firmwareUpdateCapabilities.d.ts.map +1 -0
  506. package/dist/types/api/firmwareUpdatePlan.d.ts +28 -0
  507. package/dist/types/api/firmwareUpdatePlan.d.ts.map +1 -0
  508. package/dist/types/api/firmwareUpdatePreparedPlan.d.ts +42 -0
  509. package/dist/types/api/firmwareUpdatePreparedPlan.d.ts.map +1 -0
  510. package/dist/types/api/getDeviceState.d.ts +12 -0
  511. package/dist/types/api/getDeviceState.d.ts.map +1 -0
  512. package/dist/types/api/getFeatures.d.ts.map +1 -1
  513. package/dist/types/api/getOnekeyFeatures.d.ts.map +1 -1
  514. package/dist/types/api/getPassphraseState.d.ts.map +1 -1
  515. package/dist/types/api/index.d.ts +25 -36
  516. package/dist/types/api/index.d.ts.map +1 -1
  517. package/dist/types/api/kaspaSignTransaction.d.ts +42 -4
  518. package/dist/types/api/kaspaSignTransaction.d.ts.map +1 -1
  519. package/dist/types/api/openWalletSession.d.ts +35 -0
  520. package/dist/types/api/openWalletSession.d.ts.map +1 -0
  521. package/dist/types/api/protocolV2.d.ts +11 -97
  522. package/dist/types/api/protocolV2.d.ts.map +1 -1
  523. package/dist/types/api/sessionCache.d.ts +4 -1
  524. package/dist/types/api/sessionCache.d.ts.map +1 -1
  525. package/dist/types/device.d.ts +141 -9
  526. package/dist/types/device.d.ts.map +1 -1
  527. package/dist/types/params.d.ts +1 -0
  528. package/dist/types/params.d.ts.map +1 -1
  529. package/dist/types/settings.d.ts +44 -16
  530. package/dist/types/settings.d.ts.map +1 -1
  531. package/dist/utils/assets.d.ts +2 -1
  532. package/dist/utils/assets.d.ts.map +1 -1
  533. package/dist/utils/deviceFeaturesCompat.d.ts +14 -0
  534. package/dist/utils/deviceFeaturesCompat.d.ts.map +1 -0
  535. package/dist/utils/deviceFeaturesUtils.d.ts +10 -1
  536. package/dist/utils/deviceFeaturesUtils.d.ts.map +1 -1
  537. package/dist/utils/deviceInfoUtils.d.ts +9 -9
  538. package/dist/utils/deviceInfoUtils.d.ts.map +1 -1
  539. package/dist/utils/deviceSettings.d.ts +39 -7
  540. package/dist/utils/deviceSettings.d.ts.map +1 -1
  541. package/dist/utils/deviceVersionUtils.d.ts +7 -5
  542. package/dist/utils/deviceVersionUtils.d.ts.map +1 -1
  543. package/dist/utils/homescreen.d.ts +4 -0
  544. package/dist/utils/homescreen.d.ts.map +1 -1
  545. package/dist/utils/index.d.ts +5 -4
  546. package/dist/utils/index.d.ts.map +1 -1
  547. package/dist/utils/networkUtils.d.ts +10 -1
  548. package/dist/utils/networkUtils.d.ts.map +1 -1
  549. package/dist/utils/patch.d.ts +1 -1
  550. package/dist/utils/patch.d.ts.map +1 -1
  551. package/dist/utils/pro2Nft.d.ts +38 -0
  552. package/dist/utils/pro2Nft.d.ts.map +1 -0
  553. package/dist/utils/pro2Wallpaper.d.ts +10 -0
  554. package/dist/utils/pro2Wallpaper.d.ts.map +1 -1
  555. package/dist/utils/tracing.d.ts.map +1 -1
  556. package/dist/utils/uiProgressThrottle.d.ts +3 -0
  557. package/dist/utils/uiProgressThrottle.d.ts.map +1 -0
  558. package/package.json +6 -4
  559. package/src/api/BaseMethod.ts +45 -23
  560. package/src/api/CheckAllFirmwareRelease.ts +442 -4
  561. package/src/api/CheckBLEFirmwareRelease.ts +37 -5
  562. package/src/api/CheckBootloaderRelease.ts +37 -5
  563. package/src/api/CheckFirmwareRelease.ts +36 -9
  564. package/src/api/CipherKeyValue.ts +4 -0
  565. package/src/api/ClearSessionCache.ts +4 -0
  566. package/src/api/DetectDeviceConnectProtocol.ts +18 -0
  567. package/src/api/DirList.ts +9 -4
  568. package/src/api/DirMake.ts +7 -4
  569. package/src/api/DirRemove.ts +7 -4
  570. package/src/api/FileDelete.ts +7 -4
  571. package/src/api/FileRead.ts +13 -7
  572. package/src/api/FileWrite.ts +10 -5
  573. package/src/api/FirmwareUpdate.ts +30 -15
  574. package/src/api/FirmwareUpdateV2.ts +532 -169
  575. package/src/api/FirmwareUpdateV3.ts +349 -91
  576. package/src/api/FirmwareUpdateV4.ts +2281 -674
  577. package/src/api/GetDeviceState.ts +59 -0
  578. package/src/api/GetFeatures.ts +6 -4
  579. package/src/api/GetOnekeyFeatures.ts +1 -75
  580. package/src/api/GetPassphraseState.ts +36 -12
  581. package/src/api/OpenWalletSession.ts +268 -0
  582. package/src/api/PathInfo.ts +9 -4
  583. package/src/api/PromptWebDeviceAccess.ts +2 -7
  584. package/src/api/SearchDevices.ts +31 -4
  585. package/src/api/UploadPortfolio.ts +32 -4
  586. package/src/api/alephium/AlephiumGetAddress.ts +0 -4
  587. package/src/api/alephium/AlephiumSignMessage.ts +0 -4
  588. package/src/api/alephium/AlephiumSignTransaction.ts +2 -6
  589. package/src/api/algo/AlgoGetAddress.ts +4 -0
  590. package/src/api/algo/AlgoSignTransaction.ts +4 -0
  591. package/src/api/allnetwork/AllNetworkGetAddress.ts +21 -21
  592. package/src/api/allnetwork/AllNetworkGetAddressBase.ts +45 -32
  593. package/src/api/aptos/AptosGetAddress.ts +4 -0
  594. package/src/api/aptos/AptosGetPublicKey.ts +4 -0
  595. package/src/api/aptos/AptosSignInMessage.ts +4 -0
  596. package/src/api/aptos/AptosSignMessage.ts +4 -0
  597. package/src/api/aptos/AptosSignTransaction.ts +4 -0
  598. package/src/api/benfen/BenfenGetAddress.ts +11 -7
  599. package/src/api/benfen/BenfenGetPublicKey.ts +0 -4
  600. package/src/api/benfen/BenfenSignMessage.ts +0 -4
  601. package/src/api/benfen/BenfenSignTransaction.ts +0 -4
  602. package/src/api/btc/BTCGetAddress.ts +8 -1
  603. package/src/api/btc/BTCGetPublicKey.ts +9 -2
  604. package/src/api/btc/BTCSignMessage.ts +8 -1
  605. package/src/api/btc/BTCSignPsbt.ts +4 -0
  606. package/src/api/btc/BTCSignTransaction.ts +8 -1
  607. package/src/api/btc/BTCVerifyMessage.ts +8 -1
  608. package/src/api/btc/helpers/versionLimit.ts +7 -4
  609. package/src/api/cardano/CardanoGetAddress.ts +4 -0
  610. package/src/api/cardano/CardanoGetPublicKey.ts +4 -0
  611. package/src/api/cardano/CardanoSignMessage.ts +5 -1
  612. package/src/api/cardano/CardanoSignTransaction.ts +5 -1
  613. package/src/api/conflux/ConfluxGetAddress.ts +6 -0
  614. package/src/api/conflux/ConfluxSignMessage.ts +6 -0
  615. package/src/api/conflux/ConfluxSignMessageCIP23.ts +6 -0
  616. package/src/api/conflux/ConfluxSignTransaction.ts +8 -5
  617. package/src/api/cosmos/CosmosGetAddress.ts +4 -0
  618. package/src/api/cosmos/CosmosGetPublicKey.ts +4 -0
  619. package/src/api/cosmos/CosmosSignTransaction.ts +4 -0
  620. package/src/api/device/DeviceCancel.ts +5 -0
  621. package/src/api/device/DeviceChangePin.ts +28 -0
  622. package/src/api/device/DeviceFullyUploadResource.ts +4 -5
  623. package/src/api/device/DeviceLock.ts +5 -0
  624. package/src/api/device/DeviceRebootToBoardloader.ts +5 -0
  625. package/src/api/device/DeviceRebootToBootloader.ts +5 -0
  626. package/src/api/device/DeviceSettings.ts +209 -3
  627. package/src/api/device/DeviceSupportFeatures.ts +4 -0
  628. package/src/api/device/DeviceUnlock.ts +21 -3
  629. package/src/api/device/DeviceUpdateBootloader.ts +152 -8
  630. package/src/api/device/DeviceUploadResource.ts +5 -1
  631. package/src/api/device/DeviceWipe.ts +25 -0
  632. package/src/api/device/PreInitialize.ts +4 -0
  633. package/src/api/dynex/DnxGetAddress.ts +0 -6
  634. package/src/api/dynex/DnxSignTransaction.ts +0 -6
  635. package/src/api/evm/EVMGetAddress.ts +6 -2
  636. package/src/api/evm/EVMGetPublicKey.ts +6 -2
  637. package/src/api/evm/EVMSignMessage.ts +6 -2
  638. package/src/api/evm/EVMSignMessageEIP712.ts +1 -11
  639. package/src/api/evm/EVMSignTransaction.ts +6 -2
  640. package/src/api/evm/EVMSignTypedData.ts +42 -50
  641. package/src/api/evm/EVMVerifyMessage.ts +6 -2
  642. package/src/api/evm/legacyV1/getAddress.ts +2 -2
  643. package/src/api/evm/legacyV1/getPublicKey.ts +2 -2
  644. package/src/api/evm/legacyV1/signMessage.ts +2 -2
  645. package/src/api/evm/legacyV1/signTypedData.ts +2 -2
  646. package/src/api/evm/legacyV1/signTypedHash.ts +2 -2
  647. package/src/api/evm/legacyV1/verifyMessage.ts +2 -2
  648. package/src/api/evm/protocol.ts +6 -0
  649. package/src/api/filecoin/FilecoinGetAddress.ts +4 -0
  650. package/src/api/filecoin/FilecoinSignTransaction.ts +4 -0
  651. package/src/api/firmware/FirmwareArtifactSource.ts +305 -0
  652. package/src/api/firmware/FirmwareHostBinding.ts +123 -0
  653. package/src/api/firmware/FirmwareMemoryHost.ts +143 -0
  654. package/src/api/firmware/FirmwarePreparationError.ts +12 -0
  655. package/src/api/firmware/FirmwarePreparedResourceArchive.ts +187 -0
  656. package/src/api/firmware/FirmwareUpdateBaseMethod.ts +214 -77
  657. package/src/api/firmware/FirmwareUpdateCapabilities.ts +9 -0
  658. package/src/api/firmware/FirmwareUpdatePlan.ts +946 -0
  659. package/src/api/firmware/FirmwareUpdatePreparedPlan.ts +486 -0
  660. package/src/api/firmware/getBinary.ts +8 -3
  661. package/src/api/firmware/protocolV2Release.ts +168 -0
  662. package/src/api/firmware/updateBootloader.ts +19 -4
  663. package/src/api/firmware/uploadFirmware.ts +157 -26
  664. package/src/api/helpers/base64Data.ts +85 -0
  665. package/src/api/helpers/batchGetPublickeys.ts +2 -2
  666. package/src/api/helpers/filesystemValidation.ts +61 -0
  667. package/src/api/helpers/paramsValidator.ts +1 -1
  668. package/src/api/helpers/protocolV2FileWrite.ts +266 -38
  669. package/src/api/index.ts +6 -31
  670. package/src/api/kaspa/KaspaGetAddress.ts +7 -0
  671. package/src/api/kaspa/KaspaSignTransaction.ts +369 -29
  672. package/src/api/kaspa/helpers/TransferSerialize.ts +17 -7
  673. package/src/api/lightning/LnurlAuth.ts +0 -4
  674. package/src/api/near/NearGetAddress.ts +4 -0
  675. package/src/api/near/NearSignTransaction.ts +4 -0
  676. package/src/api/nem/NEMGetAddress.ts +4 -0
  677. package/src/api/nem/NEMSignTransaction.ts +4 -0
  678. package/src/api/neo/NeoGetAddress.ts +0 -4
  679. package/src/api/neo/NeoSignTransaction.ts +0 -4
  680. package/src/api/nervos/NervosGetAddress.ts +0 -4
  681. package/src/api/nervos/NervosSignTransaction.ts +2 -6
  682. package/src/api/nexa/NexaGetAddress.ts +0 -4
  683. package/src/api/nexa/NexaSignTransaction.ts +3 -5
  684. package/src/api/nostr/NostrDecryptMessage.ts +4 -0
  685. package/src/api/nostr/NostrEncryptMessage.ts +4 -0
  686. package/src/api/nostr/NostrGetPublicKey.ts +4 -0
  687. package/src/api/nostr/NostrSignEvent.ts +4 -0
  688. package/src/api/nostr/NostrSignSchnorr.ts +4 -0
  689. package/src/api/polkadot/PolkadotGetAddress.ts +4 -0
  690. package/src/api/polkadot/PolkadotSignTransaction.ts +4 -0
  691. package/src/api/polkadot/networks.ts +3 -3
  692. package/src/api/protocol-v2/DeviceFactoryInfoGet.ts +5 -2
  693. package/src/api/protocol-v2/DeviceFactoryInfoSet.ts +6 -3
  694. package/src/api/protocol-v2/DeviceFirmwareUpdate.ts +13 -32
  695. package/src/api/protocol-v2/DeviceGetFirmwareUpdateStatus.ts +10 -6
  696. package/src/api/protocol-v2/DeviceGetOnboardingStatus.ts +6 -3
  697. package/src/api/protocol-v2/DeviceInfoGet.ts +11 -18
  698. package/src/api/protocol-v2/DeviceReboot.ts +7 -3
  699. package/src/api/protocol-v2/DeviceStatusGet.ts +6 -1
  700. package/src/api/protocol-v2/DeviceUploadNft.ts +245 -0
  701. package/src/api/protocol-v2/DeviceUploadWallpaper.ts +53 -24
  702. package/src/api/protocol-v2/FilesystemFormat.ts +5 -2
  703. package/src/api/protocol-v2/FilesystemPermissionFix.ts +5 -2
  704. package/src/api/protocol-v2/Ping.ts +37 -3
  705. package/src/api/protocol-v2/ProtocolInfoRequest.ts +8 -3
  706. package/src/api/protocol-v2/helpers.ts +1 -4
  707. package/src/api/scdo/ScdoGetAddress.ts +0 -4
  708. package/src/api/scdo/ScdoSignMessage.ts +0 -4
  709. package/src/api/scdo/ScdoSignTransaction.ts +0 -4
  710. package/src/api/solana/SolGetAddress.ts +4 -0
  711. package/src/api/solana/SolSignMessage.ts +5 -1
  712. package/src/api/solana/SolSignOffchainMessage.ts +5 -1
  713. package/src/api/solana/SolSignTransaction.ts +6 -2
  714. package/src/api/starcoin/StarcoinGetAddress.ts +4 -0
  715. package/src/api/starcoin/StarcoinGetPublicKey.ts +4 -0
  716. package/src/api/starcoin/StarcoinSignMessage.ts +4 -0
  717. package/src/api/starcoin/StarcoinSignTransaction.ts +4 -0
  718. package/src/api/starcoin/StarcoinVerifyMessage.ts +4 -0
  719. package/src/api/stellar/StellarGetAddress.ts +1 -10
  720. package/src/api/stellar/StellarSignTransaction.ts +1 -14
  721. package/src/api/sui/SuiGetAddress.ts +5 -1
  722. package/src/api/sui/SuiGetPublicKey.ts +5 -1
  723. package/src/api/sui/SuiSignMessage.ts +5 -1
  724. package/src/api/sui/SuiSignTransaction.ts +5 -1
  725. package/src/api/ton/TonGetAddress.ts +5 -1
  726. package/src/api/ton/TonSignData.ts +5 -1
  727. package/src/api/ton/TonSignMessage.ts +10 -4
  728. package/src/api/ton/TonSignProof.ts +5 -1
  729. package/src/api/tron/TronGetAddress.ts +4 -0
  730. package/src/api/tron/TronSignMessage.ts +19 -8
  731. package/src/api/tron/TronSignTransaction.ts +5 -1
  732. package/src/api/utils.ts +32 -3
  733. package/src/api/xrp/XrpGetAddress.ts +4 -0
  734. package/src/api/xrp/XrpSignTransaction.ts +5 -1
  735. package/src/constants/index.ts +1 -4
  736. package/src/core/RequestQueue.ts +0 -18
  737. package/src/core/deviceEventRegistration.ts +27 -0
  738. package/src/core/index.ts +387 -163
  739. package/src/core/uiPromiseRegistry.ts +63 -0
  740. package/src/data/messages/messages-protocol-v2.json +1057 -577
  741. package/src/data/messages/messages.json +286 -9
  742. package/src/data-manager/DataManager.ts +155 -44
  743. package/src/data-manager/TransportManager.ts +7 -1
  744. package/src/data-manager/connectSettings.ts +11 -0
  745. package/src/device/Device.ts +904 -280
  746. package/src/device/DeviceCommands.ts +177 -158
  747. package/src/device/DeviceConnector.ts +44 -21
  748. package/src/device/DeviceFeaturesState.ts +25 -0
  749. package/src/device/DevicePool.ts +105 -23
  750. package/src/device/DeviceStateMapper.ts +416 -0
  751. package/src/device/DeviceStateProjector.ts +152 -0
  752. package/src/device/DeviceStateStore.ts +232 -0
  753. package/src/device/DeviceWalletSessionStore.ts +72 -6
  754. package/src/device/cloneDeviceState.ts +39 -0
  755. package/src/device/deviceIdentity.ts +18 -0
  756. package/src/deviceProfile/buildDeviceFeatures.ts +215 -189
  757. package/src/deviceProfile/index.ts +0 -1
  758. package/src/deviceProfile/protocolV2DeviceIdentity.ts +35 -0
  759. package/src/events/call.ts +0 -6
  760. package/src/events/core.ts +0 -2
  761. package/src/events/device.ts +22 -1
  762. package/src/events/iframe.ts +0 -1
  763. package/src/events/logBlockEvent.ts +93 -2
  764. package/src/events/ui-promise.ts +4 -2
  765. package/src/events/ui-request.ts +61 -4
  766. package/src/events/ui-response.ts +12 -2
  767. package/src/index.ts +17 -4
  768. package/src/inject.ts +89 -57
  769. package/src/lowLevelInject.ts +11 -7
  770. package/src/protocols/protocol-v2/deviceSession.ts +24 -0
  771. package/src/protocols/protocol-v2/features.ts +118 -52
  772. package/src/protocols/protocol-v2/firmware.ts +3 -1
  773. package/src/protocols/protocol-v2/index.ts +9 -3
  774. package/src/protocols/protocol-v2/resources.ts +171 -0
  775. package/src/protocols/protocol-v2/settingsUnlockPolicy.ts +65 -0
  776. package/src/protocols/protocol-v2/uiInteraction.ts +250 -0
  777. package/src/protocols/protocol-v2/unlockPolicy.ts +1 -0
  778. package/src/protocols/protocol-v2/unlockPolicyRunner.ts +136 -0
  779. package/src/protocols/protocol-v2/walletSession.ts +420 -49
  780. package/src/topLevelInject.ts +11 -6
  781. package/src/types/api/checkAllFirmwareRelease.ts +72 -9
  782. package/src/types/api/checkBLEFirmwareRelease.ts +4 -13
  783. package/src/types/api/checkBootloaderRelease.ts +2 -6
  784. package/src/types/api/checkFirmwareRelease.ts +2 -13
  785. package/src/types/api/checkFirmwareTypeAvailable.ts +2 -2
  786. package/src/types/api/detectDeviceConnectProtocol.ts +6 -0
  787. package/src/types/api/deviceSettings.ts +26 -2
  788. package/src/types/api/deviceUnlock.ts +13 -2
  789. package/src/types/api/deviceUpdateBootloader.ts +7 -0
  790. package/src/types/api/export.ts +33 -1
  791. package/src/types/api/firmwareUpdate.ts +85 -11
  792. package/src/types/api/firmwareUpdateCapabilities.ts +9 -0
  793. package/src/types/api/firmwareUpdatePlan.ts +38 -0
  794. package/src/types/api/firmwareUpdatePreparedPlan.ts +53 -0
  795. package/src/types/api/getDeviceState.ts +19 -0
  796. package/src/types/api/getFeatures.ts +3 -0
  797. package/src/types/api/getOnekeyFeatures.ts +3 -0
  798. package/src/types/api/getPassphraseState.ts +7 -0
  799. package/src/types/api/index.ts +43 -75
  800. package/src/types/api/kaspaSignTransaction.ts +60 -4
  801. package/src/types/api/openWalletSession.ts +54 -0
  802. package/src/types/api/protocolV2.ts +23 -194
  803. package/src/types/api/sessionCache.ts +9 -4
  804. package/src/types/device.ts +216 -10
  805. package/src/types/params.ts +9 -2
  806. package/src/types/settings.ts +52 -25
  807. package/src/utils/assets.ts +4 -1
  808. package/src/utils/deviceFeaturesCompat.ts +191 -0
  809. package/src/utils/deviceFeaturesUtils.ts +42 -9
  810. package/src/utils/deviceInfoUtils.ts +29 -69
  811. package/src/utils/deviceSettings.ts +181 -39
  812. package/src/utils/deviceVersionUtils.ts +25 -44
  813. package/src/utils/findDefectiveBatchDevice.ts +3 -3
  814. package/src/utils/homescreen.ts +40 -0
  815. package/src/utils/index.ts +26 -7
  816. package/src/utils/networkUtils.ts +274 -16
  817. package/src/utils/pro2Nft.ts +165 -0
  818. package/src/utils/pro2Wallpaper.ts +44 -25
  819. package/src/utils/tracing.ts +3 -1
  820. package/src/utils/uiProgressThrottle.ts +63 -0
  821. package/tsconfig.type-tests.json +12 -0
  822. package/__tests__/RequestQueue.test.ts +0 -34
  823. package/dist/api/GetDeviceInfo.d.ts +0 -9
  824. package/dist/api/GetDeviceInfo.d.ts.map +0 -1
  825. package/dist/api/firmware/progressThrottle.d.ts +0 -3
  826. package/dist/api/firmware/progressThrottle.d.ts.map +0 -1
  827. package/dist/api/protocol-v2/DeviceSessionGet.d.ts +0 -6
  828. package/dist/api/protocol-v2/DeviceSessionGet.d.ts.map +0 -1
  829. package/dist/api/protocol-v2/DeviceSettingsGet.d.ts +0 -6
  830. package/dist/api/protocol-v2/DeviceSettingsGet.d.ts.map +0 -1
  831. package/dist/api/protocol-v2/DeviceSettingsPageShow.d.ts +0 -16
  832. package/dist/api/protocol-v2/DeviceSettingsPageShow.d.ts.map +0 -1
  833. package/dist/api/protocol-v2/DeviceSettingsSet.d.ts +0 -12
  834. package/dist/api/protocol-v2/DeviceSettingsSet.d.ts.map +0 -1
  835. package/dist/api/protocol-v2/FilesystemDiskControl.d.ts +0 -13
  836. package/dist/api/protocol-v2/FilesystemDiskControl.d.ts.map +0 -1
  837. package/dist/deviceProfile/buildDeviceProfile.d.ts +0 -21
  838. package/dist/deviceProfile/buildDeviceProfile.d.ts.map +0 -1
  839. package/dist/protocols/protocol-v2/unlockRetry.d.ts +0 -9
  840. package/dist/protocols/protocol-v2/unlockRetry.d.ts.map +0 -1
  841. package/dist/types/api/getDeviceInfo.d.ts +0 -87
  842. package/dist/types/api/getDeviceInfo.d.ts.map +0 -1
  843. package/src/api/GetDeviceInfo.ts +0 -145
  844. package/src/api/firmware/progressThrottle.ts +0 -44
  845. package/src/api/protocol-v2/DeviceSessionGet.ts +0 -15
  846. package/src/api/protocol-v2/DeviceSettingsGet.ts +0 -16
  847. package/src/api/protocol-v2/DeviceSettingsPageShow.ts +0 -59
  848. package/src/api/protocol-v2/DeviceSettingsSet.ts +0 -39
  849. package/src/api/protocol-v2/FilesystemDiskControl.ts +0 -50
  850. package/src/deviceProfile/buildDeviceProfile.ts +0 -354
  851. package/src/protocols/protocol-v2/unlockRetry.ts +0 -46
  852. package/src/types/api/getDeviceInfo.ts +0 -101
@@ -1,8 +1,14 @@
1
- import { EDeviceType, type EFirmwareType } from '@onekeyfe/hd-shared';
1
+ import { EDeviceType, type EFirmwareType, type HardwareConnectProtocol } from '@onekeyfe/hd-shared';
2
2
 
3
3
  import type { IVersionArray } from './settings';
4
4
  import type { PROTO } from '../constants';
5
- import type { OneKeyDeviceCommType, ProtocolV2DeviceInfo } from '@onekeyfe/hd-transport';
5
+ import type {
6
+ Enum_SafetyCheckLevel,
7
+ OneKeyDeviceCommType,
8
+ ProtocolV2DeviceInfo,
9
+ DeviceStatus as ProtocolV2DeviceStatus,
10
+ ProtocolInfo as ProtocolV2ProtocolInfo,
11
+ } from '@onekeyfe/hd-transport';
6
12
 
7
13
  export type DeviceStatus = 'available' | 'occupied' | 'used';
8
14
 
@@ -23,6 +29,14 @@ export type UnavailableCapabilities = { [key: string]: UnavailableCapability };
23
29
 
24
30
  export type KnownDevice = {
25
31
  connectId: string | null;
32
+ /** Protocol family confirmed by the transport's active probe. */
33
+ connectProtocol?: HardwareConnectProtocol;
34
+ /**
35
+ * Stable physical-device identity. Current SDK responses always include this
36
+ * value; it remains optional in the type during the uuid compatibility window.
37
+ */
38
+ serialNo?: string;
39
+ /** @deprecated Use serialNo instead. */
26
40
  uuid: string;
27
41
  deviceId: string | null;
28
42
  deviceType: IDeviceType | null;
@@ -32,9 +46,12 @@ export type KnownDevice = {
32
46
  bleName: string | null;
33
47
  name: string;
34
48
  error?: typeof undefined;
49
+ /** Current SDK/transport usage state for connection indicators. */
50
+ status?: DeviceStatus;
35
51
  mode: EOneKeyDeviceMode;
36
- features?: Features;
37
- sessionId?: string | null;
52
+ features: Features;
53
+ /** Unified SDK device-state snapshot; features remains a legacy projection. */
54
+ state?: DeviceState;
38
55
  unavailableCapabilities: UnavailableCapabilities;
39
56
  bleFirmwareVersion: IVersionArray | null;
40
57
  firmwareVersion: IVersionArray | null;
@@ -47,6 +64,20 @@ export type KnownDevice = {
47
64
 
48
65
  export type SearchDevice = {
49
66
  connectId: string | null;
67
+ /** Protocol family confirmed by the transport's active probe. */
68
+ connectProtocol?: HardwareConnectProtocol;
69
+ /**
70
+ * Available after device initialization. BLE discovery does not connect to the
71
+ * device, so it returns null until a later initialized device response. Current
72
+ * SDK responses always include the field; it remains optional in the type during
73
+ * the uuid compatibility window.
74
+ */
75
+ serialNo?: string | null;
76
+ /**
77
+ * @deprecated Ambiguous legacy identifier. Use serialNo for hardware identity
78
+ * and connectId for transport routing. Empty during BLE discovery until the
79
+ * physical serial number is available after initialization.
80
+ */
50
81
  uuid: string;
51
82
  deviceId: string | null;
52
83
  deviceType: IDeviceType;
@@ -99,6 +130,10 @@ export type DeviceFeaturesMode =
99
130
  export type DeviceFeaturesVerify = {
100
131
  firmwareBuildId?: string;
101
132
  firmwareHash?: string;
133
+ applicationP1BuildId?: string;
134
+ applicationP1Hash?: string;
135
+ applicationP2BuildId?: string;
136
+ applicationP2Hash?: string;
102
137
  bootloaderBuildId?: string;
103
138
  bootloaderHash?: string;
104
139
  boardBuildId?: string;
@@ -126,10 +161,157 @@ export type DeviceFeaturesVerify = {
126
161
  export type DeviceFeaturesRaw = {
127
162
  protocolV1Features?: PROTO.Features;
128
163
  protocolV1OneKeyFeatures?: OnekeyFeatures;
164
+ protocolV2ProtocolInfo?: ProtocolV2ProtocolInfo;
129
165
  protocolV2DeviceInfo?: ProtocolV2DeviceInfo;
166
+ protocolV2DeviceStatus?: ProtocolV2DeviceStatus;
130
167
  };
131
168
 
132
- export type Features = {
169
+ export type DeviceFeaturesRawPatch = {
170
+ [Key in keyof DeviceFeaturesRaw]?: DeviceFeaturesRaw[Key] | null;
171
+ };
172
+
173
+ export type DeviceStateProtocol = DeviceFeaturesProtocol;
174
+ export type DeviceStateMode = DeviceFeaturesMode;
175
+ export type DeviceStateSection = 'identity' | 'status' | 'settings' | 'versions' | 'verification';
176
+
177
+ export type DeviceStateUpdateSource =
178
+ | 'initialize'
179
+ | 'device-info'
180
+ | 'device-status'
181
+ | 'settings-read'
182
+ | 'settings-write'
183
+ | 'change-pin'
184
+ | 'lock'
185
+ | 'unlock'
186
+ | 'passphrase'
187
+ | 'session-clear'
188
+ | 'firmware-update'
189
+ | 'transport-reconnect'
190
+ | 'compatibility';
191
+
192
+ export type DeviceStateIdentity = {
193
+ deviceType: IDeviceType;
194
+ firmwareType: EFirmwareType;
195
+ model: string | null;
196
+ vendor: string | null;
197
+ deviceId: string | null;
198
+ serialNo: string;
199
+ label: string | null;
200
+ bleName: string | null;
201
+ };
202
+
203
+ export type DeviceStateStatus = {
204
+ mode: DeviceStateMode;
205
+ initialized: boolean | null;
206
+ unlocked: boolean | null;
207
+ firmwarePresent: boolean | null;
208
+ backupRequired: boolean | null;
209
+ noBackup: boolean | null;
210
+ unfinishedBackup: boolean | null;
211
+ recoveryMode: boolean | null;
212
+ passphraseProtection: boolean | null;
213
+ pinProtection: boolean | null;
214
+ /** `attach_to_pin_enabled`:是否至少存在一个 Attach PIN 绑定。 */
215
+ attachToPinEnabled: boolean | null;
216
+ /** `unlocked_by_attach_to_pin`:本次解锁是否由 Attach PIN 完成。 */
217
+ unlockedAttachPin: boolean | null;
218
+ };
219
+
220
+ export type DeviceStateSettings = {
221
+ language: string | null;
222
+ bleEnabled: boolean | null;
223
+ sdCardPresent: boolean | null;
224
+ sdProtection: boolean | null;
225
+ wipeCodeProtection: boolean | null;
226
+ passphraseAlwaysOnDevice: boolean | null;
227
+ safetyChecks: Enum_SafetyCheckLevel | null;
228
+ autoLockDelayMs: number | null;
229
+ autoShutdownDelayMs: number | null;
230
+ displayRotation: number | null;
231
+ experimentalFeatures: boolean | null;
232
+ wallpaperPath: string | null;
233
+ brightness: number | null;
234
+ animationEnabled: boolean | null;
235
+ tapToWake: boolean | null;
236
+ hapticFeedback: boolean | null;
237
+ deviceNameDisplayEnabled: boolean | null;
238
+ airgapMode: boolean | null;
239
+ fidoEnabled: boolean | null;
240
+ usbLockEnabled: boolean | null;
241
+ randomKeypad: boolean | null;
242
+ };
243
+
244
+ export type DeviceStateVersions = {
245
+ firmware: string | null;
246
+ applicationP1?: string | null;
247
+ applicationP2?: string | null;
248
+ bootloader: string | null;
249
+ board: string | null;
250
+ ble: string | null;
251
+ /** @deprecated Kept for legacy consumers; new code should read se01. */
252
+ se?: string | null;
253
+ se01?: string | null;
254
+ se02?: string | null;
255
+ se03?: string | null;
256
+ se04?: string | null;
257
+ se01Boot?: string | null;
258
+ se02Boot?: string | null;
259
+ se03Boot?: string | null;
260
+ se04Boot?: string | null;
261
+ };
262
+
263
+ export type DeviceStateSecurityElement = {
264
+ type: string | null;
265
+ state: string | null;
266
+ };
267
+
268
+ export type DeviceStateSecurityElements = Partial<
269
+ Record<'se01' | 'se02' | 'se03' | 'se04', DeviceStateSecurityElement>
270
+ >;
271
+
272
+ export type DeviceStateSecurityElementsPatch = Partial<
273
+ Record<keyof DeviceStateSecurityElements, Partial<DeviceStateSecurityElement>>
274
+ >;
275
+
276
+ export type DeviceState = {
277
+ schemaVersion: 1;
278
+ revision: number;
279
+ updatedAt: number;
280
+ protocol: DeviceStateProtocol;
281
+ /** Device-message protocol version, independent of the SDK V1/V2 protocol family. */
282
+ protocolVersion: number | null;
283
+ identity: DeviceStateIdentity;
284
+ status: DeviceStateStatus;
285
+ settings: DeviceStateSettings;
286
+ versions: DeviceStateVersions;
287
+ /** Secure-element metadata exposed by the unified firmware information read. */
288
+ securityElements?: DeviceStateSecurityElements;
289
+ capabilities: Array<number | string>;
290
+ verification?: Partial<DeviceFeaturesVerify>;
291
+ };
292
+
293
+ export type DeviceStatePatch = {
294
+ protocol?: DeviceStateProtocol;
295
+ protocolVersion?: number | null;
296
+ identity?: Partial<DeviceStateIdentity>;
297
+ status?: Partial<DeviceStateStatus>;
298
+ settings?: Partial<DeviceStateSettings>;
299
+ versions?: Partial<DeviceStateVersions>;
300
+ securityElements?: DeviceStateSecurityElementsPatch;
301
+ capabilities?: Array<number | string>;
302
+ verification?: DeviceFeaturesVerify;
303
+ raw?: DeviceFeaturesRawPatch;
304
+ };
305
+
306
+ export type DeviceStateEvent = {
307
+ connectId: string | null;
308
+ state: DeviceState;
309
+ revision: number;
310
+ source: DeviceStateUpdateSource;
311
+ changedKeys: string[];
312
+ };
313
+
314
+ export type NormalizedFeatures = {
133
315
  protocol: DeviceFeaturesProtocol;
134
316
  protocolVersion?: number | null;
135
317
  deviceType: IDeviceType;
@@ -158,11 +340,23 @@ export type Features = {
158
340
  sdProtection: boolean | null;
159
341
  wipeCodeProtection: boolean | null;
160
342
  passphraseAlwaysOnDevice: boolean | null;
343
+ /** `attach_to_pin_enabled`:是否至少存在一个 Attach PIN 绑定。 */
161
344
  attachToPinEnabled?: boolean | null;
162
- safetyChecks: string | null;
345
+ safetyChecks: Enum_SafetyCheckLevel | null;
163
346
  autoLockDelayMs: number | null;
347
+ autoShutdownDelayMs: number | null;
164
348
  displayRotation: number | null;
165
349
  experimentalFeatures: boolean | null;
350
+ wallpaperPath: string | null;
351
+ brightness: number | null;
352
+ animationEnabled: boolean | null;
353
+ tapToWake: boolean | null;
354
+ hapticFeedback: boolean | null;
355
+ deviceNameDisplayEnabled: boolean | null;
356
+ airgapMode: boolean | null;
357
+ fidoEnabled: boolean | null;
358
+ usbLockEnabled: boolean | null;
359
+ randomKeypad: boolean | null;
166
360
  firmwareVersion: string | null;
167
361
  bootloaderVersion: string | null;
168
362
  boardVersion: string | null;
@@ -183,6 +377,10 @@ export type Features = {
183
377
  raw?: DeviceFeaturesRaw;
184
378
  };
185
379
 
380
+ export type Features = NormalizedFeatures &
381
+ Partial<Omit<PROTO.Features, keyof NormalizedFeatures>> &
382
+ Partial<Omit<PROTO.OnekeyFeatures, keyof NormalizedFeatures | keyof PROTO.Features>>;
383
+
186
384
  export type OnekeyFeatures = PROTO.OnekeyFeatures;
187
385
 
188
386
  export type IDeviceType =
@@ -193,14 +391,21 @@ export type IDeviceType =
193
391
  | EDeviceType.Mini
194
392
  | EDeviceType.Touch
195
393
  | EDeviceType.Pro
196
- | EDeviceType.Pro2;
394
+ | EDeviceType.Pro2
395
+ | EDeviceType.Neo;
197
396
 
198
397
  /**
199
398
  * model_classic: 'classic' | 'classic1s' | 'classicpure'
200
399
  * model_mini: 'classic' | 'classic1s' | 'classicpure' | 'mini'
201
400
  * model_touch: 'touch' | 'pro'
401
+ * model_pro2: 'pro2' | 'neo'
202
402
  */
203
- export type IDeviceModel = 'model_classic' | 'model_mini' | 'model_touch' | 'model_classic1s';
403
+ export type IDeviceModel =
404
+ | 'model_classic'
405
+ | 'model_mini'
406
+ | 'model_touch'
407
+ | 'model_classic1s'
408
+ | 'model_pro2';
204
409
 
205
410
  export const DeviceModelToTypes: { [deviceModel in IDeviceModel]: IDeviceType[] } = {
206
411
  model_mini: [
@@ -210,6 +415,7 @@ export const DeviceModelToTypes: { [deviceModel in IDeviceModel]: IDeviceType[]
210
415
  EDeviceType.Mini,
211
416
  ],
212
417
  model_touch: [EDeviceType.Touch, EDeviceType.Pro],
418
+ model_pro2: [EDeviceType.Pro2, EDeviceType.Neo],
213
419
  model_classic: [EDeviceType.Classic, EDeviceType.Classic1s, EDeviceType.ClassicPure],
214
420
  model_classic1s: [EDeviceType.Classic1s, EDeviceType.ClassicPure],
215
421
  };
@@ -221,7 +427,8 @@ export const DeviceTypeToModels: { [deviceType in IDeviceType]: IDeviceModel[] }
221
427
  [EDeviceType.Mini]: ['model_mini'],
222
428
  [EDeviceType.Touch]: ['model_touch'],
223
429
  [EDeviceType.Pro]: ['model_touch'],
224
- [EDeviceType.Pro2]: [],
430
+ [EDeviceType.Pro2]: ['model_pro2'],
431
+ [EDeviceType.Neo]: ['model_pro2'],
225
432
  [EDeviceType.Unknown]: [],
226
433
  };
227
434
 
@@ -234,7 +441,6 @@ export type ITransportStatus = 'valid' | 'outdated';
234
441
  export type IVersionRange = {
235
442
  min: string;
236
443
  max?: string;
237
- unsupported?: boolean;
238
444
  };
239
445
 
240
446
  export type DeviceFirmwareRange = {
@@ -15,7 +15,7 @@ export interface CommonParams {
15
15
  */
16
16
  timeout?: number;
17
17
  /**
18
- * Protocol V2 初始化阶段 DeviceInfoGet 超时时间
18
+ * DeviceInfoGet timeout during Protocol V2 initialization.
19
19
  */
20
20
  protocolV2DeviceInfoTimeoutMs?: number;
21
21
  /**
@@ -60,9 +60,16 @@ export interface CommonParams {
60
60
  usePreInitialize?: boolean;
61
61
 
62
62
  /**
63
- * Expected transport protocol. If omitted, SDK probes Protocol V1 then Protocol V2.
63
+ * Strictly expected transport protocol. The SDK actively verifies this value and
64
+ * rejects a mismatch. After a successful probe, the cached protocol is also strict.
64
65
  */
65
66
  connectProtocol?: HardwareConnectProtocol;
67
+
68
+ /**
69
+ * Ignore a previously bound protocol for this call and actively detect the
70
+ * protocol again. Intended for the first verified connection or explicit recovery.
71
+ */
72
+ forceProtocolDetection?: boolean;
66
73
  }
67
74
 
68
75
  export type Params<T> = CommonParams & T & { bundle?: undefined };
@@ -31,6 +31,8 @@ export type ConnectSettings = {
31
31
  timestamp: number;
32
32
  isFrame?: boolean;
33
33
  preRelease?: boolean;
34
+ firmwareManifestMode?: 'sdk-managed' | 'external-only';
35
+ preloadedConfig?: RemoteConfigResponse;
34
36
  fetchConfig?: boolean;
35
37
  extension?: string;
36
38
  configFetcher?: (url: string) => Promise<RemoteConfigResponse | null>;
@@ -54,24 +56,37 @@ export type IProtocolV2FirmwareComponentTarget =
54
56
  export type IProtocolV2FirmwareComponent = {
55
57
  target: IProtocolV2FirmwareComponentTarget;
56
58
  url: string;
59
+ /** SHA-256 of the complete okpkg, used after downloading the package. */
57
60
  fingerprint?: string;
61
+ /** OKPP payload hash, used to detect same-version package changes. */
62
+ payloadHash?: string;
63
+ expectedSize?: number;
58
64
  version?: IVersionArray;
59
65
  };
60
66
 
61
- /** Pro2 RESC bundle okpkg 描述,用于 FileWrite 直写方式增量同步资源 */
62
- export type IProtocolV2ResourceBundle = {
63
- /** bundle 名称,如 images / animation / translations / fonts_roobert */
64
- name: string;
65
- /** 下载 URL */
66
- url: string;
67
- /** 设备上的目标路径,如 vol0:/bundles/images/images.okpkg */
68
- devicePath: string;
69
- /** okpkg container 的 payload_version(用于 FileRead 比对跳过) */
70
- version?: IVersionArray;
71
- /** okpkg container payload_hash(SHA3-512,用于 FileRead 比对) */
72
- payloadHash?: string;
73
- /** okpkg container 的 header_hash(SHA3-512,用于 FileRead 比对) */
74
- headerHash?: string;
67
+ export type IProtocolV2ResourceSource = {
68
+ archiveUrl: string;
69
+ archiveSha256: string;
70
+ archiveSize: number;
71
+ };
72
+
73
+ export type IProtocolV2Resources = {
74
+ source: IProtocolV2ResourceSource;
75
+ };
76
+
77
+ export type IProtocolV2ResourceManifestFile = {
78
+ archive_path: string;
79
+ original_name?: string;
80
+ device_path: string;
81
+ size: number;
82
+ sha256: string;
83
+ signed?: boolean;
84
+ sig_algo?: string;
85
+ payload_version?: string | null;
86
+ };
87
+
88
+ export type IProtocolV2ResourceManifest = {
89
+ files: IProtocolV2ResourceManifestFile[];
75
90
  };
76
91
 
77
92
  /** STM32 firmware config */
@@ -85,22 +100,27 @@ export type IFirmwareReleaseInfo = {
85
100
  firmwareType?: EFirmwareType;
86
101
  /** Firmware UI resource */
87
102
  resource?: string;
103
+ resourceFingerprint?: string;
104
+ resourceExpectedSize?: number;
88
105
  /** Firmware full UI resource */
89
106
  fullResource?: string;
107
+ fullResourceFingerprint?: string;
108
+ fullResourceExpectedSize?: number;
90
109
  fullResourceRange?: string[];
91
110
  bootloaderResource?: string;
111
+ bootloaderFingerprint?: string;
112
+ bootloaderExpectedSize?: number;
92
113
  bootloaderVersion?: IVersionArray;
93
114
  displayBootloaderVersion?: IVersionArray;
94
115
  bootloaderRelatedFirmwareVersion?: IVersionArray;
95
116
  upgradeType?: 'payload-package-set' | string;
96
117
  components?: Record<string, IProtocolV2FirmwareComponent>;
97
118
  installOrder?: string[];
98
- /** Pro2 RESC bundle 列表(FileWrite 直写增量同步模式) */
99
- resourceBundles?: IProtocolV2ResourceBundle[];
100
119
  bootloaderChangelog?: {
101
120
  [k in ILocale]: string;
102
121
  };
103
122
  fingerprint: string;
123
+ expectedSize?: number;
104
124
  version: IVersionArray;
105
125
  changelog: {
106
126
  [k in ILocale]: string;
@@ -116,6 +136,7 @@ export type IBLEFirmwareReleaseInfo = {
116
136
  webUpdate: string;
117
137
  fingerprint: string;
118
138
  fingerprintWeb: string;
139
+ expectedSize?: number;
119
140
  version: IVersionArray;
120
141
  changelog: {
121
142
  [k in ILocale]: string;
@@ -123,17 +144,23 @@ export type IBLEFirmwareReleaseInfo = {
123
144
  };
124
145
 
125
146
  type IKnownDevice = Exclude<IDeviceType, 'unknown'>;
147
+ type IDeviceReleaseInfo = {
148
+ firmware?: IFirmwareReleaseInfo[];
149
+ /** Protocol V2 payload package set */
150
+ 'firmware-v1'?: IFirmwareReleaseInfo[];
151
+ 'firmware-v2'?: IFirmwareReleaseInfo[];
152
+ 'firmware-v8'?: IFirmwareReleaseInfo[];
153
+ 'firmware-btc-v8'?: IFirmwareReleaseInfo[];
154
+ ble?: IBLEFirmwareReleaseInfo[];
155
+ /** Independent Protocol V2 resource release configuration. */
156
+ resources?: IProtocolV2Resources;
157
+ };
126
158
 
127
159
  export type DeviceTypeMap = {
128
- [k in IKnownDevice]: {
129
- firmware: IFirmwareReleaseInfo[];
130
- /** Pro2 Protocol V2 payload package set */
131
- 'firmware-v1'?: IFirmwareReleaseInfo[];
132
- 'firmware-v2'?: IFirmwareReleaseInfo[];
133
- 'firmware-v8'?: IFirmwareReleaseInfo[];
134
- 'firmware-btc-v8'?: IFirmwareReleaseInfo[];
135
- ble: IBLEFirmwareReleaseInfo[];
136
- };
160
+ [k in Exclude<IKnownDevice, 'neo'>]: IDeviceReleaseInfo;
161
+ } & {
162
+ /** Optional until every remote-config producer publishes a Neo entry. */
163
+ neo?: IDeviceReleaseInfo;
137
164
  };
138
165
 
139
166
  export type AssetsMap = {
@@ -1,5 +1,8 @@
1
1
  import { httpRequest as browserHttpRequest } from './networkUtils';
2
2
 
3
- export const httpRequest = (url: string, type: string): any => browserHttpRequest(url, type);
3
+ import type { HttpRequestOptions } from './networkUtils';
4
+
5
+ export const httpRequest = (url: string, type: string, options?: HttpRequestOptions): any =>
6
+ browserHttpRequest(url, type, options);
4
7
 
5
8
  export const getTimeStamp = () => new Date().getTime();
@@ -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
+ };