@onekeyfe/hd-core 1.2.0-alpha.2 → 1.2.0-alpha.21

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 (406) hide show
  1. package/__tests__/AllNetworkGetAddressBase.tracing.test.ts +75 -0
  2. package/__tests__/DeviceCommands.test.ts +285 -0
  3. package/__tests__/DeviceEventRegistration.test.ts +43 -0
  4. package/__tests__/connectSettings.test.ts +19 -0
  5. package/__tests__/core-dispose.test.ts +34 -0
  6. package/__tests__/core-error-output.test.ts +39 -0
  7. package/__tests__/device-features-state.test.ts +78 -0
  8. package/__tests__/device-identity.test.ts +30 -0
  9. package/__tests__/device-lifecycle-events.test.ts +117 -0
  10. package/__tests__/device-pool-state.test.ts +132 -0
  11. package/__tests__/device-settings.test.ts +391 -0
  12. package/__tests__/device-state-contract.test.ts +27 -0
  13. package/__tests__/device-state-events.test.ts +162 -0
  14. package/__tests__/device-state-mapper.test.ts +241 -0
  15. package/__tests__/device-state-projector.test.ts +94 -0
  16. package/__tests__/device-state-store.test.ts +82 -0
  17. package/__tests__/device-utils.test.ts +106 -0
  18. package/__tests__/device-wallet-session-store.test.ts +213 -0
  19. package/__tests__/deviceFeaturesUtils.test.ts +39 -0
  20. package/__tests__/deviceSettings.test.ts +103 -0
  21. package/__tests__/evmLedgerLegacySafety.test.ts +10 -6
  22. package/__tests__/evmSignTypedData.test.ts +80 -0
  23. package/__tests__/filesystemValidation.test.ts +53 -0
  24. package/__tests__/firmware-update/firmware-update-v2-download-before-boot.test.ts +402 -0
  25. package/__tests__/get-device-state.test.ts +410 -0
  26. package/__tests__/homescreen.test.ts +24 -0
  27. package/__tests__/kaspaSignTransaction.test.ts +591 -0
  28. package/__tests__/logBlockEvent.test.ts +26 -0
  29. package/__tests__/networkUtils.test.ts +386 -0
  30. package/__tests__/open-wallet-session-error-response.test.ts +43 -0
  31. package/__tests__/open-wallet-session.test.ts +559 -0
  32. package/__tests__/preInitialize.test.ts +33 -0
  33. package/__tests__/pro2Wallpaper.test.ts +50 -0
  34. package/__tests__/protocol-v2-bootloader-mode.test.ts +37 -0
  35. package/__tests__/protocol-v2-firmware-targets.test.ts +19 -0
  36. package/__tests__/protocol-v2.test.ts +3954 -1191
  37. package/__tests__/protocolV2FileWrite.test.ts +92 -0
  38. package/__tests__/protocolV2UiInteraction.test.ts +266 -0
  39. package/__tests__/public-device-state-api.test.ts +257 -0
  40. package/__tests__/public-pro2-api-boundary.test.ts +110 -0
  41. package/__tests__/refresh-device-state.test.ts +101 -0
  42. package/__tests__/request-context-logging.test.ts +16 -0
  43. package/__tests__/search-devices.test.ts +136 -0
  44. package/dist/api/BaseMethod.d.ts +8 -0
  45. package/dist/api/BaseMethod.d.ts.map +1 -1
  46. package/dist/api/CheckBootloaderRelease.d.ts.map +1 -1
  47. package/dist/api/CheckFirmwareRelease.d.ts.map +1 -1
  48. package/dist/api/ClearSessionCache.d.ts +9 -0
  49. package/dist/api/ClearSessionCache.d.ts.map +1 -0
  50. package/dist/api/DirList.d.ts.map +1 -1
  51. package/dist/api/FileRead.d.ts.map +1 -1
  52. package/dist/api/FileWrite.d.ts +1 -0
  53. package/dist/api/FileWrite.d.ts.map +1 -1
  54. package/dist/api/FirmwareUpdateV2.d.ts +2 -2
  55. package/dist/api/FirmwareUpdateV2.d.ts.map +1 -1
  56. package/dist/api/FirmwareUpdateV3.d.ts.map +1 -1
  57. package/dist/api/FirmwareUpdateV4.d.ts +25 -5
  58. package/dist/api/FirmwareUpdateV4.d.ts.map +1 -1
  59. package/dist/api/GetDeviceState.d.ts +7 -0
  60. package/dist/api/GetDeviceState.d.ts.map +1 -0
  61. package/dist/api/GetFeatures.d.ts +1 -1
  62. package/dist/api/GetFeatures.d.ts.map +1 -1
  63. package/dist/api/GetOnekeyFeatures.d.ts.map +1 -1
  64. package/dist/api/GetPassphraseState.d.ts +1 -6
  65. package/dist/api/GetPassphraseState.d.ts.map +1 -1
  66. package/dist/api/OpenWalletSession.d.ts +14 -0
  67. package/dist/api/OpenWalletSession.d.ts.map +1 -0
  68. package/dist/api/PathInfo.d.ts.map +1 -1
  69. package/dist/api/PromptWebDeviceAccess.d.ts.map +1 -1
  70. package/dist/api/SearchDevices.d.ts +3 -0
  71. package/dist/api/SearchDevices.d.ts.map +1 -1
  72. package/dist/api/UploadPortfolio.d.ts +17 -0
  73. package/dist/api/UploadPortfolio.d.ts.map +1 -0
  74. package/dist/api/allnetwork/AllNetworkGetAddressBase.d.ts.map +1 -1
  75. package/dist/api/device/DeviceCancel.d.ts.map +1 -1
  76. package/dist/api/device/DeviceChangePin.d.ts.map +1 -1
  77. package/dist/api/device/DeviceFullyUploadResource.d.ts +1 -2
  78. package/dist/api/device/DeviceFullyUploadResource.d.ts.map +1 -1
  79. package/dist/api/device/DeviceLock.d.ts.map +1 -1
  80. package/dist/api/device/DeviceRebootToBoardloader.d.ts.map +1 -1
  81. package/dist/api/device/DeviceRebootToBootloader.d.ts.map +1 -1
  82. package/dist/api/device/DeviceSettings.d.ts.map +1 -1
  83. package/dist/api/device/DeviceUnlock.d.ts +1 -1
  84. package/dist/api/device/DeviceUnlock.d.ts.map +1 -1
  85. package/dist/api/device/DeviceUpdateBootloader.d.ts.map +1 -1
  86. package/dist/api/device/DeviceWipe.d.ts.map +1 -1
  87. package/dist/api/evm/EVMSignTypedData.d.ts.map +1 -1
  88. package/dist/api/firmware/FirmwareUpdateBaseMethod.d.ts +1 -0
  89. package/dist/api/firmware/FirmwareUpdateBaseMethod.d.ts.map +1 -1
  90. package/dist/api/firmware/getBinary.d.ts +11 -3
  91. package/dist/api/firmware/getBinary.d.ts.map +1 -1
  92. package/dist/api/firmware/progressThrottle.d.ts +3 -0
  93. package/dist/api/firmware/progressThrottle.d.ts.map +1 -0
  94. package/dist/api/helpers/filesystemValidation.d.ts +3 -0
  95. package/dist/api/helpers/filesystemValidation.d.ts.map +1 -1
  96. package/dist/api/helpers/paramsValidator.d.ts +1 -0
  97. package/dist/api/helpers/paramsValidator.d.ts.map +1 -1
  98. package/dist/api/helpers/protocolV2FileWrite.d.ts +33 -0
  99. package/dist/api/helpers/protocolV2FileWrite.d.ts.map +1 -0
  100. package/dist/api/index.d.ts +12 -19
  101. package/dist/api/index.d.ts.map +1 -1
  102. package/dist/api/kaspa/KaspaSignTransaction.d.ts +5 -1
  103. package/dist/api/kaspa/KaspaSignTransaction.d.ts.map +1 -1
  104. package/dist/api/kaspa/helpers/TransferSerialize.d.ts.map +1 -1
  105. package/dist/api/protocol-v2/DeviceFactoryInfoGet.d.ts +6 -0
  106. package/dist/api/protocol-v2/DeviceFactoryInfoGet.d.ts.map +1 -0
  107. package/dist/api/protocol-v2/DeviceFactoryInfoSet.d.ts +7 -0
  108. package/dist/api/protocol-v2/DeviceFactoryInfoSet.d.ts.map +1 -0
  109. package/dist/api/protocol-v2/DeviceFirmwareUpdate.d.ts +1 -1
  110. package/dist/api/protocol-v2/DeviceFirmwareUpdate.d.ts.map +1 -1
  111. package/dist/api/protocol-v2/DeviceGetFirmwareUpdateStatus.d.ts +3 -2
  112. package/dist/api/protocol-v2/DeviceGetFirmwareUpdateStatus.d.ts.map +1 -1
  113. package/dist/api/protocol-v2/DeviceGetOnboardingStatus.d.ts +1 -1
  114. package/dist/api/protocol-v2/DeviceGetOnboardingStatus.d.ts.map +1 -1
  115. package/dist/api/protocol-v2/DeviceInfoGet.d.ts +28 -0
  116. package/dist/api/protocol-v2/DeviceInfoGet.d.ts.map +1 -0
  117. package/dist/api/protocol-v2/DeviceReboot.d.ts.map +1 -1
  118. package/dist/api/protocol-v2/DeviceStatusGet.d.ts +6 -0
  119. package/dist/api/protocol-v2/DeviceStatusGet.d.ts.map +1 -0
  120. package/dist/api/protocol-v2/DeviceUploadWallpaper.d.ts +26 -0
  121. package/dist/api/protocol-v2/DeviceUploadWallpaper.d.ts.map +1 -0
  122. package/dist/api/protocol-v2/FilesystemFormat.d.ts.map +1 -1
  123. package/dist/api/protocol-v2/{FilesystemFixPermission.d.ts → FilesystemPermissionFix.d.ts} +2 -2
  124. package/dist/api/protocol-v2/FilesystemPermissionFix.d.ts.map +1 -0
  125. package/dist/api/protocol-v2/ProtocolInfoRequest.d.ts +6 -0
  126. package/dist/api/protocol-v2/ProtocolInfoRequest.d.ts.map +1 -0
  127. package/dist/api/protocol-v2/helpers.d.ts +27 -19
  128. package/dist/api/protocol-v2/helpers.d.ts.map +1 -1
  129. package/dist/api/ton/TonSignData.d.ts +1 -5
  130. package/dist/api/ton/TonSignData.d.ts.map +1 -1
  131. package/dist/api/utils.d.ts +2 -1
  132. package/dist/api/utils.d.ts.map +1 -1
  133. package/dist/constants/index.d.ts +2 -1
  134. package/dist/constants/index.d.ts.map +1 -1
  135. package/dist/core/RequestQueue.d.ts.map +1 -1
  136. package/dist/core/deviceEventRegistration.d.ts +11 -0
  137. package/dist/core/deviceEventRegistration.d.ts.map +1 -0
  138. package/dist/core/index.d.ts +3 -1
  139. package/dist/core/index.d.ts.map +1 -1
  140. package/dist/data-manager/DataManager.d.ts +1 -1
  141. package/dist/data-manager/DataManager.d.ts.map +1 -1
  142. package/dist/data-manager/connectSettings.d.ts.map +1 -1
  143. package/dist/device/Device.d.ts +35 -11
  144. package/dist/device/Device.d.ts.map +1 -1
  145. package/dist/device/DeviceCommands.d.ts +8 -6
  146. package/dist/device/DeviceCommands.d.ts.map +1 -1
  147. package/dist/device/DeviceFeaturesState.d.ts +3 -0
  148. package/dist/device/DeviceFeaturesState.d.ts.map +1 -0
  149. package/dist/device/DevicePool.d.ts +4 -2
  150. package/dist/device/DevicePool.d.ts.map +1 -1
  151. package/dist/device/DeviceStateMapper.d.ts +13 -0
  152. package/dist/device/DeviceStateMapper.d.ts.map +1 -0
  153. package/dist/device/DeviceStateProjector.d.ts +7 -0
  154. package/dist/device/DeviceStateProjector.d.ts.map +1 -0
  155. package/dist/device/DeviceStateStore.d.ts +21 -0
  156. package/dist/device/DeviceStateStore.d.ts.map +1 -0
  157. package/dist/device/DeviceWalletSessionStore.d.ts +20 -0
  158. package/dist/device/DeviceWalletSessionStore.d.ts.map +1 -0
  159. package/dist/device/cloneDeviceState.d.ts +2 -0
  160. package/dist/device/cloneDeviceState.d.ts.map +1 -0
  161. package/dist/device/deviceIdentity.d.ts +5 -0
  162. package/dist/device/deviceIdentity.d.ts.map +1 -0
  163. package/dist/deviceProfile/buildDeviceFeatures.d.ts +9 -3
  164. package/dist/deviceProfile/buildDeviceFeatures.d.ts.map +1 -1
  165. package/dist/deviceProfile/index.d.ts +0 -1
  166. package/dist/deviceProfile/index.d.ts.map +1 -1
  167. package/dist/events/device.d.ts +11 -2
  168. package/dist/events/device.d.ts.map +1 -1
  169. package/dist/events/logBlockEvent.d.ts.map +1 -1
  170. package/dist/events/ui-request.d.ts +18 -2
  171. package/dist/events/ui-request.d.ts.map +1 -1
  172. package/dist/index.d.ts +1361 -609
  173. package/dist/index.js +5898 -2860
  174. package/dist/inject.d.ts.map +1 -1
  175. package/dist/protocols/protocol-v2/deviceSession.d.ts +7 -0
  176. package/dist/protocols/protocol-v2/deviceSession.d.ts.map +1 -0
  177. package/dist/protocols/protocol-v2/features.d.ts +23 -28
  178. package/dist/protocols/protocol-v2/features.d.ts.map +1 -1
  179. package/dist/protocols/protocol-v2/firmware.d.ts +11 -9
  180. package/dist/protocols/protocol-v2/firmware.d.ts.map +1 -1
  181. package/dist/protocols/protocol-v2/index.d.ts +3 -2
  182. package/dist/protocols/protocol-v2/index.d.ts.map +1 -1
  183. package/dist/protocols/protocol-v2/lockedError.d.ts +2 -0
  184. package/dist/protocols/protocol-v2/lockedError.d.ts.map +1 -0
  185. package/dist/protocols/protocol-v2/settingsUnlockPolicy.d.ts +16 -0
  186. package/dist/protocols/protocol-v2/settingsUnlockPolicy.d.ts.map +1 -0
  187. package/dist/protocols/protocol-v2/uiInteraction.d.ts +39 -0
  188. package/dist/protocols/protocol-v2/uiInteraction.d.ts.map +1 -0
  189. package/dist/protocols/protocol-v2/unlockRetry.d.ts +11 -0
  190. package/dist/protocols/protocol-v2/unlockRetry.d.ts.map +1 -0
  191. package/dist/protocols/protocol-v2/walletSession.d.ts +19 -0
  192. package/dist/protocols/protocol-v2/walletSession.d.ts.map +1 -0
  193. package/dist/types/api/checkAllFirmwareRelease.d.ts +1 -2
  194. package/dist/types/api/checkAllFirmwareRelease.d.ts.map +1 -1
  195. package/dist/types/api/deviceSettings.d.ts +11 -2
  196. package/dist/types/api/deviceSettings.d.ts.map +1 -1
  197. package/dist/types/api/deviceUnlock.d.ts +2 -2
  198. package/dist/types/api/deviceUnlock.d.ts.map +1 -1
  199. package/dist/types/api/firmwareUpdate.d.ts +6 -6
  200. package/dist/types/api/firmwareUpdate.d.ts.map +1 -1
  201. package/dist/types/api/getDeviceState.d.ts +12 -0
  202. package/dist/types/api/getDeviceState.d.ts.map +1 -0
  203. package/dist/types/api/getFeatures.d.ts.map +1 -1
  204. package/dist/types/api/getOnekeyFeatures.d.ts.map +1 -1
  205. package/dist/types/api/getPassphraseState.d.ts +2 -10
  206. package/dist/types/api/getPassphraseState.d.ts.map +1 -1
  207. package/dist/types/api/index.d.ts +22 -25
  208. package/dist/types/api/index.d.ts.map +1 -1
  209. package/dist/types/api/kaspaSignTransaction.d.ts +27 -2
  210. package/dist/types/api/kaspaSignTransaction.d.ts.map +1 -1
  211. package/dist/types/api/openWalletSession.d.ts +41 -0
  212. package/dist/types/api/openWalletSession.d.ts.map +1 -0
  213. package/dist/types/api/protocolV2.d.ts +23 -28
  214. package/dist/types/api/protocolV2.d.ts.map +1 -1
  215. package/dist/types/api/sessionCache.d.ts +10 -0
  216. package/dist/types/api/sessionCache.d.ts.map +1 -0
  217. package/dist/types/device.d.ts +121 -5
  218. package/dist/types/device.d.ts.map +1 -1
  219. package/dist/types/params.d.ts +1 -0
  220. package/dist/types/params.d.ts.map +1 -1
  221. package/dist/types/settings.d.ts +21 -1
  222. package/dist/types/settings.d.ts.map +1 -1
  223. package/dist/utils/assets.d.ts +2 -1
  224. package/dist/utils/assets.d.ts.map +1 -1
  225. package/dist/utils/deviceFeaturesCompat.d.ts +13 -0
  226. package/dist/utils/deviceFeaturesCompat.d.ts.map +1 -0
  227. package/dist/utils/deviceFeaturesUtils.d.ts +13 -3
  228. package/dist/utils/deviceFeaturesUtils.d.ts.map +1 -1
  229. package/dist/utils/deviceInfoUtils.d.ts +9 -8
  230. package/dist/utils/deviceInfoUtils.d.ts.map +1 -1
  231. package/dist/utils/deviceSettings.d.ts +38 -7
  232. package/dist/utils/deviceSettings.d.ts.map +1 -1
  233. package/dist/utils/deviceVersionUtils.d.ts +6 -5
  234. package/dist/utils/deviceVersionUtils.d.ts.map +1 -1
  235. package/dist/utils/homescreen.d.ts.map +1 -1
  236. package/dist/utils/index.d.ts +5 -2
  237. package/dist/utils/index.d.ts.map +1 -1
  238. package/dist/utils/networkUtils.d.ts +9 -1
  239. package/dist/utils/networkUtils.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/pro2Wallpaper.d.ts +12 -0
  243. package/dist/utils/pro2Wallpaper.d.ts.map +1 -0
  244. package/dist/utils/tracing.d.ts.map +1 -1
  245. package/package.json +4 -4
  246. package/src/api/BaseMethod.ts +36 -9
  247. package/src/api/CheckBootloaderRelease.ts +1 -2
  248. package/src/api/CheckFirmwareRelease.ts +1 -2
  249. package/src/api/ClearSessionCache.ts +28 -0
  250. package/src/api/DirList.ts +5 -3
  251. package/src/api/DirMake.ts +3 -3
  252. package/src/api/DirRemove.ts +3 -3
  253. package/src/api/FileDelete.ts +3 -3
  254. package/src/api/FileRead.ts +23 -7
  255. package/src/api/FileWrite.ts +23 -168
  256. package/src/api/FirmwareUpdate.ts +4 -4
  257. package/src/api/FirmwareUpdateV2.ts +133 -45
  258. package/src/api/FirmwareUpdateV3.ts +3 -5
  259. package/src/api/FirmwareUpdateV4.ts +1138 -357
  260. package/src/api/GetDeviceState.ts +55 -0
  261. package/src/api/GetFeatures.ts +8 -3
  262. package/src/api/GetOnekeyFeatures.ts +3 -72
  263. package/src/api/GetPassphraseState.ts +11 -18
  264. package/src/api/OpenWalletSession.ts +221 -0
  265. package/src/api/PathInfo.ts +5 -3
  266. package/src/api/PromptWebDeviceAccess.ts +2 -3
  267. package/src/api/SearchDevices.ts +29 -4
  268. package/src/api/UploadPortfolio.ts +40 -0
  269. package/src/api/alephium/AlephiumSignTransaction.ts +2 -2
  270. package/src/api/allnetwork/AllNetworkGetAddressBase.ts +4 -8
  271. package/src/api/benfen/BenfenGetAddress.ts +1 -1
  272. package/src/api/btc/BTCGetPublicKey.ts +1 -1
  273. package/src/api/cardano/CardanoSignMessage.ts +1 -1
  274. package/src/api/cardano/CardanoSignTransaction.ts +1 -1
  275. package/src/api/device/DeviceCancel.ts +1 -0
  276. package/src/api/device/DeviceChangePin.ts +24 -0
  277. package/src/api/device/DeviceFullyUploadResource.ts +4 -5
  278. package/src/api/device/DeviceLock.ts +1 -0
  279. package/src/api/device/DeviceRebootToBoardloader.ts +5 -4
  280. package/src/api/device/DeviceRebootToBootloader.ts +5 -4
  281. package/src/api/device/DeviceSettings.ts +183 -1
  282. package/src/api/device/DeviceUnlock.ts +11 -1
  283. package/src/api/device/DeviceUpdateBootloader.ts +1 -2
  284. package/src/api/device/DeviceWipe.ts +19 -0
  285. package/src/api/evm/EVMSignTypedData.ts +3 -5
  286. package/src/api/evm/legacyV1/getAddress.ts +2 -2
  287. package/src/api/evm/legacyV1/getPublicKey.ts +2 -2
  288. package/src/api/evm/legacyV1/signMessage.ts +2 -2
  289. package/src/api/evm/legacyV1/signTypedData.ts +2 -2
  290. package/src/api/evm/legacyV1/signTypedHash.ts +2 -2
  291. package/src/api/evm/legacyV1/verifyMessage.ts +2 -2
  292. package/src/api/firmware/FirmwareUpdateBaseMethod.ts +21 -7
  293. package/src/api/firmware/getBinary.ts +8 -3
  294. package/src/api/firmware/progressThrottle.ts +44 -0
  295. package/src/api/helpers/batchGetPublickeys.ts +2 -2
  296. package/src/api/helpers/filesystemValidation.ts +61 -0
  297. package/src/api/helpers/paramsValidator.ts +1 -1
  298. package/src/api/helpers/protocolV2FileWrite.ts +193 -0
  299. package/src/api/index.ts +14 -20
  300. package/src/api/kaspa/KaspaSignTransaction.ts +341 -22
  301. package/src/api/kaspa/helpers/TransferSerialize.ts +14 -0
  302. package/src/api/nervos/NervosSignTransaction.ts +2 -2
  303. package/src/api/nexa/NexaSignTransaction.ts +1 -1
  304. package/src/api/protocol-v2/{FactoryGetDeviceInfo.ts → DeviceFactoryInfoGet.ts} +4 -4
  305. package/src/api/protocol-v2/DeviceFactoryInfoSet.ts +32 -0
  306. package/src/api/protocol-v2/DeviceFirmwareUpdate.ts +7 -9
  307. package/src/api/protocol-v2/DeviceGetFirmwareUpdateStatus.ts +41 -6
  308. package/src/api/protocol-v2/DeviceGetOnboardingStatus.ts +6 -4
  309. package/src/api/protocol-v2/DeviceInfoGet.ts +145 -0
  310. package/src/api/protocol-v2/DeviceReboot.ts +5 -3
  311. package/src/api/protocol-v2/DeviceStatusGet.ts +16 -0
  312. package/src/api/protocol-v2/DeviceUploadWallpaper.ts +131 -0
  313. package/src/api/protocol-v2/FilesystemFormat.ts +5 -2
  314. package/src/api/protocol-v2/{FilesystemFixPermission.ts → FilesystemPermissionFix.ts} +3 -3
  315. package/src/api/protocol-v2/Ping.ts +1 -1
  316. package/src/api/protocol-v2/{GetProtoVersion.ts → ProtocolInfoRequest.ts} +3 -3
  317. package/src/api/protocol-v2/helpers.ts +58 -62
  318. package/src/api/ton/TonSignData.ts +1 -5
  319. package/src/api/utils.ts +7 -3
  320. package/src/constants/index.ts +7 -1
  321. package/src/core/RequestQueue.ts +1 -0
  322. package/src/core/deviceEventRegistration.ts +23 -0
  323. package/src/core/index.ts +140 -35
  324. package/src/data/messages/messages-protocol-v2.json +825 -709
  325. package/src/data/messages/messages.json +286 -1
  326. package/src/data-manager/DataManager.ts +13 -6
  327. package/src/data-manager/connectSettings.ts +4 -0
  328. package/src/device/Device.ts +480 -192
  329. package/src/device/DeviceCommands.ts +81 -25
  330. package/src/device/DeviceFeaturesState.ts +25 -0
  331. package/src/device/DevicePool.ts +67 -19
  332. package/src/device/DeviceStateMapper.ts +349 -0
  333. package/src/device/DeviceStateProjector.ts +95 -0
  334. package/src/device/DeviceStateStore.ts +201 -0
  335. package/src/device/DeviceWalletSessionStore.ts +105 -0
  336. package/src/device/cloneDeviceState.ts +39 -0
  337. package/src/device/deviceIdentity.ts +18 -0
  338. package/src/deviceProfile/buildDeviceFeatures.ts +235 -210
  339. package/src/deviceProfile/index.ts +0 -1
  340. package/src/events/device.ts +17 -1
  341. package/src/events/logBlockEvent.ts +8 -1
  342. package/src/events/ui-request.ts +24 -2
  343. package/src/inject.ts +23 -34
  344. package/src/protocols/protocol-v2/deviceSession.ts +24 -0
  345. package/src/protocols/protocol-v2/features.ts +68 -82
  346. package/src/protocols/protocol-v2/firmware.ts +12 -36
  347. package/src/protocols/protocol-v2/index.ts +3 -1
  348. package/src/protocols/protocol-v2/lockedError.ts +10 -0
  349. package/src/protocols/protocol-v2/settingsUnlockPolicy.ts +61 -0
  350. package/src/protocols/protocol-v2/uiInteraction.ts +210 -0
  351. package/src/protocols/protocol-v2/unlockRetry.ts +76 -0
  352. package/src/protocols/protocol-v2/walletSession.ts +107 -0
  353. package/src/types/api/checkAllFirmwareRelease.ts +1 -2
  354. package/src/types/api/deviceSettings.ts +26 -2
  355. package/src/types/api/deviceUnlock.ts +5 -2
  356. package/src/types/api/firmwareUpdate.ts +28 -20
  357. package/src/types/api/getDeviceState.ts +19 -0
  358. package/src/types/api/getFeatures.ts +3 -0
  359. package/src/types/api/getOnekeyFeatures.ts +3 -0
  360. package/src/types/api/getPassphraseState.ts +8 -11
  361. package/src/types/api/index.ts +30 -53
  362. package/src/types/api/kaspaSignTransaction.ts +40 -2
  363. package/src/types/api/openWalletSession.ts +64 -0
  364. package/src/types/api/protocolV2.ts +58 -55
  365. package/src/types/api/sessionCache.ts +14 -0
  366. package/src/types/device.ts +170 -4
  367. package/src/types/params.ts +4 -0
  368. package/src/types/settings.ts +42 -30
  369. package/src/utils/assets.ts +4 -1
  370. package/src/utils/deviceFeaturesCompat.ts +173 -0
  371. package/src/utils/deviceFeaturesUtils.ts +68 -24
  372. package/src/utils/deviceInfoUtils.ts +26 -64
  373. package/src/utils/deviceSettings.ts +161 -39
  374. package/src/utils/deviceVersionUtils.ts +25 -44
  375. package/src/utils/findDefectiveBatchDevice.ts +3 -3
  376. package/src/utils/homescreen.ts +10 -0
  377. package/src/utils/index.ts +21 -1
  378. package/src/utils/networkUtils.ts +270 -14
  379. package/src/utils/pro2Wallpaper.ts +109 -0
  380. package/src/utils/tracing.ts +3 -1
  381. package/dist/api/GetDeviceInfo.d.ts +0 -9
  382. package/dist/api/GetDeviceInfo.d.ts.map +0 -1
  383. package/dist/api/protocol-v2/DevReboot.d.ts +0 -7
  384. package/dist/api/protocol-v2/DevReboot.d.ts.map +0 -1
  385. package/dist/api/protocol-v2/DeviceGetDeviceInfo.d.ts +0 -29
  386. package/dist/api/protocol-v2/DeviceGetDeviceInfo.d.ts.map +0 -1
  387. package/dist/api/protocol-v2/FactoryDeviceInfoSettings.d.ts +0 -7
  388. package/dist/api/protocol-v2/FactoryDeviceInfoSettings.d.ts.map +0 -1
  389. package/dist/api/protocol-v2/FactoryGetDeviceInfo.d.ts +0 -6
  390. package/dist/api/protocol-v2/FactoryGetDeviceInfo.d.ts.map +0 -1
  391. package/dist/api/protocol-v2/FilesystemDiskControl.d.ts +0 -13
  392. package/dist/api/protocol-v2/FilesystemDiskControl.d.ts.map +0 -1
  393. package/dist/api/protocol-v2/FilesystemFixPermission.d.ts.map +0 -1
  394. package/dist/api/protocol-v2/GetProtoVersion.d.ts +0 -6
  395. package/dist/api/protocol-v2/GetProtoVersion.d.ts.map +0 -1
  396. package/dist/deviceProfile/buildDeviceProfile.d.ts +0 -21
  397. package/dist/deviceProfile/buildDeviceProfile.d.ts.map +0 -1
  398. package/dist/types/api/getDeviceInfo.d.ts +0 -85
  399. package/dist/types/api/getDeviceInfo.d.ts.map +0 -1
  400. package/src/api/GetDeviceInfo.ts +0 -145
  401. package/src/api/protocol-v2/DevReboot.ts +0 -24
  402. package/src/api/protocol-v2/DeviceGetDeviceInfo.ts +0 -118
  403. package/src/api/protocol-v2/FactoryDeviceInfoSettings.ts +0 -29
  404. package/src/api/protocol-v2/FilesystemDiskControl.ts +0 -50
  405. package/src/deviceProfile/buildDeviceProfile.ts +0 -334
  406. package/src/types/api/getDeviceInfo.ts +0 -99
