@onekeyfe/hd-core 1.2.0-alpha.6 → 1.2.0-alpha.61

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 (734) hide show
  1. package/__tests__/AllNetworkGetAddressBase.tracing.test.ts +390 -0
  2. package/__tests__/DeviceCommands.test.ts +563 -0
  3. package/__tests__/DeviceEventRegistration.test.ts +49 -0
  4. package/__tests__/chain-params-onekey-compatibility.test.ts +229 -0
  5. package/__tests__/check-all-firmware-release-protocol-v2.test.ts +477 -0
  6. package/__tests__/connectSettings.test.ts +19 -0
  7. package/__tests__/core-dispose.test.ts +34 -0
  8. package/__tests__/core-error-output.test.ts +39 -0
  9. package/__tests__/core-initialization.test.ts +23 -0
  10. package/__tests__/device-connector-protocol.test.ts +81 -0
  11. package/__tests__/device-features-state.test.ts +78 -0
  12. package/__tests__/device-identity.test.ts +52 -0
  13. package/__tests__/device-lifecycle-events.test.ts +351 -0
  14. package/__tests__/device-pool-state.test.ts +166 -0
  15. package/__tests__/device-settings.test.ts +437 -0
  16. package/__tests__/device-state-contract.test.ts +28 -0
  17. package/__tests__/device-state-events.test.ts +286 -0
  18. package/__tests__/device-state-mapper.test.ts +273 -0
  19. package/__tests__/device-state-projector.test.ts +94 -0
  20. package/__tests__/device-state-store.test.ts +82 -0
  21. package/__tests__/device-utils.test.ts +154 -0
  22. package/__tests__/device-wallet-session-store.test.ts +478 -0
  23. package/__tests__/deviceFeaturesUtils.test.ts +39 -0
  24. package/__tests__/deviceSettings.test.ts +113 -0
  25. package/__tests__/deviceUploadNft.test.ts +316 -0
  26. package/__tests__/evmLedgerLegacySafety.test.ts +12 -6
  27. package/__tests__/evmSignTransaction.test.ts +69 -0
  28. package/__tests__/evmSignTypedData.test.ts +80 -0
  29. package/__tests__/filesystemValidation.test.ts +53 -0
  30. package/__tests__/firmware-update/firmware-update-v2-download-before-boot.test.ts +402 -0
  31. package/__tests__/get-device-state.test.ts +578 -0
  32. package/__tests__/homescreen.test.ts +64 -0
  33. package/__tests__/kaspa-public-types.type-test.ts +16 -0
  34. package/__tests__/kaspa-use-tweak-pro2.test.ts +20 -0
  35. package/__tests__/kaspaSignTransaction.test.ts +578 -0
  36. package/__tests__/known-device-public-types.type-test.ts +3 -0
  37. package/__tests__/logBlockEvent.test.ts +128 -1
  38. package/__tests__/method-protocol-support.test.ts +132 -0
  39. package/__tests__/networkUtils.test.ts +406 -0
  40. package/__tests__/open-wallet-session-error-response.test.ts +43 -0
  41. package/__tests__/open-wallet-session.test.ts +1899 -0
  42. package/__tests__/pro2Nft.test.ts +108 -0
  43. package/__tests__/pro2Wallpaper.test.ts +39 -0
  44. package/__tests__/protocol-binding.test.ts +89 -0
  45. package/__tests__/protocol-v2-bootloader-mode.test.ts +37 -0
  46. package/__tests__/protocol-v2-firmware-targets.test.ts +37 -0
  47. package/__tests__/protocol-v2-ping.test.ts +28 -0
  48. package/__tests__/protocol-v2-resources.test.ts +340 -0
  49. package/__tests__/protocol-v2-ui-lifecycle.test.ts +91 -0
  50. package/__tests__/protocol-v2-unlock-policy.test.ts +245 -0
  51. package/__tests__/protocol-v2.test.ts +6478 -2536
  52. package/__tests__/protocolV2FileWrite.test.ts +244 -0
  53. package/__tests__/protocolV2UiInteraction.test.ts +329 -0
  54. package/__tests__/public-device-state-api.test.ts +275 -0
  55. package/__tests__/public-pro2-api-boundary.test.ts +107 -0
  56. package/__tests__/refresh-device-state.test.ts +101 -0
  57. package/__tests__/request-context-logging.test.ts +16 -0
  58. package/__tests__/search-devices.test.ts +145 -0
  59. package/__tests__/tron-sign-message-init.test.ts +74 -0
  60. package/__tests__/uiProgressThrottle.test.ts +74 -0
  61. package/__tests__/uiPromiseRegistry.test.ts +115 -0
  62. package/dist/api/BaseMethod.d.ts +16 -1
  63. package/dist/api/BaseMethod.d.ts.map +1 -1
  64. package/dist/api/CheckAllFirmwareRelease.d.ts +25 -1
  65. package/dist/api/CheckAllFirmwareRelease.d.ts.map +1 -1
  66. package/dist/api/CheckBootloaderRelease.d.ts.map +1 -1
  67. package/dist/api/CheckFirmwareRelease.d.ts.map +1 -1
  68. package/dist/api/CipherKeyValue.d.ts +1 -0
  69. package/dist/api/CipherKeyValue.d.ts.map +1 -1
  70. package/dist/api/ClearSessionCache.d.ts +9 -0
  71. package/dist/api/ClearSessionCache.d.ts.map +1 -0
  72. package/dist/api/DetectDeviceConnectProtocol.d.ts +7 -0
  73. package/dist/api/DetectDeviceConnectProtocol.d.ts.map +1 -0
  74. package/dist/api/DirList.d.ts +1 -0
  75. package/dist/api/DirList.d.ts.map +1 -1
  76. package/dist/api/DirMake.d.ts +1 -0
  77. package/dist/api/DirMake.d.ts.map +1 -1
  78. package/dist/api/DirRemove.d.ts +1 -0
  79. package/dist/api/DirRemove.d.ts.map +1 -1
  80. package/dist/api/FileDelete.d.ts +1 -0
  81. package/dist/api/FileDelete.d.ts.map +1 -1
  82. package/dist/api/FileRead.d.ts +1 -0
  83. package/dist/api/FileRead.d.ts.map +1 -1
  84. package/dist/api/FileWrite.d.ts +2 -0
  85. package/dist/api/FileWrite.d.ts.map +1 -1
  86. package/dist/api/FirmwareUpdate.d.ts.map +1 -1
  87. package/dist/api/FirmwareUpdateV2.d.ts +2 -2
  88. package/dist/api/FirmwareUpdateV2.d.ts.map +1 -1
  89. package/dist/api/FirmwareUpdateV3.d.ts.map +1 -1
  90. package/dist/api/FirmwareUpdateV4.d.ts +26 -16
  91. package/dist/api/FirmwareUpdateV4.d.ts.map +1 -1
  92. package/dist/api/GetDeviceState.d.ts +8 -0
  93. package/dist/api/GetDeviceState.d.ts.map +1 -0
  94. package/dist/api/GetFeatures.d.ts +1 -1
  95. package/dist/api/GetFeatures.d.ts.map +1 -1
  96. package/dist/api/GetOnekeyFeatures.d.ts.map +1 -1
  97. package/dist/api/GetPassphraseState.d.ts +2 -6
  98. package/dist/api/GetPassphraseState.d.ts.map +1 -1
  99. package/dist/api/OpenWalletSession.d.ts +8 -0
  100. package/dist/api/OpenWalletSession.d.ts.map +1 -0
  101. package/dist/api/PathInfo.d.ts +1 -0
  102. package/dist/api/PathInfo.d.ts.map +1 -1
  103. package/dist/api/PromptWebDeviceAccess.d.ts.map +1 -1
  104. package/dist/api/SearchDevices.d.ts +3 -0
  105. package/dist/api/SearchDevices.d.ts.map +1 -1
  106. package/dist/api/UploadPortfolio.d.ts +17 -0
  107. package/dist/api/UploadPortfolio.d.ts.map +1 -0
  108. package/dist/api/alephium/AlephiumGetAddress.d.ts.map +1 -1
  109. package/dist/api/alephium/AlephiumSignMessage.d.ts.map +1 -1
  110. package/dist/api/alephium/AlephiumSignTransaction.d.ts.map +1 -1
  111. package/dist/api/algo/AlgoGetAddress.d.ts +1 -0
  112. package/dist/api/algo/AlgoGetAddress.d.ts.map +1 -1
  113. package/dist/api/algo/AlgoSignTransaction.d.ts +1 -0
  114. package/dist/api/algo/AlgoSignTransaction.d.ts.map +1 -1
  115. package/dist/api/allnetwork/AllNetworkGetAddressBase.d.ts +1 -0
  116. package/dist/api/allnetwork/AllNetworkGetAddressBase.d.ts.map +1 -1
  117. package/dist/api/aptos/AptosGetAddress.d.ts +1 -0
  118. package/dist/api/aptos/AptosGetAddress.d.ts.map +1 -1
  119. package/dist/api/aptos/AptosGetPublicKey.d.ts +1 -0
  120. package/dist/api/aptos/AptosGetPublicKey.d.ts.map +1 -1
  121. package/dist/api/aptos/AptosSignInMessage.d.ts +1 -0
  122. package/dist/api/aptos/AptosSignInMessage.d.ts.map +1 -1
  123. package/dist/api/aptos/AptosSignMessage.d.ts +1 -0
  124. package/dist/api/aptos/AptosSignMessage.d.ts.map +1 -1
  125. package/dist/api/aptos/AptosSignTransaction.d.ts +1 -0
  126. package/dist/api/aptos/AptosSignTransaction.d.ts.map +1 -1
  127. package/dist/api/benfen/BenfenGetAddress.d.ts.map +1 -1
  128. package/dist/api/benfen/BenfenGetPublicKey.d.ts.map +1 -1
  129. package/dist/api/benfen/BenfenSignMessage.d.ts.map +1 -1
  130. package/dist/api/benfen/BenfenSignTransaction.d.ts.map +1 -1
  131. package/dist/api/btc/BTCGetAddress.d.ts +1 -0
  132. package/dist/api/btc/BTCGetAddress.d.ts.map +1 -1
  133. package/dist/api/btc/BTCGetPublicKey.d.ts +1 -0
  134. package/dist/api/btc/BTCGetPublicKey.d.ts.map +1 -1
  135. package/dist/api/btc/BTCSignMessage.d.ts +1 -0
  136. package/dist/api/btc/BTCSignMessage.d.ts.map +1 -1
  137. package/dist/api/btc/BTCSignPsbt.d.ts +1 -0
  138. package/dist/api/btc/BTCSignPsbt.d.ts.map +1 -1
  139. package/dist/api/btc/BTCSignTransaction.d.ts +1 -0
  140. package/dist/api/btc/BTCSignTransaction.d.ts.map +1 -1
  141. package/dist/api/btc/BTCVerifyMessage.d.ts +1 -0
  142. package/dist/api/btc/BTCVerifyMessage.d.ts.map +1 -1
  143. package/dist/api/btc/helpers/versionLimit.d.ts +2 -0
  144. package/dist/api/btc/helpers/versionLimit.d.ts.map +1 -1
  145. package/dist/api/cardano/CardanoGetAddress.d.ts +1 -0
  146. package/dist/api/cardano/CardanoGetAddress.d.ts.map +1 -1
  147. package/dist/api/cardano/CardanoGetPublicKey.d.ts +1 -0
  148. package/dist/api/cardano/CardanoGetPublicKey.d.ts.map +1 -1
  149. package/dist/api/cardano/CardanoSignMessage.d.ts +1 -0
  150. package/dist/api/cardano/CardanoSignMessage.d.ts.map +1 -1
  151. package/dist/api/cardano/CardanoSignTransaction.d.ts +1 -0
  152. package/dist/api/cardano/CardanoSignTransaction.d.ts.map +1 -1
  153. package/dist/api/conflux/ConfluxGetAddress.d.ts +2 -0
  154. package/dist/api/conflux/ConfluxGetAddress.d.ts.map +1 -1
  155. package/dist/api/conflux/ConfluxSignMessage.d.ts +2 -0
  156. package/dist/api/conflux/ConfluxSignMessage.d.ts.map +1 -1
  157. package/dist/api/conflux/ConfluxSignMessageCIP23.d.ts +2 -0
  158. package/dist/api/conflux/ConfluxSignMessageCIP23.d.ts.map +1 -1
  159. package/dist/api/conflux/ConfluxSignTransaction.d.ts +2 -0
  160. package/dist/api/conflux/ConfluxSignTransaction.d.ts.map +1 -1
  161. package/dist/api/cosmos/CosmosGetAddress.d.ts +1 -0
  162. package/dist/api/cosmos/CosmosGetAddress.d.ts.map +1 -1
  163. package/dist/api/cosmos/CosmosGetPublicKey.d.ts +1 -0
  164. package/dist/api/cosmos/CosmosGetPublicKey.d.ts.map +1 -1
  165. package/dist/api/cosmos/CosmosSignTransaction.d.ts +1 -0
  166. package/dist/api/cosmos/CosmosSignTransaction.d.ts.map +1 -1
  167. package/dist/api/device/DeviceCancel.d.ts +1 -0
  168. package/dist/api/device/DeviceCancel.d.ts.map +1 -1
  169. package/dist/api/device/DeviceChangePin.d.ts +1 -0
  170. package/dist/api/device/DeviceChangePin.d.ts.map +1 -1
  171. package/dist/api/device/DeviceFullyUploadResource.d.ts +1 -2
  172. package/dist/api/device/DeviceFullyUploadResource.d.ts.map +1 -1
  173. package/dist/api/device/DeviceLock.d.ts +1 -0
  174. package/dist/api/device/DeviceLock.d.ts.map +1 -1
  175. package/dist/api/device/DeviceRebootToBoardloader.d.ts +1 -0
  176. package/dist/api/device/DeviceRebootToBoardloader.d.ts.map +1 -1
  177. package/dist/api/device/DeviceRebootToBootloader.d.ts +1 -0
  178. package/dist/api/device/DeviceRebootToBootloader.d.ts.map +1 -1
  179. package/dist/api/device/DeviceSettings.d.ts +1 -0
  180. package/dist/api/device/DeviceSettings.d.ts.map +1 -1
  181. package/dist/api/device/DeviceSupportFeatures.d.ts +1 -0
  182. package/dist/api/device/DeviceSupportFeatures.d.ts.map +1 -1
  183. package/dist/api/device/DeviceUnlock.d.ts +3 -2
  184. package/dist/api/device/DeviceUnlock.d.ts.map +1 -1
  185. package/dist/api/device/DeviceUpdateBootloader.d.ts.map +1 -1
  186. package/dist/api/device/DeviceWipe.d.ts +1 -0
  187. package/dist/api/device/DeviceWipe.d.ts.map +1 -1
  188. package/dist/api/device/PreInitialize.d.ts +1 -0
  189. package/dist/api/device/PreInitialize.d.ts.map +1 -1
  190. package/dist/api/dynex/DnxGetAddress.d.ts.map +1 -1
  191. package/dist/api/dynex/DnxSignTransaction.d.ts.map +1 -1
  192. package/dist/api/evm/EVMGetAddress.d.ts +1 -0
  193. package/dist/api/evm/EVMGetAddress.d.ts.map +1 -1
  194. package/dist/api/evm/EVMGetPublicKey.d.ts +1 -0
  195. package/dist/api/evm/EVMGetPublicKey.d.ts.map +1 -1
  196. package/dist/api/evm/EVMSignMessage.d.ts +1 -0
  197. package/dist/api/evm/EVMSignMessage.d.ts.map +1 -1
  198. package/dist/api/evm/EVMSignMessageEIP712.d.ts.map +1 -1
  199. package/dist/api/evm/EVMSignTransaction.d.ts +1 -0
  200. package/dist/api/evm/EVMSignTransaction.d.ts.map +1 -1
  201. package/dist/api/evm/EVMSignTypedData.d.ts +1 -0
  202. package/dist/api/evm/EVMSignTypedData.d.ts.map +1 -1
  203. package/dist/api/evm/EVMVerifyMessage.d.ts +1 -0
  204. package/dist/api/evm/EVMVerifyMessage.d.ts.map +1 -1
  205. package/dist/api/evm/protocol.d.ts +3 -0
  206. package/dist/api/evm/protocol.d.ts.map +1 -0
  207. package/dist/api/filecoin/FilecoinGetAddress.d.ts +1 -0
  208. package/dist/api/filecoin/FilecoinGetAddress.d.ts.map +1 -1
  209. package/dist/api/filecoin/FilecoinSignTransaction.d.ts +1 -0
  210. package/dist/api/filecoin/FilecoinSignTransaction.d.ts.map +1 -1
  211. package/dist/api/firmware/FirmwareUpdateBaseMethod.d.ts +4 -3
  212. package/dist/api/firmware/FirmwareUpdateBaseMethod.d.ts.map +1 -1
  213. package/dist/api/firmware/getBinary.d.ts +8 -4
  214. package/dist/api/firmware/getBinary.d.ts.map +1 -1
  215. package/dist/api/firmware/uploadFirmware.d.ts.map +1 -1
  216. package/dist/api/helpers/filesystemValidation.d.ts +3 -0
  217. package/dist/api/helpers/filesystemValidation.d.ts.map +1 -1
  218. package/dist/api/helpers/paramsValidator.d.ts +1 -0
  219. package/dist/api/helpers/paramsValidator.d.ts.map +1 -1
  220. package/dist/api/helpers/protocolV2FileWrite.d.ts +42 -0
  221. package/dist/api/helpers/protocolV2FileWrite.d.ts.map +1 -0
  222. package/dist/api/index.d.ts +9 -25
  223. package/dist/api/index.d.ts.map +1 -1
  224. package/dist/api/kaspa/KaspaGetAddress.d.ts +4 -0
  225. package/dist/api/kaspa/KaspaGetAddress.d.ts.map +1 -1
  226. package/dist/api/kaspa/KaspaSignTransaction.d.ts +9 -1
  227. package/dist/api/kaspa/KaspaSignTransaction.d.ts.map +1 -1
  228. package/dist/api/kaspa/helpers/TransferSerialize.d.ts.map +1 -1
  229. package/dist/api/lightning/LnurlAuth.d.ts +0 -4
  230. package/dist/api/lightning/LnurlAuth.d.ts.map +1 -1
  231. package/dist/api/near/NearGetAddress.d.ts +1 -0
  232. package/dist/api/near/NearGetAddress.d.ts.map +1 -1
  233. package/dist/api/near/NearSignTransaction.d.ts +1 -0
  234. package/dist/api/near/NearSignTransaction.d.ts.map +1 -1
  235. package/dist/api/nem/NEMGetAddress.d.ts +1 -0
  236. package/dist/api/nem/NEMGetAddress.d.ts.map +1 -1
  237. package/dist/api/nem/NEMSignTransaction.d.ts +1 -0
  238. package/dist/api/nem/NEMSignTransaction.d.ts.map +1 -1
  239. package/dist/api/neo/NeoGetAddress.d.ts.map +1 -1
  240. package/dist/api/neo/NeoSignTransaction.d.ts.map +1 -1
  241. package/dist/api/nervos/NervosGetAddress.d.ts.map +1 -1
  242. package/dist/api/nervos/NervosSignTransaction.d.ts.map +1 -1
  243. package/dist/api/nexa/NexaGetAddress.d.ts.map +1 -1
  244. package/dist/api/nexa/NexaSignTransaction.d.ts +1 -0
  245. package/dist/api/nexa/NexaSignTransaction.d.ts.map +1 -1
  246. package/dist/api/nostr/NostrDecryptMessage.d.ts +1 -0
  247. package/dist/api/nostr/NostrDecryptMessage.d.ts.map +1 -1
  248. package/dist/api/nostr/NostrEncryptMessage.d.ts +1 -0
  249. package/dist/api/nostr/NostrEncryptMessage.d.ts.map +1 -1
  250. package/dist/api/nostr/NostrGetPublicKey.d.ts +1 -0
  251. package/dist/api/nostr/NostrGetPublicKey.d.ts.map +1 -1
  252. package/dist/api/nostr/NostrSignEvent.d.ts +1 -0
  253. package/dist/api/nostr/NostrSignEvent.d.ts.map +1 -1
  254. package/dist/api/nostr/NostrSignSchnorr.d.ts +1 -0
  255. package/dist/api/nostr/NostrSignSchnorr.d.ts.map +1 -1
  256. package/dist/api/polkadot/PolkadotGetAddress.d.ts +2 -1
  257. package/dist/api/polkadot/PolkadotGetAddress.d.ts.map +1 -1
  258. package/dist/api/polkadot/PolkadotSignTransaction.d.ts +1 -0
  259. package/dist/api/polkadot/PolkadotSignTransaction.d.ts.map +1 -1
  260. package/dist/api/polkadot/networks.d.ts +1 -1
  261. package/dist/api/protocol-v2/DeviceFactoryInfoGet.d.ts +1 -0
  262. package/dist/api/protocol-v2/DeviceFactoryInfoGet.d.ts.map +1 -1
  263. package/dist/api/protocol-v2/DeviceFactoryInfoSet.d.ts +1 -0
  264. package/dist/api/protocol-v2/DeviceFactoryInfoSet.d.ts.map +1 -1
  265. package/dist/api/protocol-v2/DeviceFirmwareUpdate.d.ts +1 -0
  266. package/dist/api/protocol-v2/DeviceFirmwareUpdate.d.ts.map +1 -1
  267. package/dist/api/protocol-v2/DeviceGetFirmwareUpdateStatus.d.ts +1 -0
  268. package/dist/api/protocol-v2/DeviceGetFirmwareUpdateStatus.d.ts.map +1 -1
  269. package/dist/api/protocol-v2/DeviceGetOnboardingStatus.d.ts +7 -0
  270. package/dist/api/protocol-v2/DeviceGetOnboardingStatus.d.ts.map +1 -0
  271. package/dist/api/protocol-v2/DeviceInfoGet.d.ts +1 -1
  272. package/dist/api/protocol-v2/DeviceInfoGet.d.ts.map +1 -1
  273. package/dist/api/protocol-v2/DeviceReboot.d.ts +1 -0
  274. package/dist/api/protocol-v2/DeviceReboot.d.ts.map +1 -1
  275. package/dist/api/protocol-v2/DeviceStatusGet.d.ts +7 -0
  276. package/dist/api/protocol-v2/DeviceStatusGet.d.ts.map +1 -0
  277. package/dist/api/protocol-v2/DeviceUploadNft.d.ts +31 -0
  278. package/dist/api/protocol-v2/DeviceUploadNft.d.ts.map +1 -0
  279. package/dist/api/protocol-v2/DeviceUploadWallpaper.d.ts +27 -0
  280. package/dist/api/protocol-v2/DeviceUploadWallpaper.d.ts.map +1 -0
  281. package/dist/api/protocol-v2/FilesystemFormat.d.ts +1 -0
  282. package/dist/api/protocol-v2/FilesystemFormat.d.ts.map +1 -1
  283. package/dist/api/protocol-v2/FilesystemPermissionFix.d.ts +1 -0
  284. package/dist/api/protocol-v2/FilesystemPermissionFix.d.ts.map +1 -1
  285. package/dist/api/protocol-v2/Ping.d.ts +3 -0
  286. package/dist/api/protocol-v2/Ping.d.ts.map +1 -1
  287. package/dist/api/protocol-v2/ProtocolInfoRequest.d.ts +1 -0
  288. package/dist/api/protocol-v2/ProtocolInfoRequest.d.ts.map +1 -1
  289. package/dist/api/protocol-v2/helpers.d.ts +1 -1
  290. package/dist/api/protocol-v2/helpers.d.ts.map +1 -1
  291. package/dist/api/scdo/ScdoGetAddress.d.ts.map +1 -1
  292. package/dist/api/scdo/ScdoSignMessage.d.ts.map +1 -1
  293. package/dist/api/scdo/ScdoSignTransaction.d.ts.map +1 -1
  294. package/dist/api/solana/SolGetAddress.d.ts +1 -0
  295. package/dist/api/solana/SolGetAddress.d.ts.map +1 -1
  296. package/dist/api/solana/SolSignMessage.d.ts +2 -1
  297. package/dist/api/solana/SolSignMessage.d.ts.map +1 -1
  298. package/dist/api/solana/SolSignOffchainMessage.d.ts +2 -1
  299. package/dist/api/solana/SolSignOffchainMessage.d.ts.map +1 -1
  300. package/dist/api/solana/SolSignTransaction.d.ts +3 -2
  301. package/dist/api/solana/SolSignTransaction.d.ts.map +1 -1
  302. package/dist/api/starcoin/StarcoinGetAddress.d.ts +1 -0
  303. package/dist/api/starcoin/StarcoinGetAddress.d.ts.map +1 -1
  304. package/dist/api/starcoin/StarcoinGetPublicKey.d.ts +1 -0
  305. package/dist/api/starcoin/StarcoinGetPublicKey.d.ts.map +1 -1
  306. package/dist/api/starcoin/StarcoinSignMessage.d.ts +1 -0
  307. package/dist/api/starcoin/StarcoinSignMessage.d.ts.map +1 -1
  308. package/dist/api/starcoin/StarcoinSignTransaction.d.ts +1 -0
  309. package/dist/api/starcoin/StarcoinSignTransaction.d.ts.map +1 -1
  310. package/dist/api/starcoin/StarcoinVerifyMessage.d.ts +1 -0
  311. package/dist/api/starcoin/StarcoinVerifyMessage.d.ts.map +1 -1
  312. package/dist/api/stellar/StellarGetAddress.d.ts +1 -2
  313. package/dist/api/stellar/StellarGetAddress.d.ts.map +1 -1
  314. package/dist/api/stellar/StellarSignTransaction.d.ts +1 -2
  315. package/dist/api/stellar/StellarSignTransaction.d.ts.map +1 -1
  316. package/dist/api/sui/SuiGetAddress.d.ts +2 -1
  317. package/dist/api/sui/SuiGetAddress.d.ts.map +1 -1
  318. package/dist/api/sui/SuiGetPublicKey.d.ts +2 -1
  319. package/dist/api/sui/SuiGetPublicKey.d.ts.map +1 -1
  320. package/dist/api/sui/SuiSignMessage.d.ts +2 -1
  321. package/dist/api/sui/SuiSignMessage.d.ts.map +1 -1
  322. package/dist/api/sui/SuiSignTransaction.d.ts +2 -1
  323. package/dist/api/sui/SuiSignTransaction.d.ts.map +1 -1
  324. package/dist/api/ton/TonGetAddress.d.ts +2 -1
  325. package/dist/api/ton/TonGetAddress.d.ts.map +1 -1
  326. package/dist/api/ton/TonSignData.d.ts +1 -0
  327. package/dist/api/ton/TonSignData.d.ts.map +1 -1
  328. package/dist/api/ton/TonSignMessage.d.ts +2 -1
  329. package/dist/api/ton/TonSignMessage.d.ts.map +1 -1
  330. package/dist/api/ton/TonSignProof.d.ts +2 -1
  331. package/dist/api/ton/TonSignProof.d.ts.map +1 -1
  332. package/dist/api/tron/TronGetAddress.d.ts +1 -0
  333. package/dist/api/tron/TronGetAddress.d.ts.map +1 -1
  334. package/dist/api/tron/TronSignMessage.d.ts +6 -1
  335. package/dist/api/tron/TronSignMessage.d.ts.map +1 -1
  336. package/dist/api/tron/TronSignTransaction.d.ts +2 -1
  337. package/dist/api/tron/TronSignTransaction.d.ts.map +1 -1
  338. package/dist/api/utils.d.ts +2 -1
  339. package/dist/api/utils.d.ts.map +1 -1
  340. package/dist/api/xrp/XrpGetAddress.d.ts +1 -0
  341. package/dist/api/xrp/XrpGetAddress.d.ts.map +1 -1
  342. package/dist/api/xrp/XrpSignTransaction.d.ts +1 -0
  343. package/dist/api/xrp/XrpSignTransaction.d.ts.map +1 -1
  344. package/dist/constants/index.d.ts +1 -1
  345. package/dist/constants/index.d.ts.map +1 -1
  346. package/dist/core/RequestQueue.d.ts.map +1 -1
  347. package/dist/core/deviceEventRegistration.d.ts +13 -0
  348. package/dist/core/deviceEventRegistration.d.ts.map +1 -0
  349. package/dist/core/index.d.ts +3 -1
  350. package/dist/core/index.d.ts.map +1 -1
  351. package/dist/core/uiPromiseRegistry.d.ts +6 -0
  352. package/dist/core/uiPromiseRegistry.d.ts.map +1 -0
  353. package/dist/data-manager/DataManager.d.ts +9 -3
  354. package/dist/data-manager/DataManager.d.ts.map +1 -1
  355. package/dist/data-manager/TransportManager.d.ts.map +1 -1
  356. package/dist/data-manager/connectSettings.d.ts.map +1 -1
  357. package/dist/device/Device.d.ts +71 -17
  358. package/dist/device/Device.d.ts.map +1 -1
  359. package/dist/device/DeviceCommands.d.ts +8 -6
  360. package/dist/device/DeviceCommands.d.ts.map +1 -1
  361. package/dist/device/DeviceConnector.d.ts +3 -2
  362. package/dist/device/DeviceConnector.d.ts.map +1 -1
  363. package/dist/device/DeviceFeaturesState.d.ts +3 -0
  364. package/dist/device/DeviceFeaturesState.d.ts.map +1 -0
  365. package/dist/device/DevicePool.d.ts +5 -2
  366. package/dist/device/DevicePool.d.ts.map +1 -1
  367. package/dist/device/DeviceStateMapper.d.ts +13 -0
  368. package/dist/device/DeviceStateMapper.d.ts.map +1 -0
  369. package/dist/device/DeviceStateProjector.d.ts +7 -0
  370. package/dist/device/DeviceStateProjector.d.ts.map +1 -0
  371. package/dist/device/DeviceStateStore.d.ts +21 -0
  372. package/dist/device/DeviceStateStore.d.ts.map +1 -0
  373. package/dist/device/DeviceWalletSessionStore.d.ts +27 -0
  374. package/dist/device/DeviceWalletSessionStore.d.ts.map +1 -0
  375. package/dist/device/cloneDeviceState.d.ts +2 -0
  376. package/dist/device/cloneDeviceState.d.ts.map +1 -0
  377. package/dist/device/deviceIdentity.d.ts +5 -0
  378. package/dist/device/deviceIdentity.d.ts.map +1 -0
  379. package/dist/deviceProfile/buildDeviceFeatures.d.ts +9 -3
  380. package/dist/deviceProfile/buildDeviceFeatures.d.ts.map +1 -1
  381. package/dist/deviceProfile/index.d.ts +0 -1
  382. package/dist/deviceProfile/index.d.ts.map +1 -1
  383. package/dist/deviceProfile/protocolV2DeviceIdentity.d.ts +7 -0
  384. package/dist/deviceProfile/protocolV2DeviceIdentity.d.ts.map +1 -0
  385. package/dist/events/device.d.ts +16 -2
  386. package/dist/events/device.d.ts.map +1 -1
  387. package/dist/events/logBlockEvent.d.ts +2 -0
  388. package/dist/events/logBlockEvent.d.ts.map +1 -1
  389. package/dist/events/ui-promise.d.ts +4 -2
  390. package/dist/events/ui-promise.d.ts.map +1 -1
  391. package/dist/events/ui-request.d.ts +50 -4
  392. package/dist/events/ui-request.d.ts.map +1 -1
  393. package/dist/events/ui-response.d.ts +10 -2
  394. package/dist/events/ui-response.d.ts.map +1 -1
  395. package/dist/index.d.ts +1593 -773
  396. package/dist/index.js +8507 -3894
  397. package/dist/inject.d.ts +6 -1
  398. package/dist/inject.d.ts.map +1 -1
  399. package/dist/lowLevelInject.d.ts.map +1 -1
  400. package/dist/protocols/protocol-v2/deviceSession.d.ts +7 -0
  401. package/dist/protocols/protocol-v2/deviceSession.d.ts.map +1 -0
  402. package/dist/protocols/protocol-v2/features.d.ts +21 -17
  403. package/dist/protocols/protocol-v2/features.d.ts.map +1 -1
  404. package/dist/protocols/protocol-v2/firmware.d.ts.map +1 -1
  405. package/dist/protocols/protocol-v2/index.d.ts +3 -2
  406. package/dist/protocols/protocol-v2/index.d.ts.map +1 -1
  407. package/dist/protocols/protocol-v2/resources.d.ts +30 -0
  408. package/dist/protocols/protocol-v2/resources.d.ts.map +1 -0
  409. package/dist/protocols/protocol-v2/settingsUnlockPolicy.d.ts +17 -0
  410. package/dist/protocols/protocol-v2/settingsUnlockPolicy.d.ts.map +1 -0
  411. package/dist/protocols/protocol-v2/uiInteraction.d.ts +42 -0
  412. package/dist/protocols/protocol-v2/uiInteraction.d.ts.map +1 -0
  413. package/dist/protocols/protocol-v2/unlockPolicy.d.ts +2 -0
  414. package/dist/protocols/protocol-v2/unlockPolicy.d.ts.map +1 -0
  415. package/dist/protocols/protocol-v2/unlockPolicyRunner.d.ts +22 -0
  416. package/dist/protocols/protocol-v2/unlockPolicyRunner.d.ts.map +1 -0
  417. package/dist/protocols/protocol-v2/walletSession.d.ts +27 -0
  418. package/dist/protocols/protocol-v2/walletSession.d.ts.map +1 -0
  419. package/dist/topLevelInject.d.ts.map +1 -1
  420. package/dist/types/api/checkAllFirmwareRelease.d.ts +27 -4
  421. package/dist/types/api/checkAllFirmwareRelease.d.ts.map +1 -1
  422. package/dist/types/api/detectDeviceConnectProtocol.d.ts +4 -0
  423. package/dist/types/api/detectDeviceConnectProtocol.d.ts.map +1 -0
  424. package/dist/types/api/deviceSettings.d.ts +11 -2
  425. package/dist/types/api/deviceSettings.d.ts.map +1 -1
  426. package/dist/types/api/deviceUnlock.d.ts +6 -2
  427. package/dist/types/api/deviceUnlock.d.ts.map +1 -1
  428. package/dist/types/api/export.d.ts +4 -2
  429. package/dist/types/api/export.d.ts.map +1 -1
  430. package/dist/types/api/firmwareUpdate.d.ts +8 -1
  431. package/dist/types/api/firmwareUpdate.d.ts.map +1 -1
  432. package/dist/types/api/getDeviceState.d.ts +12 -0
  433. package/dist/types/api/getDeviceState.d.ts.map +1 -0
  434. package/dist/types/api/getFeatures.d.ts.map +1 -1
  435. package/dist/types/api/getOnekeyFeatures.d.ts.map +1 -1
  436. package/dist/types/api/getPassphraseState.d.ts +2 -10
  437. package/dist/types/api/getPassphraseState.d.ts.map +1 -1
  438. package/dist/types/api/index.d.ts +23 -30
  439. package/dist/types/api/index.d.ts.map +1 -1
  440. package/dist/types/api/kaspaSignTransaction.d.ts +42 -4
  441. package/dist/types/api/kaspaSignTransaction.d.ts.map +1 -1
  442. package/dist/types/api/openWalletSession.d.ts +35 -0
  443. package/dist/types/api/openWalletSession.d.ts.map +1 -0
  444. package/dist/types/api/protocolV2.d.ts +18 -84
  445. package/dist/types/api/protocolV2.d.ts.map +1 -1
  446. package/dist/types/api/sessionCache.d.ts +13 -0
  447. package/dist/types/api/sessionCache.d.ts.map +1 -0
  448. package/dist/types/device.d.ts +134 -10
  449. package/dist/types/device.d.ts.map +1 -1
  450. package/dist/types/params.d.ts +1 -0
  451. package/dist/types/params.d.ts.map +1 -1
  452. package/dist/types/settings.d.ts +44 -21
  453. package/dist/types/settings.d.ts.map +1 -1
  454. package/dist/utils/assets.d.ts +2 -1
  455. package/dist/utils/assets.d.ts.map +1 -1
  456. package/dist/utils/deviceFeaturesCompat.d.ts +13 -0
  457. package/dist/utils/deviceFeaturesCompat.d.ts.map +1 -0
  458. package/dist/utils/deviceFeaturesUtils.d.ts +10 -3
  459. package/dist/utils/deviceFeaturesUtils.d.ts.map +1 -1
  460. package/dist/utils/deviceInfoUtils.d.ts +9 -9
  461. package/dist/utils/deviceInfoUtils.d.ts.map +1 -1
  462. package/dist/utils/deviceSettings.d.ts +38 -7
  463. package/dist/utils/deviceSettings.d.ts.map +1 -1
  464. package/dist/utils/deviceVersionUtils.d.ts +7 -5
  465. package/dist/utils/deviceVersionUtils.d.ts.map +1 -1
  466. package/dist/utils/homescreen.d.ts +4 -0
  467. package/dist/utils/homescreen.d.ts.map +1 -1
  468. package/dist/utils/index.d.ts +6 -3
  469. package/dist/utils/index.d.ts.map +1 -1
  470. package/dist/utils/networkUtils.d.ts +10 -1
  471. package/dist/utils/networkUtils.d.ts.map +1 -1
  472. package/dist/utils/patch.d.ts +1 -1
  473. package/dist/utils/patch.d.ts.map +1 -1
  474. package/dist/utils/pro2Nft.d.ts +31 -0
  475. package/dist/utils/pro2Nft.d.ts.map +1 -0
  476. package/dist/utils/pro2Wallpaper.d.ts +22 -0
  477. package/dist/utils/pro2Wallpaper.d.ts.map +1 -0
  478. package/dist/utils/tracing.d.ts.map +1 -1
  479. package/dist/utils/uiProgressThrottle.d.ts +3 -0
  480. package/dist/utils/uiProgressThrottle.d.ts.map +1 -0
  481. package/package.json +4 -4
  482. package/src/api/BaseMethod.ts +53 -20
  483. package/src/api/CheckAllFirmwareRelease.ts +340 -1
  484. package/src/api/CheckBootloaderRelease.ts +1 -2
  485. package/src/api/CheckFirmwareRelease.ts +1 -2
  486. package/src/api/CipherKeyValue.ts +4 -0
  487. package/src/api/ClearSessionCache.ts +32 -0
  488. package/src/api/DetectDeviceConnectProtocol.ts +18 -0
  489. package/src/api/DirList.ts +9 -4
  490. package/src/api/DirMake.ts +7 -4
  491. package/src/api/DirRemove.ts +7 -4
  492. package/src/api/FileDelete.ts +7 -4
  493. package/src/api/FileRead.ts +15 -9
  494. package/src/api/FileWrite.ts +26 -181
  495. package/src/api/FirmwareUpdate.ts +17 -14
  496. package/src/api/FirmwareUpdateV2.ts +137 -54
  497. package/src/api/FirmwareUpdateV3.ts +9 -13
  498. package/src/api/FirmwareUpdateV4.ts +805 -626
  499. package/src/api/GetDeviceState.ts +59 -0
  500. package/src/api/GetFeatures.ts +6 -4
  501. package/src/api/GetOnekeyFeatures.ts +1 -75
  502. package/src/api/GetPassphraseState.ts +36 -21
  503. package/src/api/OpenWalletSession.ts +268 -0
  504. package/src/api/PathInfo.ts +9 -4
  505. package/src/api/PromptWebDeviceAccess.ts +2 -7
  506. package/src/api/SearchDevices.ts +31 -4
  507. package/src/api/UploadPortfolio.ts +40 -0
  508. package/src/api/alephium/AlephiumGetAddress.ts +0 -4
  509. package/src/api/alephium/AlephiumSignMessage.ts +0 -4
  510. package/src/api/alephium/AlephiumSignTransaction.ts +2 -6
  511. package/src/api/algo/AlgoGetAddress.ts +4 -0
  512. package/src/api/algo/AlgoSignTransaction.ts +4 -0
  513. package/src/api/allnetwork/AllNetworkGetAddress.ts +21 -21
  514. package/src/api/allnetwork/AllNetworkGetAddressBase.ts +45 -32
  515. package/src/api/aptos/AptosGetAddress.ts +4 -0
  516. package/src/api/aptos/AptosGetPublicKey.ts +4 -0
  517. package/src/api/aptos/AptosSignInMessage.ts +4 -0
  518. package/src/api/aptos/AptosSignMessage.ts +4 -0
  519. package/src/api/aptos/AptosSignTransaction.ts +4 -0
  520. package/src/api/benfen/BenfenGetAddress.ts +11 -7
  521. package/src/api/benfen/BenfenGetPublicKey.ts +0 -4
  522. package/src/api/benfen/BenfenSignMessage.ts +0 -4
  523. package/src/api/benfen/BenfenSignTransaction.ts +0 -4
  524. package/src/api/btc/BTCGetAddress.ts +8 -1
  525. package/src/api/btc/BTCGetPublicKey.ts +9 -2
  526. package/src/api/btc/BTCSignMessage.ts +8 -1
  527. package/src/api/btc/BTCSignPsbt.ts +4 -0
  528. package/src/api/btc/BTCSignTransaction.ts +8 -1
  529. package/src/api/btc/BTCVerifyMessage.ts +8 -1
  530. package/src/api/btc/helpers/versionLimit.ts +7 -4
  531. package/src/api/cardano/CardanoGetAddress.ts +4 -0
  532. package/src/api/cardano/CardanoGetPublicKey.ts +4 -0
  533. package/src/api/cardano/CardanoSignMessage.ts +5 -1
  534. package/src/api/cardano/CardanoSignTransaction.ts +5 -1
  535. package/src/api/conflux/ConfluxGetAddress.ts +6 -0
  536. package/src/api/conflux/ConfluxSignMessage.ts +6 -0
  537. package/src/api/conflux/ConfluxSignMessageCIP23.ts +6 -0
  538. package/src/api/conflux/ConfluxSignTransaction.ts +8 -5
  539. package/src/api/cosmos/CosmosGetAddress.ts +4 -0
  540. package/src/api/cosmos/CosmosGetPublicKey.ts +4 -0
  541. package/src/api/cosmos/CosmosSignTransaction.ts +4 -0
  542. package/src/api/device/DeviceCancel.ts +5 -0
  543. package/src/api/device/DeviceChangePin.ts +28 -0
  544. package/src/api/device/DeviceFullyUploadResource.ts +4 -5
  545. package/src/api/device/DeviceLock.ts +5 -0
  546. package/src/api/device/DeviceRebootToBoardloader.ts +5 -0
  547. package/src/api/device/DeviceRebootToBootloader.ts +5 -0
  548. package/src/api/device/DeviceSettings.ts +195 -1
  549. package/src/api/device/DeviceSupportFeatures.ts +4 -0
  550. package/src/api/device/DeviceUnlock.ts +21 -3
  551. package/src/api/device/DeviceUpdateBootloader.ts +1 -2
  552. package/src/api/device/DeviceWipe.ts +25 -0
  553. package/src/api/device/PreInitialize.ts +4 -0
  554. package/src/api/dynex/DnxGetAddress.ts +0 -6
  555. package/src/api/dynex/DnxSignTransaction.ts +0 -6
  556. package/src/api/evm/EVMGetAddress.ts +6 -2
  557. package/src/api/evm/EVMGetPublicKey.ts +6 -2
  558. package/src/api/evm/EVMSignMessage.ts +6 -2
  559. package/src/api/evm/EVMSignMessageEIP712.ts +1 -11
  560. package/src/api/evm/EVMSignTransaction.ts +6 -2
  561. package/src/api/evm/EVMSignTypedData.ts +42 -50
  562. package/src/api/evm/EVMVerifyMessage.ts +6 -2
  563. package/src/api/evm/legacyV1/getAddress.ts +2 -2
  564. package/src/api/evm/legacyV1/getPublicKey.ts +2 -2
  565. package/src/api/evm/legacyV1/signMessage.ts +2 -2
  566. package/src/api/evm/legacyV1/signTypedData.ts +2 -2
  567. package/src/api/evm/legacyV1/signTypedHash.ts +2 -2
  568. package/src/api/evm/legacyV1/verifyMessage.ts +2 -2
  569. package/src/api/evm/protocol.ts +6 -0
  570. package/src/api/filecoin/FilecoinGetAddress.ts +4 -0
  571. package/src/api/filecoin/FilecoinSignTransaction.ts +4 -0
  572. package/src/api/firmware/FirmwareUpdateBaseMethod.ts +30 -15
  573. package/src/api/firmware/getBinary.ts +8 -3
  574. package/src/api/firmware/uploadFirmware.ts +17 -4
  575. package/src/api/helpers/batchGetPublickeys.ts +2 -2
  576. package/src/api/helpers/filesystemValidation.ts +61 -0
  577. package/src/api/helpers/paramsValidator.ts +1 -1
  578. package/src/api/helpers/protocolV2FileWrite.ts +338 -0
  579. package/src/api/index.ts +10 -26
  580. package/src/api/kaspa/KaspaGetAddress.ts +7 -0
  581. package/src/api/kaspa/KaspaSignTransaction.ts +369 -29
  582. package/src/api/kaspa/helpers/TransferSerialize.ts +17 -7
  583. package/src/api/lightning/LnurlAuth.ts +0 -4
  584. package/src/api/near/NearGetAddress.ts +4 -0
  585. package/src/api/near/NearSignTransaction.ts +4 -0
  586. package/src/api/nem/NEMGetAddress.ts +4 -0
  587. package/src/api/nem/NEMSignTransaction.ts +4 -0
  588. package/src/api/neo/NeoGetAddress.ts +0 -4
  589. package/src/api/neo/NeoSignTransaction.ts +0 -4
  590. package/src/api/nervos/NervosGetAddress.ts +0 -4
  591. package/src/api/nervos/NervosSignTransaction.ts +2 -6
  592. package/src/api/nexa/NexaGetAddress.ts +0 -4
  593. package/src/api/nexa/NexaSignTransaction.ts +3 -5
  594. package/src/api/nostr/NostrDecryptMessage.ts +4 -0
  595. package/src/api/nostr/NostrEncryptMessage.ts +4 -0
  596. package/src/api/nostr/NostrGetPublicKey.ts +4 -0
  597. package/src/api/nostr/NostrSignEvent.ts +4 -0
  598. package/src/api/nostr/NostrSignSchnorr.ts +4 -0
  599. package/src/api/polkadot/PolkadotGetAddress.ts +4 -0
  600. package/src/api/polkadot/PolkadotSignTransaction.ts +4 -0
  601. package/src/api/polkadot/networks.ts +3 -3
  602. package/src/api/protocol-v2/DeviceFactoryInfoGet.ts +5 -2
  603. package/src/api/protocol-v2/DeviceFactoryInfoSet.ts +5 -2
  604. package/src/api/protocol-v2/DeviceFirmwareUpdate.ts +8 -5
  605. package/src/api/protocol-v2/DeviceGetFirmwareUpdateStatus.ts +10 -6
  606. package/src/api/protocol-v2/DeviceGetOnboardingStatus.ts +21 -0
  607. package/src/api/protocol-v2/DeviceInfoGet.ts +8 -15
  608. package/src/api/protocol-v2/DeviceReboot.ts +7 -3
  609. package/src/api/protocol-v2/DeviceStatusGet.ts +19 -0
  610. package/src/api/protocol-v2/DeviceUploadNft.ts +197 -0
  611. package/src/api/protocol-v2/DeviceUploadWallpaper.ts +134 -0
  612. package/src/api/protocol-v2/FilesystemFormat.ts +9 -3
  613. package/src/api/protocol-v2/FilesystemPermissionFix.ts +5 -2
  614. package/src/api/protocol-v2/Ping.ts +37 -3
  615. package/src/api/protocol-v2/ProtocolInfoRequest.ts +8 -3
  616. package/src/api/protocol-v2/helpers.ts +17 -17
  617. package/src/api/scdo/ScdoGetAddress.ts +0 -4
  618. package/src/api/scdo/ScdoSignMessage.ts +0 -4
  619. package/src/api/scdo/ScdoSignTransaction.ts +0 -4
  620. package/src/api/solana/SolGetAddress.ts +4 -0
  621. package/src/api/solana/SolSignMessage.ts +5 -1
  622. package/src/api/solana/SolSignOffchainMessage.ts +5 -1
  623. package/src/api/solana/SolSignTransaction.ts +6 -2
  624. package/src/api/starcoin/StarcoinGetAddress.ts +4 -0
  625. package/src/api/starcoin/StarcoinGetPublicKey.ts +4 -0
  626. package/src/api/starcoin/StarcoinSignMessage.ts +4 -0
  627. package/src/api/starcoin/StarcoinSignTransaction.ts +4 -0
  628. package/src/api/starcoin/StarcoinVerifyMessage.ts +4 -0
  629. package/src/api/stellar/StellarGetAddress.ts +1 -10
  630. package/src/api/stellar/StellarSignTransaction.ts +1 -14
  631. package/src/api/sui/SuiGetAddress.ts +5 -1
  632. package/src/api/sui/SuiGetPublicKey.ts +5 -1
  633. package/src/api/sui/SuiSignMessage.ts +5 -1
  634. package/src/api/sui/SuiSignTransaction.ts +5 -1
  635. package/src/api/ton/TonGetAddress.ts +5 -1
  636. package/src/api/ton/TonSignData.ts +5 -1
  637. package/src/api/ton/TonSignMessage.ts +5 -1
  638. package/src/api/ton/TonSignProof.ts +5 -1
  639. package/src/api/tron/TronGetAddress.ts +4 -0
  640. package/src/api/tron/TronSignMessage.ts +19 -8
  641. package/src/api/tron/TronSignTransaction.ts +5 -1
  642. package/src/api/utils.ts +7 -3
  643. package/src/api/xrp/XrpGetAddress.ts +4 -0
  644. package/src/api/xrp/XrpSignTransaction.ts +5 -1
  645. package/src/constants/index.ts +1 -4
  646. package/src/core/RequestQueue.ts +1 -0
  647. package/src/core/deviceEventRegistration.ts +27 -0
  648. package/src/core/index.ts +365 -152
  649. package/src/core/uiPromiseRegistry.ts +63 -0
  650. package/src/data/messages/messages-protocol-v2.json +1138 -441
  651. package/src/data/messages/messages.json +286 -1
  652. package/src/data-manager/DataManager.ts +88 -16
  653. package/src/data-manager/TransportManager.ts +7 -1
  654. package/src/data-manager/connectSettings.ts +4 -0
  655. package/src/device/Device.ts +891 -295
  656. package/src/device/DeviceCommands.ts +193 -158
  657. package/src/device/DeviceConnector.ts +43 -20
  658. package/src/device/DeviceFeaturesState.ts +25 -0
  659. package/src/device/DevicePool.ts +86 -22
  660. package/src/device/DeviceStateMapper.ts +374 -0
  661. package/src/device/DeviceStateProjector.ts +94 -0
  662. package/src/device/DeviceStateStore.ts +201 -0
  663. package/src/device/DeviceWalletSessionStore.ts +144 -0
  664. package/src/device/cloneDeviceState.ts +39 -0
  665. package/src/device/deviceIdentity.ts +18 -0
  666. package/src/deviceProfile/buildDeviceFeatures.ts +223 -189
  667. package/src/deviceProfile/index.ts +0 -1
  668. package/src/deviceProfile/protocolV2DeviceIdentity.ts +35 -0
  669. package/src/events/device.ts +22 -1
  670. package/src/events/logBlockEvent.ts +80 -2
  671. package/src/events/ui-promise.ts +4 -2
  672. package/src/events/ui-request.ts +61 -4
  673. package/src/events/ui-response.ts +12 -2
  674. package/src/inject.ts +73 -43
  675. package/src/lowLevelInject.ts +6 -3
  676. package/src/protocols/protocol-v2/deviceSession.ts +24 -0
  677. package/src/protocols/protocol-v2/features.ts +100 -33
  678. package/src/protocols/protocol-v2/firmware.ts +3 -1
  679. package/src/protocols/protocol-v2/index.ts +8 -1
  680. package/src/protocols/protocol-v2/resources.ts +390 -0
  681. package/src/protocols/protocol-v2/settingsUnlockPolicy.ts +65 -0
  682. package/src/protocols/protocol-v2/uiInteraction.ts +250 -0
  683. package/src/protocols/protocol-v2/unlockPolicy.ts +1 -0
  684. package/src/protocols/protocol-v2/unlockPolicyRunner.ts +118 -0
  685. package/src/protocols/protocol-v2/walletSession.ts +463 -0
  686. package/src/topLevelInject.ts +6 -3
  687. package/src/types/api/checkAllFirmwareRelease.ts +48 -4
  688. package/src/types/api/detectDeviceConnectProtocol.ts +6 -0
  689. package/src/types/api/deviceSettings.ts +26 -2
  690. package/src/types/api/deviceUnlock.ts +13 -2
  691. package/src/types/api/export.ts +9 -0
  692. package/src/types/api/firmwareUpdate.ts +26 -5
  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 +38 -64
  698. package/src/types/api/kaspaSignTransaction.ts +60 -4
  699. package/src/types/api/openWalletSession.ts +54 -0
  700. package/src/types/api/protocolV2.ts +33 -141
  701. package/src/types/api/sessionCache.ts +19 -0
  702. package/src/types/device.ts +200 -10
  703. package/src/types/params.ts +9 -2
  704. package/src/types/settings.ts +76 -24
  705. package/src/utils/assets.ts +4 -1
  706. package/src/utils/deviceFeaturesCompat.ts +185 -0
  707. package/src/utils/deviceFeaturesUtils.ts +65 -47
  708. package/src/utils/deviceInfoUtils.ts +29 -69
  709. package/src/utils/deviceSettings.ts +174 -39
  710. package/src/utils/deviceVersionUtils.ts +25 -44
  711. package/src/utils/findDefectiveBatchDevice.ts +3 -3
  712. package/src/utils/homescreen.ts +36 -0
  713. package/src/utils/index.ts +27 -3
  714. package/src/utils/networkUtils.ts +274 -16
  715. package/src/utils/pro2Nft.ts +142 -0
  716. package/src/utils/pro2Wallpaper.ts +130 -0
  717. package/src/utils/tracing.ts +3 -1
  718. package/src/utils/uiProgressThrottle.ts +63 -0
  719. package/tsconfig.type-tests.json +12 -0
  720. package/dist/api/GetDeviceInfo.d.ts +0 -9
  721. package/dist/api/GetDeviceInfo.d.ts.map +0 -1
  722. package/dist/api/firmware/progressThrottle.d.ts +0 -3
  723. package/dist/api/firmware/progressThrottle.d.ts.map +0 -1
  724. package/dist/api/protocol-v2/FilesystemDiskControl.d.ts +0 -13
  725. package/dist/api/protocol-v2/FilesystemDiskControl.d.ts.map +0 -1
  726. package/dist/deviceProfile/buildDeviceProfile.d.ts +0 -21
  727. package/dist/deviceProfile/buildDeviceProfile.d.ts.map +0 -1
  728. package/dist/types/api/getDeviceInfo.d.ts +0 -87
  729. package/dist/types/api/getDeviceInfo.d.ts.map +0 -1
  730. package/src/api/GetDeviceInfo.ts +0 -145
  731. package/src/api/firmware/progressThrottle.ts +0 -44
  732. package/src/api/protocol-v2/FilesystemDiskControl.ts +0 -50
  733. package/src/deviceProfile/buildDeviceProfile.ts +0 -352
  734. 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,19 @@ 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.
