@onekeyfe/hd-core 1.1.27-alpha.34 → 1.1.27-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 (351) hide show
  1. package/__tests__/DeviceCommands.test.ts +99 -0
  2. package/__tests__/evmLedgerLegacySafety.test.ts +261 -0
  3. package/__tests__/evmSignTransaction.test.ts +1 -1
  4. package/__tests__/evmSignTypedData.test.ts +1 -1
  5. package/__tests__/preInitialize.test.ts +22 -0
  6. package/dist/api/BaseMethod.d.ts +7 -1
  7. package/dist/api/BaseMethod.d.ts.map +1 -1
  8. package/dist/api/FirmwareUpdateV3.d.ts +0 -1
  9. package/dist/api/FirmwareUpdateV3.d.ts.map +1 -1
  10. package/dist/api/GetFeatures.d.ts +1 -1
  11. package/dist/api/GetOnekeyFeatures.d.ts.map +1 -1
  12. package/dist/api/GetPassphraseState.d.ts +1 -6
  13. package/dist/api/GetPassphraseState.d.ts.map +1 -1
  14. package/dist/api/SearchDevices.d.ts +1 -2
  15. package/dist/api/SearchDevices.d.ts.map +1 -1
  16. package/dist/api/alephium/AlephiumGetAddress.d.ts +6 -2
  17. package/dist/api/alephium/AlephiumGetAddress.d.ts.map +1 -1
  18. package/dist/api/alephium/AlephiumSignMessage.d.ts +5 -2
  19. package/dist/api/alephium/AlephiumSignMessage.d.ts.map +1 -1
  20. package/dist/api/alephium/AlephiumSignTransaction.d.ts +5 -2
  21. package/dist/api/alephium/AlephiumSignTransaction.d.ts.map +1 -1
  22. package/dist/api/algo/AlgoSignTransaction.d.ts.map +1 -1
  23. package/dist/api/allnetwork/AllNetworkGetAddressBase.d.ts.map +1 -1
  24. package/dist/api/aptos/AptosSignInMessage.d.ts.map +1 -1
  25. package/dist/api/aptos/AptosSignMessage.d.ts.map +1 -1
  26. package/dist/api/aptos/AptosSignTransaction.d.ts.map +1 -1
  27. package/dist/api/benfen/BenfenGetAddress.d.ts +9 -2
  28. package/dist/api/benfen/BenfenGetAddress.d.ts.map +1 -1
  29. package/dist/api/benfen/BenfenGetPublicKey.d.ts +9 -2
  30. package/dist/api/benfen/BenfenGetPublicKey.d.ts.map +1 -1
  31. package/dist/api/benfen/BenfenSignMessage.d.ts +8 -2
  32. package/dist/api/benfen/BenfenSignMessage.d.ts.map +1 -1
  33. package/dist/api/benfen/BenfenSignTransaction.d.ts +8 -2
  34. package/dist/api/benfen/BenfenSignTransaction.d.ts.map +1 -1
  35. package/dist/api/btc/BTCGetAddress.d.ts +11 -1
  36. package/dist/api/btc/BTCGetAddress.d.ts.map +1 -1
  37. package/dist/api/btc/BTCGetPublicKey.d.ts +11 -1
  38. package/dist/api/btc/BTCGetPublicKey.d.ts.map +1 -1
  39. package/dist/api/btc/BTCSignMessage.d.ts +15 -1
  40. package/dist/api/btc/BTCSignMessage.d.ts.map +1 -1
  41. package/dist/api/btc/BTCSignPsbt.d.ts.map +1 -1
  42. package/dist/api/btc/BTCSignTransaction.d.ts +11 -1
  43. package/dist/api/btc/BTCSignTransaction.d.ts.map +1 -1
  44. package/dist/api/btc/BTCVerifyMessage.d.ts +11 -1
  45. package/dist/api/btc/BTCVerifyMessage.d.ts.map +1 -1
  46. package/dist/api/btc/helpers/versionLimit.d.ts +11 -2
  47. package/dist/api/btc/helpers/versionLimit.d.ts.map +1 -1
  48. package/dist/api/cardano/CardanoSignMessage.d.ts.map +1 -1
  49. package/dist/api/cardano/CardanoSignTransaction.d.ts.map +1 -1
  50. package/dist/api/conflux/ConfluxSignMessage.d.ts.map +1 -1
  51. package/dist/api/conflux/ConfluxSignMessageCIP23.d.ts.map +1 -1
  52. package/dist/api/conflux/ConfluxSignTransaction.d.ts.map +1 -1
  53. package/dist/api/cosmos/CosmosSignTransaction.d.ts.map +1 -1
  54. package/dist/api/device/DeviceRebootToBoardloader.d.ts +1 -1
  55. package/dist/api/device/DeviceRebootToBoardloader.d.ts.map +1 -1
  56. package/dist/api/device/DeviceRebootToBootloader.d.ts.map +1 -1
  57. package/dist/api/device/PreInitialize.d.ts +6 -0
  58. package/dist/api/device/PreInitialize.d.ts.map +1 -0
  59. package/dist/api/dynex/DnxGetAddress.d.ts.map +1 -1
  60. package/dist/api/dynex/DnxSignTransaction.d.ts.map +1 -1
  61. package/dist/api/evm/EVMSignMessage.d.ts.map +1 -1
  62. package/dist/api/evm/EVMSignMessageEIP712.d.ts +8 -2
  63. package/dist/api/evm/EVMSignMessageEIP712.d.ts.map +1 -1
  64. package/dist/api/evm/EVMSignTransaction.d.ts.map +1 -1
  65. package/dist/api/evm/EVMSignTypedData.d.ts.map +1 -1
  66. package/dist/api/evm/latest/signTypedData.d.ts +1 -1
  67. package/dist/api/evm/latest/signTypedData.d.ts.map +1 -1
  68. package/dist/api/evm/legacyV1/signTypedData.d.ts +1 -1
  69. package/dist/api/evm/legacyV1/signTypedData.d.ts.map +1 -1
  70. package/dist/api/filecoin/FilecoinSignTransaction.d.ts.map +1 -1
  71. package/dist/api/firmware/FirmwareUpdateBaseMethod.d.ts +2 -10
  72. package/dist/api/firmware/FirmwareUpdateBaseMethod.d.ts.map +1 -1
  73. package/dist/api/index.d.ts +1 -28
  74. package/dist/api/index.d.ts.map +1 -1
  75. package/dist/api/kaspa/KaspaSignTransaction.d.ts.map +1 -1
  76. package/dist/api/near/NearSignTransaction.d.ts.map +1 -1
  77. package/dist/api/nem/NEMSignTransaction.d.ts.map +1 -1
  78. package/dist/api/neo/NeoGetAddress.d.ts +8 -2
  79. package/dist/api/neo/NeoGetAddress.d.ts.map +1 -1
  80. package/dist/api/neo/NeoSignTransaction.d.ts +8 -2
  81. package/dist/api/neo/NeoSignTransaction.d.ts.map +1 -1
  82. package/dist/api/nervos/NervosGetAddress.d.ts +9 -2
  83. package/dist/api/nervos/NervosGetAddress.d.ts.map +1 -1
  84. package/dist/api/nervos/NervosSignTransaction.d.ts +9 -2
  85. package/dist/api/nervos/NervosSignTransaction.d.ts.map +1 -1
  86. package/dist/api/nexa/NexaGetAddress.d.ts +8 -2
  87. package/dist/api/nexa/NexaGetAddress.d.ts.map +1 -1
  88. package/dist/api/nexa/NexaSignTransaction.d.ts +9 -2
  89. package/dist/api/nexa/NexaSignTransaction.d.ts.map +1 -1
  90. package/dist/api/nostr/NostrSignEvent.d.ts.map +1 -1
  91. package/dist/api/nostr/NostrSignSchnorr.d.ts.map +1 -1
  92. package/dist/api/polkadot/PolkadotSignTransaction.d.ts.map +1 -1
  93. package/dist/api/scdo/ScdoGetAddress.d.ts +6 -2
  94. package/dist/api/scdo/ScdoGetAddress.d.ts.map +1 -1
  95. package/dist/api/scdo/ScdoSignMessage.d.ts +5 -2
  96. package/dist/api/scdo/ScdoSignMessage.d.ts.map +1 -1
  97. package/dist/api/scdo/ScdoSignTransaction.d.ts +5 -2
  98. package/dist/api/scdo/ScdoSignTransaction.d.ts.map +1 -1
  99. package/dist/api/solana/SolSignMessage.d.ts.map +1 -1
  100. package/dist/api/solana/SolSignOffchainMessage.d.ts.map +1 -1
  101. package/dist/api/solana/SolSignTransaction.d.ts.map +1 -1
  102. package/dist/api/starcoin/StarcoinSignMessage.d.ts.map +1 -1
  103. package/dist/api/starcoin/StarcoinSignTransaction.d.ts.map +1 -1
  104. package/dist/api/stellar/StellarGetAddress.d.ts +1 -2
  105. package/dist/api/stellar/StellarGetAddress.d.ts.map +1 -1
  106. package/dist/api/stellar/StellarSignTransaction.d.ts +1 -2
  107. package/dist/api/stellar/StellarSignTransaction.d.ts.map +1 -1
  108. package/dist/api/sui/SuiSignMessage.d.ts.map +1 -1
  109. package/dist/api/sui/SuiSignTransaction.d.ts +2 -2
  110. package/dist/api/sui/SuiSignTransaction.d.ts.map +1 -1
  111. package/dist/api/ton/TonSignData.d.ts.map +1 -1
  112. package/dist/api/ton/TonSignMessage.d.ts.map +1 -1
  113. package/dist/api/ton/TonSignProof.d.ts.map +1 -1
  114. package/dist/api/tron/TronSignMessage.d.ts.map +1 -1
  115. package/dist/api/tron/TronSignTransaction.d.ts.map +1 -1
  116. package/dist/api/xrp/XrpSignTransaction.d.ts.map +1 -1
  117. package/dist/core/PollingStateManager.d.ts +8 -0
  118. package/dist/core/PollingStateManager.d.ts.map +1 -0
  119. package/dist/core/RequestQueue.d.ts +1 -1
  120. package/dist/core/RequestQueue.d.ts.map +1 -1
  121. package/dist/core/index.d.ts.map +1 -1
  122. package/dist/data-manager/DataManager.d.ts +4 -7
  123. package/dist/data-manager/DataManager.d.ts.map +1 -1
  124. package/dist/data-manager/MessagesConfig.d.ts +2 -2
  125. package/dist/data-manager/MessagesConfig.d.ts.map +1 -1
  126. package/dist/data-manager/TransportManager.d.ts +4 -5
  127. package/dist/data-manager/TransportManager.d.ts.map +1 -1
  128. package/dist/device/Device.d.ts +18 -5
  129. package/dist/device/Device.d.ts.map +1 -1
  130. package/dist/device/DeviceCommands.d.ts +8 -8
  131. package/dist/device/DeviceCommands.d.ts.map +1 -1
  132. package/dist/device/DeviceConnector.d.ts +1 -2
  133. package/dist/device/DeviceConnector.d.ts.map +1 -1
  134. package/dist/events/ui-request.d.ts +0 -8
  135. package/dist/events/ui-request.d.ts.map +1 -1
  136. package/dist/index.d.ts +43 -292
  137. package/dist/index.js +998 -16134
  138. package/dist/inject.d.ts.map +1 -1
  139. package/dist/types/api/export.d.ts +1 -1
  140. package/dist/types/api/export.d.ts.map +1 -1
  141. package/dist/types/api/firmwareUpdate.d.ts +0 -7
  142. package/dist/types/api/firmwareUpdate.d.ts.map +1 -1
  143. package/dist/types/api/getPassphraseState.d.ts +1 -10
  144. package/dist/types/api/getPassphraseState.d.ts.map +1 -1
  145. package/dist/types/api/index.d.ts +3 -33
  146. package/dist/types/api/index.d.ts.map +1 -1
  147. package/dist/types/api/preInitialize.d.ts +3 -0
  148. package/dist/types/api/preInitialize.d.ts.map +1 -0
  149. package/dist/types/api/searchDevices.d.ts +2 -2
  150. package/dist/types/api/searchDevices.d.ts.map +1 -1
  151. package/dist/types/device.d.ts +2 -6
  152. package/dist/types/device.d.ts.map +1 -1
  153. package/dist/types/params.d.ts +1 -2
  154. package/dist/types/params.d.ts.map +1 -1
  155. package/dist/types/settings.d.ts +1 -1
  156. package/dist/types/settings.d.ts.map +1 -1
  157. package/dist/utils/deviceFeaturesUtils.d.ts +3 -5
  158. package/dist/utils/deviceFeaturesUtils.d.ts.map +1 -1
  159. package/dist/utils/deviceInfoUtils.d.ts +0 -1
  160. package/dist/utils/deviceInfoUtils.d.ts.map +1 -1
  161. package/dist/utils/index.d.ts +1 -1
  162. package/dist/utils/index.d.ts.map +1 -1
  163. package/dist/utils/patch.d.ts +1 -1
  164. package/dist/utils/patch.d.ts.map +1 -1
  165. package/dist/utils/versionUtils.d.ts +1 -1
  166. package/package.json +4 -4
  167. package/src/api/BaseMethod.ts +82 -7
  168. package/src/api/FirmwareUpdateV3.ts +4 -21
  169. package/src/api/GetOnekeyFeatures.ts +3 -75
  170. package/src/api/GetPassphraseState.ts +2 -18
  171. package/src/api/SearchDevices.ts +2 -7
  172. package/src/api/alephium/AlephiumGetAddress.ts +2 -6
  173. package/src/api/alephium/AlephiumSignMessage.ts +2 -6
  174. package/src/api/alephium/AlephiumSignTransaction.ts +3 -6
  175. package/src/api/algo/AlgoSignTransaction.ts +1 -0
  176. package/src/api/allnetwork/AllNetworkGetAddressBase.ts +9 -18
  177. package/src/api/aptos/AptosSignInMessage.ts +1 -0
  178. package/src/api/aptos/AptosSignMessage.ts +1 -0
  179. package/src/api/aptos/AptosSignTransaction.ts +1 -0
  180. package/src/api/benfen/BenfenGetAddress.ts +2 -6
  181. package/src/api/benfen/BenfenGetPublicKey.ts +2 -6
  182. package/src/api/benfen/BenfenSignMessage.ts +2 -6
  183. package/src/api/benfen/BenfenSignTransaction.ts +2 -6
  184. package/src/api/btc/BTCSignMessage.ts +1 -0
  185. package/src/api/btc/BTCSignPsbt.ts +1 -0
  186. package/src/api/btc/BTCSignTransaction.ts +1 -0
  187. package/src/api/btc/helpers/versionLimit.ts +1 -7
  188. package/src/api/cardano/CardanoSignMessage.ts +1 -0
  189. package/src/api/cardano/CardanoSignTransaction.ts +1 -0
  190. package/src/api/conflux/ConfluxSignMessage.ts +1 -0
  191. package/src/api/conflux/ConfluxSignMessageCIP23.ts +1 -0
  192. package/src/api/conflux/ConfluxSignTransaction.ts +3 -5
  193. package/src/api/cosmos/CosmosSignTransaction.ts +1 -0
  194. package/src/api/device/DeviceRebootToBoardloader.ts +1 -10
  195. package/src/api/device/DeviceRebootToBootloader.ts +1 -10
  196. package/src/api/device/PreInitialize.ts +41 -0
  197. package/src/api/dynex/DnxGetAddress.ts +0 -7
  198. package/src/api/dynex/DnxSignTransaction.ts +1 -7
  199. package/src/api/evm/EVMGetAddress.ts +1 -1
  200. package/src/api/evm/EVMGetPublicKey.ts +1 -1
  201. package/src/api/evm/EVMSignMessage.ts +3 -1
  202. package/src/api/evm/EVMSignMessageEIP712.ts +2 -14
  203. package/src/api/evm/EVMSignTransaction.ts +3 -1
  204. package/src/api/evm/EVMSignTypedData.ts +8 -6
  205. package/src/api/evm/EVMVerifyMessage.ts +1 -1
  206. package/src/api/filecoin/FilecoinSignTransaction.ts +1 -0
  207. package/src/api/firmware/FirmwareUpdateBaseMethod.ts +4 -27
  208. package/src/api/index.ts +1 -30
  209. package/src/api/kaspa/KaspaSignTransaction.ts +1 -0
  210. package/src/api/near/NearSignTransaction.ts +1 -0
  211. package/src/api/nem/NEMSignTransaction.ts +1 -0
  212. package/src/api/neo/NeoGetAddress.ts +1 -6
  213. package/src/api/neo/NeoSignTransaction.ts +2 -6
  214. package/src/api/nervos/NervosGetAddress.ts +2 -6
  215. package/src/api/nervos/NervosSignTransaction.ts +3 -6
  216. package/src/api/nexa/NexaGetAddress.ts +2 -6
  217. package/src/api/nexa/NexaSignTransaction.ts +4 -6
  218. package/src/api/nostr/NostrSignEvent.ts +1 -0
  219. package/src/api/nostr/NostrSignSchnorr.ts +1 -0
  220. package/src/api/polkadot/PolkadotSignTransaction.ts +1 -0
  221. package/src/api/scdo/ScdoGetAddress.ts +2 -6
  222. package/src/api/scdo/ScdoSignMessage.ts +2 -6
  223. package/src/api/scdo/ScdoSignTransaction.ts +3 -6
  224. package/src/api/solana/SolSignMessage.ts +1 -0
  225. package/src/api/solana/SolSignOffchainMessage.ts +1 -0
  226. package/src/api/solana/SolSignTransaction.ts +1 -0
  227. package/src/api/starcoin/StarcoinSignMessage.ts +1 -0
  228. package/src/api/starcoin/StarcoinSignTransaction.ts +1 -0
  229. package/src/api/stellar/StellarGetAddress.ts +1 -10
  230. package/src/api/stellar/StellarSignTransaction.ts +2 -14
  231. package/src/api/sui/SuiSignMessage.ts +1 -0
  232. package/src/api/sui/SuiSignTransaction.ts +10 -12
  233. package/src/api/ton/TonSignData.ts +1 -0
  234. package/src/api/ton/TonSignMessage.ts +1 -0
  235. package/src/api/ton/TonSignProof.ts +1 -0
  236. package/src/api/tron/TronSignMessage.ts +2 -1
  237. package/src/api/tron/TronSignTransaction.ts +1 -0
  238. package/src/api/xrp/XrpSignTransaction.ts +2 -1
  239. package/src/core/PollingStateManager.ts +47 -0
  240. package/src/core/RequestQueue.ts +10 -3
  241. package/src/core/index.ts +153 -62
  242. package/src/data-manager/DataManager.ts +7 -12
  243. package/src/data-manager/MessagesConfig.ts +14 -14
  244. package/src/data-manager/TransportManager.ts +12 -38
  245. package/src/device/Device.ts +75 -82
  246. package/src/device/DeviceCommands.ts +26 -162
  247. package/src/device/DeviceConnector.ts +4 -29
  248. package/src/device/DevicePool.ts +1 -1
  249. package/src/events/ui-request.ts +0 -8
  250. package/src/inject.ts +2 -46
  251. package/src/types/api/export.ts +0 -1
  252. package/src/types/api/firmwareUpdate.ts +0 -12
  253. package/src/types/api/getPassphraseState.ts +2 -15
  254. package/src/types/api/index.ts +3 -80
  255. package/src/types/api/preInitialize.ts +3 -0
  256. package/src/types/api/searchDevices.ts +2 -2
  257. package/src/types/device.ts +2 -33
  258. package/src/types/params.ts +2 -4
  259. package/src/types/settings.ts +1 -1
  260. package/src/utils/deviceFeaturesUtils.ts +21 -62
  261. package/src/utils/deviceInfoUtils.ts +8 -15
  262. package/src/utils/index.ts +0 -1
  263. package/__tests__/protocol-v2.test.ts +0 -1501
  264. package/dist/api/DirList.d.ts +0 -10
  265. package/dist/api/DirList.d.ts.map +0 -1
  266. package/dist/api/DirMake.d.ts +0 -9
  267. package/dist/api/DirMake.d.ts.map +0 -1
  268. package/dist/api/DirRemove.d.ts +0 -9
  269. package/dist/api/DirRemove.d.ts.map +0 -1
  270. package/dist/api/FileDelete.d.ts +0 -9
  271. package/dist/api/FileDelete.d.ts.map +0 -1
  272. package/dist/api/FileRead.d.ts +0 -19
  273. package/dist/api/FileRead.d.ts.map +0 -1
  274. package/dist/api/FileWrite.d.ts +0 -23
  275. package/dist/api/FileWrite.d.ts.map +0 -1
  276. package/dist/api/FirmwareUpdateV4.d.ts +0 -32
  277. package/dist/api/FirmwareUpdateV4.d.ts.map +0 -1
  278. package/dist/api/GetDeviceInfo.d.ts +0 -9
  279. package/dist/api/GetDeviceInfo.d.ts.map +0 -1
  280. package/dist/api/PathInfo.d.ts +0 -9
  281. package/dist/api/PathInfo.d.ts.map +0 -1
  282. package/dist/api/helpers/deviceInfo.d.ts +0 -15
  283. package/dist/api/helpers/deviceInfo.d.ts.map +0 -1
  284. package/dist/api/helpers/filesystemValidation.d.ts +0 -7
  285. package/dist/api/helpers/filesystemValidation.d.ts.map +0 -1
  286. package/dist/api/protocol-v2/DeviceFirmwareUpdate.d.ts +0 -7
  287. package/dist/api/protocol-v2/DeviceFirmwareUpdate.d.ts.map +0 -1
  288. package/dist/api/protocol-v2/DeviceGetDeviceInfo.d.ts +0 -7
  289. package/dist/api/protocol-v2/DeviceGetDeviceInfo.d.ts.map +0 -1
  290. package/dist/api/protocol-v2/DeviceGetFirmwareUpdateStatus.d.ts +0 -6
  291. package/dist/api/protocol-v2/DeviceGetFirmwareUpdateStatus.d.ts.map +0 -1
  292. package/dist/api/protocol-v2/DeviceGetOnboardingStatus.d.ts +0 -6
  293. package/dist/api/protocol-v2/DeviceGetOnboardingStatus.d.ts.map +0 -1
  294. package/dist/api/protocol-v2/DeviceReboot.d.ts +0 -7
  295. package/dist/api/protocol-v2/DeviceReboot.d.ts.map +0 -1
  296. package/dist/api/protocol-v2/FactoryDeviceInfoSettings.d.ts +0 -7
  297. package/dist/api/protocol-v2/FactoryDeviceInfoSettings.d.ts.map +0 -1
  298. package/dist/api/protocol-v2/FactoryGetDeviceInfo.d.ts +0 -6
  299. package/dist/api/protocol-v2/FactoryGetDeviceInfo.d.ts.map +0 -1
  300. package/dist/api/protocol-v2/FilesystemDiskControl.d.ts +0 -10
  301. package/dist/api/protocol-v2/FilesystemDiskControl.d.ts.map +0 -1
  302. package/dist/api/protocol-v2/FilesystemFixPermission.d.ts +0 -6
  303. package/dist/api/protocol-v2/FilesystemFixPermission.d.ts.map +0 -1
  304. package/dist/api/protocol-v2/FilesystemFormat.d.ts +0 -6
  305. package/dist/api/protocol-v2/FilesystemFormat.d.ts.map +0 -1
  306. package/dist/api/protocol-v2/GetProtoVersion.d.ts +0 -6
  307. package/dist/api/protocol-v2/GetProtoVersion.d.ts.map +0 -1
  308. package/dist/api/protocol-v2/Ping.d.ts +0 -8
  309. package/dist/api/protocol-v2/Ping.d.ts.map +0 -1
  310. package/dist/api/protocol-v2/helpers.d.ts +0 -49
  311. package/dist/api/protocol-v2/helpers.d.ts.map +0 -1
  312. package/dist/protocols/protocol-v2/features.d.ts +0 -74
  313. package/dist/protocols/protocol-v2/features.d.ts.map +0 -1
  314. package/dist/protocols/protocol-v2/firmware.d.ts +0 -12
  315. package/dist/protocols/protocol-v2/firmware.d.ts.map +0 -1
  316. package/dist/protocols/protocol-v2/index.d.ts +0 -3
  317. package/dist/protocols/protocol-v2/index.d.ts.map +0 -1
  318. package/dist/types/api/getDeviceInfo.d.ts +0 -84
  319. package/dist/types/api/getDeviceInfo.d.ts.map +0 -1
  320. package/dist/types/api/protocolV2.d.ts +0 -127
  321. package/dist/types/api/protocolV2.d.ts.map +0 -1
  322. package/src/api/DirList.ts +0 -29
  323. package/src/api/DirMake.ts +0 -21
  324. package/src/api/DirRemove.ts +0 -21
  325. package/src/api/FileDelete.ts +0 -21
  326. package/src/api/FileRead.ts +0 -165
  327. package/src/api/FileWrite.ts +0 -203
  328. package/src/api/FirmwareUpdateV4.ts +0 -810
  329. package/src/api/GetDeviceInfo.ts +0 -153
  330. package/src/api/PathInfo.ts +0 -25
  331. package/src/api/helpers/deviceInfo.ts +0 -205
  332. package/src/api/helpers/filesystemValidation.ts +0 -51
  333. package/src/api/protocol-v2/DeviceFirmwareUpdate.ts +0 -50
  334. package/src/api/protocol-v2/DeviceGetDeviceInfo.ts +0 -35
  335. package/src/api/protocol-v2/DeviceGetFirmwareUpdateStatus.ts +0 -18
  336. package/src/api/protocol-v2/DeviceGetOnboardingStatus.ts +0 -18
  337. package/src/api/protocol-v2/DeviceReboot.ts +0 -22
  338. package/src/api/protocol-v2/FactoryDeviceInfoSettings.ts +0 -27
  339. package/src/api/protocol-v2/FactoryGetDeviceInfo.ts +0 -18
  340. package/src/api/protocol-v2/FilesystemDiskControl.ts +0 -34
  341. package/src/api/protocol-v2/FilesystemFixPermission.ts +0 -14
  342. package/src/api/protocol-v2/FilesystemFormat.ts +0 -14
  343. package/src/api/protocol-v2/GetProtoVersion.ts +0 -14
  344. package/src/api/protocol-v2/Ping.ts +0 -16
  345. package/src/api/protocol-v2/helpers.ts +0 -161
  346. package/src/data/messages/messages-protocol-v2.json +0 -13116
  347. package/src/protocols/protocol-v2/features.ts +0 -278
  348. package/src/protocols/protocol-v2/firmware.ts +0 -26
  349. package/src/protocols/protocol-v2/index.ts +0 -2
  350. package/src/types/api/getDeviceInfo.ts +0 -97
  351. package/src/types/api/protocolV2.ts +0 -226