@@ -7,9 +7,12 @@ import { findLatestRelease } from '../../utils/release';
7
7
  import { getFirmwareUpdateField } from '../../utils/deviceFeaturesUtils';
8
8
 
9
9
  import type { Features } from '../../types';
10
+ import type { HttpRequestOptions } from '../../utils/networkUtils';
10
11
  import type { EFirmwareType } from '@onekeyfe/hd-shared';
11
12
  import type { IFirmwareField } from '../../data-manager/DataManager';
12
13
 
14
+ export type FirmwareBinary = ArrayBuffer | Buffer;
15
+
13
16
  export interface GetInfoProps {
14
17
  features: Features;
15
18
  updateType: 'firmware' | 'ble';
@@ -20,6 +23,7 @@ export interface GetInfoProps {
20
23
 
21
24
  interface GetBinaryProps extends GetInfoProps {
22
25
  version?: number[];
26
+ requestOptions?: HttpRequestOptions;
23
27
  }
24
28
 
25
29
  export const getBinary = async ({
@@ -28,6 +32,7 @@ export const getBinary = async ({
28
32
  version,
29
33
  isUpdateBootloader,
30
34
  firmwareType,
35
+ requestOptions,
31
36
  }: GetBinaryProps) => {
32
37
  const releaseInfo = getInfo({
33
38
  features,
@@ -55,9 +60,9 @@ export const getBinary = async ({
55
60
  : isUpdateBootloader
56
61
  ? releaseInfo.bootloaderResource
57
62
  : releaseInfo.url;
58
- let fw;
63
+ let fw: FirmwareBinary;
59
64
  try {
60
- fw = await httpRequest(url, 'binary');
65
+ fw = await httpRequest(url, 'binary', requestOptions);
61
66
  } catch {
62
67
  throw ERRORS.TypedError(HardwareErrorCode.RuntimeError, 'Method_FirmwareUpdate_DownloadFailed');
63
68
  }
@@ -69,7 +74,7 @@ export const getBinary = async ({
69
74
  };
70
75
 
71
76
  export const getSysResourceBinary = async (url: string) => {
72
- let fw;
77
+ let fw: FirmwareBinary;
73
78
  try {
74
79
  fw = await httpRequest(url, 'binary');
75
80
  } catch {
@@ -0,0 +1,44 @@
1
+ import type { IFirmwareUpdateProgressType } from '../../events/ui-request';
2
+
3
+ const DEFAULT_FIRMWARE_PROGRESS_INTERVAL_MS = 250;
4
+
5
+ type FirmwareProgressThrottleState = {
6
+ lastEmittedAt: number;
7
+ lastProgress?: number;
8
+ };
9
+
10
+ export const createFirmwareProgressThrottle = (
11
+ intervalMs = DEFAULT_FIRMWARE_PROGRESS_INTERVAL_MS
12
+ ) => {
13
+ const stateByType = new Map<IFirmwareUpdateProgressType, FirmwareProgressThrottleState>();
14
+
15
+ return (progress: number, progressType: IFirmwareUpdateProgressType) => {
16
+ if (progressType !== 'transferData') {
17
+ return true;
18
+ }
19
+
20
+ const normalizedProgress = Math.max(0, Math.min(100, Math.floor(progress)));
21
+ if (normalizedProgress === 0 || normalizedProgress === 100) {
22
+ stateByType.set(progressType, {
23
+ lastEmittedAt: Date.now(),
24
+ lastProgress: normalizedProgress,
25
+ });
26
+ return true;
27
+ }
28
+
29
+ const now = Date.now();
30
+ const state = stateByType.get(progressType);
31
+ if (
32
+ state &&
33
+ (state.lastProgress === normalizedProgress || now - state.lastEmittedAt < intervalMs)
34
+ ) {
35
+ return false;
36
+ }
37
+
38
+ stateByType.set(progressType, {
39
+ lastEmittedAt: now,
40
+ lastProgress: normalizedProgress,
41
+ });
42
+ return true;
43
+ };
44
+ };
@@ -27,8 +27,8 @@ export function supportBatchPublicKeyByDevice(
27
27
  const currentVersion = device.getCurrentFirmwareVersionString() ?? '0.0.0';
28
28
  const deviceType = device.getCurrentDeviceType();
29
29
 
30
- // Pro2 (Protocol V2) 版本线独立于 Pro 系列,固件从首个版本即支持 batch / include_node,
31
- // 不能套用下面 Pro 系列的 4.x 门槛。
30
+ // Pro2 has an independent version line and supports batch/include_node from its first
31
+ // firmware version, so the Protocol V1 Pro 4.x threshold does not apply.
32
32
  if (device.isProtocolV2() || deviceType === EDeviceType.Pro2) {
33
33
  return true;
34
34
  }
@@ -10,6 +10,67 @@ export function validateNonEmptyString(value: unknown, name: string): string {
10
10
  return value;
11
11
  }
12
12
 
13
+ const PROTOCOL_V2_FILESYSTEM_VOLUMES = new Set(['vol0', 'vol1']);
14
+ // Bootloader and romloader reserve 128 bytes including the terminating NUL.
15
+ const MAX_PROTOCOL_V2_FILESYSTEM_PATH_BYTES = 127;
16
+
17
+ function getUtf8ByteLength(value: string) {
18
+ return Array.from(value).reduce((length, character) => {
19
+ const codePoint = character.codePointAt(0) ?? 0;
20
+ if (codePoint <= 0x7f) return length + 1;
21
+ if (codePoint <= 0x7ff) return length + 2;
22
+ if (codePoint <= 0xffff) return length + 3;
23
+ return length + 4;
24
+ }, 0);
25
+ }
26
+
27
+ export function validateProtocolV2FilesystemPath(
28
+ value: unknown,
29
+ name: string,
30
+ options: { allowVolumeRoot?: boolean } = {}
31
+ ): string {
32
+ const rawPath = validateNonEmptyString(value, name).trim();
33
+ const containsUnsupportedCharacter = Array.from(rawPath).some(character => {
34
+ const codePoint = character.charCodeAt(0);
35
+ return codePoint <= 0x1f || codePoint === 0x7f || character === '\\';
36
+ });
37
+
38
+ if (containsUnsupportedCharacter) {
39
+ throw invalidParameter(`Parameter [${name}] contains unsupported path characters.`);
40
+ }
41
+
42
+ const match = /^([a-zA-Z0-9]+):(.*)$/.exec(rawPath);
43
+ if (!match) {
44
+ throw invalidParameter(
45
+ `Parameter [${name}] must use a supported Protocol V2 filesystem volume.`
46
+ );
47
+ }
48
+
49
+ const volume = match[1].toLowerCase();
50
+ if (!PROTOCOL_V2_FILESYSTEM_VOLUMES.has(volume)) {
51
+ throw invalidParameter(`Parameter [${name}] uses an unsupported filesystem volume.`);
52
+ }
53
+
54
+ const rawSuffix = match[2];
55
+ if (rawSuffix.length === 0) {
56
+ if (options.allowVolumeRoot) return `${volume}:`;
57
+ throw invalidParameter(`Parameter [${name}] must identify a filesystem entry.`);
58
+ }
59
+
60
+ const suffix = rawSuffix.startsWith('/') ? rawSuffix : `/${rawSuffix}`;
61
+ const segments = suffix.slice(1).split('/');
62
+ if (segments.some(segment => segment.length === 0 || segment === '.' || segment === '..')) {
63
+ throw invalidParameter(`Parameter [${name}] contains an invalid path segment.`);
64
+ }
65
+
66
+ const canonicalPath = `${volume}:${rawSuffix.startsWith('/') ? '/' : ''}${segments.join('/')}`;
67
+ if (getUtf8ByteLength(canonicalPath) > MAX_PROTOCOL_V2_FILESYSTEM_PATH_BYTES) {
68
+ throw invalidParameter(`Parameter [${name}] exceeds the maximum filesystem path length.`);
69
+ }
70
+
71
+ return canonicalPath;
72
+ }
73
+
13
74
  export function validateNonNegativeInteger(
14
75
  value: unknown,
15
76
  name: string,
@@ -20,7 +20,7 @@ export type SchemaParam = {
20
20
  allowNegative?: boolean;
21
21
  };
22
22
 
23
- const invalidParameter = (message: string) =>
23
+ export const invalidParameter = (message: string) =>
24
24
  ERRORS.TypedError(HardwareErrorCode.CallMethodInvalidParameter, message);
25
25
 
26
26
  const invalidResponse = (message: string) =>
@@ -0,0 +1,193 @@
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
+ }
package/src/api/index.ts CHANGED
@@ -3,10 +3,12 @@ export { default as preInitialize } from './device/PreInitialize';
3
3
 
4
4
  export { default as searchDevices } from './SearchDevices';
5
5
  export { default as getFeatures } from './GetFeatures';
6
- export { default as getDeviceInfo } from './GetDeviceInfo';
6
+ export { default as getDeviceState } from './GetDeviceState';
7
7
  export { default as getOnekeyFeatures } from './GetOnekeyFeatures';
8
8
  export { default as getPassphraseState } from './GetPassphraseState';
9
+ export { default as openWalletSession } from './OpenWalletSession';
9
10
  export { default as getLogs } from './GetLogs';
11
+ export { default as clearSessionCache } from './ClearSessionCache';
10
12
  export { default as checkFirmwareRelease } from './CheckFirmwareRelease';
11
13
  export { default as checkBLEFirmwareRelease } from './CheckBLEFirmwareRelease';
12
14
  export { default as checkBridgeStatus } from './CheckBridgeStatus';
@@ -42,23 +44,21 @@ export { default as firmwareUpdateV3 } from './FirmwareUpdateV3';
42
44
  export { default as firmwareUpdateV4 } from './FirmwareUpdateV4';
43
45
  export { default as promptWebDeviceAccess } from './PromptWebDeviceAccess';
44
46
 
45
- // File system & device control API (Protocol V2 only)
46
- export { default as getProtoVersion } from './protocol-v2/GetProtoVersion';
47
- export { default as ping } from './protocol-v2/Ping';
47
+ // Pro2 business API
48
48
  export { default as deviceReboot } from './protocol-v2/DeviceReboot';
49
- export { default as deviceGetDeviceInfo } from './protocol-v2/DeviceGetDeviceInfo';
50
49
  export { default as deviceGetOnboardingStatus } from './protocol-v2/DeviceGetOnboardingStatus';
50
+ export { default as deviceUploadWallpaper } from './protocol-v2/DeviceUploadWallpaper';
51
+ // Protocol V2 development APIs. These remain public while Pro2 integration is in development.
52
+ export { default as deviceInfoGet } from './protocol-v2/DeviceInfoGet';
53
+ export { default as deviceStatusGet } from './protocol-v2/DeviceStatusGet';
54
+ export { default as protocolInfoRequest } from './protocol-v2/ProtocolInfoRequest';
55
+ export { default as ping } from './protocol-v2/Ping';
51
56
  export { default as deviceFirmwareUpdate } from './protocol-v2/DeviceFirmwareUpdate';
52
57
  export { default as deviceGetFirmwareUpdateStatus } from './protocol-v2/DeviceGetFirmwareUpdateStatus';
53
- export { default as devReboot } from './protocol-v2/DevReboot';
54
- export { default as devGetDeviceInfo } from './protocol-v2/DeviceGetDeviceInfo';
55
- export { default as devFirmwareUpdate } from './protocol-v2/DeviceFirmwareUpdate';
56
- export { default as devGetFirmwareUpdateStatus } from './protocol-v2/DeviceGetFirmwareUpdateStatus';
57
- export { default as factoryDeviceInfoSettings } from './protocol-v2/FactoryDeviceInfoSettings';
58
- export { default as factoryGetDeviceInfo } from './protocol-v2/FactoryGetDeviceInfo';
59
- export { default as filesystemFixPermission } from './protocol-v2/FilesystemFixPermission';
58
+ export { default as deviceFactoryInfoSet } from './protocol-v2/DeviceFactoryInfoSet';
59
+ export { default as deviceFactoryInfoGet } from './protocol-v2/DeviceFactoryInfoGet';
60
+ export { default as filesystemPermissionFix } from './protocol-v2/FilesystemPermissionFix';
60
61
  export { default as filesystemFormat } from './protocol-v2/FilesystemFormat';
61
- export { default as filesystemDiskControl } from './protocol-v2/FilesystemDiskControl';
62
62
  export { default as fileRead } from './FileRead';
63
63
  export { default as fileWrite } from './FileWrite';
64
64
  export { default as fileDelete } from './FileDelete';
@@ -66,13 +66,7 @@ export { default as dirList } from './DirList';
66
66
  export { default as dirMake } from './DirMake';
67
67
  export { default as dirRemove } from './DirRemove';
68
68
  export { default as pathInfo } from './PathInfo';
69
- export { default as filesystemFileRead } from './FileRead';
70
- export { default as filesystemFileWrite } from './FileWrite';
71
- export { default as filesystemFileDelete } from './FileDelete';
72
- export { default as filesystemDirList } from './DirList';
73
- export { default as filesystemDirMake } from './DirMake';
74
- export { default as filesystemDirRemove } from './DirRemove';
75
- export { default as filesystemPathInfoQuery } from './PathInfo';
69
+ export { default as uploadPortfolio } from './UploadPortfolio';
76
70
 
77
71
  export { default as cipherKeyValue } from './CipherKeyValue';
78
72