@onekeyfe/hd-core 1.2.0-alpha.3 → 1.2.0-alpha.30

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 (745) hide show
  1. package/__tests__/AllNetworkGetAddressBase.tracing.test.ts +77 -0
  2. package/__tests__/DeviceCommands.test.ts +433 -0
  3. package/__tests__/DeviceEventRegistration.test.ts +43 -0
  4. package/__tests__/chain-params-onekey-compatibility.test.ts +229 -0
  5. package/__tests__/connectSettings.test.ts +61 -0
  6. package/__tests__/core-dispose.test.ts +34 -0
  7. package/__tests__/core-error-output.test.ts +39 -0
  8. package/__tests__/device-features-state.test.ts +78 -0
  9. package/__tests__/device-identity.test.ts +52 -0
  10. package/__tests__/device-lifecycle-events.test.ts +197 -0
  11. package/__tests__/device-pool-state.test.ts +132 -0
  12. package/__tests__/device-settings.test.ts +391 -0
  13. package/__tests__/device-state-contract.test.ts +27 -0
  14. package/__tests__/device-state-events.test.ts +286 -0
  15. package/__tests__/device-state-mapper.test.ts +241 -0
  16. package/__tests__/device-state-projector.test.ts +94 -0
  17. package/__tests__/device-state-store.test.ts +82 -0
  18. package/__tests__/device-utils.test.ts +106 -0
  19. package/__tests__/device-wallet-session-store.test.ts +358 -0
  20. package/__tests__/deviceFeaturesUtils.test.ts +39 -0
  21. package/__tests__/deviceSettings.test.ts +103 -0
  22. package/__tests__/evmLedgerLegacySafety.test.ts +12 -6
  23. package/__tests__/evmSignTypedData.test.ts +80 -0
  24. package/__tests__/filesystemValidation.test.ts +53 -0
  25. package/__tests__/firmware-update/check-all-firmware-release.test.ts +174 -0
  26. package/__tests__/firmware-update/firmware-artifact-source.test.ts +119 -0
  27. package/__tests__/firmware-update/firmware-host-binding.test.ts +70 -0
  28. package/__tests__/firmware-update/firmware-preparation-error.test.ts +27 -0
  29. package/__tests__/firmware-update/firmware-update-capabilities.test.ts +13 -0
  30. package/__tests__/firmware-update/firmware-update-plan.test.ts +593 -0
  31. package/__tests__/firmware-update/firmware-update-prepared-plan.test.ts +213 -0
  32. package/__tests__/firmware-update/firmware-update-v2-download-before-boot.test.ts +430 -0
  33. package/__tests__/firmware-update/firmware-upload-source.test.ts +70 -0
  34. package/__tests__/get-device-state.test.ts +410 -0
  35. package/__tests__/homescreen.test.ts +24 -0
  36. package/__tests__/kaspa-public-types.type-test.ts +16 -0
  37. package/__tests__/kaspa-use-tweak-pro2.test.ts +20 -0
  38. package/__tests__/kaspaSignTransaction.test.ts +592 -0
  39. package/__tests__/logBlockEvent.test.ts +43 -0
  40. package/__tests__/method-protocol-support.test.ts +113 -0
  41. package/__tests__/networkUtils.test.ts +386 -0
  42. package/__tests__/open-wallet-session-error-response.test.ts +43 -0
  43. package/__tests__/open-wallet-session.test.ts +915 -0
  44. package/__tests__/preInitialize.test.ts +33 -0
  45. package/__tests__/pro2Wallpaper.test.ts +39 -0
  46. package/__tests__/protocol-v2-bootloader-mode.test.ts +37 -0
  47. package/__tests__/protocol-v2-firmware-targets.test.ts +19 -0
  48. package/__tests__/protocol-v2-ping.test.ts +28 -0
  49. package/__tests__/protocol-v2-unlock-policy.test.ts +45 -0
  50. package/__tests__/protocol-v2.test.ts +5310 -1856
  51. package/__tests__/protocolV2FileWrite.test.ts +92 -0
  52. package/__tests__/protocolV2UiInteraction.test.ts +266 -0
  53. package/__tests__/public-device-state-api.test.ts +266 -0
  54. package/__tests__/public-pro2-api-boundary.test.ts +106 -0
  55. package/__tests__/refresh-device-state.test.ts +101 -0
  56. package/__tests__/request-context-logging.test.ts +16 -0
  57. package/__tests__/search-devices.test.ts +136 -0
  58. package/__tests__/tron-sign-message-init.test.ts +74 -0
  59. package/dist/api/BaseMethod.d.ts +14 -1
  60. package/dist/api/BaseMethod.d.ts.map +1 -1
  61. package/dist/api/CheckAllFirmwareRelease.d.ts.map +1 -1
  62. package/dist/api/CheckBootloaderRelease.d.ts.map +1 -1
  63. package/dist/api/CheckFirmwareRelease.d.ts.map +1 -1
  64. package/dist/api/CipherKeyValue.d.ts +1 -0
  65. package/dist/api/CipherKeyValue.d.ts.map +1 -1
  66. package/dist/api/ClearSessionCache.d.ts +9 -0
  67. package/dist/api/ClearSessionCache.d.ts.map +1 -0
  68. package/dist/api/DirList.d.ts +1 -0
  69. package/dist/api/DirList.d.ts.map +1 -1
  70. package/dist/api/DirMake.d.ts +1 -0
  71. package/dist/api/DirMake.d.ts.map +1 -1
  72. package/dist/api/DirRemove.d.ts +1 -0
  73. package/dist/api/DirRemove.d.ts.map +1 -1
  74. package/dist/api/FileDelete.d.ts +1 -0
  75. package/dist/api/FileDelete.d.ts.map +1 -1
  76. package/dist/api/FileRead.d.ts +1 -0
  77. package/dist/api/FileRead.d.ts.map +1 -1
  78. package/dist/api/FileWrite.d.ts +2 -0
  79. package/dist/api/FileWrite.d.ts.map +1 -1
  80. package/dist/api/FirmwareUpdate.d.ts.map +1 -1
  81. package/dist/api/FirmwareUpdateV2.d.ts +13 -2
  82. package/dist/api/FirmwareUpdateV2.d.ts.map +1 -1
  83. package/dist/api/FirmwareUpdateV3.d.ts +7 -3
  84. package/dist/api/FirmwareUpdateV3.d.ts.map +1 -1
  85. package/dist/api/FirmwareUpdateV4.d.ts +47 -6
  86. package/dist/api/FirmwareUpdateV4.d.ts.map +1 -1
  87. package/dist/api/GetDeviceState.d.ts +8 -0
  88. package/dist/api/GetDeviceState.d.ts.map +1 -0
  89. package/dist/api/GetFeatures.d.ts +1 -1
  90. package/dist/api/GetFeatures.d.ts.map +1 -1
  91. package/dist/api/GetOnekeyFeatures.d.ts.map +1 -1
  92. package/dist/api/GetPassphraseState.d.ts +2 -6
  93. package/dist/api/GetPassphraseState.d.ts.map +1 -1
  94. package/dist/api/OpenWalletSession.d.ts +8 -0
  95. package/dist/api/OpenWalletSession.d.ts.map +1 -0
  96. package/dist/api/PathInfo.d.ts +1 -0
  97. package/dist/api/PathInfo.d.ts.map +1 -1
  98. package/dist/api/PromptWebDeviceAccess.d.ts.map +1 -1
  99. package/dist/api/SearchDevices.d.ts +3 -0
  100. package/dist/api/SearchDevices.d.ts.map +1 -1
  101. package/dist/api/UploadPortfolio.d.ts +17 -0
  102. package/dist/api/UploadPortfolio.d.ts.map +1 -0
  103. package/dist/api/alephium/AlephiumGetAddress.d.ts.map +1 -1
  104. package/dist/api/alephium/AlephiumSignMessage.d.ts.map +1 -1
  105. package/dist/api/alephium/AlephiumSignTransaction.d.ts.map +1 -1
  106. package/dist/api/algo/AlgoGetAddress.d.ts +1 -0
  107. package/dist/api/algo/AlgoGetAddress.d.ts.map +1 -1
  108. package/dist/api/algo/AlgoSignTransaction.d.ts +1 -0
  109. package/dist/api/algo/AlgoSignTransaction.d.ts.map +1 -1
  110. package/dist/api/allnetwork/AllNetworkGetAddressBase.d.ts +1 -0
  111. package/dist/api/allnetwork/AllNetworkGetAddressBase.d.ts.map +1 -1
  112. package/dist/api/aptos/AptosGetAddress.d.ts +1 -0
  113. package/dist/api/aptos/AptosGetAddress.d.ts.map +1 -1
  114. package/dist/api/aptos/AptosGetPublicKey.d.ts +1 -0
  115. package/dist/api/aptos/AptosGetPublicKey.d.ts.map +1 -1
  116. package/dist/api/aptos/AptosSignInMessage.d.ts +1 -0
  117. package/dist/api/aptos/AptosSignInMessage.d.ts.map +1 -1
  118. package/dist/api/aptos/AptosSignMessage.d.ts +1 -0
  119. package/dist/api/aptos/AptosSignMessage.d.ts.map +1 -1
  120. package/dist/api/aptos/AptosSignTransaction.d.ts +1 -0
  121. package/dist/api/aptos/AptosSignTransaction.d.ts.map +1 -1
  122. package/dist/api/benfen/BenfenGetAddress.d.ts.map +1 -1
  123. package/dist/api/benfen/BenfenGetPublicKey.d.ts.map +1 -1
  124. package/dist/api/benfen/BenfenSignMessage.d.ts.map +1 -1
  125. package/dist/api/benfen/BenfenSignTransaction.d.ts.map +1 -1
  126. package/dist/api/btc/BTCGetAddress.d.ts +1 -0
  127. package/dist/api/btc/BTCGetAddress.d.ts.map +1 -1
  128. package/dist/api/btc/BTCGetPublicKey.d.ts +1 -0
  129. package/dist/api/btc/BTCGetPublicKey.d.ts.map +1 -1
  130. package/dist/api/btc/BTCSignMessage.d.ts +1 -0
  131. package/dist/api/btc/BTCSignMessage.d.ts.map +1 -1
  132. package/dist/api/btc/BTCSignPsbt.d.ts +1 -0
  133. package/dist/api/btc/BTCSignPsbt.d.ts.map +1 -1
  134. package/dist/api/btc/BTCSignTransaction.d.ts +1 -0
  135. package/dist/api/btc/BTCSignTransaction.d.ts.map +1 -1
  136. package/dist/api/btc/BTCVerifyMessage.d.ts +1 -0
  137. package/dist/api/btc/BTCVerifyMessage.d.ts.map +1 -1
  138. package/dist/api/btc/helpers/versionLimit.d.ts +2 -0
  139. package/dist/api/btc/helpers/versionLimit.d.ts.map +1 -1
  140. package/dist/api/cardano/CardanoGetAddress.d.ts +1 -0
  141. package/dist/api/cardano/CardanoGetAddress.d.ts.map +1 -1
  142. package/dist/api/cardano/CardanoGetPublicKey.d.ts +1 -0
  143. package/dist/api/cardano/CardanoGetPublicKey.d.ts.map +1 -1
  144. package/dist/api/cardano/CardanoSignMessage.d.ts +1 -0
  145. package/dist/api/cardano/CardanoSignMessage.d.ts.map +1 -1
  146. package/dist/api/cardano/CardanoSignTransaction.d.ts +1 -0
  147. package/dist/api/cardano/CardanoSignTransaction.d.ts.map +1 -1
  148. package/dist/api/conflux/ConfluxGetAddress.d.ts +2 -0
  149. package/dist/api/conflux/ConfluxGetAddress.d.ts.map +1 -1
  150. package/dist/api/conflux/ConfluxSignMessage.d.ts +2 -0
  151. package/dist/api/conflux/ConfluxSignMessage.d.ts.map +1 -1
  152. package/dist/api/conflux/ConfluxSignMessageCIP23.d.ts +2 -0
  153. package/dist/api/conflux/ConfluxSignMessageCIP23.d.ts.map +1 -1
  154. package/dist/api/conflux/ConfluxSignTransaction.d.ts +2 -0
  155. package/dist/api/conflux/ConfluxSignTransaction.d.ts.map +1 -1
  156. package/dist/api/cosmos/CosmosGetAddress.d.ts +1 -0
  157. package/dist/api/cosmos/CosmosGetAddress.d.ts.map +1 -1
  158. package/dist/api/cosmos/CosmosGetPublicKey.d.ts +1 -0
  159. package/dist/api/cosmos/CosmosGetPublicKey.d.ts.map +1 -1
  160. package/dist/api/cosmos/CosmosSignTransaction.d.ts +1 -0
  161. package/dist/api/cosmos/CosmosSignTransaction.d.ts.map +1 -1
  162. package/dist/api/device/DeviceCancel.d.ts +1 -0
  163. package/dist/api/device/DeviceCancel.d.ts.map +1 -1
  164. package/dist/api/device/DeviceChangePin.d.ts +1 -0
  165. package/dist/api/device/DeviceChangePin.d.ts.map +1 -1
  166. package/dist/api/device/DeviceFullyUploadResource.d.ts +1 -2
  167. package/dist/api/device/DeviceFullyUploadResource.d.ts.map +1 -1
  168. package/dist/api/device/DeviceLock.d.ts +1 -0
  169. package/dist/api/device/DeviceLock.d.ts.map +1 -1
  170. package/dist/api/device/DeviceRebootToBoardloader.d.ts +1 -0
  171. package/dist/api/device/DeviceRebootToBoardloader.d.ts.map +1 -1
  172. package/dist/api/device/DeviceRebootToBootloader.d.ts +1 -0
  173. package/dist/api/device/DeviceRebootToBootloader.d.ts.map +1 -1
  174. package/dist/api/device/DeviceSettings.d.ts +1 -0
  175. package/dist/api/device/DeviceSettings.d.ts.map +1 -1
  176. package/dist/api/device/DeviceSupportFeatures.d.ts +1 -0
  177. package/dist/api/device/DeviceSupportFeatures.d.ts.map +1 -1
  178. package/dist/api/device/DeviceUnlock.d.ts +1 -0
  179. package/dist/api/device/DeviceUnlock.d.ts.map +1 -1
  180. package/dist/api/device/DeviceUpdateBootloader.d.ts +5 -1
  181. package/dist/api/device/DeviceUpdateBootloader.d.ts.map +1 -1
  182. package/dist/api/device/DeviceWipe.d.ts +1 -0
  183. package/dist/api/device/DeviceWipe.d.ts.map +1 -1
  184. package/dist/api/device/PreInitialize.d.ts +1 -0
  185. package/dist/api/device/PreInitialize.d.ts.map +1 -1
  186. package/dist/api/dynex/DnxGetAddress.d.ts.map +1 -1
  187. package/dist/api/dynex/DnxSignTransaction.d.ts.map +1 -1
  188. package/dist/api/evm/EVMGetAddress.d.ts +1 -0
  189. package/dist/api/evm/EVMGetAddress.d.ts.map +1 -1
  190. package/dist/api/evm/EVMGetPublicKey.d.ts +1 -0
  191. package/dist/api/evm/EVMGetPublicKey.d.ts.map +1 -1
  192. package/dist/api/evm/EVMSignMessage.d.ts +1 -0
  193. package/dist/api/evm/EVMSignMessage.d.ts.map +1 -1
  194. package/dist/api/evm/EVMSignMessageEIP712.d.ts.map +1 -1
  195. package/dist/api/evm/EVMSignTransaction.d.ts +1 -0
  196. package/dist/api/evm/EVMSignTransaction.d.ts.map +1 -1
  197. package/dist/api/evm/EVMSignTypedData.d.ts +1 -0
  198. package/dist/api/evm/EVMSignTypedData.d.ts.map +1 -1
  199. package/dist/api/evm/EVMVerifyMessage.d.ts +1 -0
  200. package/dist/api/evm/EVMVerifyMessage.d.ts.map +1 -1
  201. package/dist/api/filecoin/FilecoinGetAddress.d.ts +1 -0
  202. package/dist/api/filecoin/FilecoinGetAddress.d.ts.map +1 -1
  203. package/dist/api/filecoin/FilecoinSignTransaction.d.ts +1 -0
  204. package/dist/api/filecoin/FilecoinSignTransaction.d.ts.map +1 -1
  205. package/dist/api/firmware/FirmwareArtifactSource.d.ts +25 -0
  206. package/dist/api/firmware/FirmwareArtifactSource.d.ts.map +1 -0
  207. package/dist/api/firmware/FirmwareHostBinding.d.ts +6 -0
  208. package/dist/api/firmware/FirmwareHostBinding.d.ts.map +1 -0
  209. package/dist/api/firmware/FirmwarePreparationError.d.ts +3 -0
  210. package/dist/api/firmware/FirmwarePreparationError.d.ts.map +1 -0
  211. package/dist/api/firmware/FirmwareUpdateBaseMethod.d.ts +8 -0
  212. package/dist/api/firmware/FirmwareUpdateBaseMethod.d.ts.map +1 -1
  213. package/dist/api/firmware/FirmwareUpdateCapabilities.d.ts +3 -0
  214. package/dist/api/firmware/FirmwareUpdateCapabilities.d.ts.map +1 -0
  215. package/dist/api/firmware/FirmwareUpdatePlan.d.ts +25 -0
  216. package/dist/api/firmware/FirmwareUpdatePlan.d.ts.map +1 -0
  217. package/dist/api/firmware/FirmwareUpdatePreparedPlan.d.ts +30 -0
  218. package/dist/api/firmware/FirmwareUpdatePreparedPlan.d.ts.map +1 -0
  219. package/dist/api/firmware/getBinary.d.ts +18 -3
  220. package/dist/api/firmware/getBinary.d.ts.map +1 -1
  221. package/dist/api/firmware/progressThrottle.d.ts +3 -0
  222. package/dist/api/firmware/progressThrottle.d.ts.map +1 -0
  223. package/dist/api/firmware/updateBootloader.d.ts +2 -0
  224. package/dist/api/firmware/updateBootloader.d.ts.map +1 -1
  225. package/dist/api/firmware/uploadFirmware.d.ts +9 -1
  226. package/dist/api/firmware/uploadFirmware.d.ts.map +1 -1
  227. package/dist/api/helpers/filesystemValidation.d.ts +3 -0
  228. package/dist/api/helpers/filesystemValidation.d.ts.map +1 -1
  229. package/dist/api/helpers/paramsValidator.d.ts +1 -0
  230. package/dist/api/helpers/paramsValidator.d.ts.map +1 -1
  231. package/dist/api/helpers/protocolV2FileWrite.d.ts +33 -0
  232. package/dist/api/helpers/protocolV2FileWrite.d.ts.map +1 -0
  233. package/dist/api/index.d.ts +6 -29
  234. package/dist/api/index.d.ts.map +1 -1
  235. package/dist/api/kaspa/KaspaGetAddress.d.ts +4 -0
  236. package/dist/api/kaspa/KaspaGetAddress.d.ts.map +1 -1
  237. package/dist/api/kaspa/KaspaSignTransaction.d.ts +9 -1
  238. package/dist/api/kaspa/KaspaSignTransaction.d.ts.map +1 -1
  239. package/dist/api/kaspa/helpers/TransferSerialize.d.ts.map +1 -1
  240. package/dist/api/lightning/LnurlAuth.d.ts +0 -4
  241. package/dist/api/lightning/LnurlAuth.d.ts.map +1 -1
  242. package/dist/api/near/NearGetAddress.d.ts +1 -0
  243. package/dist/api/near/NearGetAddress.d.ts.map +1 -1
  244. package/dist/api/near/NearSignTransaction.d.ts +1 -0
  245. package/dist/api/near/NearSignTransaction.d.ts.map +1 -1
  246. package/dist/api/nem/NEMGetAddress.d.ts +1 -0
  247. package/dist/api/nem/NEMGetAddress.d.ts.map +1 -1
  248. package/dist/api/nem/NEMSignTransaction.d.ts +1 -0
  249. package/dist/api/nem/NEMSignTransaction.d.ts.map +1 -1
  250. package/dist/api/neo/NeoGetAddress.d.ts.map +1 -1
  251. package/dist/api/neo/NeoSignTransaction.d.ts.map +1 -1
  252. package/dist/api/nervos/NervosGetAddress.d.ts.map +1 -1
  253. package/dist/api/nervos/NervosSignTransaction.d.ts.map +1 -1
  254. package/dist/api/nexa/NexaGetAddress.d.ts.map +1 -1
  255. package/dist/api/nexa/NexaSignTransaction.d.ts +1 -0
  256. package/dist/api/nexa/NexaSignTransaction.d.ts.map +1 -1
  257. package/dist/api/nostr/NostrDecryptMessage.d.ts +1 -0
  258. package/dist/api/nostr/NostrDecryptMessage.d.ts.map +1 -1
  259. package/dist/api/nostr/NostrEncryptMessage.d.ts +1 -0
  260. package/dist/api/nostr/NostrEncryptMessage.d.ts.map +1 -1
  261. package/dist/api/nostr/NostrGetPublicKey.d.ts +1 -0
  262. package/dist/api/nostr/NostrGetPublicKey.d.ts.map +1 -1
  263. package/dist/api/nostr/NostrSignEvent.d.ts +1 -0
  264. package/dist/api/nostr/NostrSignEvent.d.ts.map +1 -1
  265. package/dist/api/nostr/NostrSignSchnorr.d.ts +1 -0
  266. package/dist/api/nostr/NostrSignSchnorr.d.ts.map +1 -1
  267. package/dist/api/polkadot/PolkadotGetAddress.d.ts +1 -0
  268. package/dist/api/polkadot/PolkadotGetAddress.d.ts.map +1 -1
  269. package/dist/api/polkadot/PolkadotSignTransaction.d.ts +1 -0
  270. package/dist/api/polkadot/PolkadotSignTransaction.d.ts.map +1 -1
  271. package/dist/api/protocol-v2/DeviceFactoryInfoGet.d.ts +7 -0
  272. package/dist/api/protocol-v2/DeviceFactoryInfoGet.d.ts.map +1 -0
  273. package/dist/api/protocol-v2/DeviceFactoryInfoSet.d.ts +8 -0
  274. package/dist/api/protocol-v2/DeviceFactoryInfoSet.d.ts.map +1 -0
  275. package/dist/api/protocol-v2/DeviceFirmwareUpdate.d.ts +2 -1
  276. package/dist/api/protocol-v2/DeviceFirmwareUpdate.d.ts.map +1 -1
  277. package/dist/api/protocol-v2/DeviceGetFirmwareUpdateStatus.d.ts +4 -2
  278. package/dist/api/protocol-v2/DeviceGetFirmwareUpdateStatus.d.ts.map +1 -1
  279. package/dist/api/protocol-v2/DeviceGetOnboardingStatus.d.ts +2 -1
  280. package/dist/api/protocol-v2/DeviceGetOnboardingStatus.d.ts.map +1 -1
  281. package/dist/api/protocol-v2/DeviceInfoGet.d.ts +29 -0
  282. package/dist/api/protocol-v2/DeviceInfoGet.d.ts.map +1 -0
  283. package/dist/api/protocol-v2/DeviceReboot.d.ts +1 -0
  284. package/dist/api/protocol-v2/DeviceReboot.d.ts.map +1 -1
  285. package/dist/api/protocol-v2/DeviceStatusGet.d.ts +7 -0
  286. package/dist/api/protocol-v2/DeviceStatusGet.d.ts.map +1 -0
  287. package/dist/api/protocol-v2/DeviceUploadWallpaper.d.ts +27 -0
  288. package/dist/api/protocol-v2/DeviceUploadWallpaper.d.ts.map +1 -0
  289. package/dist/api/protocol-v2/FilesystemFormat.d.ts +1 -0
  290. package/dist/api/protocol-v2/FilesystemFormat.d.ts.map +1 -1
  291. package/dist/api/protocol-v2/FilesystemPermissionFix.d.ts +7 -0
  292. package/dist/api/protocol-v2/FilesystemPermissionFix.d.ts.map +1 -0
  293. package/dist/api/protocol-v2/Ping.d.ts +3 -0
  294. package/dist/api/protocol-v2/Ping.d.ts.map +1 -1
  295. package/dist/api/protocol-v2/ProtocolInfoRequest.d.ts +7 -0
  296. package/dist/api/protocol-v2/ProtocolInfoRequest.d.ts.map +1 -0
  297. package/dist/api/protocol-v2/helpers.d.ts +27 -18
  298. package/dist/api/protocol-v2/helpers.d.ts.map +1 -1
  299. package/dist/api/scdo/ScdoGetAddress.d.ts.map +1 -1
  300. package/dist/api/scdo/ScdoSignMessage.d.ts.map +1 -1
  301. package/dist/api/scdo/ScdoSignTransaction.d.ts.map +1 -1
  302. package/dist/api/solana/SolGetAddress.d.ts +1 -0
  303. package/dist/api/solana/SolGetAddress.d.ts.map +1 -1
  304. package/dist/api/solana/SolSignMessage.d.ts +1 -0
  305. package/dist/api/solana/SolSignMessage.d.ts.map +1 -1
  306. package/dist/api/solana/SolSignOffchainMessage.d.ts +1 -0
  307. package/dist/api/solana/SolSignOffchainMessage.d.ts.map +1 -1
  308. package/dist/api/solana/SolSignTransaction.d.ts +1 -0
  309. package/dist/api/solana/SolSignTransaction.d.ts.map +1 -1
  310. package/dist/api/starcoin/StarcoinGetAddress.d.ts +1 -0
  311. package/dist/api/starcoin/StarcoinGetAddress.d.ts.map +1 -1
  312. package/dist/api/starcoin/StarcoinGetPublicKey.d.ts +1 -0
  313. package/dist/api/starcoin/StarcoinGetPublicKey.d.ts.map +1 -1
  314. package/dist/api/starcoin/StarcoinSignMessage.d.ts +1 -0
  315. package/dist/api/starcoin/StarcoinSignMessage.d.ts.map +1 -1
  316. package/dist/api/starcoin/StarcoinSignTransaction.d.ts +1 -0
  317. package/dist/api/starcoin/StarcoinSignTransaction.d.ts.map +1 -1
  318. package/dist/api/starcoin/StarcoinVerifyMessage.d.ts +1 -0
  319. package/dist/api/starcoin/StarcoinVerifyMessage.d.ts.map +1 -1
  320. package/dist/api/stellar/StellarGetAddress.d.ts +1 -2
  321. package/dist/api/stellar/StellarGetAddress.d.ts.map +1 -1
  322. package/dist/api/stellar/StellarSignTransaction.d.ts +2 -3
  323. package/dist/api/stellar/StellarSignTransaction.d.ts.map +1 -1
  324. package/dist/api/sui/SuiGetAddress.d.ts +1 -0
  325. package/dist/api/sui/SuiGetAddress.d.ts.map +1 -1
  326. package/dist/api/sui/SuiGetPublicKey.d.ts +1 -0
  327. package/dist/api/sui/SuiGetPublicKey.d.ts.map +1 -1
  328. package/dist/api/sui/SuiSignMessage.d.ts +1 -0
  329. package/dist/api/sui/SuiSignMessage.d.ts.map +1 -1
  330. package/dist/api/sui/SuiSignTransaction.d.ts +1 -0
  331. package/dist/api/sui/SuiSignTransaction.d.ts.map +1 -1
  332. package/dist/api/ton/TonGetAddress.d.ts +1 -0
  333. package/dist/api/ton/TonGetAddress.d.ts.map +1 -1
  334. package/dist/api/ton/TonSignData.d.ts +2 -5
  335. package/dist/api/ton/TonSignData.d.ts.map +1 -1
  336. package/dist/api/ton/TonSignMessage.d.ts +1 -0
  337. package/dist/api/ton/TonSignMessage.d.ts.map +1 -1
  338. package/dist/api/ton/TonSignProof.d.ts +1 -0
  339. package/dist/api/ton/TonSignProof.d.ts.map +1 -1
  340. package/dist/api/tron/TronGetAddress.d.ts +1 -0
  341. package/dist/api/tron/TronGetAddress.d.ts.map +1 -1
  342. package/dist/api/tron/TronSignMessage.d.ts +5 -0
  343. package/dist/api/tron/TronSignMessage.d.ts.map +1 -1
  344. package/dist/api/tron/TronSignTransaction.d.ts +1 -0
  345. package/dist/api/tron/TronSignTransaction.d.ts.map +1 -1
  346. package/dist/api/utils.d.ts +2 -1
  347. package/dist/api/utils.d.ts.map +1 -1
  348. package/dist/api/xrp/XrpGetAddress.d.ts +1 -0
  349. package/dist/api/xrp/XrpGetAddress.d.ts.map +1 -1
  350. package/dist/api/xrp/XrpSignTransaction.d.ts +1 -0
  351. package/dist/api/xrp/XrpSignTransaction.d.ts.map +1 -1
  352. package/dist/constants/index.d.ts +1 -1
  353. package/dist/constants/index.d.ts.map +1 -1
  354. package/dist/core/RequestQueue.d.ts.map +1 -1
  355. package/dist/core/deviceEventRegistration.d.ts +11 -0
  356. package/dist/core/deviceEventRegistration.d.ts.map +1 -0
  357. package/dist/core/index.d.ts +3 -1
  358. package/dist/core/index.d.ts.map +1 -1
  359. package/dist/data-manager/DataManager.d.ts +2 -1
  360. package/dist/data-manager/DataManager.d.ts.map +1 -1
  361. package/dist/data-manager/connectSettings.d.ts.map +1 -1
  362. package/dist/device/Device.d.ts +40 -13
  363. package/dist/device/Device.d.ts.map +1 -1
  364. package/dist/device/DeviceCommands.d.ts +8 -6
  365. package/dist/device/DeviceCommands.d.ts.map +1 -1
  366. package/dist/device/DeviceFeaturesState.d.ts +3 -0
  367. package/dist/device/DeviceFeaturesState.d.ts.map +1 -0
  368. package/dist/device/DevicePool.d.ts +4 -2
  369. package/dist/device/DevicePool.d.ts.map +1 -1
  370. package/dist/device/DeviceStateMapper.d.ts +13 -0
  371. package/dist/device/DeviceStateMapper.d.ts.map +1 -0
  372. package/dist/device/DeviceStateProjector.d.ts +7 -0
  373. package/dist/device/DeviceStateProjector.d.ts.map +1 -0
  374. package/dist/device/DeviceStateStore.d.ts +21 -0
  375. package/dist/device/DeviceStateStore.d.ts.map +1 -0
  376. package/dist/device/DeviceWalletSessionStore.d.ts +20 -0
  377. package/dist/device/DeviceWalletSessionStore.d.ts.map +1 -0
  378. package/dist/device/cloneDeviceState.d.ts +2 -0
  379. package/dist/device/cloneDeviceState.d.ts.map +1 -0
  380. package/dist/device/deviceIdentity.d.ts +5 -0
  381. package/dist/device/deviceIdentity.d.ts.map +1 -0
  382. package/dist/deviceProfile/buildDeviceFeatures.d.ts +9 -3
  383. package/dist/deviceProfile/buildDeviceFeatures.d.ts.map +1 -1
  384. package/dist/deviceProfile/index.d.ts +0 -1
  385. package/dist/deviceProfile/index.d.ts.map +1 -1
  386. package/dist/events/device.d.ts +12 -2
  387. package/dist/events/device.d.ts.map +1 -1
  388. package/dist/events/logBlockEvent.d.ts.map +1 -1
  389. package/dist/events/ui-request.d.ts +19 -2
  390. package/dist/events/ui-request.d.ts.map +1 -1
  391. package/dist/index.d.ts +1487 -691
  392. package/dist/index.d.ts.map +1 -1
  393. package/dist/index.js +8828 -4013
  394. package/dist/inject.d.ts.map +1 -1
  395. package/dist/lowLevelInject.d.ts.map +1 -1
  396. package/dist/protocols/protocol-v2/deviceSession.d.ts +7 -0
  397. package/dist/protocols/protocol-v2/deviceSession.d.ts.map +1 -0
  398. package/dist/protocols/protocol-v2/features.d.ts +23 -28
  399. package/dist/protocols/protocol-v2/features.d.ts.map +1 -1
  400. package/dist/protocols/protocol-v2/firmware.d.ts +11 -9
  401. package/dist/protocols/protocol-v2/firmware.d.ts.map +1 -1
  402. package/dist/protocols/protocol-v2/index.d.ts +3 -2
  403. package/dist/protocols/protocol-v2/index.d.ts.map +1 -1
  404. package/dist/protocols/protocol-v2/lockedError.d.ts +2 -0
  405. package/dist/protocols/protocol-v2/lockedError.d.ts.map +1 -0
  406. package/dist/protocols/protocol-v2/settingsUnlockPolicy.d.ts +16 -0
  407. package/dist/protocols/protocol-v2/settingsUnlockPolicy.d.ts.map +1 -0
  408. package/dist/protocols/protocol-v2/uiInteraction.d.ts +39 -0
  409. package/dist/protocols/protocol-v2/uiInteraction.d.ts.map +1 -0
  410. package/dist/protocols/protocol-v2/unlockPolicy.d.ts +4 -0
  411. package/dist/protocols/protocol-v2/unlockPolicy.d.ts.map +1 -0
  412. package/dist/protocols/protocol-v2/unlockRetry.d.ts +10 -0
  413. package/dist/protocols/protocol-v2/unlockRetry.d.ts.map +1 -0
  414. package/dist/protocols/protocol-v2/walletSession.d.ts +31 -0
  415. package/dist/protocols/protocol-v2/walletSession.d.ts.map +1 -0
  416. package/dist/topLevelInject.d.ts.map +1 -1
  417. package/dist/types/api/checkAllFirmwareRelease.d.ts +5 -2
  418. package/dist/types/api/checkAllFirmwareRelease.d.ts.map +1 -1
  419. package/dist/types/api/deviceSettings.d.ts +11 -2
  420. package/dist/types/api/deviceSettings.d.ts.map +1 -1
  421. package/dist/types/api/deviceUnlock.d.ts +1 -1
  422. package/dist/types/api/deviceUnlock.d.ts.map +1 -1
  423. package/dist/types/api/deviceUpdateBootloader.d.ts +6 -0
  424. package/dist/types/api/deviceUpdateBootloader.d.ts.map +1 -1
  425. package/dist/types/api/export.d.ts +5 -2
  426. package/dist/types/api/export.d.ts.map +1 -1
  427. package/dist/types/api/firmwareUpdate.d.ts +75 -6
  428. package/dist/types/api/firmwareUpdate.d.ts.map +1 -1
  429. package/dist/types/api/firmwareUpdateCapabilities.d.ts +9 -0
  430. package/dist/types/api/firmwareUpdateCapabilities.d.ts.map +1 -0
  431. package/dist/types/api/firmwareUpdatePlan.d.ts +28 -0
  432. package/dist/types/api/firmwareUpdatePlan.d.ts.map +1 -0
  433. package/dist/types/api/firmwareUpdatePreparedPlan.d.ts +42 -0
  434. package/dist/types/api/firmwareUpdatePreparedPlan.d.ts.map +1 -0
  435. package/dist/types/api/getDeviceState.d.ts +12 -0
  436. package/dist/types/api/getDeviceState.d.ts.map +1 -0
  437. package/dist/types/api/getFeatures.d.ts.map +1 -1
  438. package/dist/types/api/getOnekeyFeatures.d.ts.map +1 -1
  439. package/dist/types/api/getPassphraseState.d.ts +2 -10
  440. package/dist/types/api/getPassphraseState.d.ts.map +1 -1
  441. package/dist/types/api/index.d.ts +25 -35
  442. package/dist/types/api/index.d.ts.map +1 -1
  443. package/dist/types/api/kaspaSignTransaction.d.ts +42 -4
  444. package/dist/types/api/kaspaSignTransaction.d.ts.map +1 -1
  445. package/dist/types/api/openWalletSession.d.ts +29 -0
  446. package/dist/types/api/openWalletSession.d.ts.map +1 -0
  447. package/dist/types/api/protocolV2.d.ts +15 -89
  448. package/dist/types/api/protocolV2.d.ts.map +1 -1
  449. package/dist/types/api/sessionCache.d.ts +13 -0
  450. package/dist/types/api/sessionCache.d.ts.map +1 -0
  451. package/dist/types/device.d.ts +122 -6
  452. package/dist/types/device.d.ts.map +1 -1
  453. package/dist/types/params.d.ts +1 -0
  454. package/dist/types/params.d.ts.map +1 -1
  455. package/dist/types/settings.d.ts +34 -2
  456. package/dist/types/settings.d.ts.map +1 -1
  457. package/dist/utils/assets.d.ts +2 -1
  458. package/dist/utils/assets.d.ts.map +1 -1
  459. package/dist/utils/deviceFeaturesCompat.d.ts +13 -0
  460. package/dist/utils/deviceFeaturesCompat.d.ts.map +1 -0
  461. package/dist/utils/deviceFeaturesUtils.d.ts +11 -3
  462. package/dist/utils/deviceFeaturesUtils.d.ts.map +1 -1
  463. package/dist/utils/deviceInfoUtils.d.ts +9 -9
  464. package/dist/utils/deviceInfoUtils.d.ts.map +1 -1
  465. package/dist/utils/deviceSettings.d.ts +38 -7
  466. package/dist/utils/deviceSettings.d.ts.map +1 -1
  467. package/dist/utils/deviceVersionUtils.d.ts +7 -5
  468. package/dist/utils/deviceVersionUtils.d.ts.map +1 -1
  469. package/dist/utils/homescreen.d.ts.map +1 -1
  470. package/dist/utils/index.d.ts +5 -2
  471. package/dist/utils/index.d.ts.map +1 -1
  472. package/dist/utils/networkUtils.d.ts +9 -1
  473. package/dist/utils/networkUtils.d.ts.map +1 -1
  474. package/dist/utils/patch.d.ts +1 -1
  475. package/dist/utils/patch.d.ts.map +1 -1
  476. package/dist/utils/pro2Wallpaper.d.ts +12 -0
  477. package/dist/utils/pro2Wallpaper.d.ts.map +1 -0
  478. package/dist/utils/tracing.d.ts.map +1 -1
  479. package/package.json +4 -4
  480. package/src/api/BaseMethod.ts +52 -17
  481. package/src/api/CheckAllFirmwareRelease.ts +51 -4
  482. package/src/api/CheckBootloaderRelease.ts +1 -2
  483. package/src/api/CheckFirmwareRelease.ts +1 -2
  484. package/src/api/CipherKeyValue.ts +4 -0
  485. package/src/api/ClearSessionCache.ts +32 -0
  486. package/src/api/DirList.ts +9 -4
  487. package/src/api/DirMake.ts +7 -4
  488. package/src/api/DirRemove.ts +7 -4
  489. package/src/api/FileDelete.ts +7 -4
  490. package/src/api/FileRead.ts +27 -8
  491. package/src/api/FileWrite.ts +26 -168
  492. package/src/api/FirmwareUpdate.ts +11 -12
  493. package/src/api/FirmwareUpdateV2.ts +370 -112
  494. package/src/api/FirmwareUpdateV3.ts +261 -67
  495. package/src/api/FirmwareUpdateV4.ts +1687 -397
  496. package/src/api/GetDeviceState.ts +59 -0
  497. package/src/api/GetFeatures.ts +6 -4
  498. package/src/api/GetOnekeyFeatures.ts +1 -75
  499. package/src/api/GetPassphraseState.ts +21 -21
  500. package/src/api/OpenWalletSession.ts +202 -0
  501. package/src/api/PathInfo.ts +9 -4
  502. package/src/api/PromptWebDeviceAccess.ts +2 -3
  503. package/src/api/SearchDevices.ts +29 -4
  504. package/src/api/UploadPortfolio.ts +40 -0
  505. package/src/api/alephium/AlephiumGetAddress.ts +0 -4
  506. package/src/api/alephium/AlephiumSignMessage.ts +0 -4
  507. package/src/api/alephium/AlephiumSignTransaction.ts +2 -6
  508. package/src/api/algo/AlgoGetAddress.ts +4 -0
  509. package/src/api/algo/AlgoSignTransaction.ts +4 -0
  510. package/src/api/allnetwork/AllNetworkGetAddressBase.ts +9 -21
  511. package/src/api/aptos/AptosGetAddress.ts +4 -0
  512. package/src/api/aptos/AptosGetPublicKey.ts +4 -0
  513. package/src/api/aptos/AptosSignInMessage.ts +4 -0
  514. package/src/api/aptos/AptosSignMessage.ts +4 -0
  515. package/src/api/aptos/AptosSignTransaction.ts +4 -0
  516. package/src/api/benfen/BenfenGetAddress.ts +11 -7
  517. package/src/api/benfen/BenfenGetPublicKey.ts +0 -4
  518. package/src/api/benfen/BenfenSignMessage.ts +0 -4
  519. package/src/api/benfen/BenfenSignTransaction.ts +0 -4
  520. package/src/api/btc/BTCGetAddress.ts +8 -1
  521. package/src/api/btc/BTCGetPublicKey.ts +9 -2
  522. package/src/api/btc/BTCSignMessage.ts +8 -1
  523. package/src/api/btc/BTCSignPsbt.ts +4 -0
  524. package/src/api/btc/BTCSignTransaction.ts +8 -1
  525. package/src/api/btc/BTCVerifyMessage.ts +8 -1
  526. package/src/api/btc/helpers/versionLimit.ts +7 -4
  527. package/src/api/cardano/CardanoGetAddress.ts +4 -0
  528. package/src/api/cardano/CardanoGetPublicKey.ts +4 -0
  529. package/src/api/cardano/CardanoSignMessage.ts +5 -1
  530. package/src/api/cardano/CardanoSignTransaction.ts +5 -1
  531. package/src/api/conflux/ConfluxGetAddress.ts +6 -0
  532. package/src/api/conflux/ConfluxSignMessage.ts +6 -0
  533. package/src/api/conflux/ConfluxSignMessageCIP23.ts +6 -0
  534. package/src/api/conflux/ConfluxSignTransaction.ts +8 -5
  535. package/src/api/cosmos/CosmosGetAddress.ts +4 -0
  536. package/src/api/cosmos/CosmosGetPublicKey.ts +4 -0
  537. package/src/api/cosmos/CosmosSignTransaction.ts +4 -0
  538. package/src/api/device/DeviceCancel.ts +5 -0
  539. package/src/api/device/DeviceChangePin.ts +28 -0
  540. package/src/api/device/DeviceFullyUploadResource.ts +4 -5
  541. package/src/api/device/DeviceLock.ts +5 -0
  542. package/src/api/device/DeviceRebootToBoardloader.ts +9 -4
  543. package/src/api/device/DeviceRebootToBootloader.ts +9 -4
  544. package/src/api/device/DeviceSettings.ts +187 -1
  545. package/src/api/device/DeviceSupportFeatures.ts +4 -0
  546. package/src/api/device/DeviceUnlock.ts +13 -0
  547. package/src/api/device/DeviceUpdateBootloader.ts +123 -8
  548. package/src/api/device/DeviceWipe.ts +25 -0
  549. package/src/api/device/PreInitialize.ts +4 -0
  550. package/src/api/dynex/DnxGetAddress.ts +0 -6
  551. package/src/api/dynex/DnxSignTransaction.ts +0 -6
  552. package/src/api/evm/EVMGetAddress.ts +4 -0
  553. package/src/api/evm/EVMGetPublicKey.ts +4 -0
  554. package/src/api/evm/EVMSignMessage.ts +4 -0
  555. package/src/api/evm/EVMSignMessageEIP712.ts +1 -11
  556. package/src/api/evm/EVMSignTransaction.ts +4 -0
  557. package/src/api/evm/EVMSignTypedData.ts +7 -5
  558. package/src/api/evm/EVMVerifyMessage.ts +4 -0
  559. package/src/api/evm/legacyV1/getAddress.ts +2 -2
  560. package/src/api/evm/legacyV1/getPublicKey.ts +2 -2
  561. package/src/api/evm/legacyV1/signMessage.ts +2 -2
  562. package/src/api/evm/legacyV1/signTypedData.ts +2 -2
  563. package/src/api/evm/legacyV1/signTypedHash.ts +2 -2
  564. package/src/api/evm/legacyV1/verifyMessage.ts +2 -2
  565. package/src/api/filecoin/FilecoinGetAddress.ts +4 -0
  566. package/src/api/filecoin/FilecoinSignTransaction.ts +4 -0
  567. package/src/api/firmware/FirmwareArtifactSource.ts +278 -0
  568. package/src/api/firmware/FirmwareHostBinding.ts +100 -0
  569. package/src/api/firmware/FirmwarePreparationError.ts +12 -0
  570. package/src/api/firmware/FirmwareUpdateBaseMethod.ts +71 -7
  571. package/src/api/firmware/FirmwareUpdateCapabilities.ts +9 -0
  572. package/src/api/firmware/FirmwareUpdatePlan.ts +745 -0
  573. package/src/api/firmware/FirmwareUpdatePreparedPlan.ts +392 -0
  574. package/src/api/firmware/getBinary.ts +8 -3
  575. package/src/api/firmware/progressThrottle.ts +44 -0
  576. package/src/api/firmware/updateBootloader.ts +19 -4
  577. package/src/api/firmware/uploadFirmware.ts +140 -22
  578. package/src/api/helpers/batchGetPublickeys.ts +2 -2
  579. package/src/api/helpers/filesystemValidation.ts +61 -0
  580. package/src/api/helpers/paramsValidator.ts +1 -1
  581. package/src/api/helpers/protocolV2FileWrite.ts +199 -0
  582. package/src/api/index.ts +7 -30
  583. package/src/api/kaspa/KaspaGetAddress.ts +7 -0
  584. package/src/api/kaspa/KaspaSignTransaction.ts +373 -29
  585. package/src/api/kaspa/helpers/TransferSerialize.ts +17 -7
  586. package/src/api/lightning/LnurlAuth.ts +0 -4
  587. package/src/api/near/NearGetAddress.ts +4 -0
  588. package/src/api/near/NearSignTransaction.ts +4 -0
  589. package/src/api/nem/NEMGetAddress.ts +4 -0
  590. package/src/api/nem/NEMSignTransaction.ts +4 -0
  591. package/src/api/neo/NeoGetAddress.ts +0 -4
  592. package/src/api/neo/NeoSignTransaction.ts +0 -4
  593. package/src/api/nervos/NervosGetAddress.ts +0 -4
  594. package/src/api/nervos/NervosSignTransaction.ts +2 -6
  595. package/src/api/nexa/NexaGetAddress.ts +0 -4
  596. package/src/api/nexa/NexaSignTransaction.ts +3 -5
  597. package/src/api/nostr/NostrDecryptMessage.ts +4 -0
  598. package/src/api/nostr/NostrEncryptMessage.ts +4 -0
  599. package/src/api/nostr/NostrGetPublicKey.ts +4 -0
  600. package/src/api/nostr/NostrSignEvent.ts +4 -0
  601. package/src/api/nostr/NostrSignSchnorr.ts +4 -0
  602. package/src/api/polkadot/PolkadotGetAddress.ts +4 -0
  603. package/src/api/polkadot/PolkadotSignTransaction.ts +4 -0
  604. package/src/api/protocol-v2/{FactoryGetDeviceInfo.ts → DeviceFactoryInfoGet.ts} +8 -5
  605. package/src/api/protocol-v2/DeviceFactoryInfoSet.ts +35 -0
  606. package/src/api/protocol-v2/DeviceFirmwareUpdate.ts +11 -10
  607. package/src/api/protocol-v2/DeviceGetFirmwareUpdateStatus.ts +45 -7
  608. package/src/api/protocol-v2/DeviceGetOnboardingStatus.ts +10 -5
  609. package/src/api/protocol-v2/DeviceInfoGet.ts +141 -0
  610. package/src/api/protocol-v2/DeviceReboot.ts +8 -4
  611. package/src/api/protocol-v2/DeviceStatusGet.ts +19 -0
  612. package/src/api/protocol-v2/DeviceUploadWallpaper.ts +134 -0
  613. package/src/api/protocol-v2/FilesystemFormat.ts +9 -3
  614. package/src/api/protocol-v2/{FilesystemFixPermission.ts → FilesystemPermissionFix.ts} +7 -4
  615. package/src/api/protocol-v2/Ping.ts +37 -3
  616. package/src/api/protocol-v2/ProtocolInfoRequest.ts +19 -0
  617. package/src/api/protocol-v2/helpers.ts +71 -50
  618. package/src/api/scdo/ScdoGetAddress.ts +0 -4
  619. package/src/api/scdo/ScdoSignMessage.ts +0 -4
  620. package/src/api/scdo/ScdoSignTransaction.ts +0 -4
  621. package/src/api/solana/SolGetAddress.ts +4 -0
  622. package/src/api/solana/SolSignMessage.ts +4 -0
  623. package/src/api/solana/SolSignOffchainMessage.ts +4 -0
  624. package/src/api/solana/SolSignTransaction.ts +4 -0
  625. package/src/api/starcoin/StarcoinGetAddress.ts +4 -0
  626. package/src/api/starcoin/StarcoinGetPublicKey.ts +4 -0
  627. package/src/api/starcoin/StarcoinSignMessage.ts +4 -0
  628. package/src/api/starcoin/StarcoinSignTransaction.ts +4 -0
  629. package/src/api/starcoin/StarcoinVerifyMessage.ts +4 -0
  630. package/src/api/stellar/StellarGetAddress.ts +1 -10
  631. package/src/api/stellar/StellarSignTransaction.ts +1 -14
  632. package/src/api/sui/SuiGetAddress.ts +4 -0
  633. package/src/api/sui/SuiGetPublicKey.ts +4 -0
  634. package/src/api/sui/SuiSignMessage.ts +4 -0
  635. package/src/api/sui/SuiSignTransaction.ts +4 -0
  636. package/src/api/ton/TonGetAddress.ts +4 -0
  637. package/src/api/ton/TonSignData.ts +6 -6
  638. package/src/api/ton/TonSignMessage.ts +4 -0
  639. package/src/api/ton/TonSignProof.ts +4 -0
  640. package/src/api/tron/TronGetAddress.ts +4 -0
  641. package/src/api/tron/TronSignMessage.ts +18 -7
  642. package/src/api/tron/TronSignTransaction.ts +4 -0
  643. package/src/api/utils.ts +7 -3
  644. package/src/api/xrp/XrpGetAddress.ts +4 -0
  645. package/src/api/xrp/XrpSignTransaction.ts +5 -1
  646. package/src/constants/index.ts +1 -4
  647. package/src/core/RequestQueue.ts +1 -0
  648. package/src/core/deviceEventRegistration.ts +23 -0
  649. package/src/core/index.ts +181 -58
  650. package/src/data/messages/messages-protocol-v2.json +796 -620
  651. package/src/data/messages/messages.json +286 -1
  652. package/src/data-manager/DataManager.ts +45 -38
  653. package/src/data-manager/TransportManager.ts +1 -1
  654. package/src/data-manager/connectSettings.ts +13 -4
  655. package/src/device/Device.ts +573 -278
  656. package/src/device/DeviceCommands.ts +154 -156
  657. package/src/device/DeviceFeaturesState.ts +25 -0
  658. package/src/device/DevicePool.ts +61 -13
  659. package/src/device/DeviceStateMapper.ts +366 -0
  660. package/src/device/DeviceStateProjector.ts +101 -0
  661. package/src/device/DeviceStateStore.ts +201 -0
  662. package/src/device/DeviceWalletSessionStore.ts +105 -0
  663. package/src/device/cloneDeviceState.ts +39 -0
  664. package/src/device/deviceIdentity.ts +18 -0
  665. package/src/deviceProfile/buildDeviceFeatures.ts +234 -210
  666. package/src/deviceProfile/index.ts +0 -1
  667. package/src/events/device.ts +18 -1
  668. package/src/events/logBlockEvent.ts +1 -7
  669. package/src/events/ui-request.ts +25 -2
  670. package/src/index.ts +5 -0
  671. package/src/inject.ts +35 -47
  672. package/src/lowLevelInject.ts +5 -1
  673. package/src/protocols/protocol-v2/deviceSession.ts +24 -0
  674. package/src/protocols/protocol-v2/features.ts +68 -83
  675. package/src/protocols/protocol-v2/firmware.ts +12 -36
  676. package/src/protocols/protocol-v2/index.ts +3 -1
  677. package/src/protocols/protocol-v2/lockedError.ts +10 -0
  678. package/src/protocols/protocol-v2/settingsUnlockPolicy.ts +60 -0
  679. package/src/protocols/protocol-v2/uiInteraction.ts +210 -0
  680. package/src/protocols/protocol-v2/unlockPolicy.ts +105 -0
  681. package/src/protocols/protocol-v2/unlockRetry.ts +98 -0
  682. package/src/protocols/protocol-v2/walletSession.ts +202 -0
  683. package/src/topLevelInject.ts +5 -1
  684. package/src/types/api/checkAllFirmwareRelease.ts +5 -2
  685. package/src/types/api/deviceSettings.ts +26 -2
  686. package/src/types/api/deviceUnlock.ts +1 -1
  687. package/src/types/api/deviceUpdateBootloader.ts +6 -0
  688. package/src/types/api/export.ts +21 -0
  689. package/src/types/api/firmwareUpdate.ts +103 -19
  690. package/src/types/api/firmwareUpdateCapabilities.ts +9 -0
  691. package/src/types/api/firmwareUpdatePlan.ts +38 -0
  692. package/src/types/api/firmwareUpdatePreparedPlan.ts +53 -0
  693. package/src/types/api/getDeviceState.ts +19 -0
  694. package/src/types/api/getFeatures.ts +3 -0
  695. package/src/types/api/getOnekeyFeatures.ts +3 -0
  696. package/src/types/api/getPassphraseState.ts +9 -11
  697. package/src/types/api/index.ts +33 -73
  698. package/src/types/api/kaspaSignTransaction.ts +60 -4
  699. package/src/types/api/openWalletSession.ts +45 -0
  700. package/src/types/api/protocolV2.ts +23 -162
  701. package/src/types/api/sessionCache.ts +19 -0
  702. package/src/types/device.ts +172 -5
  703. package/src/types/params.ts +4 -0
  704. package/src/types/settings.ts +55 -35
  705. package/src/utils/assets.ts +4 -1
  706. package/src/utils/deviceFeaturesCompat.ts +173 -0
  707. package/src/utils/deviceFeaturesUtils.ts +66 -24
  708. package/src/utils/deviceInfoUtils.ts +27 -69
  709. package/src/utils/deviceSettings.ts +171 -39
  710. package/src/utils/deviceVersionUtils.ts +25 -44
  711. package/src/utils/findDefectiveBatchDevice.ts +3 -3
  712. package/src/utils/homescreen.ts +10 -0
  713. package/src/utils/index.ts +21 -2
  714. package/src/utils/networkUtils.ts +270 -14
  715. package/src/utils/pro2Wallpaper.ts +109 -0
  716. package/src/utils/tracing.ts +3 -1
  717. package/tsconfig.type-tests.json +8 -0
  718. package/dist/api/GetDeviceInfo.d.ts +0 -9
  719. package/dist/api/GetDeviceInfo.d.ts.map +0 -1
  720. package/dist/api/protocol-v2/DevReboot.d.ts +0 -7
  721. package/dist/api/protocol-v2/DevReboot.d.ts.map +0 -1
  722. package/dist/api/protocol-v2/DeviceGetDeviceInfo.d.ts +0 -29
  723. package/dist/api/protocol-v2/DeviceGetDeviceInfo.d.ts.map +0 -1
  724. package/dist/api/protocol-v2/FactoryDeviceInfoSettings.d.ts +0 -7
  725. package/dist/api/protocol-v2/FactoryDeviceInfoSettings.d.ts.map +0 -1
  726. package/dist/api/protocol-v2/FactoryGetDeviceInfo.d.ts +0 -6
  727. package/dist/api/protocol-v2/FactoryGetDeviceInfo.d.ts.map +0 -1
  728. package/dist/api/protocol-v2/FilesystemDiskControl.d.ts +0 -13
  729. package/dist/api/protocol-v2/FilesystemDiskControl.d.ts.map +0 -1
  730. package/dist/api/protocol-v2/FilesystemFixPermission.d.ts +0 -6
  731. package/dist/api/protocol-v2/FilesystemFixPermission.d.ts.map +0 -1
  732. package/dist/api/protocol-v2/GetProtoVersion.d.ts +0 -6
  733. package/dist/api/protocol-v2/GetProtoVersion.d.ts.map +0 -1
  734. package/dist/deviceProfile/buildDeviceProfile.d.ts +0 -21
  735. package/dist/deviceProfile/buildDeviceProfile.d.ts.map +0 -1
  736. package/dist/types/api/getDeviceInfo.d.ts +0 -85
  737. package/dist/types/api/getDeviceInfo.d.ts.map +0 -1
  738. package/src/api/GetDeviceInfo.ts +0 -145
  739. package/src/api/protocol-v2/DevReboot.ts +0 -24
  740. package/src/api/protocol-v2/DeviceGetDeviceInfo.ts +0 -118
  741. package/src/api/protocol-v2/FactoryDeviceInfoSettings.ts +0 -29
  742. package/src/api/protocol-v2/FilesystemDiskControl.ts +0 -50
  743. package/src/api/protocol-v2/GetProtoVersion.ts +0 -16
  744. package/src/deviceProfile/buildDeviceProfile.ts +0 -333
  745. package/src/types/api/getDeviceInfo.ts +0 -99