79
+ */
50
80
  uuid: string;
51
81
  deviceId: string | null;
52
82
  deviceType: IDeviceType;
@@ -91,6 +121,7 @@ export type DeviceFeaturesProtocol = 'V1' | 'V2' | 'unknown';
91
121
  export type DeviceFeaturesMode =
92
122
  | 'normal'
93
123
  | 'bootloader'
124
+ | 'romloader'
94
125
  | 'notInitialized'
95
126
  | 'backupMode'
96
127
  | 'unknown';
@@ -98,6 +129,10 @@ export type DeviceFeaturesMode =
98
129
  export type DeviceFeaturesVerify = {
99
130
  firmwareBuildId?: string;
100
131
  firmwareHash?: string;
132
+ applicationP1BuildId?: string;
133
+ applicationP1Hash?: string;
134
+ applicationP2BuildId?: string;
135
+ applicationP2Hash?: string;
101
136
  bootloaderBuildId?: string;
102
137
  bootloaderHash?: string;
103
138
  boardBuildId?: string;
@@ -125,10 +160,141 @@ export type DeviceFeaturesVerify = {
125
160
  export type DeviceFeaturesRaw = {
126
161
  protocolV1Features?: PROTO.Features;
127
162
  protocolV1OneKeyFeatures?: OnekeyFeatures;
163
+ protocolV2ProtocolInfo?: ProtocolV2ProtocolInfo;
128
164
  protocolV2DeviceInfo?: ProtocolV2DeviceInfo;
165
+ protocolV2DeviceStatus?: ProtocolV2DeviceStatus;
129
166
  };
130
167
 
131
- export type Features = {
168
+ export type DeviceFeaturesRawPatch = {
169
+ [Key in keyof DeviceFeaturesRaw]?: DeviceFeaturesRaw[Key] | null;
170
+ };
171
+
172
+ export type DeviceStateProtocol = DeviceFeaturesProtocol;
173
+ export type DeviceStateMode = DeviceFeaturesMode;
174
+ export type DeviceStateSection = 'identity' | 'status' | 'settings' | 'versions' | 'verification';
175
+
176
+ export type DeviceStateUpdateSource =
177
+ | 'initialize'
178
+ | 'device-info'
179
+ | 'device-status'
180
+ | 'settings-read'
181
+ | 'settings-write'
182
+ | 'change-pin'
183
+ | 'lock'
184
+ | 'unlock'
185
+ | 'passphrase'
186
+ | 'session-clear'
187
+ | 'firmware-update'
188
+ | 'transport-reconnect'
189
+ | 'compatibility';
190
+
191
+ export type DeviceStateIdentity = {
192
+ deviceType: IDeviceType;
193
+ firmwareType: EFirmwareType;
194
+ model: string | null;
195
+ vendor: string | null;
196
+ deviceId: string | null;
197
+ serialNo: string;
198
+ label: string | null;
199
+ bleName: string | null;
200
+ };
201
+
202
+ export type DeviceStateStatus = {
203
+ mode: DeviceStateMode;
204
+ initialized: boolean | null;
205
+ unlocked: boolean | null;
206
+ firmwarePresent: boolean | null;
207
+ backupRequired: boolean | null;
208
+ noBackup: boolean | null;
209
+ unfinishedBackup: boolean | null;
210
+ recoveryMode: boolean | null;
211
+ passphraseProtection: boolean | null;
212
+ pinProtection: boolean | null;
213
+ /** `attach_to_pin_enabled`:是否至少存在一个 Attach PIN 绑定。 */
214
+ attachToPinEnabled: boolean | null;
215
+ /** `unlocked_by_attach_to_pin`:本次解锁是否由 Attach PIN 完成。 */
216
+ unlockedAttachPin: boolean | null;
217
+ };
218
+
219
+ export type DeviceStateSettings = {
220
+ language: string | null;
221
+ bleEnabled: boolean | null;
222
+ sdCardPresent: boolean | null;
223
+ sdProtection: boolean | null;
224
+ wipeCodeProtection: boolean | null;
225
+ passphraseAlwaysOnDevice: boolean | null;
226
+ safetyChecks: Enum_SafetyCheckLevel | null;
227
+ autoLockDelayMs: number | null;
228
+ autoShutdownDelayMs: number | null;
229
+ displayRotation: number | null;
230
+ experimentalFeatures: boolean | null;
231
+ wallpaperPath: string | null;
232
+ brightness: number | null;
233
+ animationEnabled: boolean | null;
234
+ tapToWake: boolean | null;
235
+ hapticFeedback: boolean | null;
236
+ deviceNameDisplayEnabled: boolean | null;
237
+ airgapMode: boolean | null;
238
+ fidoEnabled: boolean | null;
239
+ usbLockEnabled: boolean | null;
240
+ randomKeypad: boolean | null;
241
+ };
242
+
243
+ export type DeviceStateVersions = {
244
+ firmware: string | null;
245
+ applicationP1?: string | null;
246
+ applicationP2?: string | null;
247
+ bootloader: string | null;
248
+ board: string | null;
249
+ ble: string | null;
250
+ /** @deprecated Kept for legacy consumers; new code should read se01. */
251
+ se?: string | null;
252
+ se01?: string | null;
253
+ se02?: string | null;
254
+ se03?: string | null;
255
+ se04?: string | null;
256
+ se01Boot?: string | null;
257
+ se02Boot?: string | null;
258
+ se03Boot?: string | null;
259
+ se04Boot?: string | null;
260
+ };
261
+
262
+ export type DeviceState = {
263
+ schemaVersion: 1;
264
+ revision: number;
265
+ updatedAt: number;
266
+ protocol: DeviceStateProtocol;
267
+ /** Device-message protocol version, independent of the SDK V1/V2 protocol family. */
268
+ protocolVersion: number | null;
269
+ identity: DeviceStateIdentity;
270
+ status: DeviceStateStatus;
271
+ settings: DeviceStateSettings;
272
+ versions: DeviceStateVersions;
273
+ capabilities: Array<number | string>;
274
+ verification?: Partial<DeviceFeaturesVerify>;
275
+ };
276
+
277
+ export type DeviceStatePatch = {
278
+ protocol?: DeviceStateProtocol;
279
+ protocolVersion?: number | null;
280
+ identity?: Partial<DeviceStateIdentity>;
281
+ status?: Partial<DeviceStateStatus>;
282
+ settings?: Partial<DeviceStateSettings>;
283
+ versions?: Partial<DeviceStateVersions>;
284
+ capabilities?: Array<number | string>;
285
+ verification?: DeviceFeaturesVerify;
286
+ raw?: DeviceFeaturesRawPatch;
287
+ };
288
+
289
+ export type DeviceStateEvent = {
290
+ connectId: string | null;
291
+ state: DeviceState;
292
+ revision: number;
293
+ source: DeviceStateUpdateSource;
294
+ changedKeys: string[];
295
+ };
296
+
297
+ export type NormalizedFeatures = {
132
298
  protocol: DeviceFeaturesProtocol;
133
299
  protocolVersion?: number | null;
134
300
  deviceType: IDeviceType;
@@ -157,11 +323,23 @@ export type Features = {
157
323
  sdProtection: boolean | null;
158
324
  wipeCodeProtection: boolean | null;
159
325
  passphraseAlwaysOnDevice: boolean | null;
326
+ /** `attach_to_pin_enabled`:是否至少存在一个 Attach PIN 绑定。 */
160
327
  attachToPinEnabled?: boolean | null;
161
- safetyChecks: string | null;
328
+ safetyChecks: Enum_SafetyCheckLevel | null;
162
329
  autoLockDelayMs: number | null;
330
+ autoShutdownDelayMs: number | null;
163
331
  displayRotation: number | null;
164
332
  experimentalFeatures: boolean | null;
333
+ wallpaperPath: string | null;
334
+ brightness: number | null;
335
+ animationEnabled: boolean | null;
336
+ tapToWake: boolean | null;
337
+ hapticFeedback: boolean | null;
338
+ deviceNameDisplayEnabled: boolean | null;
339
+ airgapMode: boolean | null;
340
+ fidoEnabled: boolean | null;
341
+ usbLockEnabled: boolean | null;
342
+ randomKeypad: boolean | null;
165
343
  firmwareVersion: string | null;
166
344
  bootloaderVersion: string | null;
167
345
  boardVersion: string | null;
@@ -182,6 +360,10 @@ export type Features = {
182
360
  raw?: DeviceFeaturesRaw;
183
361
  };
184
362
 
363
+ export type Features = NormalizedFeatures &
364
+ Partial<Omit<PROTO.Features, keyof NormalizedFeatures>> &
365
+ Partial<Omit<PROTO.OnekeyFeatures, keyof NormalizedFeatures | keyof PROTO.Features>>;
366
+
185
367
  export type OnekeyFeatures = PROTO.OnekeyFeatures;
186
368
 
187
369
  export type IDeviceType =
@@ -192,14 +374,21 @@ export type IDeviceType =
192
374
  | EDeviceType.Mini
193
375
  | EDeviceType.Touch
194
376
  | EDeviceType.Pro
195
- | EDeviceType.Pro2;
377
+ | EDeviceType.Pro2
378
+ | EDeviceType.Neo;
196
379
 
197
380
  /**
198
381
  * model_classic: 'classic' | 'classic1s' | 'classicpure'
199
382
  * model_mini: 'classic' | 'classic1s' | 'classicpure' | 'mini'
200
383
  * model_touch: 'touch' | 'pro'
384
+ * model_pro2: 'pro2' | 'neo'
201
385
  */
202
- export type IDeviceModel = 'model_classic' | 'model_mini' | 'model_touch' | 'model_classic1s';
386
+ export type IDeviceModel =
387
+ | 'model_classic'
388
+ | 'model_mini'
389
+ | 'model_touch'
390
+ | 'model_classic1s'
391
+ | 'model_pro2';
203
392
 
204
393
  export const DeviceModelToTypes: { [deviceModel in IDeviceModel]: IDeviceType[] } = {
205
394
  model_mini: [
@@ -209,6 +398,7 @@ export const DeviceModelToTypes: { [deviceModel in IDeviceModel]: IDeviceType[]
209
398
  EDeviceType.Mini,
210
399
  ],
211
400
  model_touch: [EDeviceType.Touch, EDeviceType.Pro],
401
+ model_pro2: [EDeviceType.Pro2, EDeviceType.Neo],
212
402
  model_classic: [EDeviceType.Classic, EDeviceType.Classic1s, EDeviceType.ClassicPure],
213
403
  model_classic1s: [EDeviceType.Classic1s, EDeviceType.ClassicPure],
214
404
  };
@@ -220,7 +410,8 @@ export const DeviceTypeToModels: { [deviceType in IDeviceType]: IDeviceModel[] }
220
410
  [EDeviceType.Mini]: ['model_mini'],
221
411
  [EDeviceType.Touch]: ['model_touch'],
222
412
  [EDeviceType.Pro]: ['model_touch'],
223
- [EDeviceType.Pro2]: [],
413
+ [EDeviceType.Pro2]: ['model_pro2'],
414
+ [EDeviceType.Neo]: ['model_pro2'],
224
415
  [EDeviceType.Unknown]: [],
225
416
  };
226
417
 
@@ -233,7 +424,6 @@ export type ITransportStatus = 'valid' | 'outdated';
233
424
  export type IVersionRange = {
234
425
  min: string;
235
426
  max?: string;
236
- unsupported?: boolean;
237
427
  };
238
428
 
239
429
  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 };
@@ -49,32 +49,75 @@ export type IProtocolV2FirmwareComponentTarget =
49
49
  | 'SE01'
50
50
  | 'SE02'
51
51
  | 'SE03'
52
- | 'SE04'
53
- | 'CRATE';
52
+ | 'SE04';
54
53
 
55
54
  export type IProtocolV2FirmwareComponent = {
56
55
  target: IProtocolV2FirmwareComponentTarget;
57
56
  url: string;
57
+ /** SHA-256 of the complete okpkg, used after downloading the package. */
58
58
  fingerprint?: string;
59
+ /** OKPP payload hash, used to detect same-version package changes. */
60
+ payloadHash?: string;
59
61
  version?: IVersionArray;
60
- resourceManifest?: IProtocolV2ResourceManifest;
61
62
  };
62
63
 
63
- export type IProtocolV2ResourceManifestPackage = {
64
+ export type IProtocolV2ResourceType =
65
+ | 'images'
66
+ | 'animation'
67
+ | 'wallpaper'
68
+ | 'translations'
69
+ | 'roobert'
70
+ | 'noto';
71
+
72
+ /** Pro2 RES package descriptor. Hashes identify content without a human-managed version. */
73
+ export type IProtocolV2Resource = {
74
+ type: IProtocolV2ResourceType;
75
+ url: string;
76
+ /** Complete okpkg file size in bytes. */
77
+ size: number;
78
+ /** SHA-256 of the complete okpkg file. */
79
+ fileHash: string;
80
+ /** SHA3-512 header_hash from the signed okpkg header. */
81
+ headerHash: string;
82
+ };
83
+
84
+ /** A file from the Protocol V2 resource manifest, written directly with FileWrite. */
85
+ export type IProtocolV2ResourceFile = {
64
86
  name?: string;
65
- path: string;
66
- type?: string;
67
- version?: IVersionArray;
68
- sha256?: string;
69
- payloadHash?: string;
70
- headerHash?: string;
87
+ url: string;
88
+ devicePath: string;
89
+ size: number;
90
+ /** SHA-256 of the complete file. */
91
+ fileHash: string;
71
92
  };
72
93
 
73
- export type IProtocolV2ResourceManifest = {
74
- format?: 'okpkg-crate' | string;
75
- target?: 'CRATE' | string;
94
+ /** Optional Protocol V2 boot resources restored as individual files. */
95
+ export type IProtocolV2BootResources = {
96
+ required: false;
97
+ target: 'RES';
98
+ manifestUrl?: string;
99
+ files: IProtocolV2ResourceFile[];
100
+ };
101
+
102
+ export type IProtocolV2Resources = {
103
+ stable: IProtocolV2Resource[];
104
+ boot?: IProtocolV2BootResources;
105
+ };
106
+
107
+ /** Pro2 RESC bundle okpkg descriptor for incremental FileWrite synchronization. */
108
+ export type IProtocolV2ResourceBundle = {
109
+ /** Bundle name, such as images, animation, translations, or fonts_roobert. */
110
+ name: string;
111
+ /** Download URL. */
112
+ url: string;
113
+ /** Device target path, such as vol0:/bundles/images/images.okpkg. */
114
+ devicePath: string;
115
+ /** okpkg payload_version used to skip matching content after FileRead. */
76
116
  version?: IVersionArray;
77
- packages: IProtocolV2ResourceManifestPackage[];
117
+ /** okpkg payload_hash used for SHA3-512 comparison after FileRead. */
118
+ payloadHash?: string;
119
+ /** okpkg header_hash used for SHA3-512 comparison after FileRead. */
120
+ headerHash?: string;
78
121
  };
79
122
 
80
123
  /** STM32 firmware config */
@@ -98,7 +141,8 @@ export type IFirmwareReleaseInfo = {
98
141
  upgradeType?: 'payload-package-set' | string;
99
142
  components?: Record<string, IProtocolV2FirmwareComponent>;
100
143
  installOrder?: string[];
101
- resourceManifest?: IProtocolV2ResourceManifest;
144
+ /** Pro2 RESC bundles for incremental direct FileWrite synchronization. */
145
+ resourceBundles?: IProtocolV2ResourceBundle[];
102
146
  bootloaderChangelog?: {
103
147
  [k in ILocale]: string;
104
148
  };
@@ -125,17 +169,25 @@ export type IBLEFirmwareReleaseInfo = {
125
169
  };
126
170
 
127
171
  type IKnownDevice = Exclude<IDeviceType, 'unknown'>;
172
+ type ILegacyKnownDevice = Exclude<IKnownDevice, 'neo'>;
173
+
174
+ type IDeviceReleaseInfo = {
175
+ firmware: IFirmwareReleaseInfo[];
176
+ /** Protocol V2 payload package set */
177
+ 'firmware-v1'?: IFirmwareReleaseInfo[];
178
+ 'firmware-v2'?: IFirmwareReleaseInfo[];
179
+ 'firmware-v8'?: IFirmwareReleaseInfo[];
180
+ 'firmware-btc-v8'?: IFirmwareReleaseInfo[];
181
+ ble: IBLEFirmwareReleaseInfo[];
182
+ /** Independent Protocol V2 resource release configuration. */
183
+ resources?: IProtocolV2Resources;
184
+ };
128
185
 
129
186
  export type DeviceTypeMap = {
130
- [k in IKnownDevice]: {
131
- firmware: IFirmwareReleaseInfo[];
132
- /** Pro2 Protocol V2 payload package set */
133
- 'firmware-v1'?: IFirmwareReleaseInfo[];
134
- 'firmware-v2'?: IFirmwareReleaseInfo[];
135
- 'firmware-v8'?: IFirmwareReleaseInfo[];
136
- 'firmware-btc-v8'?: IFirmwareReleaseInfo[];
137
- ble: IBLEFirmwareReleaseInfo[];
138
- };
187
+ [k in ILegacyKnownDevice]: IDeviceReleaseInfo;
188
+ } & {
189
+ /** Optional until every remote-config producer publishes a Neo entry. */
190
+ neo?: IDeviceReleaseInfo;
139
191
  };
140
192
 
141
193
  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,185 @@
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 resolveDeviceType = (features?: DeviceFeaturesInput): IDeviceType => {
41
+ if (!features || typeof features !== 'object') {
42
+ return EDeviceType.Unknown;
43
+ }
44
+
45
+ const compatible = asCompatibleFeatures(features);
46
+ if (compatible.deviceType && compatible.deviceType !== EDeviceType.Unknown) {
47
+ return compatible.deviceType;
48
+ }
49
+
50
+ switch (compatible.onekey_device_type?.toString().toUpperCase()) {
51
+ case 'CLASSIC':
52
+ return EDeviceType.Classic;
53
+ case 'CLASSIC1S':
54
+ return EDeviceType.Classic1s;
55
+ case 'MINI':
56
+ return EDeviceType.Mini;
57
+ case 'TOUCH':
58
+ return EDeviceType.Touch;
59
+ case 'PRO':
60
+ return EDeviceType.Pro;
61
+ case 'PRO2':
62
+ return EDeviceType.Pro2;
63
+ case 'NEO':
64
+ return EDeviceType.Neo;
65
+ case 'PURE':
66
+ return EDeviceType.ClassicPure;
67
+ default:
68
+ break;
69
+ }
70
+
71
+ if (compatible.model?.toString().toLowerCase() === EDeviceType.Pro2) {
72
+ return EDeviceType.Pro2;
73
+ }
74
+ if (compatible.model?.toString().toLowerCase() === EDeviceType.Neo) {
75
+ return EDeviceType.Neo;
76
+ }
77
+
78
+ const serialNo = resolveDeviceSerialNo(features);
79
+ const prefix = serialNo.slice(0, 2).toLowerCase();
80
+ if (prefix === 'bi' || prefix === 'cl') return EDeviceType.Classic;
81
+ if (prefix === 'cp') return EDeviceType.ClassicPure;
82
+ if (prefix === 'mi') return EDeviceType.Mini;
83
+ if (prefix === 'tc') return EDeviceType.Touch;
84
+ if (prefix === 'pr') return EDeviceType.Pro;
85
+ if (prefix === 'p2') return EDeviceType.Pro2;
86
+
87
+ const bootloaderMode = compatible.bootloaderMode ?? compatible.bootloader_mode;
88
+ if (!serialNo && bootloaderMode === true && compatible.model === '1') {
89
+ return EDeviceType.Classic;
90
+ }
91
+
92
+ return compatible.deviceType ?? EDeviceType.Unknown;
93
+ };
94
+
95
+ export const resolveDeviceFirmwareType = (features?: DeviceFeaturesInput): EFirmwareType => {
96
+ if (!features) {
97
+ return EFirmwareType.Universal;
98
+ }
99
+
100
+ const compatible = asCompatibleFeatures(features);
101
+ if (compatible.firmwareType) {
102
+ return compatible.firmwareType;
103
+ }
104
+ if (compatible.fw_vendor === 'OneKey Bitcoin-only') {
105
+ return EFirmwareType.BitcoinOnly;
106
+ }
107
+
108
+ const capabilities = compatible.capabilities as Array<number | string> | null | undefined;
109
+ const supportsBitcoinLike = capabilities?.some(
110
+ capability =>
111
+ capability === Enum_Capability.Capability_Bitcoin_like ||
112
+ capability === 'Capability_Bitcoin_like'
113
+ );
114
+ return capabilities?.length && !supportsBitcoinLike
115
+ ? EFirmwareType.BitcoinOnly
116
+ : EFirmwareType.Universal;
117
+ };
118
+
119
+ export const resolveDeviceBleName = (features?: DeviceFeaturesInput): string | null => {
120
+ if (!features) return null;
121
+ const compatible = asCompatibleFeatures(features);
122
+ return (
123
+ firstNonEmptyString(compatible.bleName, compatible.onekey_ble_name, compatible.ble_name) ?? null
124
+ );
125
+ };
126
+
127
+ export const resolveDeviceFirmwareVersion = (features?: DeviceFeaturesInput): string | null => {
128
+ if (!features) return null;
129
+ const compatible = asCompatibleFeatures(features);
130
+ const bootloaderMode = compatible.bootloaderMode ?? compatible.bootloader_mode;
131
+ return firstMeaningfulVersion(
132
+ compatible.firmwareVersion,
133
+ compatible.onekey_firmware_version,
134
+ compatible.onekey_version,
135
+ bootloaderMode
136
+ ? null
137
+ : versionFromParts(
138
+ compatible.major_version,
139
+ compatible.minor_version,
140
+ compatible.patch_version
141
+ )
142
+ );
143
+ };
144
+
145
+ export const resolveDeviceBootloaderVersion = (features?: DeviceFeaturesInput): string | null => {
146
+ if (!features) return null;
147
+ const compatible = asCompatibleFeatures(features);
148
+ const bootloaderMode = compatible.bootloaderMode ?? compatible.bootloader_mode;
149
+ return firstMeaningfulVersion(
150
+ compatible.bootloaderVersion,
151
+ compatible.onekey_boot_version,
152
+ compatible.bootloader_version,
153
+ compatible.onekey_bootloader_version,
154
+ bootloaderMode
155
+ ? versionFromParts(
156
+ compatible.major_version,
157
+ compatible.minor_version,
158
+ compatible.patch_version
159
+ )
160
+ : null
161
+ );
162
+ };
163
+
164
+ export const resolveDeviceBoardVersion = (features?: DeviceFeaturesInput): string | null => {
165
+ if (!features) return null;
166
+ const compatible = asCompatibleFeatures(features);
167
+ return firstMeaningfulVersion(
168
+ compatible.boardVersion,
169
+ compatible.onekey_board_version,
170
+ compatible.boardloader_version,
171
+ compatible.onekey_romloader_version,
172
+ compatible.romloader_version
173
+ );
174
+ };
175
+
176
+ export const resolveDeviceBleFirmwareVersion = (features?: DeviceFeaturesInput): string | null => {
177
+ if (!features) return null;
178
+ const compatible = asCompatibleFeatures(features);
179
+ return firstMeaningfulVersion(
180
+ compatible.bleVersion,
181
+ compatible.onekey_ble_version,
182
+ compatible.ble_ver,
183
+ compatible.onekey_coprocessor_version
184
+ );
185
+ };