@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.
- package/__tests__/AllNetworkGetAddressBase.tracing.test.ts +75 -0
- package/__tests__/DeviceCommands.test.ts +285 -0
- package/__tests__/DeviceEventRegistration.test.ts +43 -0
- package/__tests__/connectSettings.test.ts +19 -0
- package/__tests__/core-dispose.test.ts +34 -0
- package/__tests__/core-error-output.test.ts +39 -0
- package/__tests__/device-features-state.test.ts +78 -0
- package/__tests__/device-identity.test.ts +30 -0
- package/__tests__/device-lifecycle-events.test.ts +117 -0
- package/__tests__/device-pool-state.test.ts +132 -0
- package/__tests__/device-settings.test.ts +391 -0
- package/__tests__/device-state-contract.test.ts +27 -0
- package/__tests__/device-state-events.test.ts +162 -0
- package/__tests__/device-state-mapper.test.ts +241 -0
- package/__tests__/device-state-projector.test.ts +94 -0
- package/__tests__/device-state-store.test.ts +82 -0
- package/__tests__/device-utils.test.ts +106 -0
- package/__tests__/device-wallet-session-store.test.ts +213 -0
- package/__tests__/deviceFeaturesUtils.test.ts +39 -0
- package/__tests__/deviceSettings.test.ts +103 -0
- package/__tests__/evmLedgerLegacySafety.test.ts +10 -6
- package/__tests__/evmSignTypedData.test.ts +80 -0
- package/__tests__/filesystemValidation.test.ts +53 -0
- package/__tests__/firmware-update/firmware-update-v2-download-before-boot.test.ts +402 -0
- package/__tests__/get-device-state.test.ts +410 -0
- package/__tests__/homescreen.test.ts +24 -0
- package/__tests__/kaspaSignTransaction.test.ts +591 -0
- package/__tests__/logBlockEvent.test.ts +26 -0
- package/__tests__/networkUtils.test.ts +386 -0
- package/__tests__/open-wallet-session-error-response.test.ts +43 -0
- package/__tests__/open-wallet-session.test.ts +559 -0
- package/__tests__/preInitialize.test.ts +33 -0
- package/__tests__/pro2Wallpaper.test.ts +50 -0
- package/__tests__/protocol-v2-bootloader-mode.test.ts +37 -0
- package/__tests__/protocol-v2-firmware-targets.test.ts +19 -0
- package/__tests__/protocol-v2.test.ts +3954 -1191
- package/__tests__/protocolV2FileWrite.test.ts +92 -0
- package/__tests__/protocolV2UiInteraction.test.ts +266 -0
- package/__tests__/public-device-state-api.test.ts +257 -0
- package/__tests__/public-pro2-api-boundary.test.ts +110 -0
- package/__tests__/refresh-device-state.test.ts +101 -0
- package/__tests__/request-context-logging.test.ts +16 -0
- package/__tests__/search-devices.test.ts +136 -0
- package/dist/api/BaseMethod.d.ts +8 -0
- package/dist/api/BaseMethod.d.ts.map +1 -1
- package/dist/api/CheckBootloaderRelease.d.ts.map +1 -1
- package/dist/api/CheckFirmwareRelease.d.ts.map +1 -1
- package/dist/api/ClearSessionCache.d.ts +9 -0
- package/dist/api/ClearSessionCache.d.ts.map +1 -0
- package/dist/api/DirList.d.ts.map +1 -1
- package/dist/api/FileRead.d.ts.map +1 -1
- package/dist/api/FileWrite.d.ts +1 -0
- package/dist/api/FileWrite.d.ts.map +1 -1
- package/dist/api/FirmwareUpdateV2.d.ts +2 -2
- package/dist/api/FirmwareUpdateV2.d.ts.map +1 -1
- package/dist/api/FirmwareUpdateV3.d.ts.map +1 -1
- package/dist/api/FirmwareUpdateV4.d.ts +25 -5
- package/dist/api/FirmwareUpdateV4.d.ts.map +1 -1
- package/dist/api/GetDeviceState.d.ts +7 -0
- package/dist/api/GetDeviceState.d.ts.map +1 -0
- package/dist/api/GetFeatures.d.ts +1 -1
- package/dist/api/GetFeatures.d.ts.map +1 -1
- package/dist/api/GetOnekeyFeatures.d.ts.map +1 -1
- package/dist/api/GetPassphraseState.d.ts +1 -6
- package/dist/api/GetPassphraseState.d.ts.map +1 -1
- package/dist/api/OpenWalletSession.d.ts +14 -0
- package/dist/api/OpenWalletSession.d.ts.map +1 -0
- package/dist/api/PathInfo.d.ts.map +1 -1
- package/dist/api/PromptWebDeviceAccess.d.ts.map +1 -1
- package/dist/api/SearchDevices.d.ts +3 -0
- package/dist/api/SearchDevices.d.ts.map +1 -1
- package/dist/api/UploadPortfolio.d.ts +17 -0
- package/dist/api/UploadPortfolio.d.ts.map +1 -0
- package/dist/api/allnetwork/AllNetworkGetAddressBase.d.ts.map +1 -1
- package/dist/api/device/DeviceCancel.d.ts.map +1 -1
- package/dist/api/device/DeviceChangePin.d.ts.map +1 -1
- package/dist/api/device/DeviceFullyUploadResource.d.ts +1 -2
- package/dist/api/device/DeviceFullyUploadResource.d.ts.map +1 -1
- package/dist/api/device/DeviceLock.d.ts.map +1 -1
- package/dist/api/device/DeviceRebootToBoardloader.d.ts.map +1 -1
- package/dist/api/device/DeviceRebootToBootloader.d.ts.map +1 -1
- package/dist/api/device/DeviceSettings.d.ts.map +1 -1
- package/dist/api/device/DeviceUnlock.d.ts +1 -1
- package/dist/api/device/DeviceUnlock.d.ts.map +1 -1
- package/dist/api/device/DeviceUpdateBootloader.d.ts.map +1 -1
- package/dist/api/device/DeviceWipe.d.ts.map +1 -1
- package/dist/api/evm/EVMSignTypedData.d.ts.map +1 -1
- package/dist/api/firmware/FirmwareUpdateBaseMethod.d.ts +1 -0
- package/dist/api/firmware/FirmwareUpdateBaseMethod.d.ts.map +1 -1
- package/dist/api/firmware/getBinary.d.ts +11 -3
- package/dist/api/firmware/getBinary.d.ts.map +1 -1
- package/dist/api/firmware/progressThrottle.d.ts +3 -0
- package/dist/api/firmware/progressThrottle.d.ts.map +1 -0
- package/dist/api/helpers/filesystemValidation.d.ts +3 -0
- package/dist/api/helpers/filesystemValidation.d.ts.map +1 -1
- package/dist/api/helpers/paramsValidator.d.ts +1 -0
- package/dist/api/helpers/paramsValidator.d.ts.map +1 -1
- package/dist/api/helpers/protocolV2FileWrite.d.ts +33 -0
- package/dist/api/helpers/protocolV2FileWrite.d.ts.map +1 -0
- package/dist/api/index.d.ts +12 -19
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/kaspa/KaspaSignTransaction.d.ts +5 -1
- package/dist/api/kaspa/KaspaSignTransaction.d.ts.map +1 -1
- package/dist/api/kaspa/helpers/TransferSerialize.d.ts.map +1 -1
- package/dist/api/protocol-v2/DeviceFactoryInfoGet.d.ts +6 -0
- package/dist/api/protocol-v2/DeviceFactoryInfoGet.d.ts.map +1 -0
- package/dist/api/protocol-v2/DeviceFactoryInfoSet.d.ts +7 -0
- package/dist/api/protocol-v2/DeviceFactoryInfoSet.d.ts.map +1 -0
- package/dist/api/protocol-v2/DeviceFirmwareUpdate.d.ts +1 -1
- package/dist/api/protocol-v2/DeviceFirmwareUpdate.d.ts.map +1 -1
- package/dist/api/protocol-v2/DeviceGetFirmwareUpdateStatus.d.ts +3 -2
- package/dist/api/protocol-v2/DeviceGetFirmwareUpdateStatus.d.ts.map +1 -1
- package/dist/api/protocol-v2/DeviceGetOnboardingStatus.d.ts +1 -1
- package/dist/api/protocol-v2/DeviceGetOnboardingStatus.d.ts.map +1 -1
- package/dist/api/protocol-v2/DeviceInfoGet.d.ts +28 -0
- package/dist/api/protocol-v2/DeviceInfoGet.d.ts.map +1 -0
- package/dist/api/protocol-v2/DeviceReboot.d.ts.map +1 -1
- package/dist/api/protocol-v2/DeviceStatusGet.d.ts +6 -0
- package/dist/api/protocol-v2/DeviceStatusGet.d.ts.map +1 -0
- package/dist/api/protocol-v2/DeviceUploadWallpaper.d.ts +26 -0
- package/dist/api/protocol-v2/DeviceUploadWallpaper.d.ts.map +1 -0
- package/dist/api/protocol-v2/FilesystemFormat.d.ts.map +1 -1
- package/dist/api/protocol-v2/{FilesystemFixPermission.d.ts → FilesystemPermissionFix.d.ts} +2 -2
- package/dist/api/protocol-v2/FilesystemPermissionFix.d.ts.map +1 -0
- package/dist/api/protocol-v2/ProtocolInfoRequest.d.ts +6 -0
- package/dist/api/protocol-v2/ProtocolInfoRequest.d.ts.map +1 -0
- package/dist/api/protocol-v2/helpers.d.ts +27 -19
- package/dist/api/protocol-v2/helpers.d.ts.map +1 -1
- package/dist/api/ton/TonSignData.d.ts +1 -5
- package/dist/api/ton/TonSignData.d.ts.map +1 -1
- package/dist/api/utils.d.ts +2 -1
- package/dist/api/utils.d.ts.map +1 -1
- package/dist/constants/index.d.ts +2 -1
- package/dist/constants/index.d.ts.map +1 -1
- package/dist/core/RequestQueue.d.ts.map +1 -1
- package/dist/core/deviceEventRegistration.d.ts +11 -0
- package/dist/core/deviceEventRegistration.d.ts.map +1 -0
- package/dist/core/index.d.ts +3 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/data-manager/DataManager.d.ts +1 -1
- package/dist/data-manager/DataManager.d.ts.map +1 -1
- package/dist/data-manager/connectSettings.d.ts.map +1 -1
- package/dist/device/Device.d.ts +35 -11
- package/dist/device/Device.d.ts.map +1 -1
- package/dist/device/DeviceCommands.d.ts +8 -6
- package/dist/device/DeviceCommands.d.ts.map +1 -1
- package/dist/device/DeviceFeaturesState.d.ts +3 -0
- package/dist/device/DeviceFeaturesState.d.ts.map +1 -0
- package/dist/device/DevicePool.d.ts +4 -2
- package/dist/device/DevicePool.d.ts.map +1 -1
- package/dist/device/DeviceStateMapper.d.ts +13 -0
- package/dist/device/DeviceStateMapper.d.ts.map +1 -0
- package/dist/device/DeviceStateProjector.d.ts +7 -0
- package/dist/device/DeviceStateProjector.d.ts.map +1 -0
- package/dist/device/DeviceStateStore.d.ts +21 -0
- package/dist/device/DeviceStateStore.d.ts.map +1 -0
- package/dist/device/DeviceWalletSessionStore.d.ts +20 -0
- package/dist/device/DeviceWalletSessionStore.d.ts.map +1 -0
- package/dist/device/cloneDeviceState.d.ts +2 -0
- package/dist/device/cloneDeviceState.d.ts.map +1 -0
- package/dist/device/deviceIdentity.d.ts +5 -0
- package/dist/device/deviceIdentity.d.ts.map +1 -0
- package/dist/deviceProfile/buildDeviceFeatures.d.ts +9 -3
- package/dist/deviceProfile/buildDeviceFeatures.d.ts.map +1 -1
- package/dist/deviceProfile/index.d.ts +0 -1
- package/dist/deviceProfile/index.d.ts.map +1 -1
- package/dist/events/device.d.ts +11 -2
- package/dist/events/device.d.ts.map +1 -1
- package/dist/events/logBlockEvent.d.ts.map +1 -1
- package/dist/events/ui-request.d.ts +18 -2
- package/dist/events/ui-request.d.ts.map +1 -1
- package/dist/index.d.ts +1361 -609
- package/dist/index.js +5898 -2860
- package/dist/inject.d.ts.map +1 -1
- package/dist/protocols/protocol-v2/deviceSession.d.ts +7 -0
- package/dist/protocols/protocol-v2/deviceSession.d.ts.map +1 -0
- package/dist/protocols/protocol-v2/features.d.ts +23 -28
- package/dist/protocols/protocol-v2/features.d.ts.map +1 -1
- package/dist/protocols/protocol-v2/firmware.d.ts +11 -9
- package/dist/protocols/protocol-v2/firmware.d.ts.map +1 -1
- package/dist/protocols/protocol-v2/index.d.ts +3 -2
- package/dist/protocols/protocol-v2/index.d.ts.map +1 -1
- package/dist/protocols/protocol-v2/lockedError.d.ts +2 -0
- package/dist/protocols/protocol-v2/lockedError.d.ts.map +1 -0
- package/dist/protocols/protocol-v2/settingsUnlockPolicy.d.ts +16 -0
- package/dist/protocols/protocol-v2/settingsUnlockPolicy.d.ts.map +1 -0
- package/dist/protocols/protocol-v2/uiInteraction.d.ts +39 -0
- package/dist/protocols/protocol-v2/uiInteraction.d.ts.map +1 -0
- package/dist/protocols/protocol-v2/unlockRetry.d.ts +11 -0
- package/dist/protocols/protocol-v2/unlockRetry.d.ts.map +1 -0
- package/dist/protocols/protocol-v2/walletSession.d.ts +19 -0
- package/dist/protocols/protocol-v2/walletSession.d.ts.map +1 -0
- package/dist/types/api/checkAllFirmwareRelease.d.ts +1 -2
- package/dist/types/api/checkAllFirmwareRelease.d.ts.map +1 -1
- package/dist/types/api/deviceSettings.d.ts +11 -2
- package/dist/types/api/deviceSettings.d.ts.map +1 -1
- package/dist/types/api/deviceUnlock.d.ts +2 -2
- package/dist/types/api/deviceUnlock.d.ts.map +1 -1
- package/dist/types/api/firmwareUpdate.d.ts +6 -6
- package/dist/types/api/firmwareUpdate.d.ts.map +1 -1
- package/dist/types/api/getDeviceState.d.ts +12 -0
- package/dist/types/api/getDeviceState.d.ts.map +1 -0
- package/dist/types/api/getFeatures.d.ts.map +1 -1
- package/dist/types/api/getOnekeyFeatures.d.ts.map +1 -1
- package/dist/types/api/getPassphraseState.d.ts +2 -10
- package/dist/types/api/getPassphraseState.d.ts.map +1 -1
- package/dist/types/api/index.d.ts +22 -25
- package/dist/types/api/index.d.ts.map +1 -1
- package/dist/types/api/kaspaSignTransaction.d.ts +27 -2
- package/dist/types/api/kaspaSignTransaction.d.ts.map +1 -1
- package/dist/types/api/openWalletSession.d.ts +41 -0
- package/dist/types/api/openWalletSession.d.ts.map +1 -0
- package/dist/types/api/protocolV2.d.ts +23 -28
- package/dist/types/api/protocolV2.d.ts.map +1 -1
- package/dist/types/api/sessionCache.d.ts +10 -0
- package/dist/types/api/sessionCache.d.ts.map +1 -0
- package/dist/types/device.d.ts +121 -5
- package/dist/types/device.d.ts.map +1 -1
- package/dist/types/params.d.ts +1 -0
- package/dist/types/params.d.ts.map +1 -1
- package/dist/types/settings.d.ts +21 -1
- package/dist/types/settings.d.ts.map +1 -1
- package/dist/utils/assets.d.ts +2 -1
- package/dist/utils/assets.d.ts.map +1 -1
- package/dist/utils/deviceFeaturesCompat.d.ts +13 -0
- package/dist/utils/deviceFeaturesCompat.d.ts.map +1 -0
- package/dist/utils/deviceFeaturesUtils.d.ts +13 -3
- package/dist/utils/deviceFeaturesUtils.d.ts.map +1 -1
- package/dist/utils/deviceInfoUtils.d.ts +9 -8
- package/dist/utils/deviceInfoUtils.d.ts.map +1 -1
- package/dist/utils/deviceSettings.d.ts +38 -7
- package/dist/utils/deviceSettings.d.ts.map +1 -1
- package/dist/utils/deviceVersionUtils.d.ts +6 -5
- package/dist/utils/deviceVersionUtils.d.ts.map +1 -1
- package/dist/utils/homescreen.d.ts.map +1 -1
- package/dist/utils/index.d.ts +5 -2
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/networkUtils.d.ts +9 -1
- package/dist/utils/networkUtils.d.ts.map +1 -1
- package/dist/utils/patch.d.ts +1 -1
- package/dist/utils/patch.d.ts.map +1 -1
- package/dist/utils/pro2Wallpaper.d.ts +12 -0
- package/dist/utils/pro2Wallpaper.d.ts.map +1 -0
- package/dist/utils/tracing.d.ts.map +1 -1
- package/package.json +4 -4
- package/src/api/BaseMethod.ts +36 -9
- package/src/api/CheckBootloaderRelease.ts +1 -2
- package/src/api/CheckFirmwareRelease.ts +1 -2
- package/src/api/ClearSessionCache.ts +28 -0
- package/src/api/DirList.ts +5 -3
- package/src/api/DirMake.ts +3 -3
- package/src/api/DirRemove.ts +3 -3
- package/src/api/FileDelete.ts +3 -3
- package/src/api/FileRead.ts +23 -7
- package/src/api/FileWrite.ts +23 -168
- package/src/api/FirmwareUpdate.ts +4 -4
- package/src/api/FirmwareUpdateV2.ts +133 -45
- package/src/api/FirmwareUpdateV3.ts +3 -5
- package/src/api/FirmwareUpdateV4.ts +1138 -357
- package/src/api/GetDeviceState.ts +55 -0
- package/src/api/GetFeatures.ts +8 -3
- package/src/api/GetOnekeyFeatures.ts +3 -72
- package/src/api/GetPassphraseState.ts +11 -18
- package/src/api/OpenWalletSession.ts +221 -0
- package/src/api/PathInfo.ts +5 -3
- package/src/api/PromptWebDeviceAccess.ts +2 -3
- package/src/api/SearchDevices.ts +29 -4
- package/src/api/UploadPortfolio.ts +40 -0
- package/src/api/alephium/AlephiumSignTransaction.ts +2 -2
- package/src/api/allnetwork/AllNetworkGetAddressBase.ts +4 -8
- package/src/api/benfen/BenfenGetAddress.ts +1 -1
- package/src/api/btc/BTCGetPublicKey.ts +1 -1
- package/src/api/cardano/CardanoSignMessage.ts +1 -1
- package/src/api/cardano/CardanoSignTransaction.ts +1 -1
- package/src/api/device/DeviceCancel.ts +1 -0
- package/src/api/device/DeviceChangePin.ts +24 -0
- package/src/api/device/DeviceFullyUploadResource.ts +4 -5
- package/src/api/device/DeviceLock.ts +1 -0
- package/src/api/device/DeviceRebootToBoardloader.ts +5 -4
- package/src/api/device/DeviceRebootToBootloader.ts +5 -4
- package/src/api/device/DeviceSettings.ts +183 -1
- package/src/api/device/DeviceUnlock.ts +11 -1
- package/src/api/device/DeviceUpdateBootloader.ts +1 -2
- package/src/api/device/DeviceWipe.ts +19 -0
- package/src/api/evm/EVMSignTypedData.ts +3 -5
- package/src/api/evm/legacyV1/getAddress.ts +2 -2
- package/src/api/evm/legacyV1/getPublicKey.ts +2 -2
- package/src/api/evm/legacyV1/signMessage.ts +2 -2
- package/src/api/evm/legacyV1/signTypedData.ts +2 -2
- package/src/api/evm/legacyV1/signTypedHash.ts +2 -2
- package/src/api/evm/legacyV1/verifyMessage.ts +2 -2
- package/src/api/firmware/FirmwareUpdateBaseMethod.ts +21 -7
- package/src/api/firmware/getBinary.ts +8 -3
- package/src/api/firmware/progressThrottle.ts +44 -0
- package/src/api/helpers/batchGetPublickeys.ts +2 -2
- package/src/api/helpers/filesystemValidation.ts +61 -0
- package/src/api/helpers/paramsValidator.ts +1 -1
- package/src/api/helpers/protocolV2FileWrite.ts +193 -0
- package/src/api/index.ts +14 -20
- package/src/api/kaspa/KaspaSignTransaction.ts +341 -22
- package/src/api/kaspa/helpers/TransferSerialize.ts +14 -0
- package/src/api/nervos/NervosSignTransaction.ts +2 -2
- package/src/api/nexa/NexaSignTransaction.ts +1 -1
- package/src/api/protocol-v2/{FactoryGetDeviceInfo.ts → DeviceFactoryInfoGet.ts} +4 -4
- package/src/api/protocol-v2/DeviceFactoryInfoSet.ts +32 -0
- package/src/api/protocol-v2/DeviceFirmwareUpdate.ts +7 -9
- package/src/api/protocol-v2/DeviceGetFirmwareUpdateStatus.ts +41 -6
- package/src/api/protocol-v2/DeviceGetOnboardingStatus.ts +6 -4
- package/src/api/protocol-v2/DeviceInfoGet.ts +145 -0
- package/src/api/protocol-v2/DeviceReboot.ts +5 -3
- package/src/api/protocol-v2/DeviceStatusGet.ts +16 -0
- package/src/api/protocol-v2/DeviceUploadWallpaper.ts +131 -0
- package/src/api/protocol-v2/FilesystemFormat.ts +5 -2
- package/src/api/protocol-v2/{FilesystemFixPermission.ts → FilesystemPermissionFix.ts} +3 -3
- package/src/api/protocol-v2/Ping.ts +1 -1
- package/src/api/protocol-v2/{GetProtoVersion.ts → ProtocolInfoRequest.ts} +3 -3
- package/src/api/protocol-v2/helpers.ts +58 -62
- package/src/api/ton/TonSignData.ts +1 -5
- package/src/api/utils.ts +7 -3
- package/src/constants/index.ts +7 -1
- package/src/core/RequestQueue.ts +1 -0
- package/src/core/deviceEventRegistration.ts +23 -0
- package/src/core/index.ts +140 -35
- package/src/data/messages/messages-protocol-v2.json +825 -709
- package/src/data/messages/messages.json +286 -1
- package/src/data-manager/DataManager.ts +13 -6
- package/src/data-manager/connectSettings.ts +4 -0
- package/src/device/Device.ts +480 -192
- package/src/device/DeviceCommands.ts +81 -25
- package/src/device/DeviceFeaturesState.ts +25 -0
- package/src/device/DevicePool.ts +67 -19
- package/src/device/DeviceStateMapper.ts +349 -0
- package/src/device/DeviceStateProjector.ts +95 -0
- package/src/device/DeviceStateStore.ts +201 -0
- package/src/device/DeviceWalletSessionStore.ts +105 -0
- package/src/device/cloneDeviceState.ts +39 -0
- package/src/device/deviceIdentity.ts +18 -0
- package/src/deviceProfile/buildDeviceFeatures.ts +235 -210
- package/src/deviceProfile/index.ts +0 -1
- package/src/events/device.ts +17 -1
- package/src/events/logBlockEvent.ts +8 -1
- package/src/events/ui-request.ts +24 -2
- package/src/inject.ts +23 -34
- package/src/protocols/protocol-v2/deviceSession.ts +24 -0
- package/src/protocols/protocol-v2/features.ts +68 -82
- package/src/protocols/protocol-v2/firmware.ts +12 -36
- package/src/protocols/protocol-v2/index.ts +3 -1
- package/src/protocols/protocol-v2/lockedError.ts +10 -0
- package/src/protocols/protocol-v2/settingsUnlockPolicy.ts +61 -0
- package/src/protocols/protocol-v2/uiInteraction.ts +210 -0
- package/src/protocols/protocol-v2/unlockRetry.ts +76 -0
- package/src/protocols/protocol-v2/walletSession.ts +107 -0
- package/src/types/api/checkAllFirmwareRelease.ts +1 -2
- package/src/types/api/deviceSettings.ts +26 -2
- package/src/types/api/deviceUnlock.ts +5 -2
- package/src/types/api/firmwareUpdate.ts +28 -20
- package/src/types/api/getDeviceState.ts +19 -0
- package/src/types/api/getFeatures.ts +3 -0
- package/src/types/api/getOnekeyFeatures.ts +3 -0
- package/src/types/api/getPassphraseState.ts +8 -11
- package/src/types/api/index.ts +30 -53
- package/src/types/api/kaspaSignTransaction.ts +40 -2
- package/src/types/api/openWalletSession.ts +64 -0
- package/src/types/api/protocolV2.ts +58 -55
- package/src/types/api/sessionCache.ts +14 -0
- package/src/types/device.ts +170 -4
- package/src/types/params.ts +4 -0
- package/src/types/settings.ts +42 -30
- package/src/utils/assets.ts +4 -1
- package/src/utils/deviceFeaturesCompat.ts +173 -0
- package/src/utils/deviceFeaturesUtils.ts +68 -24
- package/src/utils/deviceInfoUtils.ts +26 -64
- package/src/utils/deviceSettings.ts +161 -39
- package/src/utils/deviceVersionUtils.ts +25 -44
- package/src/utils/findDefectiveBatchDevice.ts +3 -3
- package/src/utils/homescreen.ts +10 -0
- package/src/utils/index.ts +21 -1
- package/src/utils/networkUtils.ts +270 -14
- package/src/utils/pro2Wallpaper.ts +109 -0
- package/src/utils/tracing.ts +3 -1
- package/dist/api/GetDeviceInfo.d.ts +0 -9
- package/dist/api/GetDeviceInfo.d.ts.map +0 -1
- package/dist/api/protocol-v2/DevReboot.d.ts +0 -7
- package/dist/api/protocol-v2/DevReboot.d.ts.map +0 -1
- package/dist/api/protocol-v2/DeviceGetDeviceInfo.d.ts +0 -29
- package/dist/api/protocol-v2/DeviceGetDeviceInfo.d.ts.map +0 -1
- package/dist/api/protocol-v2/FactoryDeviceInfoSettings.d.ts +0 -7
- package/dist/api/protocol-v2/FactoryDeviceInfoSettings.d.ts.map +0 -1
- package/dist/api/protocol-v2/FactoryGetDeviceInfo.d.ts +0 -6
- package/dist/api/protocol-v2/FactoryGetDeviceInfo.d.ts.map +0 -1
- package/dist/api/protocol-v2/FilesystemDiskControl.d.ts +0 -13
- package/dist/api/protocol-v2/FilesystemDiskControl.d.ts.map +0 -1
- package/dist/api/protocol-v2/FilesystemFixPermission.d.ts.map +0 -1
- package/dist/api/protocol-v2/GetProtoVersion.d.ts +0 -6
- package/dist/api/protocol-v2/GetProtoVersion.d.ts.map +0 -1
- package/dist/deviceProfile/buildDeviceProfile.d.ts +0 -21
- package/dist/deviceProfile/buildDeviceProfile.d.ts.map +0 -1
- package/dist/types/api/getDeviceInfo.d.ts +0 -85
- package/dist/types/api/getDeviceInfo.d.ts.map +0 -1
- package/src/api/GetDeviceInfo.ts +0 -145
- package/src/api/protocol-v2/DevReboot.ts +0 -24
- package/src/api/protocol-v2/DeviceGetDeviceInfo.ts +0 -118
- package/src/api/protocol-v2/FactoryDeviceInfoSettings.ts +0 -29
- package/src/api/protocol-v2/FilesystemDiskControl.ts +0 -50
- package/src/deviceProfile/buildDeviceProfile.ts +0 -334
- package/src/types/api/getDeviceInfo.ts +0 -99
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
import type { CommonParams, Response } from '../params';
|
|
2
|
-
import type { Features, IDeviceType, OnekeyFeatures } from '../device';
|
|
3
|
-
import type { EFirmwareType } from '@onekeyfe/hd-shared';
|
|
4
|
-
import type { ProtocolType, ProtocolV2DeviceInfo } from '@onekeyfe/hd-transport';
|
|
5
|
-
export type DeviceInfoProtocol = ProtocolType | 'unknown';
|
|
6
|
-
export type DeviceInfoSource = 'features' | 'protocolV1OneKeyFeatures' | 'deviceInfo';
|
|
7
|
-
export type DeviceInfoScope = 'basic' | 'versions' | 'verify' | 'full';
|
|
8
|
-
export type GetDeviceInfoParams = {
|
|
9
|
-
scope?: DeviceInfoScope;
|
|
10
|
-
refresh?: boolean;
|
|
11
|
-
includeRaw?: boolean;
|
|
12
|
-
};
|
|
13
|
-
export type DeviceInfoMode = 'normal' | 'bootloader' | 'notInitialized' | 'unknown';
|
|
14
|
-
export type DeviceInfoStatus = {
|
|
15
|
-
mode: DeviceInfoMode;
|
|
16
|
-
initialized: boolean | null;
|
|
17
|
-
bootloaderMode: boolean | null;
|
|
18
|
-
unlocked: boolean | null;
|
|
19
|
-
passphraseProtection: boolean | null;
|
|
20
|
-
backupRequired: boolean | null;
|
|
21
|
-
noBackup: boolean | null;
|
|
22
|
-
language: string | null;
|
|
23
|
-
bleEnabled: boolean | null;
|
|
24
|
-
};
|
|
25
|
-
export type DeviceProfileVersions = {
|
|
26
|
-
firmware: string | null;
|
|
27
|
-
bootloader: string | null;
|
|
28
|
-
board: string | null;
|
|
29
|
-
ble: string | null;
|
|
30
|
-
se01?: string | null;
|
|
31
|
-
se02?: string | null;
|
|
32
|
-
se03?: string | null;
|
|
33
|
-
se04?: string | null;
|
|
34
|
-
se01Boot?: string | null;
|
|
35
|
-
se02Boot?: string | null;
|
|
36
|
-
se03Boot?: string | null;
|
|
37
|
-
se04Boot?: string | null;
|
|
38
|
-
};
|
|
39
|
-
export type DeviceProfileVerify = {
|
|
40
|
-
firmwareBuildId?: string;
|
|
41
|
-
firmwareHash?: string;
|
|
42
|
-
bootloaderBuildId?: string;
|
|
43
|
-
bootloaderHash?: string;
|
|
44
|
-
boardBuildId?: string;
|
|
45
|
-
boardHash?: string;
|
|
46
|
-
bleBuildId?: string;
|
|
47
|
-
bleHash?: string;
|
|
48
|
-
se01BuildId?: string;
|
|
49
|
-
se01Hash?: string;
|
|
50
|
-
se02BuildId?: string;
|
|
51
|
-
se02Hash?: string;
|
|
52
|
-
se03BuildId?: string;
|
|
53
|
-
se03Hash?: string;
|
|
54
|
-
se04BuildId?: string;
|
|
55
|
-
se04Hash?: string;
|
|
56
|
-
se01BootBuildId?: string;
|
|
57
|
-
se01BootHash?: string;
|
|
58
|
-
se02BootBuildId?: string;
|
|
59
|
-
se02BootHash?: string;
|
|
60
|
-
se03BootBuildId?: string;
|
|
61
|
-
se03BootHash?: string;
|
|
62
|
-
se04BootBuildId?: string;
|
|
63
|
-
se04BootHash?: string;
|
|
64
|
-
};
|
|
65
|
-
export type DeviceProfileRaw = {
|
|
66
|
-
features?: Features;
|
|
67
|
-
protocolV1OneKeyFeatures?: OnekeyFeatures;
|
|
68
|
-
protocolV2DeviceInfo?: ProtocolV2DeviceInfo;
|
|
69
|
-
};
|
|
70
|
-
export type DeviceProfile = {
|
|
71
|
-
protocol: DeviceInfoProtocol;
|
|
72
|
-
sources: DeviceInfoSource[];
|
|
73
|
-
deviceType: IDeviceType;
|
|
74
|
-
firmwareType: EFirmwareType;
|
|
75
|
-
deviceId: string;
|
|
76
|
-
serialNo: string;
|
|
77
|
-
label: string | null;
|
|
78
|
-
bleName: string | null;
|
|
79
|
-
status: DeviceInfoStatus;
|
|
80
|
-
versions: DeviceProfileVersions;
|
|
81
|
-
verify?: DeviceProfileVerify;
|
|
82
|
-
raw?: DeviceProfileRaw;
|
|
83
|
-
};
|
|
84
|
-
export declare function getDeviceInfo(connectId?: string, params?: CommonParams & GetDeviceInfoParams): Response<DeviceProfile>;
|
|
85
|
-
//# sourceMappingURL=getDeviceInfo.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getDeviceInfo.d.ts","sourceRoot":"","sources":["../../../src/types/api/getDeviceInfo.ts"],"names":[],"mappings":"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"}
|
package/src/api/GetDeviceInfo.ts
DELETED
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
import semver from 'semver';
|
|
2
|
-
import { EDeviceType, ERRORS, HardwareErrorCode } from '@onekeyfe/hd-shared';
|
|
3
|
-
|
|
4
|
-
import { UI_REQUEST } from '../constants/ui-request';
|
|
5
|
-
import {
|
|
6
|
-
PROTOCOL_V2_DEVICE_INFO_REQUEST,
|
|
7
|
-
PROTOCOL_V2_FEATURES_DEVICE_INFO_REQUEST,
|
|
8
|
-
PROTOCOL_V2_VERSIONS_DEVICE_INFO_REQUEST,
|
|
9
|
-
} from '../protocols/protocol-v2';
|
|
10
|
-
import { requestProtocolV2DeviceInfo } from '../protocols/protocol-v2/features';
|
|
11
|
-
import { buildProfileFromProtocolV1, buildProfileFromProtocolV2 } from '../deviceProfile';
|
|
12
|
-
import { getDeviceType } from '../utils';
|
|
13
|
-
import { fixVersion } from '../utils/deviceFeaturesUtils';
|
|
14
|
-
import { BaseMethod } from './BaseMethod';
|
|
15
|
-
|
|
16
|
-
import type {
|
|
17
|
-
DeviceInfoScope,
|
|
18
|
-
DeviceInfoSource,
|
|
19
|
-
GetDeviceInfoParams,
|
|
20
|
-
} from '../types/api/getDeviceInfo';
|
|
21
|
-
import type { Features, OnekeyFeatures } from '../types';
|
|
22
|
-
|
|
23
|
-
const DEVICE_INFO_SCOPES: readonly DeviceInfoScope[] = ['basic', 'versions', 'verify', 'full'];
|
|
24
|
-
|
|
25
|
-
function isDeviceInfoScope(scope: unknown): scope is DeviceInfoScope {
|
|
26
|
-
return typeof scope === 'string' && DEVICE_INFO_SCOPES.includes(scope as DeviceInfoScope);
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
function normalizeScope(scope: unknown): GetDeviceInfoParams['scope'] {
|
|
30
|
-
if (scope === undefined || scope === null) return 'basic';
|
|
31
|
-
if (isDeviceInfoScope(scope)) {
|
|
32
|
-
return scope;
|
|
33
|
-
}
|
|
34
|
-
throw ERRORS.TypedError(
|
|
35
|
-
HardwareErrorCode.CallMethodInvalidParameter,
|
|
36
|
-
`Invalid getDeviceInfo scope: ${String(scope)}`
|
|
37
|
-
);
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
function resolveProtocolV2DeviceInfoRequest(params: GetDeviceInfoParams) {
|
|
41
|
-
if (params.scope === 'verify' || params.scope === 'full') {
|
|
42
|
-
return PROTOCOL_V2_DEVICE_INFO_REQUEST;
|
|
43
|
-
}
|
|
44
|
-
if (params.scope === 'versions') {
|
|
45
|
-
return PROTOCOL_V2_VERSIONS_DEVICE_INFO_REQUEST;
|
|
46
|
-
}
|
|
47
|
-
return PROTOCOL_V2_FEATURES_DEVICE_INFO_REQUEST;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
function shouldReadOnekeyFeatures(params: GetDeviceInfoParams) {
|
|
51
|
-
return (
|
|
52
|
-
params.includeRaw === true ||
|
|
53
|
-
params.scope === 'versions' ||
|
|
54
|
-
params.scope === 'verify' ||
|
|
55
|
-
params.scope === 'full'
|
|
56
|
-
);
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
function supportOnekeyFeatures(features?: Features) {
|
|
60
|
-
if (!features || features.bootloaderMode) return false;
|
|
61
|
-
|
|
62
|
-
const deviceType = getDeviceType(features);
|
|
63
|
-
return ![
|
|
64
|
-
EDeviceType.Unknown,
|
|
65
|
-
EDeviceType.Classic1s,
|
|
66
|
-
EDeviceType.ClassicPure,
|
|
67
|
-
EDeviceType.Pro2,
|
|
68
|
-
].includes(deviceType);
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
function normalizeOnekeyFeatures(message: OnekeyFeatures) {
|
|
72
|
-
if (message.onekey_firmware_version && !semver.valid(message.onekey_firmware_version)) {
|
|
73
|
-
message.onekey_firmware_version = fixVersion(message.onekey_firmware_version);
|
|
74
|
-
}
|
|
75
|
-
return message;
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
export default class GetDeviceInfo extends BaseMethod<GetDeviceInfoParams> {
|
|
79
|
-
init() {
|
|
80
|
-
this.allowDeviceMode = [
|
|
81
|
-
...this.allowDeviceMode,
|
|
82
|
-
UI_REQUEST.NOT_INITIALIZE,
|
|
83
|
-
UI_REQUEST.BOOTLOADER,
|
|
84
|
-
];
|
|
85
|
-
this.useDevicePassphraseState = false;
|
|
86
|
-
this.skipForceUpdateCheck = true;
|
|
87
|
-
this.params = {
|
|
88
|
-
scope: normalizeScope(this.payload.scope),
|
|
89
|
-
refresh: this.payload.refresh,
|
|
90
|
-
includeRaw: this.payload.includeRaw,
|
|
91
|
-
};
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
async run() {
|
|
95
|
-
if (this.device.isProtocolV2()) {
|
|
96
|
-
return this.runProtocolV2();
|
|
97
|
-
}
|
|
98
|
-
return this.runProtocolV1();
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
private async runProtocolV2() {
|
|
102
|
-
const sources: DeviceInfoSource[] = ['deviceInfo'];
|
|
103
|
-
const protocolV2DeviceInfo = await requestProtocolV2DeviceInfo({
|
|
104
|
-
commands: this.device.commands,
|
|
105
|
-
request: resolveProtocolV2DeviceInfoRequest(this.params),
|
|
106
|
-
});
|
|
107
|
-
const profile = buildProfileFromProtocolV2({
|
|
108
|
-
deviceInfo: protocolV2DeviceInfo,
|
|
109
|
-
sources,
|
|
110
|
-
scope: this.params.scope,
|
|
111
|
-
includeRaw: this.params.includeRaw,
|
|
112
|
-
});
|
|
113
|
-
this.device.updateProtocolV2Features(protocolV2DeviceInfo);
|
|
114
|
-
return profile;
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
private async runProtocolV1() {
|
|
118
|
-
if (this.params.refresh === true) {
|
|
119
|
-
await this.device.getFeatures();
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
const sources: DeviceInfoSource[] = ['features'];
|
|
123
|
-
const { features } = this.device;
|
|
124
|
-
let protocolV1OneKeyFeatures: OnekeyFeatures | undefined;
|
|
125
|
-
|
|
126
|
-
if (shouldReadOnekeyFeatures(this.params) && supportOnekeyFeatures(features)) {
|
|
127
|
-
const { message } = await this.device.commands.typedCall(
|
|
128
|
-
'OnekeyGetFeatures',
|
|
129
|
-
'OnekeyFeatures'
|
|
130
|
-
);
|
|
131
|
-
protocolV1OneKeyFeatures = normalizeOnekeyFeatures(message);
|
|
132
|
-
sources.push('protocolV1OneKeyFeatures');
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
const profile = buildProfileFromProtocolV1({
|
|
136
|
-
protocol: 'V1',
|
|
137
|
-
features,
|
|
138
|
-
protocolV1OneKeyFeatures,
|
|
139
|
-
sources,
|
|
140
|
-
scope: this.params.scope,
|
|
141
|
-
includeRaw: this.params.includeRaw,
|
|
142
|
-
});
|
|
143
|
-
return profile;
|
|
144
|
-
}
|
|
145
|
-
}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { BaseMethod } from '../BaseMethod';
|
|
2
|
-
import { normalizeRebootType } from './helpers';
|
|
3
|
-
|
|
4
|
-
import type { DeviceRebootParams } from './helpers';
|
|
5
|
-
|
|
6
|
-
export default class DevReboot extends BaseMethod<DeviceRebootParams> {
|
|
7
|
-
init() {
|
|
8
|
-
// Protocol V2 (Pro2) 专属方法,core 调度层统一做非 V2 设备守卫
|
|
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 res = await this.device.commands.typedCall('DevReboot', 'Success', {
|
|
20
|
-
reboot_type: normalizeRebootType(this.params.reboot_type ?? this.params.rebootType),
|
|
21
|
-
});
|
|
22
|
-
return Promise.resolve(res.message);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
@@ -1,118 +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
|
-
|
|
7
|
-
export type DeviceGetDeviceInfoTargets = {
|
|
8
|
-
hw?: boolean;
|
|
9
|
-
fw?: boolean;
|
|
10
|
-
bt?: boolean;
|
|
11
|
-
se1?: boolean;
|
|
12
|
-
se2?: boolean;
|
|
13
|
-
se3?: boolean;
|
|
14
|
-
se4?: boolean;
|
|
15
|
-
status?: boolean;
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
export type DeviceGetDeviceInfoTypes = {
|
|
19
|
-
version?: boolean;
|
|
20
|
-
build_id?: boolean;
|
|
21
|
-
hash?: boolean;
|
|
22
|
-
specific?: boolean;
|
|
23
|
-
};
|
|
24
|
-
|
|
25
|
-
export type DeviceGetDeviceInfoParams = {
|
|
26
|
-
targets?: DeviceGetDeviceInfoTargets;
|
|
27
|
-
types?: DeviceGetDeviceInfoTypes;
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
const TARGET_KEYS: (keyof DeviceGetDeviceInfoTargets)[] = [
|
|
31
|
-
'hw',
|
|
32
|
-
'fw',
|
|
33
|
-
'bt',
|
|
34
|
-
'se1',
|
|
35
|
-
'se2',
|
|
36
|
-
'se3',
|
|
37
|
-
'se4',
|
|
38
|
-
'status',
|
|
39
|
-
];
|
|
40
|
-
|
|
41
|
-
const TYPE_KEYS: (keyof DeviceGetDeviceInfoTypes)[] = ['version', 'build_id', 'hash', 'specific'];
|
|
42
|
-
|
|
43
|
-
const DEFAULT_TARGETS: DeviceGetDeviceInfoTargets = {
|
|
44
|
-
hw: true,
|
|
45
|
-
fw: true,
|
|
46
|
-
bt: true,
|
|
47
|
-
status: true,
|
|
48
|
-
};
|
|
49
|
-
|
|
50
|
-
const DEFAULT_TYPES: DeviceGetDeviceInfoTypes = {
|
|
51
|
-
version: true,
|
|
52
|
-
specific: true,
|
|
53
|
-
};
|
|
54
|
-
|
|
55
|
-
function pickBooleanKeys<T extends Record<string, boolean | undefined>>(
|
|
56
|
-
value: unknown,
|
|
57
|
-
keys: (keyof T)[]
|
|
58
|
-
): T | undefined {
|
|
59
|
-
if (!value || typeof value !== 'object' || Array.isArray(value)) return undefined;
|
|
60
|
-
const source = value as Record<string, unknown>;
|
|
61
|
-
const result = {} as T;
|
|
62
|
-
let hasKey = false;
|
|
63
|
-
for (const key of keys) {
|
|
64
|
-
if (source[key as string]) {
|
|
65
|
-
result[key] = true as T[keyof T];
|
|
66
|
-
hasKey = true;
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
return hasKey ? result : undefined;
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
/**
|
|
73
|
-
* 原生 DevGetDeviceInfo(Protocol V2 only)。
|
|
74
|
-
*
|
|
75
|
-
* 与 getDeviceInfo 不同:不构建 DeviceProfile、不更新设备缓存,
|
|
76
|
-
* 按调用方给定的 targets/types 原样请求并返回未加工的 DeviceInfo 消息,
|
|
77
|
-
* 用于调试固件字段上报。
|
|
78
|
-
*/
|
|
79
|
-
export default class DeviceGetDeviceInfo extends BaseMethod<{
|
|
80
|
-
targets: DeviceGetDeviceInfoTargets;
|
|
81
|
-
types: DeviceGetDeviceInfoTypes;
|
|
82
|
-
}> {
|
|
83
|
-
init() {
|
|
84
|
-
// Protocol V2 (Pro2) 专属方法,core 调度层统一做非 V2 设备守卫
|
|
85
|
-
this.requireProtocolV2 = true;
|
|
86
|
-
this.allowDeviceMode = [
|
|
87
|
-
...this.allowDeviceMode,
|
|
88
|
-
UI_REQUEST.NOT_INITIALIZE,
|
|
89
|
-
UI_REQUEST.BOOTLOADER,
|
|
90
|
-
];
|
|
91
|
-
this.useDevicePassphraseState = false;
|
|
92
|
-
this.skipForceUpdateCheck = true;
|
|
93
|
-
this.params = {
|
|
94
|
-
targets:
|
|
95
|
-
pickBooleanKeys<DeviceGetDeviceInfoTargets>(this.payload.targets, TARGET_KEYS) ??
|
|
96
|
-
DEFAULT_TARGETS,
|
|
97
|
-
types:
|
|
98
|
-
pickBooleanKeys<DeviceGetDeviceInfoTypes>(this.payload.types, TYPE_KEYS) ?? DEFAULT_TYPES,
|
|
99
|
-
};
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
async run() {
|
|
103
|
-
if (!this.device.isProtocolV2()) {
|
|
104
|
-
throw createDeviceNotSupportMethodError(this.name, this.device.getCurrentFirmwareType());
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
const res = await this.device.commands.typedCall(
|
|
108
|
-
'DevGetDeviceInfo',
|
|
109
|
-
'DeviceInfo',
|
|
110
|
-
{
|
|
111
|
-
targets: this.params.targets,
|
|
112
|
-
types: this.params.types,
|
|
113
|
-
},
|
|
114
|
-
{ timeoutMs: PROTOCOL_V2_DEVICE_INFO_TIMEOUT_MS }
|
|
115
|
-
);
|
|
116
|
-
return Promise.resolve(res.message);
|
|
117
|
-
}
|
|
118
|
-
}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { BaseMethod } from '../BaseMethod';
|
|
2
|
-
|
|
3
|
-
import type { FactoryDeviceInfoSettingsParams } from './helpers';
|
|
4
|
-
|
|
5
|
-
export default class FactoryDeviceInfoSettings extends BaseMethod<FactoryDeviceInfoSettingsParams> {
|
|
6
|
-
init() {
|
|
7
|
-
// Protocol V2 (Pro2) 专属方法,core 调度层统一做非 V2 设备守卫
|
|
8
|
-
this.requireProtocolV2 = true;
|
|
9
|
-
this.skipForceUpdateCheck = true;
|
|
10
|
-
this.useDevicePassphraseState = false;
|
|
11
|
-
this.params = {
|
|
12
|
-
serial_no: this.payload.serial_no,
|
|
13
|
-
serialNo: this.payload.serialNo,
|
|
14
|
-
cpu_info: this.payload.cpu_info,
|
|
15
|
-
cpuInfo: this.payload.cpuInfo,
|
|
16
|
-
pre_firmware: this.payload.pre_firmware,
|
|
17
|
-
preFirmware: this.payload.preFirmware,
|
|
18
|
-
};
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
async run() {
|
|
22
|
-
const res = await this.device.commands.typedCall('FactoryDeviceInfoSettings', 'Success', {
|
|
23
|
-
serial_no: this.params.serial_no ?? this.params.serialNo,
|
|
24
|
-
cpu_info: this.params.cpu_info ?? this.params.cpuInfo,
|
|
25
|
-
pre_firmware: this.params.pre_firmware ?? this.params.preFirmware,
|
|
26
|
-
});
|
|
27
|
-
return Promise.resolve(res.message);
|
|
28
|
-
}
|
|
29
|
-
}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { BaseMethod } from '../BaseMethod';
|
|
2
|
-
import {
|
|
3
|
-
invalidParameter,
|
|
4
|
-
validateOptionalNonNegativeInteger,
|
|
5
|
-
} from '../helpers/filesystemValidation';
|
|
6
|
-
|
|
7
|
-
export type FilesystemDiskControlParams = {
|
|
8
|
-
// 收紧为 boolean | 0 | 1;'0' / '1' 字符串仅作为历史输入向后兼容,内部归一化为 0/1
|
|
9
|
-
enable?: boolean | 0 | 1;
|
|
10
|
-
timeoutMs?: number | string;
|
|
11
|
-
};
|
|
12
|
-
|
|
13
|
-
function normalizeDiskControlEnable(value: unknown): 0 | 1 {
|
|
14
|
-
if (value === undefined || value === null) return 0;
|
|
15
|
-
if (typeof value === 'boolean') return value ? 1 : 0;
|
|
16
|
-
if (value === 0 || value === '0') return 0;
|
|
17
|
-
if (value === 1 || value === '1') return 1;
|
|
18
|
-
throw invalidParameter('Parameter [enable] must be a boolean or 0 | 1.');
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
export default class FilesystemDiskControl extends BaseMethod<{
|
|
22
|
-
enable: 0 | 1;
|
|
23
|
-
timeoutMs?: number;
|
|
24
|
-
}> {
|
|
25
|
-
init() {
|
|
26
|
-
// Protocol V2 (Pro2) 专属方法,core 调度层统一做非 V2 设备守卫
|
|
27
|
-
this.requireProtocolV2 = true;
|
|
28
|
-
this.skipForceUpdateCheck = true;
|
|
29
|
-
this.useDevicePassphraseState = false;
|
|
30
|
-
this.params = {
|
|
31
|
-
enable: normalizeDiskControlEnable(this.payload.enable),
|
|
32
|
-
timeoutMs: validateOptionalNonNegativeInteger(this.payload.timeoutMs, 'timeoutMs'),
|
|
33
|
-
};
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
async run() {
|
|
37
|
-
const typedCall = this.device.commands.typedCall as any;
|
|
38
|
-
const res = await typedCall(
|
|
39
|
-
'FilesystemDiskControl',
|
|
40
|
-
'Success',
|
|
41
|
-
{
|
|
42
|
-
enable: this.params.enable,
|
|
43
|
-
},
|
|
44
|
-
{
|
|
45
|
-
timeoutMs: this.params.timeoutMs,
|
|
46
|
-
}
|
|
47
|
-
);
|
|
48
|
-
return Promise.resolve(res.message);
|
|
49
|
-
}
|
|
50
|
-
}
|