@@ -49,6 +49,23 @@ export const UI_REQUEST = {
49
49
  NOT_USE_ONEKEY_DEVICE: 'ui-device_please_use_onekey_device',
50
50
  } as const;
51
51
 
52
+ export type ProtocolV2UiEventSource =
53
+ | 'unlock-coordinator'
54
+ | 'wallet-session-coordinator'
55
+ | 'method-lifecycle';
56
+
57
+ export type ProtocolV2UiCompletion = 'page-accepted' | 'operation-completed';
58
+
59
+ export type ProtocolV2UiEventMetadata = {
60
+ source?: ProtocolV2UiEventSource;
61
+ reason?: string;
62
+ deviceOnly?: boolean;
63
+ completion?: ProtocolV2UiCompletion;
64
+ method?: string;
65
+ page?: string | number;
66
+ operation?: string;
67
+ };
68
+
52
69
  export interface UiRequestWithoutPayload {
53
70
  type:
54
71
  | typeof UI_REQUEST.CLOSE_UI_WINDOW
@@ -73,7 +90,7 @@ export interface UiRequestFirmwareProgressing {
73
90
 
74
91
  export type UiRequestDeviceAction = {
75
92
  type: typeof UI_REQUEST.REQUEST_PIN;
76
- payload: {
93
+ payload: ProtocolV2UiEventMetadata & {
77
94
  device: Device;
78
95
  type?: PROTO.PinMatrixRequestType | 'ButtonRequest_PinEntry' | 'ButtonRequest_AttachPin';
79
96
  };
@@ -81,7 +98,7 @@ export type UiRequestDeviceAction = {
81
98
 
82
99
  export interface UiRequestButton {
83
100
  type: typeof UI_REQUEST.REQUEST_BUTTON;
84
- payload: DeviceButtonRequest['payload'];
101
+ payload: DeviceButtonRequest['payload'] & ProtocolV2UiEventMetadata;
85
102
  }
86
103
 
87
104
  export interface UiRequestPassphrase {
@@ -90,6 +107,10 @@ export interface UiRequestPassphrase {
90
107
  device: Device;
91
108
  passphraseState?: string;
92
109
  existsAttachPinUser?: boolean;
110
+ deviceOnly?: boolean;
111
+ source?: 'wallet-session-coordinator';
112
+ reason?: 'open-wallet' | 'session-recovery';
113
+ expectedPassphraseState?: string;
93
114
  };
94
115
  }
95
116
 
@@ -98,6 +119,8 @@ export interface UiRequestPassphraseOnDevice {
98
119
  payload: {
99
120
  device: Device;
100
121
  passphraseState?: string;
122
+ source?: 'wallet-session-coordinator';
123
+ reason?: 'open-wallet' | 'session-recovery';
101
124
  };
102
125
  }
103
126
 
package/src/index.ts CHANGED
@@ -19,6 +19,11 @@ export * from './types';
19
19
  export { whitelist, whitelistExtension } from './data/config';
20
20
  export { executeCallback, cleanupCallback };
21
21
  export { preloadSessionCache } from './device/Device';
22
+ export {
23
+ getFirmwareUpdateHostBindingGeneration,
24
+ registerFirmwareUpdateHostBinding,
25
+ unregisterFirmwareUpdateHostBinding,
26
+ } from './api/firmware/FirmwareHostBinding';
22
27
 
23
28
  const HardwareSdk = ({
24
29
  init,
package/src/inject.ts CHANGED
@@ -1,6 +1,17 @@
1
- import type { Unsuccessful } from './types';
1
+ import { getFirmwareUpdateCapabilities } from './api/firmware/FirmwareUpdateCapabilities';
2
+ import {
3
+ prepareFirmwareUpdatePlan,
4
+ validateFirmwareUpdatePreparedPlan,
5
+ } from './api/firmware/FirmwareUpdatePreparedPlan';
6
+ import {
7
+ getFirmwareUpdateHostBindingGeneration,
8
+ registerFirmwareUpdateHostBinding,
9
+ unregisterFirmwareUpdateHostBinding,
10
+ } from './api/firmware/FirmwareHostBinding';
11
+
2
12
  import type { EventEmitter } from 'events';
3
13
  import type { CallMethod } from './events';
14
+ import type { Unsuccessful } from './types';
4
15
  import type { CoreApi } from './types/api';
5
16
  import type { AllNetworkAddress } from './types/api/allNetworkGetAddress';
6
17
 
@@ -68,7 +79,10 @@ export const inject = ({
68
79
 
69
80
  call,
70
81
 
71
- dispose,
82
+ dispose: async () => {
83
+ unregisterFirmwareUpdateHostBinding();
84
+ await dispose();
85
+ },
72
86
 
73
87
  uiResponse,
74
88
 
@@ -99,7 +113,14 @@ export const createCoreApi = (
99
113
  | 'updateSettings'
100
114
  | 'switchTransport'
101
115
  > => ({
116
+ getFirmwareUpdateCapabilities,
117
+ registerFirmwareUpdateHostBinding,
118
+ unregisterFirmwareUpdateHostBinding,
119
+ getFirmwareUpdateHostBindingGeneration,
120
+ prepareFirmwareUpdatePlan,
121
+ validateFirmwareUpdatePreparedPlan,
102
122
  getLogs: () => call({ method: 'getLogs' }),
123
+ clearSessionCache: params => call({ ...params, method: 'clearSessionCache' }),
103
124
  /**
104
125
  * 搜索设备
105
126
  */
@@ -109,7 +130,10 @@ export const createCoreApi = (
109
130
  * 获取设备信息
110
131
  */
111
132
  getFeatures: (connectId, params) => call({ ...params, connectId, method: 'getFeatures' }),
112
- getDeviceInfo: (connectId, params) => call({ ...params, connectId, method: 'getDeviceInfo' }),
133
+ getDeviceState: (connectId, params) => {
134
+ const { refresh: _refresh, includeRaw: _includeRaw, ...commonParams } = (params ?? {}) as any;
135
+ return call({ ...commonParams, connectId, method: 'getDeviceState' });
136
+ },
113
137
  getOnekeyFeatures: (connectId, params) =>
114
138
  call({ ...params, connectId, method: 'getOnekeyFeatures' }),
115
139
 
@@ -143,6 +167,8 @@ export const createCoreApi = (
143
167
 
144
168
  testInitializeDeviceDuration: (connectId, params) =>
145
169
  call({ ...params, connectId, method: 'testInitializeDeviceDuration' }),
170
+ testProtocolV2Ping: (connectId, params) =>
171
+ call({ ...params, connectId, method: 'testProtocolV2Ping' }),
146
172
  preInitialize: (connectId, params) => call({ ...params, connectId, method: 'preInitialize' }),
147
173
  deviceBackup: connectId => call({ connectId, method: 'deviceBackup' }),
148
174
  deviceChangePin: (connectId, params) => call({ ...params, connectId, method: 'deviceChangePin' }),
@@ -150,53 +176,13 @@ export const createCoreApi = (
150
176
  deviceRebootToBoardloader: connectId => call({ connectId, method: 'deviceRebootToBoardloader' }),
151
177
  deviceRebootToBootloader: connectId => call({ connectId, method: 'deviceRebootToBootloader' }),
152
178
 
153
- // File system & device control API (Protocol V2 only)
154
- getProtoVersion: (connectId, params) => call({ ...params, connectId, method: 'getProtoVersion' }),
155
- ping: (connectId, params) => call({ ...params, connectId, method: 'ping' }),
179
+ // Pro2 business API
156
180
  deviceReboot: (connectId, params) => call({ ...params, connectId, method: 'deviceReboot' }),
157
- deviceGetDeviceInfo: (connectId, params) =>
158
- call({ ...params, connectId, method: 'deviceGetDeviceInfo' }),
159
181
  deviceGetOnboardingStatus: (connectId, params) =>
160
182
  call({ ...params, connectId, method: 'deviceGetOnboardingStatus' }),
161
- deviceFirmwareUpdate: (connectId, params) =>
162
- call({ ...params, connectId, method: 'deviceFirmwareUpdate' }),
163
- deviceGetFirmwareUpdateStatus: (connectId, params) =>
164
- call({ ...params, connectId, method: 'deviceGetFirmwareUpdateStatus' }),
165
- devReboot: (connectId, params) => call({ ...params, connectId, method: 'devReboot' }),
166
- devGetDeviceInfo: (connectId, params) =>
167
- call({ ...params, connectId, method: 'devGetDeviceInfo' }),
168
- devFirmwareUpdate: (connectId, params) =>
169
- call({ ...params, connectId, method: 'devFirmwareUpdate' }),
170
- devGetFirmwareUpdateStatus: (connectId, params) =>
171
- call({ ...params, connectId, method: 'devGetFirmwareUpdateStatus' }),
172
- factoryDeviceInfoSettings: (connectId, params) =>
173
- call({ ...params, connectId, method: 'factoryDeviceInfoSettings' }),
174
- factoryGetDeviceInfo: connectId => call({ connectId, method: 'factoryGetDeviceInfo' }),
175
- filesystemFixPermission: connectId => call({ connectId, method: 'filesystemFixPermission' }),
176
- fileRead: (connectId, params) => call({ ...params, connectId, method: 'fileRead' }),
177
- fileWrite: (connectId, params) => call({ ...params, connectId, method: 'fileWrite' }),
178
- fileDelete: (connectId, params) => call({ ...params, connectId, method: 'fileDelete' }),
179
- dirList: (connectId, params) => call({ ...params, connectId, method: 'dirList' }),
180
- dirMake: (connectId, params) => call({ ...params, connectId, method: 'dirMake' }),
181
- dirRemove: (connectId, params) => call({ ...params, connectId, method: 'dirRemove' }),
182
- pathInfo: (connectId, params) => call({ ...params, connectId, method: 'pathInfo' }),
183
- filesystemFileRead: (connectId, params) =>
184
- call({ ...params, connectId, method: 'filesystemFileRead' }),
185
- filesystemFileWrite: (connectId, params) =>
186
- call({ ...params, connectId, method: 'filesystemFileWrite' }),
187
- filesystemFileDelete: (connectId, params) =>
188
- call({ ...params, connectId, method: 'filesystemFileDelete' }),
189
- filesystemDirList: (connectId, params) =>
190
- call({ ...params, connectId, method: 'filesystemDirList' }),
191
- filesystemDirMake: (connectId, params) =>
192
- call({ ...params, connectId, method: 'filesystemDirMake' }),
193
- filesystemDirRemove: (connectId, params) =>
194
- call({ ...params, connectId, method: 'filesystemDirRemove' }),
195
- filesystemPathInfoQuery: (connectId, params) =>
196
- call({ ...params, connectId, method: 'filesystemPathInfoQuery' }),
197
- filesystemFormat: connectId => call({ connectId, method: 'filesystemFormat' }),
198
- filesystemDiskControl: (connectId, params) =>
199
- call({ ...params, connectId, method: 'filesystemDiskControl' }),
183
+ deviceUploadWallpaper: (connectId, params) =>
184
+ call({ ...params, connectId, method: 'deviceUploadWallpaper' }),
185
+ uploadPortfolio: (connectId, params) => call({ ...params, connectId, method: 'uploadPortfolio' }),
200
186
  deviceRecovery: (connectId, params) => call({ ...params, connectId, method: 'deviceRecovery' }),
201
187
  deviceReset: (connectId, params) => call({ ...params, connectId, method: 'deviceReset' }),
202
188
  deviceSettings: (connectId, params) => call({ ...params, connectId, method: 'deviceSettings' }),
@@ -212,6 +198,8 @@ export const createCoreApi = (
212
198
  call({ ...params, connectId, method: 'deviceUpdateBootloader' }),
213
199
  getPassphraseState: (connectId, params) =>
214
200
  call({ ...params, connectId, method: 'getPassphraseState' }),
201
+ openWalletSession: (connectId, params) =>
202
+ call({ ...params, connectId, method: 'openWalletSession' }),
215
203
  deviceCancel: (connectId, params) => call({ ...params, connectId, method: 'deviceCancel' }),
216
204
  deviceLock: (connectId, params) => call({ ...params, connectId, method: 'deviceLock' }),
217
205
  deviceUnlock: (connectId, params) =>
@@ -1,4 +1,5 @@
1
1
  import { createCoreApi } from './inject';
2
+ import { unregisterFirmwareUpdateHostBinding } from './api/firmware/FirmwareHostBinding';
2
3
 
3
4
  import type { EventEmitter } from 'events';
4
5
  import type { CallMethod, CoreMessage } from './events';
@@ -43,7 +44,10 @@ export const lowLevelInject = ({
43
44
 
44
45
  call,
45
46
 
46
- dispose,
47
+ dispose: async () => {
48
+ unregisterFirmwareUpdateHostBinding();
49
+ await dispose();
50
+ },
47
51
 
48
52
  uiResponse,
49
53
 
@@ -0,0 +1,24 @@
1
+ import { ERRORS, HardwareErrorCode } from '@onekeyfe/hd-shared';
2
+
3
+ import type { DeviceSession } from '@onekeyfe/hd-transport';
4
+
5
+ export type CompleteDeviceSession = DeviceSession & {
6
+ session_id: string;
7
+ btc_test_address: string;
8
+ };
9
+
10
+ export function assertCompleteDeviceSession(
11
+ message: DeviceSession
12
+ ): asserts message is CompleteDeviceSession {
13
+ if (
14
+ typeof message.session_id !== 'string' ||
15
+ !message.session_id ||
16
+ typeof message.btc_test_address !== 'string' ||
17
+ !message.btc_test_address
18
+ ) {
19
+ throw ERRORS.TypedError(
20
+ HardwareErrorCode.RuntimeError,
21
+ 'DeviceSessionGet returned an incomplete DeviceSession response.'
22
+ );
23
+ }
24
+ }
@@ -1,19 +1,23 @@
1
- import { DevSEState, DevSeType } from '@onekeyfe/hd-transport';
2
-
3
- import type { DevGetDeviceInfo, DevSEInfo, ProtocolV2DeviceInfo } from '@onekeyfe/hd-transport';
1
+ import { DeviceSEState, DeviceSeType } from '@onekeyfe/hd-transport';
2
+
3
+ import type {
4
+ DeviceInfoGet,
5
+ DeviceSEInfo,
6
+ DeviceStatus,
7
+ ProtocolV2DeviceInfo,
8
+ } from '@onekeyfe/hd-transport';
4
9
  import type { DeviceCommands } from '../../device/DeviceCommands';
5
10
 
6
- // 单源类型:直接使用 hd-transport 生成的 ProtocolV2DeviceInfo / DevSEInfo /
7
- // DevFirmwareImageInfo(与 firmware-pro2 proto 一致),不再维护手写副本。
11
+ // Use hd-transport generated Protocol V2 types as the single source of truth.
8
12
  export type { ProtocolV2DeviceInfo };
9
- export type { DevFirmwareImageInfo as ProtocolV2FirmwareImageInfo } from '@onekeyfe/hd-transport';
10
- export type { DevSEInfo as ProtocolV2SEInfo } from '@onekeyfe/hd-transport';
13
+ export type { DeviceFirmwareImageInfo as ProtocolV2FirmwareImageInfo } from '@onekeyfe/hd-transport';
14
+ export type { DeviceSEInfo as ProtocolV2SEInfo } from '@onekeyfe/hd-transport';
11
15
 
12
16
  export type ProtocolV2SeStateLabel = 'BOOT' | 'APP_FACTORY' | 'APP';
13
17
 
14
18
  /**
15
- * 传输层解码会把 proto 枚举输出为名称字符串(见 hd-transport messageToJSON),
16
- * 但生成类型声明为数值枚举;这里统一兼容两种形态。
19
+ * The transport historically decodes scalar proto enums as name strings.
20
+ * Accept both that SDK representation and numeric enums for low-level callers.
17
21
  */
18
22
  const normalizeEnumValue = <T extends Record<string | number, string | number>>(
19
23
  enumObject: T,
@@ -26,11 +30,11 @@ const normalizeEnumValue = <T extends Record<string | number, string | number>>(
26
30
  };
27
31
 
28
32
  /**
29
- * DevSEInfo.state 可读标签。SDK 内唯一的 SE 状态映射实现,
30
- * DeviceProfile 与标准 Features 构建都从这里取。
33
+ * Map DeviceSEInfo.state to a readable label. This is the SDK's canonical mapping
34
+ * used by DeviceState and the legacy Features projection.
31
35
  */
32
- export const getProtocolV2SeState = (se?: DevSEInfo): ProtocolV2SeStateLabel | null => {
33
- const label = normalizeEnumValue(DevSEState, se?.state);
36
+ export const getProtocolV2SeState = (se?: DeviceSEInfo): ProtocolV2SeStateLabel | null => {
37
+ const label = normalizeEnumValue(DeviceSEState, se?.state);
34
38
  switch (label) {
35
39
  case 'BOOT':
36
40
  return 'BOOT';
@@ -44,36 +48,41 @@ export const getProtocolV2SeState = (se?: DevSEInfo): ProtocolV2SeStateLabel | n
44
48
  };
45
49
 
46
50
  /**
47
- * DevSEInfo.type 可读标签(如 'THD89')。DeviceProfile / Features
48
- * 的 SE 类型归一化从这里取。
51
+ * Map DeviceSEInfo.type to a readable label such as `THD89`.
49
52
  */
50
- export const getProtocolV2SeType = (se?: DevSEInfo): string | null =>
51
- normalizeEnumValue(DevSeType, se?.type);
53
+ export const getProtocolV2SeType = (se?: DeviceSEInfo): string | null =>
54
+ normalizeEnumValue(DeviceSeType, se?.type);
52
55
 
53
- export const PROTOCOL_V2_FEATURES_DEVICE_INFO_REQUEST = {
54
- targets: {
55
- hw: true,
56
- fw: true,
57
- bt: true,
58
- status: true,
59
- },
60
- types: {
61
- version: true,
62
- specific: true,
63
- },
64
- };
56
+ export type ProtocolV2RuntimeMode = 'normal' | 'bootloader';
65
57
 
66
58
  /**
67
- * 轻量状态刷新请求(每次 run 前使用)。
59
+ * TODO: Once firmware-pro2 exposes ProtocolInfo.build_fingerprint, parse the running
60
+ * binary name and remove the temporary DeviceStatusGet-failure heuristic. romloader
61
+ * is a separate recovery flow and is excluded until its contract is defined.
68
62
  *
69
- * status 提供 init_states / label / passphrase_protection 等会在设备端变化的字段;
70
- * hw / bt 提供 serialNo / bleName 等身份字段;不含 fw/SE targets,单帧请求开销很小。
63
+ * The temporary contract has two states: DeviceStatusGet success means normal and
64
+ * failure means bootloader. Do not infer mode from application/SE/romloader fields.
71
65
  */
72
- export const PROTOCOL_V2_STATUS_DEVICE_INFO_REQUEST = {
66
+ export const getProtocolV2RuntimeMode = ({
67
+ deviceInfo: _deviceInfo,
68
+ deviceStatusAvailable,
69
+ }: {
70
+ deviceInfo?: ProtocolV2DeviceInfo | null;
71
+ deviceStatusAvailable: boolean;
72
+ }): ProtocolV2RuntimeMode => {
73
+ if (deviceStatusAvailable) return 'normal';
74
+ return 'bootloader';
75
+ };
76
+
77
+ export const PROTOCOL_V2_FEATURES_DEVICE_INFO_REQUEST = {
73
78
  targets: {
74
79
  hw: true,
75
- bt: true,
76
- status: true,
80
+ fw: true,
81
+ coprocessor: true,
82
+ se1: true,
83
+ se2: true,
84
+ se3: true,
85
+ se4: true,
77
86
  },
78
87
  types: {
79
88
  version: true,
@@ -81,16 +90,19 @@ export const PROTOCOL_V2_STATUS_DEVICE_INFO_REQUEST = {
81
90
  },
82
91
  };
83
92
 
93
+ /**
94
+ * Version probe used after firmware update completion.
95
+ * It reads hardware and firmware component data without requesting DeviceStatus.
96
+ */
84
97
  export const PROTOCOL_V2_VERSIONS_DEVICE_INFO_REQUEST = {
85
98
  targets: {
86
99
  hw: true,
87
100
  fw: true,
88
- bt: true,
101
+ coprocessor: true,
89
102
  se1: true,
90
103
  se2: true,
91
104
  se3: true,
92
105
  se4: true,
93
- status: true,
94
106
  },
95
107
  types: {
96
108
  version: true,
@@ -102,12 +114,11 @@ export const PROTOCOL_V2_FULL_DEVICE_INFO_REQUEST = {
102
114
  targets: {
103
115
  hw: true,
104
116
  fw: true,
105
- bt: true,
117
+ coprocessor: true,
106
118
  se1: true,
107
119
  se2: true,
108
120
  se3: true,
109
121
  se4: true,
110
- status: true,
111
122
  },
112
123
  types: {
113
124
  version: true,
@@ -120,43 +131,6 @@ export const PROTOCOL_V2_FULL_DEVICE_INFO_REQUEST = {
120
131
  export const PROTOCOL_V2_DEVICE_INFO_REQUEST = PROTOCOL_V2_FULL_DEVICE_INFO_REQUEST;
121
132
  export const PROTOCOL_V2_DEVICE_INFO_TIMEOUT_MS = 10 * 1000;
122
133
 
123
- /**
124
- * 临时开关(默认关闭):当前正式链路直接调用 DevGetDeviceInfo。
125
- * 仅当 Pro2 测试固件 / 早期工程板尚未实现 DevGetDeviceInfo 时,才显式开启 mock。
126
- * 开启时跳过 wire 调用,直接返回 mock DeviceInfo;
127
- * DevGetDeviceInfo 尚未返回的字段保持为空,不再用 transport path 兜底成设备身份。
128
- *
129
- * 固件实现 DevGetDeviceInfo 稳定后:删除开关与 mock。
130
- * 注意:开启期间 FirmwareUpdateV4 的“升级完成版本比对”拿到的也是 mock 版本,
131
- * 不能作为升级成功的依据。
132
- */
133
- let protocolV2DeviceInfoMockEnabled = false;
134
-
135
- export const setProtocolV2DeviceInfoMock = (enabled: boolean) => {
136
- protocolV2DeviceInfoMockEnabled = enabled;
137
- };
138
-
139
- export const isProtocolV2DeviceInfoMockEnabled = () => protocolV2DeviceInfoMockEnabled;
140
-
141
- /** 每次调用返回新对象,避免调用方原地修改互相污染。 */
142
- export const buildMockProtocolV2DeviceInfo = (): ProtocolV2DeviceInfo => ({
143
- protocol_version: 2,
144
- hw: {
145
- // 留空:协议未上报时 SDK 不再用 transport path 伪造身份字段
146
- serial_no: '',
147
- },
148
- fw: {
149
- app: { version: '0.1.0' },
150
- },
151
- bt: {},
152
- status: {
153
- init_states: true,
154
- language: 'en_US',
155
- passphrase_protection: false,
156
- bt_enable: true,
157
- },
158
- });
159
-
160
134
  export async function requestProtocolV2DeviceInfo({
161
135
  commands,
162
136
  timeoutMs = PROTOCOL_V2_DEVICE_INFO_TIMEOUT_MS,
@@ -164,15 +138,26 @@ export async function requestProtocolV2DeviceInfo({
164
138
  }: {
165
139
  commands: DeviceCommands;
166
140
  timeoutMs?: number;
167
- request?: DevGetDeviceInfo;
141
+ request?: DeviceInfoGet;
168
142
  }): Promise<ProtocolV2DeviceInfo> {
169
- if (isProtocolV2DeviceInfoMockEnabled()) {
170
- return buildMockProtocolV2DeviceInfo();
171
- }
172
- const { message } = await commands.typedCall('DevGetDeviceInfo', 'DeviceInfo', request, {
143
+ const { message } = await commands.typedCall('DeviceInfoGet', 'DeviceInfo', request, {
173
144
  timeoutMs,
174
145
  });
175
- // 'DeviceInfo' 在生成类型里是 V1 DeviceInfo | ProtocolV2DeviceInfo 的合并;
176
- // DevGetDeviceInfo 是 V2-only 消息,这里收窄到 V2 形态。
146
+ // Generated DeviceInfo is a V1/V2 union; DeviceInfoGet narrows it to the V2 shape.
177
147
  return message as ProtocolV2DeviceInfo;
178
148
  }
149
+
150
+ export async function requestProtocolV2DeviceStatus({
151
+ commands,
152
+ timeoutMs,
153
+ }: {
154
+ commands: DeviceCommands;
155
+ timeoutMs?: number;
156
+ }): Promise<DeviceStatus> {
157
+ const response =
158
+ timeoutMs === undefined
159
+ ? await commands.typedCall('DeviceStatusGet', 'DeviceStatus', {})
160
+ : await commands.typedCall('DeviceStatusGet', 'DeviceStatus', {}, { timeoutMs });
161
+ const { message } = response;
162
+ return message;
163
+ }
@@ -1,43 +1,19 @@
1
1
  /**
2
- * 当前 firmware-pro2 子模块的 DevFirmwareTargetType。
3
- *
4
- * 注意:仓库里的 hd-transport 生成物暂时仍带旧 target 名称;这里显式按
5
- * submodules/firmware-pro2/sys/protobuf/onekey_protocol/latest/messages_device.proto
6
- * 对齐当前子模块,避免运行时取到 undefined。
2
+ * DeviceFirmwareTargetType from the current firmware-pro2 submodule.
7
3
  */
8
4
  export const ProtocolV2FirmwareTargetType = {
9
- TARGET_MAIN_APP: 0,
10
- TARGET_MAIN_BOOT: 1,
11
- TARGET_BT: 2,
12
- TARGET_SE1: 3,
13
- TARGET_SE2: 4,
14
- TARGET_SE3: 5,
15
- TARGET_SE4: 6,
16
- TARGET_RESOURCE: 10,
5
+ FW_MGMT_TARGET_INVALID: 0,
6
+ FW_MGMT_TARGET_CRATE: 1,
7
+ FW_MGMT_TARGET_ROMLOADER: 2,
8
+ FW_MGMT_TARGET_BOOTLOADER: 3,
9
+ FW_MGMT_TARGET_APPLICATION_P1: 4,
10
+ FW_MGMT_TARGET_APPLICATION_P2: 5,
11
+ FW_MGMT_TARGET_COPROCESSOR: 6,
12
+ FW_MGMT_TARGET_SE01: 7,
13
+ FW_MGMT_TARGET_SE02: 8,
14
+ FW_MGMT_TARGET_SE03: 9,
15
+ FW_MGMT_TARGET_SE04: 10,
17
16
  } as const;
18
17
 
19
18
  export type ProtocolV2FirmwareTargetType =
20
19
  (typeof ProtocolV2FirmwareTargetType)[keyof typeof ProtocolV2FirmwareTargetType];
21
-
22
- /**
23
- * Map Protocol V2 firmware file name to DevFirmwareUpdate target_id.
24
- */
25
- export function protocolV2FileNameToTargetId(fileName: string): ProtocolV2FirmwareTargetType {
26
- const normalized = fileName.toLowerCase();
27
- if (normalized.includes('bootloader') || normalized.includes('update_rom')) {
28
- return ProtocolV2FirmwareTargetType.TARGET_MAIN_BOOT;
29
- }
30
- if (
31
- normalized.includes('coprocessor') ||
32
- normalized.includes('ble') ||
33
- normalized.includes('bluetooth') ||
34
- normalized.includes('bt')
35
- ) {
36
- return ProtocolV2FirmwareTargetType.TARGET_BT;
37
- }
38
- if (normalized.includes('se4')) return ProtocolV2FirmwareTargetType.TARGET_SE4;
39
- if (normalized.includes('se3')) return ProtocolV2FirmwareTargetType.TARGET_SE3;
40
- if (normalized.includes('se2')) return ProtocolV2FirmwareTargetType.TARGET_SE2;
41
- if (normalized.includes('se')) return ProtocolV2FirmwareTargetType.TARGET_SE1;
42
- return ProtocolV2FirmwareTargetType.TARGET_MAIN_APP;
43
- }
@@ -2,8 +2,8 @@ export {
2
2
  PROTOCOL_V2_DEVICE_INFO_REQUEST,
3
3
  PROTOCOL_V2_DEVICE_INFO_TIMEOUT_MS,
4
4
  PROTOCOL_V2_FEATURES_DEVICE_INFO_REQUEST,
5
- PROTOCOL_V2_STATUS_DEVICE_INFO_REQUEST,
6
5
  PROTOCOL_V2_VERSIONS_DEVICE_INFO_REQUEST,
6
+ getProtocolV2RuntimeMode,
7
7
  getProtocolV2SeState,
8
8
  getProtocolV2SeType,
9
9
  } from './features';
@@ -12,5 +12,7 @@ export type {
12
12
  ProtocolV2FirmwareImageInfo,
13
13
  ProtocolV2SEInfo,
14
14
  ProtocolV2SeStateLabel,
15
+ ProtocolV2RuntimeMode,
15
16
  } from './features';
16
17
  export * from './firmware';
18
+ export * from './walletSession';
@@ -0,0 +1,10 @@
1
+ import { HardwareErrorCode } from '@onekeyfe/hd-shared';
2
+
3
+ export function isDeviceLockedError(error: unknown): boolean {
4
+ return (
5
+ typeof error === 'object' &&
6
+ error !== null &&
7
+ 'errorCode' in error &&
8
+ error.errorCode === HardwareErrorCode.DeviceLocked
9
+ );
10
+ }
@@ -0,0 +1,60 @@
1
+ import type { DeviceSettings, DeviceSettingsPage } from '@onekeyfe/hd-transport';
2
+ import type { UnlockPolicy } from '../../api/BaseMethod';
3
+ import type { ProtocolV2InteractionDescriptor } from './uiInteraction';
4
+
5
+ const LOCK_FREE_DEVICE_SETTINGS = new Set<keyof DeviceSettings>([
6
+ 'language',
7
+ 'brightness',
8
+ 'haptic_feedback',
9
+ ]);
10
+
11
+ export const getProtocolV2SettingsUnlockPolicy = (settings: DeviceSettings): UnlockPolicy =>
12
+ Object.keys(settings).every(key => LOCK_FREE_DEVICE_SETTINGS.has(key as keyof DeviceSettings))
13
+ ? 'none'
14
+ : 'unlock-before-run';
15
+
16
+ export type ProtocolV2SettingsOperation =
17
+ | {
18
+ kind: 'direct';
19
+ settings: DeviceSettings;
20
+ }
21
+ | {
22
+ kind: 'page';
23
+ page: DeviceSettingsPage;
24
+ };
25
+
26
+ export const getProtocolV2SettingsBehavior = (
27
+ operation: ProtocolV2SettingsOperation
28
+ ): {
29
+ unlockPolicy: UnlockPolicy;
30
+ uiInteraction?: ProtocolV2InteractionDescriptor;
31
+ } => {
32
+ if (operation.kind === 'page') {
33
+ return {
34
+ unlockPolicy: 'unlock-before-run',
35
+ uiInteraction: {
36
+ request: 'button',
37
+ source: 'method-lifecycle',
38
+ reason: 'settings-page',
39
+ completion: 'operation-completed',
40
+ deviceOnly: true,
41
+ page: operation.page,
42
+ },
43
+ };
44
+ }
45
+
46
+ return {
47
+ unlockPolicy: getProtocolV2SettingsUnlockPolicy(operation.settings),
48
+ uiInteraction:
49
+ typeof operation.settings.label === 'string'
50
+ ? {
51
+ request: 'button',
52
+ source: 'method-lifecycle',
53
+ reason: 'device-management',
54
+ completion: 'operation-completed',
55
+ deviceOnly: true,
56
+ operation: 'change-label',
57
+ }
58
+ : undefined,
59
+ };
60
+ };