@@ -1,127 +0,0 @@
1
- import type { CommonParams, Response } from '../params';
2
- import type { DeviceFirmwareTarget, DeviceFirmwareUpdateStatus, DeviceOnboardingStatus, DeviceInfoTargets, DeviceInfoTypes, DeviceRebootType, FactoryDeviceInfo, ProtoVersion, ProtocolV2DeviceInfo, Success } from '@onekeyfe/hd-transport';
3
- export type FileOpSuccess = {
4
- message?: string;
5
- };
6
- export type FileInfo = {
7
- path: string;
8
- offset: number;
9
- total_size: number;
10
- data?: Uint8Array;
11
- data_hash?: number;
12
- processed_byte?: number;
13
- chunks?: number;
14
- };
15
- export type DirInfo = {
16
- path: string;
17
- child_dirs?: string;
18
- child_files?: string;
19
- };
20
- export type PathInfoResult = {
21
- exist: boolean;
22
- size: number;
23
- year: number;
24
- month: number;
25
- day: number;
26
- hour: number;
27
- minute: number;
28
- second: number;
29
- readonly?: boolean;
30
- hidden?: boolean;
31
- system?: boolean;
32
- archive?: boolean;
33
- directory?: boolean;
34
- };
35
- export type DeviceRebootParams = {
36
- rebootType?: DeviceRebootType | string | number;
37
- reboot_type?: DeviceRebootType | string | number;
38
- };
39
- export type DeviceGetDeviceInfoParams = {
40
- targets?: DeviceInfoTargets;
41
- types?: DeviceInfoTypes;
42
- targetHw?: boolean;
43
- targetFw?: boolean;
44
- targetBt?: boolean;
45
- targetSe1?: boolean;
46
- targetSe2?: boolean;
47
- targetSe3?: boolean;
48
- targetSe4?: boolean;
49
- targetStatus?: boolean;
50
- includeVersion?: boolean;
51
- includeBuildId?: boolean;
52
- includeHash?: boolean;
53
- includeSpecific?: boolean;
54
- };
55
- export type DeviceFirmwareUpdateParams = {
56
- targets?: DeviceFirmwareTarget[];
57
- targetId?: DeviceFirmwareTarget['target_id'] | string | number;
58
- target_id?: DeviceFirmwareTarget['target_id'] | string | number;
59
- path?: string;
60
- };
61
- export type FactoryDeviceInfoSettingsParams = {
62
- serial_no?: string;
63
- serialNo?: string;
64
- cpu_info?: string;
65
- cpuInfo?: string;
66
- pre_firmware?: string;
67
- preFirmware?: string;
68
- };
69
- export declare function fileRead(connectId: string, params: {
70
- path: string;
71
- offset?: number;
72
- totalSize?: number;
73
- chunkLen?: number;
74
- uiPercentage?: number;
75
- }): Response<FileInfo>;
76
- export declare function fileWrite(connectId: string, params: {
77
- path: string;
78
- offset?: number;
79
- totalSize?: number;
80
- chunkSize?: number;
81
- chunkLen?: number;
82
- data: ArrayBuffer | Uint8Array | Blob | string;
83
- overwrite?: boolean;
84
- append?: boolean;
85
- uiPercentage?: number;
86
- }): Response<FileInfo>;
87
- export declare function fileDelete(connectId: string, params: {
88
- path: string;
89
- }): Response<FileOpSuccess>;
90
- export declare function dirList(connectId: string, params: {
91
- path: string;
92
- depth?: number;
93
- }): Response<DirInfo>;
94
- export declare function dirMake(connectId: string, params: {
95
- path: string;
96
- }): Response<FileOpSuccess>;
97
- export declare function dirRemove(connectId: string, params: {
98
- path: string;
99
- }): Response<FileOpSuccess>;
100
- export declare function pathInfo(connectId: string, params: {
101
- path: string;
102
- }): Response<PathInfoResult>;
103
- export declare function getProtoVersion(connectId: string, params?: CommonParams): Response<ProtoVersion>;
104
- export declare function ping(connectId: string, params?: CommonParams & {
105
- message?: string;
106
- }): Response<Success>;
107
- export declare function deviceReboot(connectId: string, params: CommonParams & DeviceRebootParams): Response<Success>;
108
- export declare function deviceGetDeviceInfo(connectId: string, params?: CommonParams & DeviceGetDeviceInfoParams): Response<ProtocolV2DeviceInfo>;
109
- export declare function deviceGetOnboardingStatus(connectId: string, params?: CommonParams): Response<DeviceOnboardingStatus>;
110
- export declare function deviceFirmwareUpdate(connectId: string, params: CommonParams & DeviceFirmwareUpdateParams): Response<Success | DeviceFirmwareUpdateStatus>;
111
- export declare function deviceGetFirmwareUpdateStatus(connectId: string, params?: CommonParams): Response<DeviceFirmwareUpdateStatus>;
112
- export declare function factoryDeviceInfoSettings(connectId: string, params: FactoryDeviceInfoSettingsParams): Response<Success>;
113
- export declare function factoryGetDeviceInfo(connectId: string): Response<FactoryDeviceInfo>;
114
- export declare function filesystemFixPermission(connectId: string): Response<Success>;
115
- export declare function filesystemFileRead(connectId: string, params: Parameters<typeof fileRead>[1]): ReturnType<typeof fileRead>;
116
- export declare function filesystemFileWrite(connectId: string, params: Parameters<typeof fileWrite>[1]): ReturnType<typeof fileWrite>;
117
- export declare function filesystemFileDelete(connectId: string, params: Parameters<typeof fileDelete>[1]): ReturnType<typeof fileDelete>;
118
- export declare function filesystemDirList(connectId: string, params: Parameters<typeof dirList>[1]): ReturnType<typeof dirList>;
119
- export declare function filesystemDirMake(connectId: string, params: Parameters<typeof dirMake>[1]): ReturnType<typeof dirMake>;
120
- export declare function filesystemDirRemove(connectId: string, params: Parameters<typeof dirRemove>[1]): ReturnType<typeof dirRemove>;
121
- export declare function filesystemPathInfoQuery(connectId: string, params: Parameters<typeof pathInfo>[1]): ReturnType<typeof pathInfo>;
122
- export declare function filesystemFormat(connectId: string): Response<Success>;
123
- export declare function filesystemDiskControl(connectId: string, params: CommonParams & {
124
- enable: number | string;
125
- timeoutMs?: number | string;
126
- }): Response<Success>;
127
- //# sourceMappingURL=protocolV2.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"protocolV2.d.ts","sourceRoot":"","sources":["../../../src/types/api/protocolV2.ts"],"names":[],"mappings":"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"}
@@ -1,29 +0,0 @@
1
- import { BaseMethod } from './BaseMethod';
2
- import {
3
- validateNonEmptyString,
4
- validateOptionalNonNegativeInteger,
5
- } from './helpers/filesystemValidation';
6
-
7
- export type DirListParams = {
8
- path: string;
9
- depth?: number;
10
- };
11
-
12
- export default class DirList extends BaseMethod<DirListParams> {
13
- init() {
14
- this.skipForceUpdateCheck = true;
15
- this.useDevicePassphraseState = false;
16
- this.params = {
17
- path: validateNonEmptyString(this.payload.path, 'path'),
18
- depth: validateOptionalNonNegativeInteger(this.payload.depth, 'depth'),
19
- };
20
- }
21
-
22
- async run() {
23
- const res = await this.device.commands.typedCall('FilesystemDirList', 'FilesystemDir', {
24
- path: this.params.path,
25
- depth: this.params.depth,
26
- });
27
- return Promise.resolve(res.message);
28
- }
29
- }
@@ -1,21 +0,0 @@
1
- import { BaseMethod } from './BaseMethod';
2
- import { validateNonEmptyString } from './helpers/filesystemValidation';
3
-
4
- export type DirMakeParams = {
5
- path: string;
6
- };
7
-
8
- export default class DirMake extends BaseMethod<DirMakeParams> {
9
- init() {
10
- this.skipForceUpdateCheck = true;
11
- this.useDevicePassphraseState = false;
12
- this.params = { path: validateNonEmptyString(this.payload.path, 'path') };
13
- }
14
-
15
- async run() {
16
- const res = await this.device.commands.typedCall('FilesystemDirMake', 'Success', {
17
- path: this.params.path,
18
- });
19
- return Promise.resolve(res.message);
20
- }
21
- }
@@ -1,21 +0,0 @@
1
- import { BaseMethod } from './BaseMethod';
2
- import { validateNonEmptyString } from './helpers/filesystemValidation';
3
-
4
- export type DirRemoveParams = {
5
- path: string;
6
- };
7
-
8
- export default class DirRemove extends BaseMethod<DirRemoveParams> {
9
- init() {
10
- this.skipForceUpdateCheck = true;
11
- this.useDevicePassphraseState = false;
12
- this.params = { path: validateNonEmptyString(this.payload.path, 'path') };
13
- }
14
-
15
- async run() {
16
- const res = await this.device.commands.typedCall('FilesystemDirRemove', 'Success', {
17
- path: this.params.path,
18
- });
19
- return Promise.resolve(res.message);
20
- }
21
- }
@@ -1,21 +0,0 @@
1
- import { BaseMethod } from './BaseMethod';
2
- import { validateNonEmptyString } from './helpers/filesystemValidation';
3
-
4
- export type FileDeleteParams = {
5
- path: string;
6
- };
7
-
8
- export default class FileDelete extends BaseMethod<FileDeleteParams> {
9
- init() {
10
- this.skipForceUpdateCheck = true;
11
- this.useDevicePassphraseState = false;
12
- this.params = { path: validateNonEmptyString(this.payload.path, 'path') };
13
- }
14
-
15
- async run() {
16
- const res = await this.device.commands.typedCall('FilesystemFileDelete', 'Success', {
17
- path: this.params.path,
18
- });
19
- return Promise.resolve(res.message);
20
- }
21
- }
@@ -1,165 +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 { BaseMethod } from './BaseMethod';
8
- import {
9
- validateNonEmptyString,
10
- validateNonNegativeInteger,
11
- validateOptionalNonNegativeInteger,
12
- validateOptionalPercentage,
13
- } from './helpers/filesystemValidation';
14
- import { hexToBytes, isHexString, stripHexPrefix } from './helpers/hexUtils';
15
- import { DataManager } from '../data-manager';
16
-
17
- export type FileReadParams = {
18
- path: string;
19
- offset?: number;
20
- totalSize?: number;
21
- chunkLen?: number;
22
- uiPercentage?: number;
23
- };
24
-
25
- const MIN_FILE_READ_CHUNK_SIZE = 64;
26
-
27
- function getProtocolV2FileReadChunkLimit() {
28
- const env = DataManager.getSettings('env');
29
- if (env && DataManager.isBleConnect(env)) {
30
- return PROTOCOL_V2_BLE_FILE_CHUNK_SIZE;
31
- }
32
- return PROTOCOL_V2_WEBUSB_FILE_CHUNK_SIZE;
33
- }
34
-
35
- function normalizeChunkSize(value: unknown, maxChunkSize: number): number {
36
- const numeric = Number(value);
37
- if (!Number.isFinite(numeric) || numeric <= 0) return maxChunkSize;
38
- return Math.min(Math.max(Math.floor(numeric), MIN_FILE_READ_CHUNK_SIZE), maxChunkSize);
39
- }
40
-
41
- function toFiniteNumber(value: unknown): number | undefined {
42
- if (typeof value === 'number' && Number.isFinite(value)) return value;
43
- if (typeof value === 'string') {
44
- const numeric = Number(value);
45
- return Number.isFinite(numeric) ? numeric : undefined;
46
- }
47
- if (value && typeof value === 'object') {
48
- const longLike = value as { toNumber?: () => number };
49
- if (typeof longLike.toNumber === 'function') {
50
- const numeric = longLike.toNumber();
51
- return Number.isFinite(numeric) ? numeric : undefined;
52
- }
53
- }
54
- return undefined;
55
- }
56
-
57
- function toUint8Array(value: unknown): Uint8Array {
58
- if (value instanceof Uint8Array) return value;
59
- if (value instanceof ArrayBuffer) return new Uint8Array(value);
60
- if (ArrayBuffer.isView(value)) {
61
- return new Uint8Array(value.buffer, value.byteOffset, value.byteLength);
62
- }
63
- if (typeof value === 'string') {
64
- const hex = stripHexPrefix(value);
65
- if (!hex) return new Uint8Array(0);
66
- if (!isHexString(hex) || hex.length % 2 !== 0) return new Uint8Array(0);
67
- return hexToBytes(hex);
68
- }
69
- return new Uint8Array(0);
70
- }
71
-
72
- export default class FileRead extends BaseMethod<FileReadParams> {
73
- init() {
74
- this.skipForceUpdateCheck = true;
75
- this.useDevicePassphraseState = false;
76
- const path = validateNonEmptyString(this.payload.path, 'path');
77
- this.params = {
78
- path,
79
- offset: validateNonNegativeInteger(this.payload.offset, 'offset', 0),
80
- totalSize: validateNonNegativeInteger(this.payload.totalSize, 'totalSize', 0),
81
- chunkLen: validateOptionalNonNegativeInteger(this.payload.chunkLen, 'chunkLen'),
82
- uiPercentage: validateOptionalPercentage(this.payload.uiPercentage, 'uiPercentage'),
83
- };
84
- }
85
-
86
- async run() {
87
- const startOffset = this.params.offset ?? 0;
88
- const requestedLength = Number(this.params.totalSize);
89
- const chunkSize = normalizeChunkSize(this.params.chunkLen, getProtocolV2FileReadChunkLimit());
90
- let totalLength = Number.isFinite(requestedLength) && requestedLength > 0 ? requestedLength : 0;
91
-
92
- if (totalLength === 0) {
93
- const pathInfoRes = await this.device.commands.typedCall(
94
- 'FilesystemPathInfoQuery',
95
- 'FilesystemPathInfo',
96
- {
97
- path: this.params.path,
98
- }
99
- );
100
- const fileSize = toFiniteNumber(pathInfoRes.message?.size);
101
- if (!pathInfoRes.message?.exist || pathInfoRes.message?.directory) {
102
- throw ERRORS.TypedError(
103
- HardwareErrorCode.RuntimeError,
104
- `FilesystemFileRead path is not a file: ${this.params.path}`
105
- );
106
- }
107
- if (fileSize === undefined || fileSize < startOffset) {
108
- throw ERRORS.TypedError(
109
- HardwareErrorCode.RuntimeError,
110
- `FilesystemFileRead invalid offset ${startOffset} for ${this.params.path}`
111
- );
112
- }
113
- totalLength = fileSize - startOffset;
114
- }
115
-
116
- const chunks: Uint8Array[] = [];
117
- let read = 0;
118
- let lastMessage: Record<string, unknown> | undefined;
119
-
120
- while (read < totalLength) {
121
- const readLen = Math.min(chunkSize, totalLength - read);
122
- const offset = startOffset + read;
123
- const progress =
124
- this.params.uiPercentage ??
125
- Math.min(Math.ceil(((read + readLen) / Math.max(totalLength, 1)) * 100), 99);
126
- const res = await this.device.commands.typedCall('FilesystemFileRead', 'FilesystemFile', {
127
- file: {
128
- path: this.params.path,
129
- offset,
130
- total_size: 0,
131
- },
132
- chunk_len: readLen,
133
- ui_percentage: progress,
134
- });
135
- const data = toUint8Array(res.message?.data);
136
- lastMessage = res.message;
137
-
138
- if (data.byteLength === 0) {
139
- throw ERRORS.TypedError(
140
- HardwareErrorCode.RuntimeError,
141
- `FilesystemFileRead received empty data at offset ${offset}`
142
- );
143
- }
144
-
145
- chunks.push(data);
146
- read += data.byteLength;
147
- }
148
-
149
- const combined = new Uint8Array(read);
150
- let cursor = 0;
151
- chunks.forEach(chunk => {
152
- combined.set(chunk, cursor);
153
- cursor += chunk.byteLength;
154
- });
155
-
156
- return Promise.resolve({
157
- ...lastMessage,
158
- path: this.params.path,
159
- offset: startOffset,
160
- total_size: totalLength,
161
- data: combined,
162
- chunks: chunks.length,
163
- });
164
- }
165
- }
@@ -1,203 +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 { BaseMethod } from './BaseMethod';
8
- import {
9
- validateNonEmptyString,
10
- validateNonNegativeInteger,
11
- validateOptionalNonNegativeInteger,
12
- validateOptionalPercentage,
13
- validateRequiredData,
14
- } from './helpers/filesystemValidation';
15
- import { UI_REQUEST, createUiMessage } from '../events/ui-request';
16
- import { DataManager } from '../data-manager';
17
-
18
- export type FileWriteParams = {
19
- path: string;
20
- offset?: number;
21
- totalSize?: number;
22
- data: ArrayBuffer | Uint8Array | Blob | string;
23
- chunkSize?: number;
24
- chunkLen?: number;
25
- overwrite?: boolean;
26
- append?: boolean;
27
- uiPercentage?: number;
28
- };
29
-
30
- const MIN_FILE_CHUNK_SIZE = 64;
31
-
32
- function getProtocolV2FileChunkLimit() {
33
- const env = DataManager.getSettings('env');
34
- if (env && DataManager.isBleConnect(env)) {
35
- return PROTOCOL_V2_BLE_FILE_CHUNK_SIZE;
36
- }
37
- return PROTOCOL_V2_WEBUSB_FILE_CHUNK_SIZE;
38
- }
39
-
40
- async function dataToUint8Array(data: FileWriteParams['data'] | Blob): Promise<Uint8Array> {
41
- if (typeof data === 'string') {
42
- return new TextEncoder().encode(data);
43
- }
44
-
45
- if (data instanceof ArrayBuffer) {
46
- return new Uint8Array(data);
47
- }
48
-
49
- if (ArrayBuffer.isView(data)) {
50
- return new Uint8Array(data.buffer, data.byteOffset, data.byteLength);
51
- }
52
-
53
- if (typeof Blob !== 'undefined' && data instanceof Blob) {
54
- return new Uint8Array(await data.arrayBuffer());
55
- }
56
-
57
- throw ERRORS.TypedError(
58
- HardwareErrorCode.CallMethodInvalidParameter,
59
- 'Unsupported FilesystemFileWrite data'
60
- );
61
- }
62
-
63
- function normalizeChunkSize(value: unknown, maxChunkSize: number): number {
64
- const numeric = Number(value);
65
- if (!Number.isFinite(numeric) || numeric <= 0) return maxChunkSize;
66
- return Math.min(Math.max(Math.floor(numeric), MIN_FILE_CHUNK_SIZE), maxChunkSize);
67
- }
68
-
69
- function getConfirmedProgress(
70
- processedByte: number,
71
- totalSize: number,
72
- written: number,
73
- dataLength: number
74
- ) {
75
- if (Number.isFinite(processedByte) && Number.isFinite(totalSize) && totalSize > 0) {
76
- if (processedByte >= totalSize) return 100;
77
- return Math.min(Math.max(Math.floor((processedByte / totalSize) * 100), 0), 99);
78
- }
79
- if (dataLength > 0) {
80
- if (written >= dataLength) return 100;
81
- return Math.min(Math.max(Math.floor((written / dataLength) * 100), 0), 99);
82
- }
83
- return 100;
84
- }
85
-
86
- export default class FileWrite extends BaseMethod<FileWriteParams> {
87
- init() {
88
- this.skipForceUpdateCheck = true;
89
- this.useDevicePassphraseState = false;
90
- validateRequiredData(this.payload.data, 'data');
91
- const path = validateNonEmptyString(this.payload.path, 'path');
92
- const offset = validateNonNegativeInteger(this.payload.offset, 'offset', 0);
93
- this.params = {
94
- path,
95
- offset,
96
- totalSize: validateNonNegativeInteger(this.payload.totalSize, 'totalSize', 0),
97
- data: this.payload.data,
98
- chunkSize: validateOptionalNonNegativeInteger(this.payload.chunkSize, 'chunkSize'),
99
- chunkLen: validateOptionalNonNegativeInteger(this.payload.chunkLen, 'chunkLen'),
100
- overwrite: this.payload.overwrite ?? offset === 0,
101
- append: this.payload.append ?? false,
102
- uiPercentage: validateOptionalPercentage(this.payload.uiPercentage, 'uiPercentage'),
103
- };
104
- }
105
-
106
- async run() {
107
- const data = await dataToUint8Array(this.params.data);
108
- const dataLength = data.byteLength;
109
- const offsetValue = Number(this.params.offset ?? 0);
110
- const startOffset = Number.isFinite(offsetValue) && offsetValue > 0 ? offsetValue : 0;
111
- const payloadTotalSize = Number(this.params.totalSize);
112
- const totalSize =
113
- Number.isFinite(payloadTotalSize) && payloadTotalSize > 0
114
- ? payloadTotalSize
115
- : startOffset + dataLength;
116
-
117
- if (totalSize < startOffset + dataLength) {
118
- throw ERRORS.TypedError(
119
- HardwareErrorCode.RuntimeError,
120
- `FilesystemFileWrite totalSize ${totalSize} is smaller than offset + data length ${
121
- startOffset + dataLength
122
- }`
123
- );
124
- }
125
-
126
- const chunkSize = normalizeChunkSize(
127
- this.params.chunkSize ?? this.params.chunkLen,
128
- getProtocolV2FileChunkLimit()
129
- );
130
- const overwrite = this.params.overwrite ?? false;
131
- const append = this.params.append ?? false;
132
- let written = 0;
133
- let chunkIndex = 0;
134
- let lastMessage: Record<string, unknown> | undefined;
135
- const startTime = Date.now();
136
-
137
- while (written < dataLength) {
138
- const chunkEnd = Math.min(written + chunkSize, dataLength);
139
- const chunk = data.slice(written, chunkEnd);
140
- const offset = startOffset + written;
141
- const isFirstChunk = chunkIndex === 0;
142
- const progress =
143
- this.params.uiPercentage ??
144
- Math.min(Math.ceil(((written + chunk.byteLength) / dataLength) * 100), 99);
145
-
146
- const res = await this.device.commands.typedCall('FilesystemFileWrite', 'FilesystemFile', {
147
- file: {
148
- path: this.params.path,
149
- offset,
150
- total_size: totalSize,
151
- data: chunk,
152
- },
153
- overwrite: isFirstChunk ? overwrite : false,
154
- append,
155
- ui_percentage: progress,
156
- });
157
-
158
- lastMessage = res.message;
159
- const processedByte = Number(res.message?.processed_byte);
160
- if (Number.isFinite(processedByte) && processedByte > offset) {
161
- written = processedByte - startOffset;
162
- } else {
163
- written += chunk.byteLength;
164
- }
165
-
166
- if (written > dataLength) {
167
- throw ERRORS.TypedError(
168
- HardwareErrorCode.RuntimeError,
169
- `FilesystemFileWrite invalid processed_byte ${processedByte}`
170
- );
171
- }
172
-
173
- const confirmedProcessedByte =
174
- Number.isFinite(processedByte) && processedByte > offset
175
- ? processedByte
176
- : startOffset + written;
177
- if (typeof this.postMessage === 'function') {
178
- const elapsedMs = Date.now() - startTime;
179
- const transferredBytes = Math.min(written, dataLength);
180
- this.postMessage(
181
- createUiMessage(UI_REQUEST.DEVICE_PROGRESS, {
182
- progress: getConfirmedProgress(confirmedProcessedByte, totalSize, written, dataLength),
183
- transferredBytes,
184
- totalBytes: dataLength,
185
- rateBytesPerSecond:
186
- elapsedMs > 0 ? Math.round((transferredBytes / elapsedMs) * 1000) : undefined,
187
- elapsedMs,
188
- })
189
- );
190
- }
191
- chunkIndex += 1;
192
- }
193
-
194
- return Promise.resolve({
195
- ...lastMessage,
196
- path: this.params.path,
197
- offset: startOffset,
198
- total_size: totalSize,
199
- processed_byte: startOffset + written,
200
- chunks: chunkIndex,
201
- });
202
- }
203
- }