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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (613) hide show
  1. package/__tests__/DeviceCommands.test.ts +0 -217
  2. package/__tests__/evmLedgerLegacySafety.test.ts +4 -15
  3. package/__tests__/evmSignTransaction.test.ts +1 -1
  4. package/__tests__/evmSignTypedData.test.ts +1 -1
  5. package/__tests__/firmware-update/firmware-update-v2-download-before-boot.test.ts +31 -48
  6. package/__tests__/preInitialize.test.ts +0 -33
  7. package/dist/api/BaseMethod.d.ts +0 -12
  8. package/dist/api/BaseMethod.d.ts.map +1 -1
  9. package/dist/api/CheckAllFirmwareRelease.d.ts.map +1 -1
  10. package/dist/api/CheckBootloaderRelease.d.ts.map +1 -1
  11. package/dist/api/CheckFirmwareRelease.d.ts.map +1 -1
  12. package/dist/api/FirmwareUpdate.d.ts.map +1 -1
  13. package/dist/api/FirmwareUpdateV2.d.ts +3 -14
  14. package/dist/api/FirmwareUpdateV2.d.ts.map +1 -1
  15. package/dist/api/FirmwareUpdateV3.d.ts +3 -10
  16. package/dist/api/FirmwareUpdateV3.d.ts.map +1 -1
  17. package/dist/api/GetFeatures.d.ts +1 -1
  18. package/dist/api/GetFeatures.d.ts.map +1 -1
  19. package/dist/api/GetOnekeyFeatures.d.ts.map +1 -1
  20. package/dist/api/GetPassphraseState.d.ts.map +1 -1
  21. package/dist/api/PromptWebDeviceAccess.d.ts.map +1 -1
  22. package/dist/api/SearchDevices.d.ts +1 -5
  23. package/dist/api/SearchDevices.d.ts.map +1 -1
  24. package/dist/api/alephium/AlephiumGetAddress.d.ts +6 -2
  25. package/dist/api/alephium/AlephiumGetAddress.d.ts.map +1 -1
  26. package/dist/api/alephium/AlephiumSignMessage.d.ts +5 -2
  27. package/dist/api/alephium/AlephiumSignMessage.d.ts.map +1 -1
  28. package/dist/api/alephium/AlephiumSignTransaction.d.ts +8 -5
  29. package/dist/api/alephium/AlephiumSignTransaction.d.ts.map +1 -1
  30. package/dist/api/allnetwork/AllNetworkGetAddressBase.d.ts.map +1 -1
  31. package/dist/api/aptos/AptosGetAddress.d.ts.map +1 -1
  32. package/dist/api/benfen/BenfenGetAddress.d.ts +9 -2
  33. package/dist/api/benfen/BenfenGetAddress.d.ts.map +1 -1
  34. package/dist/api/benfen/BenfenGetPublicKey.d.ts +9 -2
  35. package/dist/api/benfen/BenfenGetPublicKey.d.ts.map +1 -1
  36. package/dist/api/benfen/BenfenSignMessage.d.ts +8 -2
  37. package/dist/api/benfen/BenfenSignMessage.d.ts.map +1 -1
  38. package/dist/api/benfen/BenfenSignTransaction.d.ts +8 -2
  39. package/dist/api/benfen/BenfenSignTransaction.d.ts.map +1 -1
  40. package/dist/api/btc/BTCGetAddress.d.ts +11 -1
  41. package/dist/api/btc/BTCGetAddress.d.ts.map +1 -1
  42. package/dist/api/btc/BTCGetPublicKey.d.ts +11 -1
  43. package/dist/api/btc/BTCGetPublicKey.d.ts.map +1 -1
  44. package/dist/api/btc/BTCSignMessage.d.ts +15 -1
  45. package/dist/api/btc/BTCSignMessage.d.ts.map +1 -1
  46. package/dist/api/btc/BTCSignPsbt.d.ts.map +1 -1
  47. package/dist/api/btc/BTCSignTransaction.d.ts +11 -1
  48. package/dist/api/btc/BTCSignTransaction.d.ts.map +1 -1
  49. package/dist/api/btc/BTCVerifyMessage.d.ts +11 -1
  50. package/dist/api/btc/BTCVerifyMessage.d.ts.map +1 -1
  51. package/dist/api/btc/helpers/versionLimit.d.ts +11 -2
  52. package/dist/api/btc/helpers/versionLimit.d.ts.map +1 -1
  53. package/dist/api/cardano/CardanoSignTransaction.d.ts.map +1 -1
  54. package/dist/api/conflux/ConfluxSignTransaction.d.ts.map +1 -1
  55. package/dist/api/device/DeviceCancel.d.ts.map +1 -1
  56. package/dist/api/device/DeviceChangePin.d.ts.map +1 -1
  57. package/dist/api/device/DeviceFullyUploadResource.d.ts +2 -1
  58. package/dist/api/device/DeviceFullyUploadResource.d.ts.map +1 -1
  59. package/dist/api/device/DeviceLock.d.ts.map +1 -1
  60. package/dist/api/device/DeviceRebootToBoardloader.d.ts +1 -1
  61. package/dist/api/device/DeviceRebootToBoardloader.d.ts.map +1 -1
  62. package/dist/api/device/DeviceRebootToBootloader.d.ts.map +1 -1
  63. package/dist/api/device/DeviceSettings.d.ts.map +1 -1
  64. package/dist/api/device/DeviceSupportFeatures.d.ts.map +1 -1
  65. package/dist/api/device/DeviceUnlock.d.ts +1 -1
  66. package/dist/api/device/DeviceUnlock.d.ts.map +1 -1
  67. package/dist/api/device/DeviceUpdateBootloader.d.ts +1 -7
  68. package/dist/api/device/DeviceUpdateBootloader.d.ts.map +1 -1
  69. package/dist/api/device/DeviceUploadResource.d.ts.map +1 -1
  70. package/dist/api/device/DeviceVerify.d.ts.map +1 -1
  71. package/dist/api/device/DeviceWipe.d.ts.map +1 -1
  72. package/dist/api/dynex/DnxGetAddress.d.ts.map +1 -1
  73. package/dist/api/dynex/DnxSignTransaction.d.ts.map +1 -1
  74. package/dist/api/evm/EVMGetPublicKey.d.ts.map +1 -1
  75. package/dist/api/evm/EVMSignMessageEIP712.d.ts +8 -2
  76. package/dist/api/evm/EVMSignMessageEIP712.d.ts.map +1 -1
  77. package/dist/api/evm/EVMSignTypedData.d.ts.map +1 -1
  78. package/dist/api/evm/latest/signTypedData.d.ts +1 -1
  79. package/dist/api/evm/latest/signTypedData.d.ts.map +1 -1
  80. package/dist/api/evm/latest/signTypedHash.d.ts.map +1 -1
  81. package/dist/api/evm/legacyV1/getAddress.d.ts.map +1 -1
  82. package/dist/api/evm/legacyV1/getPublicKey.d.ts.map +1 -1
  83. package/dist/api/evm/legacyV1/signMessage.d.ts.map +1 -1
  84. package/dist/api/evm/legacyV1/signTypedData.d.ts +1 -1
  85. package/dist/api/evm/legacyV1/signTypedData.d.ts.map +1 -1
  86. package/dist/api/evm/legacyV1/signTypedHash.d.ts.map +1 -1
  87. package/dist/api/evm/legacyV1/verifyMessage.d.ts.map +1 -1
  88. package/dist/api/firmware/FirmwareUpdateBaseMethod.d.ts +1 -10
  89. package/dist/api/firmware/FirmwareUpdateBaseMethod.d.ts.map +1 -1
  90. package/dist/api/firmware/bootloaderHelper.d.ts.map +1 -1
  91. package/dist/api/firmware/getBinary.d.ts +0 -11
  92. package/dist/api/firmware/getBinary.d.ts.map +1 -1
  93. package/dist/api/firmware/updateBootloader.d.ts +0 -2
  94. package/dist/api/firmware/updateBootloader.d.ts.map +1 -1
  95. package/dist/api/firmware/uploadFirmware.d.ts +1 -9
  96. package/dist/api/firmware/uploadFirmware.d.ts.map +1 -1
  97. package/dist/api/helpers/batchGetPublickeys.d.ts +0 -3
  98. package/dist/api/helpers/batchGetPublickeys.d.ts.map +1 -1
  99. package/dist/api/index.d.ts +0 -29
  100. package/dist/api/index.d.ts.map +1 -1
  101. package/dist/api/kaspa/KaspaSignTransaction.d.ts.map +1 -1
  102. package/dist/api/lightning/LnurlAuth.d.ts +0 -4
  103. package/dist/api/lightning/LnurlAuth.d.ts.map +1 -1
  104. package/dist/api/neo/NeoGetAddress.d.ts +8 -2
  105. package/dist/api/neo/NeoGetAddress.d.ts.map +1 -1
  106. package/dist/api/neo/NeoSignTransaction.d.ts +8 -2
  107. package/dist/api/neo/NeoSignTransaction.d.ts.map +1 -1
  108. package/dist/api/nervos/NervosGetAddress.d.ts +9 -2
  109. package/dist/api/nervos/NervosGetAddress.d.ts.map +1 -1
  110. package/dist/api/nervos/NervosSignTransaction.d.ts +12 -9
  111. package/dist/api/nervos/NervosSignTransaction.d.ts.map +1 -1
  112. package/dist/api/nexa/NexaGetAddress.d.ts +8 -2
  113. package/dist/api/nexa/NexaGetAddress.d.ts.map +1 -1
  114. package/dist/api/nexa/NexaSignTransaction.d.ts +9 -2
  115. package/dist/api/nexa/NexaSignTransaction.d.ts.map +1 -1
  116. package/dist/api/polkadot/PolkadotGetAddress.d.ts +0 -3
  117. package/dist/api/polkadot/PolkadotGetAddress.d.ts.map +1 -1
  118. package/dist/api/polkadot/networks.d.ts +0 -3
  119. package/dist/api/polkadot/networks.d.ts.map +1 -1
  120. package/dist/api/scdo/ScdoGetAddress.d.ts +6 -2
  121. package/dist/api/scdo/ScdoGetAddress.d.ts.map +1 -1
  122. package/dist/api/scdo/ScdoSignMessage.d.ts +5 -2
  123. package/dist/api/scdo/ScdoSignMessage.d.ts.map +1 -1
  124. package/dist/api/scdo/ScdoSignTransaction.d.ts +5 -2
  125. package/dist/api/scdo/ScdoSignTransaction.d.ts.map +1 -1
  126. package/dist/api/solana/SolGetAddress.d.ts +0 -1
  127. package/dist/api/solana/SolGetAddress.d.ts.map +1 -1
  128. package/dist/api/solana/SolSignMessage.d.ts +0 -3
  129. package/dist/api/solana/SolSignMessage.d.ts.map +1 -1
  130. package/dist/api/solana/SolSignOffchainMessage.d.ts +0 -3
  131. package/dist/api/solana/SolSignOffchainMessage.d.ts.map +1 -1
  132. package/dist/api/solana/SolSignTransaction.d.ts +0 -6
  133. package/dist/api/solana/SolSignTransaction.d.ts.map +1 -1
  134. package/dist/api/stellar/StellarGetAddress.d.ts +1 -2
  135. package/dist/api/stellar/StellarGetAddress.d.ts.map +1 -1
  136. package/dist/api/stellar/StellarSignTransaction.d.ts +2 -3
  137. package/dist/api/stellar/StellarSignTransaction.d.ts.map +1 -1
  138. package/dist/api/sui/SuiGetAddress.d.ts +0 -3
  139. package/dist/api/sui/SuiGetAddress.d.ts.map +1 -1
  140. package/dist/api/sui/SuiGetPublicKey.d.ts +0 -3
  141. package/dist/api/sui/SuiGetPublicKey.d.ts.map +1 -1
  142. package/dist/api/sui/SuiSignMessage.d.ts +0 -3
  143. package/dist/api/sui/SuiSignMessage.d.ts.map +1 -1
  144. package/dist/api/sui/SuiSignTransaction.d.ts +2 -5
  145. package/dist/api/sui/SuiSignTransaction.d.ts.map +1 -1
  146. package/dist/api/ton/TonGetAddress.d.ts +0 -3
  147. package/dist/api/ton/TonGetAddress.d.ts.map +1 -1
  148. package/dist/api/ton/TonSignData.d.ts +0 -1
  149. package/dist/api/ton/TonSignData.d.ts.map +1 -1
  150. package/dist/api/ton/TonSignMessage.d.ts +0 -3
  151. package/dist/api/ton/TonSignMessage.d.ts.map +1 -1
  152. package/dist/api/ton/TonSignProof.d.ts +0 -3
  153. package/dist/api/ton/TonSignProof.d.ts.map +1 -1
  154. package/dist/api/tron/TronSignMessage.d.ts +0 -3
  155. package/dist/api/tron/TronSignMessage.d.ts.map +1 -1
  156. package/dist/api/tron/TronSignTransaction.d.ts +0 -3
  157. package/dist/api/tron/TronSignTransaction.d.ts.map +1 -1
  158. package/dist/api/utils.d.ts +1 -2
  159. package/dist/api/utils.d.ts.map +1 -1
  160. package/dist/constants/index.d.ts +1 -2
  161. package/dist/constants/index.d.ts.map +1 -1
  162. package/dist/core/RequestQueue.d.ts +1 -19
  163. package/dist/core/RequestQueue.d.ts.map +1 -1
  164. package/dist/core/index.d.ts +1 -4
  165. package/dist/core/index.d.ts.map +1 -1
  166. package/dist/data-manager/DataManager.d.ts +5 -9
  167. package/dist/data-manager/DataManager.d.ts.map +1 -1
  168. package/dist/data-manager/MessagesConfig.d.ts +2 -2
  169. package/dist/data-manager/MessagesConfig.d.ts.map +1 -1
  170. package/dist/data-manager/TransportManager.d.ts +4 -5
  171. package/dist/data-manager/TransportManager.d.ts.map +1 -1
  172. package/dist/data-manager/connectSettings.d.ts.map +1 -1
  173. package/dist/device/Device.d.ts +16 -60
  174. package/dist/device/Device.d.ts.map +1 -1
  175. package/dist/device/DeviceCommands.d.ts +14 -16
  176. package/dist/device/DeviceCommands.d.ts.map +1 -1
  177. package/dist/device/DeviceConnector.d.ts +1 -2
  178. package/dist/device/DeviceConnector.d.ts.map +1 -1
  179. package/dist/device/DevicePool.d.ts +2 -4
  180. package/dist/device/DevicePool.d.ts.map +1 -1
  181. package/dist/events/call.d.ts +0 -7
  182. package/dist/events/call.d.ts.map +1 -1
  183. package/dist/events/core.d.ts +2 -2
  184. package/dist/events/core.d.ts.map +1 -1
  185. package/dist/events/device.d.ts +2 -11
  186. package/dist/events/device.d.ts.map +1 -1
  187. package/dist/events/iframe.d.ts +0 -1
  188. package/dist/events/iframe.d.ts.map +1 -1
  189. package/dist/events/logBlockEvent.d.ts +0 -1
  190. package/dist/events/logBlockEvent.d.ts.map +1 -1
  191. package/dist/events/ui-request.d.ts +2 -26
  192. package/dist/events/ui-request.d.ts.map +1 -1
  193. package/dist/index.d.ts +451 -1797
  194. package/dist/index.d.ts.map +1 -1
  195. package/dist/index.js +5556 -26855
  196. package/dist/inject.d.ts +2 -3
  197. package/dist/inject.d.ts.map +1 -1
  198. package/dist/lowLevelInject.d.ts +1 -2
  199. package/dist/lowLevelInject.d.ts.map +1 -1
  200. package/dist/topLevelInject.d.ts.map +1 -1
  201. package/dist/types/api/checkAllFirmwareRelease.d.ts +2 -4
  202. package/dist/types/api/checkAllFirmwareRelease.d.ts.map +1 -1
  203. package/dist/types/api/deviceSettings.d.ts +0 -9
  204. package/dist/types/api/deviceSettings.d.ts.map +1 -1
  205. package/dist/types/api/deviceUnlock.d.ts +1 -1
  206. package/dist/types/api/deviceUnlock.d.ts.map +1 -1
  207. package/dist/types/api/deviceUpdateBootloader.d.ts +1 -6
  208. package/dist/types/api/deviceUpdateBootloader.d.ts.map +1 -1
  209. package/dist/types/api/export.d.ts +1 -4
  210. package/dist/types/api/export.d.ts.map +1 -1
  211. package/dist/types/api/firmwareUpdate.d.ts +1 -114
  212. package/dist/types/api/firmwareUpdate.d.ts.map +1 -1
  213. package/dist/types/api/getFeatures.d.ts.map +1 -1
  214. package/dist/types/api/getOnekeyFeatures.d.ts.map +1 -1
  215. package/dist/types/api/getPassphraseState.d.ts +1 -2
  216. package/dist/types/api/getPassphraseState.d.ts.map +1 -1
  217. package/dist/types/api/index.d.ts +2 -48
  218. package/dist/types/api/index.d.ts.map +1 -1
  219. package/dist/types/api/searchDevices.d.ts +2 -2
  220. package/dist/types/api/searchDevices.d.ts.map +1 -1
  221. package/dist/types/device.d.ts +5 -207
  222. package/dist/types/device.d.ts.map +1 -1
  223. package/dist/types/params.d.ts +0 -3
  224. package/dist/types/params.d.ts.map +1 -1
  225. package/dist/types/settings.d.ts +0 -33
  226. package/dist/types/settings.d.ts.map +1 -1
  227. package/dist/utils/capabilitieUtils.d.ts.map +1 -1
  228. package/dist/utils/deviceFeaturesUtils.d.ts +9 -17
  229. package/dist/utils/deviceFeaturesUtils.d.ts.map +1 -1
  230. package/dist/utils/deviceInfoUtils.d.ts +8 -10
  231. package/dist/utils/deviceInfoUtils.d.ts.map +1 -1
  232. package/dist/utils/deviceSettings.d.ts +0 -2
  233. package/dist/utils/deviceSettings.d.ts.map +1 -1
  234. package/dist/utils/deviceVersionUtils.d.ts +5 -6
  235. package/dist/utils/deviceVersionUtils.d.ts.map +1 -1
  236. package/dist/utils/findDefectiveBatchDevice.d.ts +1 -1
  237. package/dist/utils/homescreen.d.ts.map +1 -1
  238. package/dist/utils/index.d.ts +1 -3
  239. package/dist/utils/index.d.ts.map +1 -1
  240. package/dist/utils/patch.d.ts +1 -1
  241. package/dist/utils/patch.d.ts.map +1 -1
  242. package/dist/utils/tracing.d.ts.map +1 -1
  243. package/dist/utils/versionUtils.d.ts +1 -1
  244. package/package.json +4 -4
  245. package/src/api/BaseMethod.ts +23 -60
  246. package/src/api/CheckAllFirmwareRelease.ts +3 -16
  247. package/src/api/CheckBootloaderRelease.ts +2 -1
  248. package/src/api/CheckFirmwareRelease.ts +2 -1
  249. package/src/api/FirmwareUpdate.ts +7 -15
  250. package/src/api/FirmwareUpdateV2.ts +148 -354
  251. package/src/api/FirmwareUpdateV3.ts +62 -376
  252. package/src/api/GetFeatures.ts +4 -12
  253. package/src/api/GetOnekeyFeatures.ts +3 -15
  254. package/src/api/GetPassphraseState.ts +10 -9
  255. package/src/api/PromptWebDeviceAccess.ts +1 -10
  256. package/src/api/SearchDevices.ts +3 -33
  257. package/src/api/alephium/AlephiumGetAddress.ts +2 -6
  258. package/src/api/alephium/AlephiumSignMessage.ts +1 -6
  259. package/src/api/alephium/AlephiumSignTransaction.ts +4 -15
  260. package/src/api/allnetwork/AllNetworkGetAddressBase.ts +21 -25
  261. package/src/api/aptos/AptosGetAddress.ts +3 -2
  262. package/src/api/benfen/BenfenGetAddress.ts +7 -11
  263. package/src/api/benfen/BenfenGetPublicKey.ts +2 -6
  264. package/src/api/benfen/BenfenSignMessage.ts +1 -6
  265. package/src/api/benfen/BenfenSignTransaction.ts +1 -6
  266. package/src/api/btc/BTCGetPublicKey.ts +2 -3
  267. package/src/api/btc/BTCSignPsbt.ts +2 -1
  268. package/src/api/btc/helpers/versionLimit.ts +1 -7
  269. package/src/api/cardano/CardanoSignTransaction.ts +4 -2
  270. package/src/api/conflux/ConfluxSignTransaction.ts +2 -5
  271. package/src/api/device/DeviceCancel.ts +0 -1
  272. package/src/api/device/DeviceChangePin.ts +0 -24
  273. package/src/api/device/DeviceFullyUploadResource.ts +7 -6
  274. package/src/api/device/DeviceLock.ts +3 -2
  275. package/src/api/device/DeviceRebootToBoardloader.ts +1 -11
  276. package/src/api/device/DeviceRebootToBootloader.ts +1 -11
  277. package/src/api/device/DeviceSettings.ts +0 -121
  278. package/src/api/device/DeviceSupportFeatures.ts +13 -2
  279. package/src/api/device/DeviceUnlock.ts +0 -9
  280. package/src/api/device/DeviceUpdateBootloader.ts +11 -175
  281. package/src/api/device/DeviceUploadResource.ts +5 -4
  282. package/src/api/device/DeviceVerify.ts +2 -1
  283. package/src/api/device/DeviceWipe.ts +0 -19
  284. package/src/api/dynex/DnxGetAddress.ts +0 -6
  285. package/src/api/dynex/DnxSignTransaction.ts +0 -6
  286. package/src/api/evm/EVMGetAddress.ts +1 -1
  287. package/src/api/evm/EVMGetPublicKey.ts +4 -3
  288. package/src/api/evm/EVMSignMessage.ts +1 -1
  289. package/src/api/evm/EVMSignMessageEIP712.ts +1 -14
  290. package/src/api/evm/EVMSignTransaction.ts +1 -1
  291. package/src/api/evm/EVMSignTypedData.ts +18 -30
  292. package/src/api/evm/EVMVerifyMessage.ts +1 -1
  293. package/src/api/evm/latest/signTypedHash.ts +4 -2
  294. package/src/api/evm/legacyV1/getAddress.ts +3 -5
  295. package/src/api/evm/legacyV1/getPublicKey.ts +3 -5
  296. package/src/api/evm/legacyV1/signMessage.ts +3 -5
  297. package/src/api/evm/legacyV1/signTypedData.ts +8 -9
  298. package/src/api/evm/legacyV1/signTypedHash.ts +7 -7
  299. package/src/api/evm/legacyV1/verifyMessage.ts +3 -5
  300. package/src/api/firmware/FirmwareUpdateBaseMethod.ts +15 -83
  301. package/src/api/firmware/bootloaderHelper.ts +2 -3
  302. package/src/api/firmware/getBinary.ts +1 -1
  303. package/src/api/firmware/releaseHelper.ts +3 -3
  304. package/src/api/firmware/updateBootloader.ts +4 -19
  305. package/src/api/firmware/uploadFirmware.ts +34 -148
  306. package/src/api/helpers/batchGetPublickeys.ts +6 -51
  307. package/src/api/index.ts +0 -32
  308. package/src/api/kaspa/KaspaSignTransaction.ts +3 -2
  309. package/src/api/lightning/LnurlAuth.ts +0 -4
  310. package/src/api/neo/NeoGetAddress.ts +1 -6
  311. package/src/api/neo/NeoSignTransaction.ts +1 -6
  312. package/src/api/nervos/NervosGetAddress.ts +2 -6
  313. package/src/api/nervos/NervosSignTransaction.ts +4 -14
  314. package/src/api/nexa/NexaGetAddress.ts +2 -6
  315. package/src/api/nexa/NexaSignTransaction.ts +12 -11
  316. package/src/api/polkadot/networks.ts +0 -9
  317. package/src/api/scdo/ScdoGetAddress.ts +2 -6
  318. package/src/api/scdo/ScdoSignMessage.ts +1 -6
  319. package/src/api/scdo/ScdoSignTransaction.ts +2 -6
  320. package/src/api/solana/SolGetAddress.ts +0 -4
  321. package/src/api/solana/SolSignMessage.ts +0 -3
  322. package/src/api/solana/SolSignOffchainMessage.ts +0 -3
  323. package/src/api/solana/SolSignTransaction.ts +0 -6
  324. package/src/api/stellar/StellarGetAddress.ts +1 -10
  325. package/src/api/stellar/StellarSignTransaction.ts +1 -14
  326. package/src/api/sui/SuiGetAddress.ts +3 -5
  327. package/src/api/sui/SuiGetPublicKey.ts +0 -3
  328. package/src/api/sui/SuiSignMessage.ts +0 -3
  329. package/src/api/sui/SuiSignTransaction.ts +12 -14
  330. package/src/api/ton/TonGetAddress.ts +0 -3
  331. package/src/api/ton/TonSignData.ts +3 -6
  332. package/src/api/ton/TonSignMessage.ts +5 -6
  333. package/src/api/ton/TonSignProof.ts +0 -3
  334. package/src/api/tron/TronSignMessage.ts +1 -4
  335. package/src/api/tron/TronSignTransaction.ts +0 -3
  336. package/src/api/utils.ts +3 -7
  337. package/src/api/xrp/XrpSignTransaction.ts +1 -1
  338. package/src/constants/index.ts +1 -7
  339. package/src/core/RequestQueue.ts +4 -124
  340. package/src/core/index.ts +116 -255
  341. package/src/data-manager/DataManager.ts +49 -61
  342. package/src/data-manager/MessagesConfig.ts +14 -14
  343. package/src/data-manager/TransportManager.ts +12 -38
  344. package/src/data-manager/connectSettings.ts +0 -15
  345. package/src/device/Device.ts +164 -759
  346. package/src/device/DeviceCommands.ts +36 -245
  347. package/src/device/DeviceConnector.ts +4 -29
  348. package/src/device/DevicePool.ts +21 -69
  349. package/src/events/call.ts +0 -6
  350. package/src/events/core.ts +0 -2
  351. package/src/events/device.ts +1 -17
  352. package/src/events/iframe.ts +0 -1
  353. package/src/events/logBlockEvent.ts +0 -30
  354. package/src/events/ui-request.ts +2 -32
  355. package/src/index.ts +0 -9
  356. package/src/inject.ts +3 -75
  357. package/src/lowLevelInject.ts +1 -8
  358. package/src/topLevelInject.ts +1 -7
  359. package/src/types/api/checkAllFirmwareRelease.ts +2 -4
  360. package/src/types/api/deviceSettings.ts +0 -9
  361. package/src/types/api/deviceUnlock.ts +1 -1
  362. package/src/types/api/deviceUpdateBootloader.ts +1 -10
  363. package/src/types/api/export.ts +0 -25
  364. package/src/types/api/firmwareUpdate.ts +1 -163
  365. package/src/types/api/getFeatures.ts +0 -3
  366. package/src/types/api/getOnekeyFeatures.ts +0 -3
  367. package/src/types/api/getPassphraseState.ts +2 -10
  368. package/src/types/api/index.ts +2 -89
  369. package/src/types/api/searchDevices.ts +2 -2
  370. package/src/types/device.ts +5 -266
  371. package/src/types/params.ts +0 -11
  372. package/src/types/settings.ts +29 -54
  373. package/src/utils/capabilitieUtils.ts +2 -1
  374. package/src/utils/deviceFeaturesUtils.ts +84 -122
  375. package/src/utils/deviceInfoUtils.ts +87 -38
  376. package/src/utils/deviceSettings.ts +0 -48
  377. package/src/utils/deviceVersionUtils.ts +62 -25
  378. package/src/utils/findDefectiveBatchDevice.ts +8 -8
  379. package/src/utils/homescreen.ts +0 -10
  380. package/src/utils/index.ts +0 -4
  381. package/src/utils/tracing.ts +1 -3
  382. package/__tests__/AllNetworkGetAddressBase.tracing.test.ts +0 -75
  383. package/__tests__/RequestQueue.test.ts +0 -140
  384. package/__tests__/UploadPortfolio.test.ts +0 -46
  385. package/__tests__/connectSettings.test.ts +0 -61
  386. package/__tests__/device-lifecycle-events.test.ts +0 -117
  387. package/__tests__/device-pool-state.test.ts +0 -132
  388. package/__tests__/device-settings.test.ts +0 -286
  389. package/__tests__/device-state-mapper.test.ts +0 -229
  390. package/__tests__/device-utils.test.ts +0 -106
  391. package/__tests__/device-wallet-session-store.test.ts +0 -191
  392. package/__tests__/filesystemValidation.test.ts +0 -53
  393. package/__tests__/firmware-update/firmware-artifact-source.test.ts +0 -119
  394. package/__tests__/firmware-update/firmware-checkpoint.test.ts +0 -105
  395. package/__tests__/firmware-update/firmware-host-binding.test.ts +0 -73
  396. package/__tests__/firmware-update/firmware-update-capabilities.test.ts +0 -17
  397. package/__tests__/firmware-update/firmware-update-plan.test.ts +0 -358
  398. package/__tests__/firmware-update/firmware-update-prepared-plan.test.ts +0 -200
  399. package/__tests__/firmware-update/firmware-update-recovery.test.ts +0 -81
  400. package/__tests__/firmware-update/firmware-upload-source.test.ts +0 -70
  401. package/__tests__/get-device-state.test.ts +0 -403
  402. package/__tests__/logBlockEvent.test.ts +0 -61
  403. package/__tests__/logger.test.ts +0 -34
  404. package/__tests__/open-wallet-session.test.ts +0 -565
  405. package/__tests__/pro2Wallpaper.test.ts +0 -39
  406. package/__tests__/protocol-v2-bootloader-mode.test.ts +0 -37
  407. package/__tests__/protocol-v2-firmware-targets.test.ts +0 -19
  408. package/__tests__/protocol-v2.test.ts +0 -6008
  409. package/__tests__/protocolV2FileWrite.test.ts +0 -67
  410. package/__tests__/public-pro2-api-boundary.test.ts +0 -66
  411. package/__tests__/search-devices.test.ts +0 -136
  412. package/dist/api/ClearSessionCache.d.ts +0 -9
  413. package/dist/api/ClearSessionCache.d.ts.map +0 -1
  414. package/dist/api/DirList.d.ts +0 -10
  415. package/dist/api/DirList.d.ts.map +0 -1
  416. package/dist/api/DirMake.d.ts +0 -9
  417. package/dist/api/DirMake.d.ts.map +0 -1
  418. package/dist/api/DirRemove.d.ts +0 -9
  419. package/dist/api/DirRemove.d.ts.map +0 -1
  420. package/dist/api/FileDelete.d.ts +0 -9
  421. package/dist/api/FileDelete.d.ts.map +0 -1
  422. package/dist/api/FileRead.d.ts +0 -19
  423. package/dist/api/FileRead.d.ts.map +0 -1
  424. package/dist/api/FileWrite.d.ts +0 -25
  425. package/dist/api/FileWrite.d.ts.map +0 -1
  426. package/dist/api/FirmwareUpdateV4.d.ts +0 -75
  427. package/dist/api/FirmwareUpdateV4.d.ts.map +0 -1
  428. package/dist/api/GetDeviceState.d.ts +0 -7
  429. package/dist/api/GetDeviceState.d.ts.map +0 -1
  430. package/dist/api/OpenWalletSession.d.ts +0 -14
  431. package/dist/api/OpenWalletSession.d.ts.map +0 -1
  432. package/dist/api/PathInfo.d.ts +0 -10
  433. package/dist/api/PathInfo.d.ts.map +0 -1
  434. package/dist/api/UploadPortfolio.d.ts +0 -18
  435. package/dist/api/UploadPortfolio.d.ts.map +0 -1
  436. package/dist/api/firmware/FirmwareArtifactSource.d.ts +0 -26
  437. package/dist/api/firmware/FirmwareArtifactSource.d.ts.map +0 -1
  438. package/dist/api/firmware/FirmwareCheckpoint.d.ts +0 -15
  439. package/dist/api/firmware/FirmwareCheckpoint.d.ts.map +0 -1
  440. package/dist/api/firmware/FirmwareHostBinding.d.ts +0 -6
  441. package/dist/api/firmware/FirmwareHostBinding.d.ts.map +0 -1
  442. package/dist/api/firmware/FirmwareUpdateCapabilities.d.ts +0 -3
  443. package/dist/api/firmware/FirmwareUpdateCapabilities.d.ts.map +0 -1
  444. package/dist/api/firmware/FirmwareUpdatePlan.d.ts +0 -29
  445. package/dist/api/firmware/FirmwareUpdatePlan.d.ts.map +0 -1
  446. package/dist/api/firmware/FirmwareUpdatePreparedPlan.d.ts +0 -25
  447. package/dist/api/firmware/FirmwareUpdatePreparedPlan.d.ts.map +0 -1
  448. package/dist/api/firmware/progressThrottle.d.ts +0 -3
  449. package/dist/api/firmware/progressThrottle.d.ts.map +0 -1
  450. package/dist/api/helpers/filesystemValidation.d.ts +0 -10
  451. package/dist/api/helpers/filesystemValidation.d.ts.map +0 -1
  452. package/dist/api/helpers/protocolV2FileWrite.d.ts +0 -33
  453. package/dist/api/helpers/protocolV2FileWrite.d.ts.map +0 -1
  454. package/dist/api/protocol-v2/DeviceFactoryInfoGet.d.ts +0 -6
  455. package/dist/api/protocol-v2/DeviceFactoryInfoGet.d.ts.map +0 -1
  456. package/dist/api/protocol-v2/DeviceFactoryInfoSet.d.ts +0 -7
  457. package/dist/api/protocol-v2/DeviceFactoryInfoSet.d.ts.map +0 -1
  458. package/dist/api/protocol-v2/DeviceFirmwareUpdate.d.ts +0 -7
  459. package/dist/api/protocol-v2/DeviceFirmwareUpdate.d.ts.map +0 -1
  460. package/dist/api/protocol-v2/DeviceGetFirmwareUpdateStatus.d.ts +0 -7
  461. package/dist/api/protocol-v2/DeviceGetFirmwareUpdateStatus.d.ts.map +0 -1
  462. package/dist/api/protocol-v2/DeviceGetOnboardingStatus.d.ts +0 -6
  463. package/dist/api/protocol-v2/DeviceGetOnboardingStatus.d.ts.map +0 -1
  464. package/dist/api/protocol-v2/DeviceInfoGet.d.ts +0 -28
  465. package/dist/api/protocol-v2/DeviceInfoGet.d.ts.map +0 -1
  466. package/dist/api/protocol-v2/DeviceReboot.d.ts +0 -7
  467. package/dist/api/protocol-v2/DeviceReboot.d.ts.map +0 -1
  468. package/dist/api/protocol-v2/DeviceSessionOpen.d.ts +0 -28
  469. package/dist/api/protocol-v2/DeviceSessionOpen.d.ts.map +0 -1
  470. package/dist/api/protocol-v2/DeviceSettingsGet.d.ts +0 -6
  471. package/dist/api/protocol-v2/DeviceSettingsGet.d.ts.map +0 -1
  472. package/dist/api/protocol-v2/DeviceSettingsPageShow.d.ts +0 -16
  473. package/dist/api/protocol-v2/DeviceSettingsPageShow.d.ts.map +0 -1
  474. package/dist/api/protocol-v2/DeviceSettingsSet.d.ts +0 -12
  475. package/dist/api/protocol-v2/DeviceSettingsSet.d.ts.map +0 -1
  476. package/dist/api/protocol-v2/DeviceStatusGet.d.ts +0 -6
  477. package/dist/api/protocol-v2/DeviceStatusGet.d.ts.map +0 -1
  478. package/dist/api/protocol-v2/DeviceUploadWallpaper.d.ts +0 -26
  479. package/dist/api/protocol-v2/DeviceUploadWallpaper.d.ts.map +0 -1
  480. package/dist/api/protocol-v2/FilesystemFormat.d.ts +0 -6
  481. package/dist/api/protocol-v2/FilesystemFormat.d.ts.map +0 -1
  482. package/dist/api/protocol-v2/FilesystemPermissionFix.d.ts +0 -6
  483. package/dist/api/protocol-v2/FilesystemPermissionFix.d.ts.map +0 -1
  484. package/dist/api/protocol-v2/Ping.d.ts +0 -8
  485. package/dist/api/protocol-v2/Ping.d.ts.map +0 -1
  486. package/dist/api/protocol-v2/ProtocolInfoRequest.d.ts +0 -6
  487. package/dist/api/protocol-v2/ProtocolInfoRequest.d.ts.map +0 -1
  488. package/dist/api/protocol-v2/helpers.d.ts +0 -42
  489. package/dist/api/protocol-v2/helpers.d.ts.map +0 -1
  490. package/dist/core/deviceEventRegistration.d.ts +0 -11
  491. package/dist/core/deviceEventRegistration.d.ts.map +0 -1
  492. package/dist/device/DeviceFeaturesState.d.ts +0 -4
  493. package/dist/device/DeviceFeaturesState.d.ts.map +0 -1
  494. package/dist/device/DeviceStateMapper.d.ts +0 -13
  495. package/dist/device/DeviceStateMapper.d.ts.map +0 -1
  496. package/dist/device/DeviceStateProjector.d.ts +0 -7
  497. package/dist/device/DeviceStateProjector.d.ts.map +0 -1
  498. package/dist/device/DeviceStateStore.d.ts +0 -21
  499. package/dist/device/DeviceStateStore.d.ts.map +0 -1
  500. package/dist/device/DeviceWalletSessionStore.d.ts +0 -15
  501. package/dist/device/DeviceWalletSessionStore.d.ts.map +0 -1
  502. package/dist/device/cloneDeviceState.d.ts +0 -2
  503. package/dist/device/cloneDeviceState.d.ts.map +0 -1
  504. package/dist/device/deviceIdentity.d.ts +0 -5
  505. package/dist/device/deviceIdentity.d.ts.map +0 -1
  506. package/dist/deviceProfile/buildDeviceFeatures.d.ts +0 -12
  507. package/dist/deviceProfile/buildDeviceFeatures.d.ts.map +0 -1
  508. package/dist/deviceProfile/index.d.ts +0 -2
  509. package/dist/deviceProfile/index.d.ts.map +0 -1
  510. package/dist/protocols/protocol-v2/deviceSession.d.ts +0 -7
  511. package/dist/protocols/protocol-v2/deviceSession.d.ts.map +0 -1
  512. package/dist/protocols/protocol-v2/features.d.ts +0 -88
  513. package/dist/protocols/protocol-v2/features.d.ts.map +0 -1
  514. package/dist/protocols/protocol-v2/firmware.d.ts +0 -15
  515. package/dist/protocols/protocol-v2/firmware.d.ts.map +0 -1
  516. package/dist/protocols/protocol-v2/index.d.ts +0 -5
  517. package/dist/protocols/protocol-v2/index.d.ts.map +0 -1
  518. package/dist/protocols/protocol-v2/lockedError.d.ts +0 -2
  519. package/dist/protocols/protocol-v2/lockedError.d.ts.map +0 -1
  520. package/dist/protocols/protocol-v2/settingsUnlockPolicy.d.ts +0 -16
  521. package/dist/protocols/protocol-v2/settingsUnlockPolicy.d.ts.map +0 -1
  522. package/dist/protocols/protocol-v2/uiInteraction.d.ts +0 -39
  523. package/dist/protocols/protocol-v2/uiInteraction.d.ts.map +0 -1
  524. package/dist/protocols/protocol-v2/unlockRetry.d.ts +0 -11
  525. package/dist/protocols/protocol-v2/unlockRetry.d.ts.map +0 -1
  526. package/dist/protocols/protocol-v2/walletSession.d.ts +0 -21
  527. package/dist/protocols/protocol-v2/walletSession.d.ts.map +0 -1
  528. package/dist/types/api/firmwareUpdateCapabilities.d.ts +0 -13
  529. package/dist/types/api/firmwareUpdateCapabilities.d.ts.map +0 -1
  530. package/dist/types/api/firmwareUpdatePlan.d.ts +0 -35
  531. package/dist/types/api/firmwareUpdatePlan.d.ts.map +0 -1
  532. package/dist/types/api/firmwareUpdatePreparedPlan.d.ts +0 -43
  533. package/dist/types/api/firmwareUpdatePreparedPlan.d.ts.map +0 -1
  534. package/dist/types/api/getDeviceState.d.ts +0 -12
  535. package/dist/types/api/getDeviceState.d.ts.map +0 -1
  536. package/dist/types/api/openWalletSession.d.ts +0 -35
  537. package/dist/types/api/openWalletSession.d.ts.map +0 -1
  538. package/dist/types/api/protocolV2.d.ts +0 -113
  539. package/dist/types/api/protocolV2.d.ts.map +0 -1
  540. package/dist/types/api/sessionCache.d.ts +0 -10
  541. package/dist/types/api/sessionCache.d.ts.map +0 -1
  542. package/dist/utils/deviceFeaturesCompat.d.ts +0 -13
  543. package/dist/utils/deviceFeaturesCompat.d.ts.map +0 -1
  544. package/dist/utils/pro2Wallpaper.d.ts +0 -12
  545. package/dist/utils/pro2Wallpaper.d.ts.map +0 -1
  546. package/src/api/ClearSessionCache.ts +0 -28
  547. package/src/api/DirList.ts +0 -33
  548. package/src/api/DirMake.ts +0 -23
  549. package/src/api/DirRemove.ts +0 -23
  550. package/src/api/FileDelete.ts +0 -23
  551. package/src/api/FileRead.ts +0 -183
  552. package/src/api/FileWrite.ts +0 -71
  553. package/src/api/FirmwareUpdateV4.ts +0 -2279
  554. package/src/api/GetDeviceState.ts +0 -55
  555. package/src/api/OpenWalletSession.ts +0 -211
  556. package/src/api/PathInfo.ts +0 -41
  557. package/src/api/UploadPortfolio.ts +0 -50
  558. package/src/api/firmware/FirmwareArtifactSource.ts +0 -278
  559. package/src/api/firmware/FirmwareCheckpoint.ts +0 -188
  560. package/src/api/firmware/FirmwareHostBinding.ts +0 -108
  561. package/src/api/firmware/FirmwareUpdateCapabilities.ts +0 -13
  562. package/src/api/firmware/FirmwareUpdatePlan.ts +0 -729
  563. package/src/api/firmware/FirmwareUpdatePreparedPlan.ts +0 -403
  564. package/src/api/firmware/progressThrottle.ts +0 -44
  565. package/src/api/helpers/filesystemValidation.ts +0 -112
  566. package/src/api/helpers/protocolV2FileWrite.ts +0 -193
  567. package/src/api/protocol-v2/DeviceFactoryInfoGet.ts +0 -20
  568. package/src/api/protocol-v2/DeviceFactoryInfoSet.ts +0 -32
  569. package/src/api/protocol-v2/DeviceFirmwareUpdate.ts +0 -61
  570. package/src/api/protocol-v2/DeviceGetFirmwareUpdateStatus.ts +0 -55
  571. package/src/api/protocol-v2/DeviceGetOnboardingStatus.ts +0 -18
  572. package/src/api/protocol-v2/DeviceInfoGet.ts +0 -145
  573. package/src/api/protocol-v2/DeviceReboot.ts +0 -26
  574. package/src/api/protocol-v2/DeviceSessionOpen.ts +0 -102
  575. package/src/api/protocol-v2/DeviceSettingsGet.ts +0 -18
  576. package/src/api/protocol-v2/DeviceSettingsPageShow.ts +0 -70
  577. package/src/api/protocol-v2/DeviceSettingsSet.ts +0 -44
  578. package/src/api/protocol-v2/DeviceStatusGet.ts +0 -16
  579. package/src/api/protocol-v2/DeviceUploadWallpaper.ts +0 -131
  580. package/src/api/protocol-v2/FilesystemFormat.ts +0 -19
  581. package/src/api/protocol-v2/FilesystemPermissionFix.ts +0 -16
  582. package/src/api/protocol-v2/Ping.ts +0 -18
  583. package/src/api/protocol-v2/ProtocolInfoRequest.ts +0 -16
  584. package/src/api/protocol-v2/helpers.ts +0 -203
  585. package/src/core/deviceEventRegistration.ts +0 -23
  586. package/src/data/messages/messages-protocol-v2.json +0 -13544
  587. package/src/device/DeviceFeaturesState.ts +0 -34
  588. package/src/device/DeviceStateMapper.ts +0 -348
  589. package/src/device/DeviceStateProjector.ts +0 -95
  590. package/src/device/DeviceStateStore.ts +0 -201
  591. package/src/device/DeviceWalletSessionStore.ts +0 -78
  592. package/src/device/cloneDeviceState.ts +0 -39
  593. package/src/device/deviceIdentity.ts +0 -18
  594. package/src/deviceProfile/buildDeviceFeatures.ts +0 -391
  595. package/src/deviceProfile/index.ts +0 -4
  596. package/src/protocols/protocol-v2/deviceSession.ts +0 -24
  597. package/src/protocols/protocol-v2/features.ts +0 -163
  598. package/src/protocols/protocol-v2/firmware.ts +0 -21
  599. package/src/protocols/protocol-v2/index.ts +0 -18
  600. package/src/protocols/protocol-v2/lockedError.ts +0 -10
  601. package/src/protocols/protocol-v2/settingsUnlockPolicy.ts +0 -61
  602. package/src/protocols/protocol-v2/uiInteraction.ts +0 -210
  603. package/src/protocols/protocol-v2/unlockRetry.ts +0 -76
  604. package/src/protocols/protocol-v2/walletSession.ts +0 -202
  605. package/src/types/api/firmwareUpdateCapabilities.ts +0 -13
  606. package/src/types/api/firmwareUpdatePlan.ts +0 -52
  607. package/src/types/api/firmwareUpdatePreparedPlan.ts +0 -55
  608. package/src/types/api/getDeviceState.ts +0 -19
  609. package/src/types/api/openWalletSession.ts +0 -54
  610. package/src/types/api/protocolV2.ts +0 -244
  611. package/src/types/api/sessionCache.ts +0 -14
  612. package/src/utils/deviceFeaturesCompat.ts +0 -173
  613. package/src/utils/pro2Wallpaper.ts +0 -109
@@ -1,193 +0,0 @@
1
- import {
2
- PROTOCOL_V2_BLE_FILE_CHUNK_SIZE,
3
- PROTOCOL_V2_WEBUSB_FILE_CHUNK_SIZE,
4
- } from '@onekeyfe/hd-transport';
5
- import { ERRORS, HardwareErrorCode } from '@onekeyfe/hd-shared';
6
-
7
- import { DataManager } from '../../data-manager';
8
-
9
- import type { DeviceCommands } from '../../device/DeviceCommands';
10
-
11
- export type ProtocolV2FileWriteData = ArrayBuffer | Uint8Array | Blob | string;
12
-
13
- export type ProtocolV2FileWriteProgress = {
14
- progress: number;
15
- transferredBytes: number;
16
- totalBytes: number;
17
- rateBytesPerSecond?: number;
18
- elapsedMs: number;
19
- };
20
-
21
- export type ProtocolV2FileWriteOptions = {
22
- commands: Pick<DeviceCommands, 'typedCall'>;
23
- path: string;
24
- data: ProtocolV2FileWriteData;
25
- offset?: number;
26
- totalSize?: number;
27
- chunkSize?: number;
28
- chunkLen?: number;
29
- overwrite?: boolean;
30
- append?: boolean;
31
- uiPercentage?: number;
32
- timeoutMs?: number;
33
- maxChunkRetries?: number;
34
- throwIfAborted?: () => void;
35
- onProgress?: (progress: ProtocolV2FileWriteProgress) => void;
36
- };
37
-
38
- const MIN_FILE_CHUNK_SIZE = 64;
39
-
40
- function isRetryableFileWriteTimeout(error: unknown) {
41
- if (!error || typeof error !== 'object') return false;
42
- const candidate = error as { errorCode?: number; code?: number; message?: string };
43
- const code = candidate.errorCode ?? candidate.code;
44
- return (
45
- code === HardwareErrorCode.BleTimeoutError ||
46
- /Lowlevel response timeout/i.test(candidate.message ?? '')
47
- );
48
- }
49
-
50
- function getProtocolV2FileChunkLimit() {
51
- const env = DataManager.getSettings('env');
52
- return env && DataManager.isBleConnect(env)
53
- ? PROTOCOL_V2_BLE_FILE_CHUNK_SIZE
54
- : PROTOCOL_V2_WEBUSB_FILE_CHUNK_SIZE;
55
- }
56
-
57
- async function dataToUint8Array(data: ProtocolV2FileWriteData): Promise<Uint8Array> {
58
- if (typeof data === 'string') return new TextEncoder().encode(data);
59
- if (data instanceof ArrayBuffer) return new Uint8Array(data);
60
- if (ArrayBuffer.isView(data)) {
61
- return new Uint8Array(data.buffer, data.byteOffset, data.byteLength);
62
- }
63
- if (typeof Blob !== 'undefined' && data instanceof Blob) {
64
- return new Uint8Array(await data.arrayBuffer());
65
- }
66
- throw ERRORS.TypedError(
67
- HardwareErrorCode.CallMethodInvalidParameter,
68
- 'Unsupported FilesystemFileWrite data'
69
- );
70
- }
71
-
72
- function normalizeChunkSize(value: unknown, maxChunkSize: number): number {
73
- const numeric = Number(value);
74
- if (!Number.isFinite(numeric) || numeric <= 0) return maxChunkSize;
75
- return Math.min(Math.max(Math.floor(numeric), MIN_FILE_CHUNK_SIZE), maxChunkSize);
76
- }
77
-
78
- function getDeviceTransferProgress(before: number, after: number, total: number) {
79
- if (!Number.isFinite(total) || total <= 0) return 100;
80
- if (before <= 0 && after < total) return 0;
81
- if (after >= total) return 100;
82
- return Math.min(Math.max(Math.ceil((after / total) * 100), 1), 99);
83
- }
84
-
85
- function getConfirmedProgress(processed: number, total: number, written: number, length: number) {
86
- if (Number.isFinite(processed) && Number.isFinite(total) && total > 0) {
87
- if (processed >= total) return 100;
88
- return Math.min(Math.max(Math.floor((processed / total) * 100), 0), 99);
89
- }
90
- if (length > 0) return written >= length ? 100 : Math.floor((written / length) * 100);
91
- return 100;
92
- }
93
-
94
- export async function writeProtocolV2File(options: ProtocolV2FileWriteOptions) {
95
- options.throwIfAborted?.();
96
- const data = await dataToUint8Array(options.data);
97
- const dataLength = data.byteLength;
98
- const startOffset =
99
- Number.isFinite(options.offset) && Number(options.offset) > 0 ? Number(options.offset) : 0;
100
- const totalSize =
101
- Number.isFinite(options.totalSize) && Number(options.totalSize) > 0
102
- ? Number(options.totalSize)
103
- : startOffset + dataLength;
104
-
105
- if (totalSize < startOffset + dataLength) {
106
- throw ERRORS.TypedError(
107
- HardwareErrorCode.RuntimeError,
108
- `FilesystemFileWrite totalSize ${totalSize} is smaller than offset + data length ${
109
- startOffset + dataLength
110
- }`
111
- );
112
- }
113
-
114
- const chunkSize = normalizeChunkSize(
115
- options.chunkSize ?? options.chunkLen,
116
- getProtocolV2FileChunkLimit()
117
- );
118
- let written = 0;
119
- let chunks = 0;
120
- let lastMessage: Record<string, unknown> | undefined;
121
- const startTime = Date.now();
122
-
123
- while (written < dataLength) {
124
- options.throwIfAborted?.();
125
- const chunk = data.slice(written, Math.min(written + chunkSize, dataLength));
126
- const offset = startOffset + written;
127
- const progress =
128
- options.uiPercentage ??
129
- getDeviceTransferProgress(offset, offset + chunk.byteLength, totalSize);
130
- const request = {
131
- file: { path: options.path, offset, total_size: totalSize, data: chunk },
132
- overwrite: chunks === 0 ? options.overwrite ?? false : false,
133
- append: options.append ?? false,
134
- ui_percentage: progress,
135
- };
136
- const maxChunkRetries = Math.max(Math.floor(options.maxChunkRetries ?? 0), 0);
137
- let retryCount = 0;
138
- let response;
139
- let isWritePending = true;
140
- while (isWritePending) {
141
- try {
142
- response = await options.commands.typedCall(
143
- 'FilesystemFileWrite',
144
- 'FilesystemFile',
145
- request,
146
- { timeoutMs: options.timeoutMs }
147
- );
148
- isWritePending = false;
149
- } catch (error) {
150
- if (retryCount >= maxChunkRetries || !isRetryableFileWriteTimeout(error)) throw error;
151
- retryCount += 1;
152
- options.throwIfAborted?.();
153
- }
154
- }
155
- options.throwIfAborted?.();
156
- lastMessage = response.message;
157
- const rawProcessedByte = response.message?.processed_byte;
158
- const processedByte = Number(rawProcessedByte);
159
- if (
160
- rawProcessedByte !== undefined &&
161
- (!Number.isFinite(processedByte) ||
162
- processedByte <= offset ||
163
- processedByte > offset + chunk.byteLength)
164
- ) {
165
- throw ERRORS.TypedError(
166
- HardwareErrorCode.RuntimeError,
167
- `FilesystemFileWrite invalid processed_byte ${processedByte}`
168
- );
169
- }
170
- written =
171
- rawProcessedByte === undefined ? written + chunk.byteLength : processedByte - startOffset;
172
- chunks += 1;
173
- const elapsedMs = Date.now() - startTime;
174
- const transferredBytes = Math.min(written, dataLength);
175
- options.onProgress?.({
176
- progress: getConfirmedProgress(startOffset + written, totalSize, written, dataLength),
177
- transferredBytes,
178
- totalBytes: dataLength,
179
- rateBytesPerSecond:
180
- elapsedMs > 0 ? Math.round((transferredBytes / elapsedMs) * 1000) : undefined,
181
- elapsedMs,
182
- });
183
- }
184
-
185
- return {
186
- ...lastMessage,
187
- path: options.path,
188
- offset: startOffset,
189
- total_size: totalSize,
190
- processed_byte: startOffset + written,
191
- chunks,
192
- };
193
- }
@@ -1,20 +0,0 @@
1
- import { BaseMethod } from '../BaseMethod';
2
-
3
- export default class DeviceFactoryInfoGet extends BaseMethod {
4
- init() {
5
- // Protocol V2 (Pro2) only; Core rejects non-V2 devices.
6
- this.requireProtocolV2 = true;
7
- this.skipForceUpdateCheck = true;
8
- this.useDevicePassphraseState = false;
9
- this.params = undefined;
10
- }
11
-
12
- async run() {
13
- const res = await this.device.commands.typedCall(
14
- 'DeviceFactoryInfoGet',
15
- 'DeviceFactoryInfo',
16
- {}
17
- );
18
- return Promise.resolve(res.message);
19
- }
20
- }
@@ -1,32 +0,0 @@
1
- import { BaseMethod } from '../BaseMethod';
2
-
3
- import type { DeviceFactoryInfoSetParams } from './helpers';
4
-
5
- export default class DeviceFactoryInfoSet extends BaseMethod<DeviceFactoryInfoSetParams> {
6
- init() {
7
- // Protocol V2 (Pro2) only; Core rejects non-V2 devices.
8
- this.requireProtocolV2 = true;
9
- this.skipForceUpdateCheck = true;
10
- this.useDevicePassphraseState = false;
11
- this.params = {
12
- version: this.payload.version,
13
- serial_number: this.payload.serial_number,
14
- burn_in_completed: this.payload.burn_in_completed,
15
- factory_test_completed: this.payload.factory_test_completed,
16
- manufacture_time: this.payload.manufacture_time,
17
- };
18
- }
19
-
20
- async run() {
21
- const res = await this.device.commands.typedCall('DeviceFactoryInfoSet', 'Success', {
22
- info: {
23
- version: this.params.version,
24
- serial_number: this.params.serial_number,
25
- burn_in_completed: this.params.burn_in_completed,
26
- factory_test_completed: this.params.factory_test_completed,
27
- manufacture_time: this.params.manufacture_time,
28
- },
29
- });
30
- return Promise.resolve(res.message);
31
- }
32
- }
@@ -1,61 +0,0 @@
1
- import { BaseMethod } from '../BaseMethod';
2
- import {
3
- PROTOCOL_V2_FIRMWARE_UPDATE_OPTIONS,
4
- PROTOCOL_V2_FIRMWARE_UPDATE_RESPONSE_TYPES,
5
- isProtocolV2DeviceDisconnectedError,
6
- normalizeFirmwareTargets,
7
- } from './helpers';
8
- import { UI_REQUEST, createUiMessage } from '../../events/ui-request';
9
-
10
- import type { KnownDevice } from '../../types';
11
- import type { MessageFromOneKey } from '@onekeyfe/hd-transport';
12
- import type { DeviceFirmwareUpdateParams } from './helpers';
13
-
14
- export default class DeviceFirmwareUpdate extends BaseMethod<DeviceFirmwareUpdateParams> {
15
- init() {
16
- // Protocol V2 (Pro2) only; Core rejects non-V2 devices.
17
- this.requireProtocolV2 = true;
18
- this.skipForceUpdateCheck = true;
19
- this.useDevicePassphraseState = false;
20
- this.params = {
21
- targets: this.payload.targets,
22
- targetId: this.payload.targetId,
23
- target_id: this.payload.target_id,
24
- path: this.payload.path,
25
- };
26
- }
27
-
28
- async run() {
29
- const targets = normalizeFirmwareTargets(this.params);
30
- try {
31
- const res = await this.device.commands.typedCall(
32
- 'DeviceFirmwareUpdateRequest',
33
- PROTOCOL_V2_FIRMWARE_UPDATE_RESPONSE_TYPES,
34
- {
35
- targets,
36
- },
37
- {
38
- ...PROTOCOL_V2_FIRMWARE_UPDATE_OPTIONS,
39
- onIntermediateResponse: (response: MessageFromOneKey) => {
40
- if (response.type !== 'DeviceFirmwareUpdateStatus') return;
41
- this.postMessage(
42
- createUiMessage(UI_REQUEST.FIRMWARE_PROGRESS, {
43
- device: this.device.toMessageObject() as KnownDevice,
44
- progress: 99,
45
- progressType: 'installingFirmware',
46
- })
47
- );
48
- },
49
- }
50
- );
51
- return res.message;
52
- } catch (error) {
53
- if (isProtocolV2DeviceDisconnectedError(error)) {
54
- return {
55
- message: 'Device firmware update started',
56
- };
57
- }
58
- throw error;
59
- }
60
- }
61
- }
@@ -1,55 +0,0 @@
1
- import { BaseMethod } from '../BaseMethod';
2
- import { invalidParameter } from '../helpers/filesystemValidation';
3
-
4
- import type { DeviceFirmwareUpdateStatusGetParams } from './helpers';
5
- import type { DeviceFirmwareUpdateRecordFields } from '@onekeyfe/hd-transport';
6
-
7
- const DEVICE_FIRMWARE_UPDATE_STATUS_FIELDS = ['status', 'payload_version', 'path'] as const;
8
-
9
- function normalizeStatusFields(
10
- fields: DeviceFirmwareUpdateStatusGetParams['fields']
11
- ): DeviceFirmwareUpdateRecordFields | undefined {
12
- if (fields === undefined || fields === null) return undefined;
13
- if (typeof fields !== 'object' || Array.isArray(fields)) {
14
- throw invalidParameter('Parameter [fields] must be an object.');
15
- }
16
-
17
- const unknownField = Object.keys(fields).find(
18
- field => !DEVICE_FIRMWARE_UPDATE_STATUS_FIELDS.includes(field as any)
19
- );
20
- if (unknownField) {
21
- throw invalidParameter(`Unsupported firmware update status field: ${unknownField}`);
22
- }
23
-
24
- const normalized: DeviceFirmwareUpdateRecordFields = {};
25
- for (const field of DEVICE_FIRMWARE_UPDATE_STATUS_FIELDS) {
26
- const value = fields[field];
27
- if (value !== undefined) {
28
- if (typeof value !== 'boolean') {
29
- throw invalidParameter(`Parameter [fields.${field}] must be a boolean.`);
30
- }
31
- normalized[field] = value;
32
- }
33
- }
34
- return normalized;
35
- }
36
-
37
- export default class DeviceGetFirmwareUpdateStatus extends BaseMethod<DeviceFirmwareUpdateStatusGetParams> {
38
- init() {
39
- // Protocol V2 (Pro2) only; Core rejects non-V2 devices.
40
- this.requireProtocolV2 = true;
41
- this.skipForceUpdateCheck = true;
42
- this.useDevicePassphraseState = false;
43
- const fields = normalizeStatusFields(this.payload.fields);
44
- this.params = fields ? { fields } : {};
45
- }
46
-
47
- async run() {
48
- const res = await this.device.commands.typedCall(
49
- 'DeviceFirmwareUpdateStatusGet',
50
- 'DeviceFirmwareUpdateStatus',
51
- this.params
52
- );
53
- return Promise.resolve(res.message);
54
- }
55
- }
@@ -1,18 +0,0 @@
1
- import { BaseMethod } from '../BaseMethod';
2
-
3
- export default class DeviceGetOnboardingStatus extends BaseMethod {
4
- init() {
5
- this.requireProtocolV2 = true;
6
- this.skipForceUpdateCheck = true;
7
- this.useDevicePassphraseState = false;
8
- }
9
-
10
- async run() {
11
- const { message } = await this.device.commands.typedCall(
12
- 'DevGetOnboardingStatus',
13
- 'DevOnboardingStatus',
14
- {}
15
- );
16
- return message;
17
- }
18
- }
@@ -1,145 +0,0 @@
1
- import { createDeviceNotSupportMethodError } from '@onekeyfe/hd-shared';
2
-
3
- import { UI_REQUEST } from '../../constants/ui-request';
4
- import { PROTOCOL_V2_DEVICE_INFO_TIMEOUT_MS } from '../../protocols/protocol-v2';
5
- import { BaseMethod } from '../BaseMethod';
6
- import { invalidParameter } from '../helpers/filesystemValidation';
7
-
8
- export type DeviceInfoGetTargets = {
9
- hw?: boolean;
10
- fw?: boolean;
11
- coprocessor?: boolean;
12
- se1?: boolean;
13
- se2?: boolean;
14
- se3?: boolean;
15
- se4?: boolean;
16
- };
17
-
18
- export type DeviceInfoGetTypes = {
19
- version?: boolean;
20
- build_id?: boolean;
21
- hash?: boolean;
22
- specific?: boolean;
23
- };
24
-
25
- export type DeviceInfoGetParams = {
26
- targets?: DeviceInfoGetTargets;
27
- types?: DeviceInfoGetTypes;
28
- };
29
-
30
- const TARGET_KEYS: (keyof DeviceInfoGetTargets)[] = [
31
- 'hw',
32
- 'fw',
33
- 'coprocessor',
34
- 'se1',
35
- 'se2',
36
- 'se3',
37
- 'se4',
38
- ];
39
-
40
- const TYPE_KEYS: (keyof DeviceInfoGetTypes)[] = ['version', 'build_id', 'hash', 'specific'];
41
-
42
- const DEFAULT_TARGETS: DeviceInfoGetTargets = {
43
- hw: true,
44
- fw: true,
45
- coprocessor: true,
46
- };
47
-
48
- const DEFAULT_TYPES: DeviceInfoGetTypes = {
49
- version: true,
50
- specific: true,
51
- };
52
-
53
- function pickBooleanKeys<T extends Record<string, boolean | undefined>>(
54
- value: unknown,
55
- keys: (keyof T)[]
56
- ): T | undefined {
57
- if (!value || typeof value !== 'object' || Array.isArray(value)) return undefined;
58
- const source = value as Record<string, unknown>;
59
- const result = {} as T;
60
- let hasKey = false;
61
- for (const key of keys) {
62
- if (source[key as string]) {
63
- result[key] = true as T[keyof T];
64
- hasKey = true;
65
- }
66
- }
67
- return hasKey ? result : undefined;
68
- }
69
-
70
- function assertKnownKeys(value: unknown, keys: string[], name: string) {
71
- if (value == null) return;
72
- if (typeof value !== 'object' || Array.isArray(value)) {
73
- throw invalidParameter(`Parameter [${name}] must be an object.`);
74
- }
75
- const allowed = new Set(keys);
76
- const unknownKeys = Object.keys(value).filter(key => !allowed.has(key));
77
- if (unknownKeys.length > 0) {
78
- throw invalidParameter(
79
- `Parameter [${name}] contains unsupported key(s): ${unknownKeys.join(', ')}.`
80
- );
81
- }
82
- }
83
-
84
- function normalizeTargets(value: unknown): DeviceInfoGetTargets | undefined {
85
- assertKnownKeys(
86
- value,
87
- TARGET_KEYS.map(key => String(key)),
88
- 'targets'
89
- );
90
- return pickBooleanKeys<DeviceInfoGetTargets>(value, TARGET_KEYS);
91
- }
92
-
93
- function normalizeTypes(value: unknown): DeviceInfoGetTypes | undefined {
94
- assertKnownKeys(
95
- value,
96
- TYPE_KEYS.map(key => String(key)),
97
- 'types'
98
- );
99
- return pickBooleanKeys<DeviceInfoGetTypes>(value, TYPE_KEYS);
100
- }
101
-
102
- /**
103
- * Raw DeviceInfoGet command for Protocol V2 only.
104
- *
105
- * The SDK builds targets/types on demand and returns the raw DeviceInfo message.
106
- * This command is internal; integrations should use getDeviceState.
107
- */
108
- export default class DeviceInfoGet extends BaseMethod<{
109
- targets: DeviceInfoGetTargets;
110
- types: DeviceInfoGetTypes;
111
- }> {
112
- init() {
113
- // Protocol V2 (Pro2) only; Core rejects non-V2 devices.
114
- this.requireProtocolV2 = true;
115
- this.unlockPolicy = 'none';
116
- this.allowDeviceMode = [
117
- ...this.allowDeviceMode,
118
- UI_REQUEST.NOT_INITIALIZE,
119
- UI_REQUEST.BOOTLOADER,
120
- ];
121
- this.useDevicePassphraseState = false;
122
- this.skipForceUpdateCheck = true;
123
- this.params = {
124
- targets: normalizeTargets(this.payload.targets) ?? DEFAULT_TARGETS,
125
- types: normalizeTypes(this.payload.types) ?? DEFAULT_TYPES,
126
- };
127
- }
128
-
129
- async run() {
130
- if (!this.device.isProtocolV2()) {
131
- throw createDeviceNotSupportMethodError(this.name, this.device.getCurrentFirmwareType());
132
- }
133
-
134
- const res = await this.device.commands.typedCall(
135
- 'DeviceInfoGet',
136
- 'DeviceInfo',
137
- {
138
- targets: this.params.targets,
139
- types: this.params.types,
140
- },
141
- { timeoutMs: PROTOCOL_V2_DEVICE_INFO_TIMEOUT_MS }
142
- );
143
- return Promise.resolve(res.message);
144
- }
145
- }
@@ -1,26 +0,0 @@
1
- import { BaseMethod } from '../BaseMethod';
2
- import { normalizeRebootType } from './helpers';
3
-
4
- import type { DeviceRebootParams } from './helpers';
5
-
6
- export default class DeviceReboot extends BaseMethod<DeviceRebootParams> {
7
- init() {
8
- // Protocol V2 (Pro2) only; Core rejects non-V2 devices.
9
- this.requireProtocolV2 = true;
10
- this.skipForceUpdateCheck = true;
11
- this.useDevicePassphraseState = false;
12
- this.params = {
13
- rebootType: this.payload.rebootType,
14
- reboot_type: this.payload.reboot_type,
15
- };
16
- }
17
-
18
- async run() {
19
- const rebootType = normalizeRebootType(this.params.reboot_type ?? this.params.rebootType);
20
- const res = await this.device.commands.typedCall('DeviceReboot', 'Success', {
21
- reboot_type: rebootType,
22
- });
23
- this.device.markProtocolV2Reboot(rebootType);
24
- return Promise.resolve(res.message);
25
- }
26
- }
@@ -1,102 +0,0 @@
1
- import { assertCompleteDeviceSession } from '../../protocols/protocol-v2/deviceSession';
2
- import { BaseMethod } from '../BaseMethod';
3
- import { invalidParameter } from '../helpers/filesystemValidation';
4
-
5
- import type {
6
- DeviceAttachPinOnDevice,
7
- DeviceHostPassphrase,
8
- DevicePassphraseOnDevice,
9
- DeviceSessionResume,
10
- } from '@onekeyfe/hd-transport';
11
-
12
- type HiddenWalletSelection =
13
- | {
14
- host_passphrase: DeviceHostPassphrase;
15
- passphrase_on_device?: never;
16
- attach_pin_on_device?: never;
17
- }
18
- | {
19
- host_passphrase?: never;
20
- passphrase_on_device: DevicePassphraseOnDevice;
21
- attach_pin_on_device?: never;
22
- }
23
- | {
24
- host_passphrase?: never;
25
- passphrase_on_device?: never;
26
- attach_pin_on_device: DeviceAttachPinOnDevice;
27
- };
28
-
29
- export type DeviceSessionOpenParams =
30
- | { resume: DeviceSessionResume; select?: never }
31
- | { resume?: never; select: HiddenWalletSelection };
32
-
33
- const isRecord = (value: unknown): value is Record<string, unknown> =>
34
- !!value && typeof value === 'object' && !Array.isArray(value);
35
-
36
- const normalizeParams = (payload: Record<string, unknown>): DeviceSessionOpenParams => {
37
- const hasResume = payload.resume !== undefined;
38
- const hasSelect = payload.select !== undefined;
39
- if (hasResume === hasSelect) {
40
- throw invalidParameter('DeviceSessionOpen requires exactly one of [resume] or [select].');
41
- }
42
-
43
- if (hasResume) {
44
- if (!isRecord(payload.resume) || typeof payload.resume.session_id !== 'string') {
45
- throw invalidParameter('Parameter [resume.session_id] must be a non-empty string.');
46
- }
47
- const sessionId = payload.resume.session_id.trim();
48
- if (!sessionId) {
49
- throw invalidParameter('Parameter [resume.session_id] must be a non-empty string.');
50
- }
51
- return { resume: { session_id: sessionId } };
52
- }
53
-
54
- if (!isRecord(payload.select)) {
55
- throw invalidParameter('Parameter [select] must be a hidden-wallet selection object.');
56
- }
57
- const { select } = payload;
58
- const accessKeys = ['host_passphrase', 'passphrase_on_device', 'attach_pin_on_device'] as const;
59
- const selected = accessKeys.filter(key => select[key] !== undefined);
60
- const unknown = Object.keys(select).filter(
61
- key => !accessKeys.includes(key as (typeof accessKeys)[number])
62
- );
63
- if (unknown.length > 0 || selected.length !== 1) {
64
- throw invalidParameter('Parameter [select] requires exactly one hidden-wallet access mode.');
65
- }
66
-
67
- if (selected[0] === 'host_passphrase') {
68
- const host = select.host_passphrase;
69
- if (!isRecord(host) || typeof host.passphrase !== 'string') {
70
- throw invalidParameter('Parameter [select.host_passphrase.passphrase] is required.');
71
- }
72
- const passphrase = host.passphrase.normalize('NFKD');
73
- if (!passphrase || passphrase.includes('\0') || passphrase.length > 50) {
74
- throw invalidParameter('Parameter [select.host_passphrase.passphrase] is invalid.');
75
- }
76
- return { select: { host_passphrase: { passphrase } } };
77
- }
78
-
79
- if (selected[0] === 'passphrase_on_device') {
80
- return { select: { passphrase_on_device: {} } };
81
- }
82
- return { select: { attach_pin_on_device: {} } };
83
- };
84
-
85
- export default class DeviceSessionOpen extends BaseMethod<DeviceSessionOpenParams> {
86
- init() {
87
- this.requireProtocolV2 = true;
88
- this.useDevicePassphraseState = false;
89
- this.skipForceUpdateCheck = true;
90
- this.params = normalizeParams(this.payload as unknown as Record<string, unknown>);
91
- }
92
-
93
- async run() {
94
- const { message } = await this.device.commands.typedCall(
95
- 'DeviceSessionOpen',
96
- 'DeviceSession',
97
- this.params
98
- );
99
- assertCompleteDeviceSession(message);
100
- return message;
101
- }
102
- }
@@ -1,18 +0,0 @@
1
- import { BaseMethod } from '../BaseMethod';
2
- import { mapDeviceSettingsToState } from '../../device/DeviceStateMapper';
3
-
4
- export default class DeviceSettingsGet extends BaseMethod {
5
- init() {
6
- this.requireProtocolV2 = true;
7
- this.unlockPolicy = 'none';
8
- this.skipForceUpdateCheck = true;
9
- this.useDevicePassphraseState = false;
10
- this.params = undefined;
11
- }
12
-
13
- async run() {
14
- const res = await this.device.commands.typedCall('DeviceSettingsGet', 'DeviceSettings', {});
15
- this.device.updateState(mapDeviceSettingsToState(res.message), 'apply-settings');
16
- return Promise.resolve(res.message);
17
- }
18
- }