@onekeyfe/hd-core 1.2.0-alpha.3 → 1.2.0-alpha.30
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 +77 -0
- package/__tests__/DeviceCommands.test.ts +433 -0
- package/__tests__/DeviceEventRegistration.test.ts +43 -0
- package/__tests__/chain-params-onekey-compatibility.test.ts +229 -0
- package/__tests__/connectSettings.test.ts +61 -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 +52 -0
- package/__tests__/device-lifecycle-events.test.ts +197 -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 +286 -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 +358 -0
- package/__tests__/deviceFeaturesUtils.test.ts +39 -0
- package/__tests__/deviceSettings.test.ts +103 -0
- package/__tests__/evmLedgerLegacySafety.test.ts +12 -6
- package/__tests__/evmSignTypedData.test.ts +80 -0
- package/__tests__/filesystemValidation.test.ts +53 -0
- package/__tests__/firmware-update/check-all-firmware-release.test.ts +174 -0
- package/__tests__/firmware-update/firmware-artifact-source.test.ts +119 -0
- package/__tests__/firmware-update/firmware-host-binding.test.ts +70 -0
- package/__tests__/firmware-update/firmware-preparation-error.test.ts +27 -0
- package/__tests__/firmware-update/firmware-update-capabilities.test.ts +13 -0
- package/__tests__/firmware-update/firmware-update-plan.test.ts +593 -0
- package/__tests__/firmware-update/firmware-update-prepared-plan.test.ts +213 -0
- package/__tests__/firmware-update/firmware-update-v2-download-before-boot.test.ts +430 -0
- package/__tests__/firmware-update/firmware-upload-source.test.ts +70 -0
- package/__tests__/get-device-state.test.ts +410 -0
- package/__tests__/homescreen.test.ts +24 -0
- package/__tests__/kaspa-public-types.type-test.ts +16 -0
- package/__tests__/kaspa-use-tweak-pro2.test.ts +20 -0
- package/__tests__/kaspaSignTransaction.test.ts +592 -0
- package/__tests__/logBlockEvent.test.ts +43 -0
- package/__tests__/method-protocol-support.test.ts +113 -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 +915 -0
- package/__tests__/preInitialize.test.ts +33 -0
- package/__tests__/pro2Wallpaper.test.ts +39 -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-ping.test.ts +28 -0
- package/__tests__/protocol-v2-unlock-policy.test.ts +45 -0
- package/__tests__/protocol-v2.test.ts +5310 -1856
- package/__tests__/protocolV2FileWrite.test.ts +92 -0
- package/__tests__/protocolV2UiInteraction.test.ts +266 -0
- package/__tests__/public-device-state-api.test.ts +266 -0
- package/__tests__/public-pro2-api-boundary.test.ts +106 -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/__tests__/tron-sign-message-init.test.ts +74 -0
- package/dist/api/BaseMethod.d.ts +14 -1
- package/dist/api/BaseMethod.d.ts.map +1 -1
- package/dist/api/CheckAllFirmwareRelease.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/CipherKeyValue.d.ts +1 -0
- package/dist/api/CipherKeyValue.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 +1 -0
- package/dist/api/DirList.d.ts.map +1 -1
- package/dist/api/DirMake.d.ts +1 -0
- package/dist/api/DirMake.d.ts.map +1 -1
- package/dist/api/DirRemove.d.ts +1 -0
- package/dist/api/DirRemove.d.ts.map +1 -1
- package/dist/api/FileDelete.d.ts +1 -0
- package/dist/api/FileDelete.d.ts.map +1 -1
- package/dist/api/FileRead.d.ts +1 -0
- package/dist/api/FileRead.d.ts.map +1 -1
- package/dist/api/FileWrite.d.ts +2 -0
- package/dist/api/FileWrite.d.ts.map +1 -1
- package/dist/api/FirmwareUpdate.d.ts.map +1 -1
- package/dist/api/FirmwareUpdateV2.d.ts +13 -2
- package/dist/api/FirmwareUpdateV2.d.ts.map +1 -1
- package/dist/api/FirmwareUpdateV3.d.ts +7 -3
- package/dist/api/FirmwareUpdateV3.d.ts.map +1 -1
- package/dist/api/FirmwareUpdateV4.d.ts +47 -6
- package/dist/api/FirmwareUpdateV4.d.ts.map +1 -1
- package/dist/api/GetDeviceState.d.ts +8 -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 +2 -6
- package/dist/api/GetPassphraseState.d.ts.map +1 -1
- package/dist/api/OpenWalletSession.d.ts +8 -0
- package/dist/api/OpenWalletSession.d.ts.map +1 -0
- package/dist/api/PathInfo.d.ts +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/alephium/AlephiumGetAddress.d.ts.map +1 -1
- package/dist/api/alephium/AlephiumSignMessage.d.ts.map +1 -1
- package/dist/api/alephium/AlephiumSignTransaction.d.ts.map +1 -1
- package/dist/api/algo/AlgoGetAddress.d.ts +1 -0
- package/dist/api/algo/AlgoGetAddress.d.ts.map +1 -1
- package/dist/api/algo/AlgoSignTransaction.d.ts +1 -0
- package/dist/api/algo/AlgoSignTransaction.d.ts.map +1 -1
- package/dist/api/allnetwork/AllNetworkGetAddressBase.d.ts +1 -0
- package/dist/api/allnetwork/AllNetworkGetAddressBase.d.ts.map +1 -1
- package/dist/api/aptos/AptosGetAddress.d.ts +1 -0
- package/dist/api/aptos/AptosGetAddress.d.ts.map +1 -1
- package/dist/api/aptos/AptosGetPublicKey.d.ts +1 -0
- package/dist/api/aptos/AptosGetPublicKey.d.ts.map +1 -1
- package/dist/api/aptos/AptosSignInMessage.d.ts +1 -0
- package/dist/api/aptos/AptosSignInMessage.d.ts.map +1 -1
- package/dist/api/aptos/AptosSignMessage.d.ts +1 -0
- package/dist/api/aptos/AptosSignMessage.d.ts.map +1 -1
- package/dist/api/aptos/AptosSignTransaction.d.ts +1 -0
- package/dist/api/aptos/AptosSignTransaction.d.ts.map +1 -1
- package/dist/api/benfen/BenfenGetAddress.d.ts.map +1 -1
- package/dist/api/benfen/BenfenGetPublicKey.d.ts.map +1 -1
- package/dist/api/benfen/BenfenSignMessage.d.ts.map +1 -1
- package/dist/api/benfen/BenfenSignTransaction.d.ts.map +1 -1
- package/dist/api/btc/BTCGetAddress.d.ts +1 -0
- package/dist/api/btc/BTCGetAddress.d.ts.map +1 -1
- package/dist/api/btc/BTCGetPublicKey.d.ts +1 -0
- package/dist/api/btc/BTCGetPublicKey.d.ts.map +1 -1
- package/dist/api/btc/BTCSignMessage.d.ts +1 -0
- package/dist/api/btc/BTCSignMessage.d.ts.map +1 -1
- package/dist/api/btc/BTCSignPsbt.d.ts +1 -0
- package/dist/api/btc/BTCSignPsbt.d.ts.map +1 -1
- package/dist/api/btc/BTCSignTransaction.d.ts +1 -0
- package/dist/api/btc/BTCSignTransaction.d.ts.map +1 -1
- package/dist/api/btc/BTCVerifyMessage.d.ts +1 -0
- package/dist/api/btc/BTCVerifyMessage.d.ts.map +1 -1
- package/dist/api/btc/helpers/versionLimit.d.ts +2 -0
- package/dist/api/btc/helpers/versionLimit.d.ts.map +1 -1
- package/dist/api/cardano/CardanoGetAddress.d.ts +1 -0
- package/dist/api/cardano/CardanoGetAddress.d.ts.map +1 -1
- package/dist/api/cardano/CardanoGetPublicKey.d.ts +1 -0
- package/dist/api/cardano/CardanoGetPublicKey.d.ts.map +1 -1
- package/dist/api/cardano/CardanoSignMessage.d.ts +1 -0
- package/dist/api/cardano/CardanoSignMessage.d.ts.map +1 -1
- package/dist/api/cardano/CardanoSignTransaction.d.ts +1 -0
- package/dist/api/cardano/CardanoSignTransaction.d.ts.map +1 -1
- package/dist/api/conflux/ConfluxGetAddress.d.ts +2 -0
- package/dist/api/conflux/ConfluxGetAddress.d.ts.map +1 -1
- package/dist/api/conflux/ConfluxSignMessage.d.ts +2 -0
- package/dist/api/conflux/ConfluxSignMessage.d.ts.map +1 -1
- package/dist/api/conflux/ConfluxSignMessageCIP23.d.ts +2 -0
- package/dist/api/conflux/ConfluxSignMessageCIP23.d.ts.map +1 -1
- package/dist/api/conflux/ConfluxSignTransaction.d.ts +2 -0
- package/dist/api/conflux/ConfluxSignTransaction.d.ts.map +1 -1
- package/dist/api/cosmos/CosmosGetAddress.d.ts +1 -0
- package/dist/api/cosmos/CosmosGetAddress.d.ts.map +1 -1
- package/dist/api/cosmos/CosmosGetPublicKey.d.ts +1 -0
- package/dist/api/cosmos/CosmosGetPublicKey.d.ts.map +1 -1
- package/dist/api/cosmos/CosmosSignTransaction.d.ts +1 -0
- package/dist/api/cosmos/CosmosSignTransaction.d.ts.map +1 -1
- package/dist/api/device/DeviceCancel.d.ts +1 -0
- package/dist/api/device/DeviceCancel.d.ts.map +1 -1
- package/dist/api/device/DeviceChangePin.d.ts +1 -0
- 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 +1 -0
- package/dist/api/device/DeviceLock.d.ts.map +1 -1
- package/dist/api/device/DeviceRebootToBoardloader.d.ts +1 -0
- package/dist/api/device/DeviceRebootToBoardloader.d.ts.map +1 -1
- package/dist/api/device/DeviceRebootToBootloader.d.ts +1 -0
- package/dist/api/device/DeviceRebootToBootloader.d.ts.map +1 -1
- package/dist/api/device/DeviceSettings.d.ts +1 -0
- package/dist/api/device/DeviceSettings.d.ts.map +1 -1
- package/dist/api/device/DeviceSupportFeatures.d.ts +1 -0
- package/dist/api/device/DeviceSupportFeatures.d.ts.map +1 -1
- package/dist/api/device/DeviceUnlock.d.ts +1 -0
- package/dist/api/device/DeviceUnlock.d.ts.map +1 -1
- package/dist/api/device/DeviceUpdateBootloader.d.ts +5 -1
- package/dist/api/device/DeviceUpdateBootloader.d.ts.map +1 -1
- package/dist/api/device/DeviceWipe.d.ts +1 -0
- package/dist/api/device/DeviceWipe.d.ts.map +1 -1
- package/dist/api/device/PreInitialize.d.ts +1 -0
- package/dist/api/device/PreInitialize.d.ts.map +1 -1
- package/dist/api/dynex/DnxGetAddress.d.ts.map +1 -1
- package/dist/api/dynex/DnxSignTransaction.d.ts.map +1 -1
- package/dist/api/evm/EVMGetAddress.d.ts +1 -0
- package/dist/api/evm/EVMGetAddress.d.ts.map +1 -1
- package/dist/api/evm/EVMGetPublicKey.d.ts +1 -0
- package/dist/api/evm/EVMGetPublicKey.d.ts.map +1 -1
- package/dist/api/evm/EVMSignMessage.d.ts +1 -0
- package/dist/api/evm/EVMSignMessage.d.ts.map +1 -1
- package/dist/api/evm/EVMSignMessageEIP712.d.ts.map +1 -1
- package/dist/api/evm/EVMSignTransaction.d.ts +1 -0
- package/dist/api/evm/EVMSignTransaction.d.ts.map +1 -1
- package/dist/api/evm/EVMSignTypedData.d.ts +1 -0
- package/dist/api/evm/EVMSignTypedData.d.ts.map +1 -1
- package/dist/api/evm/EVMVerifyMessage.d.ts +1 -0
- package/dist/api/evm/EVMVerifyMessage.d.ts.map +1 -1
- package/dist/api/filecoin/FilecoinGetAddress.d.ts +1 -0
- package/dist/api/filecoin/FilecoinGetAddress.d.ts.map +1 -1
- package/dist/api/filecoin/FilecoinSignTransaction.d.ts +1 -0
- package/dist/api/filecoin/FilecoinSignTransaction.d.ts.map +1 -1
- package/dist/api/firmware/FirmwareArtifactSource.d.ts +25 -0
- package/dist/api/firmware/FirmwareArtifactSource.d.ts.map +1 -0
- package/dist/api/firmware/FirmwareHostBinding.d.ts +6 -0
- package/dist/api/firmware/FirmwareHostBinding.d.ts.map +1 -0
- package/dist/api/firmware/FirmwarePreparationError.d.ts +3 -0
- package/dist/api/firmware/FirmwarePreparationError.d.ts.map +1 -0
- package/dist/api/firmware/FirmwareUpdateBaseMethod.d.ts +8 -0
- package/dist/api/firmware/FirmwareUpdateBaseMethod.d.ts.map +1 -1
- package/dist/api/firmware/FirmwareUpdateCapabilities.d.ts +3 -0
- package/dist/api/firmware/FirmwareUpdateCapabilities.d.ts.map +1 -0
- package/dist/api/firmware/FirmwareUpdatePlan.d.ts +25 -0
- package/dist/api/firmware/FirmwareUpdatePlan.d.ts.map +1 -0
- package/dist/api/firmware/FirmwareUpdatePreparedPlan.d.ts +30 -0
- package/dist/api/firmware/FirmwareUpdatePreparedPlan.d.ts.map +1 -0
- package/dist/api/firmware/getBinary.d.ts +18 -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/firmware/updateBootloader.d.ts +2 -0
- package/dist/api/firmware/updateBootloader.d.ts.map +1 -1
- package/dist/api/firmware/uploadFirmware.d.ts +9 -1
- package/dist/api/firmware/uploadFirmware.d.ts.map +1 -1
- 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 +6 -29
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/kaspa/KaspaGetAddress.d.ts +4 -0
- package/dist/api/kaspa/KaspaGetAddress.d.ts.map +1 -1
- package/dist/api/kaspa/KaspaSignTransaction.d.ts +9 -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/lightning/LnurlAuth.d.ts +0 -4
- package/dist/api/lightning/LnurlAuth.d.ts.map +1 -1
- package/dist/api/near/NearGetAddress.d.ts +1 -0
- package/dist/api/near/NearGetAddress.d.ts.map +1 -1
- package/dist/api/near/NearSignTransaction.d.ts +1 -0
- package/dist/api/near/NearSignTransaction.d.ts.map +1 -1
- package/dist/api/nem/NEMGetAddress.d.ts +1 -0
- package/dist/api/nem/NEMGetAddress.d.ts.map +1 -1
- package/dist/api/nem/NEMSignTransaction.d.ts +1 -0
- package/dist/api/nem/NEMSignTransaction.d.ts.map +1 -1
- package/dist/api/neo/NeoGetAddress.d.ts.map +1 -1
- package/dist/api/neo/NeoSignTransaction.d.ts.map +1 -1
- package/dist/api/nervos/NervosGetAddress.d.ts.map +1 -1
- package/dist/api/nervos/NervosSignTransaction.d.ts.map +1 -1
- package/dist/api/nexa/NexaGetAddress.d.ts.map +1 -1
- package/dist/api/nexa/NexaSignTransaction.d.ts +1 -0
- package/dist/api/nexa/NexaSignTransaction.d.ts.map +1 -1
- package/dist/api/nostr/NostrDecryptMessage.d.ts +1 -0
- package/dist/api/nostr/NostrDecryptMessage.d.ts.map +1 -1
- package/dist/api/nostr/NostrEncryptMessage.d.ts +1 -0
- package/dist/api/nostr/NostrEncryptMessage.d.ts.map +1 -1
- package/dist/api/nostr/NostrGetPublicKey.d.ts +1 -0
- package/dist/api/nostr/NostrGetPublicKey.d.ts.map +1 -1
- package/dist/api/nostr/NostrSignEvent.d.ts +1 -0
- package/dist/api/nostr/NostrSignEvent.d.ts.map +1 -1
- package/dist/api/nostr/NostrSignSchnorr.d.ts +1 -0
- package/dist/api/nostr/NostrSignSchnorr.d.ts.map +1 -1
- package/dist/api/polkadot/PolkadotGetAddress.d.ts +1 -0
- package/dist/api/polkadot/PolkadotGetAddress.d.ts.map +1 -1
- package/dist/api/polkadot/PolkadotSignTransaction.d.ts +1 -0
- package/dist/api/polkadot/PolkadotSignTransaction.d.ts.map +1 -1
- package/dist/api/protocol-v2/DeviceFactoryInfoGet.d.ts +7 -0
- package/dist/api/protocol-v2/DeviceFactoryInfoGet.d.ts.map +1 -0
- package/dist/api/protocol-v2/DeviceFactoryInfoSet.d.ts +8 -0
- package/dist/api/protocol-v2/DeviceFactoryInfoSet.d.ts.map +1 -0
- package/dist/api/protocol-v2/DeviceFirmwareUpdate.d.ts +2 -1
- package/dist/api/protocol-v2/DeviceFirmwareUpdate.d.ts.map +1 -1
- package/dist/api/protocol-v2/DeviceGetFirmwareUpdateStatus.d.ts +4 -2
- package/dist/api/protocol-v2/DeviceGetFirmwareUpdateStatus.d.ts.map +1 -1
- package/dist/api/protocol-v2/DeviceGetOnboardingStatus.d.ts +2 -1
- package/dist/api/protocol-v2/DeviceGetOnboardingStatus.d.ts.map +1 -1
- package/dist/api/protocol-v2/DeviceInfoGet.d.ts +29 -0
- package/dist/api/protocol-v2/DeviceInfoGet.d.ts.map +1 -0
- package/dist/api/protocol-v2/DeviceReboot.d.ts +1 -0
- package/dist/api/protocol-v2/DeviceReboot.d.ts.map +1 -1
- package/dist/api/protocol-v2/DeviceStatusGet.d.ts +7 -0
- package/dist/api/protocol-v2/DeviceStatusGet.d.ts.map +1 -0
- package/dist/api/protocol-v2/DeviceUploadWallpaper.d.ts +27 -0
- package/dist/api/protocol-v2/DeviceUploadWallpaper.d.ts.map +1 -0
- package/dist/api/protocol-v2/FilesystemFormat.d.ts +1 -0
- package/dist/api/protocol-v2/FilesystemFormat.d.ts.map +1 -1
- package/dist/api/protocol-v2/FilesystemPermissionFix.d.ts +7 -0
- package/dist/api/protocol-v2/FilesystemPermissionFix.d.ts.map +1 -0
- package/dist/api/protocol-v2/Ping.d.ts +3 -0
- package/dist/api/protocol-v2/Ping.d.ts.map +1 -1
- package/dist/api/protocol-v2/ProtocolInfoRequest.d.ts +7 -0
- package/dist/api/protocol-v2/ProtocolInfoRequest.d.ts.map +1 -0
- package/dist/api/protocol-v2/helpers.d.ts +27 -18
- package/dist/api/protocol-v2/helpers.d.ts.map +1 -1
- package/dist/api/scdo/ScdoGetAddress.d.ts.map +1 -1
- package/dist/api/scdo/ScdoSignMessage.d.ts.map +1 -1
- package/dist/api/scdo/ScdoSignTransaction.d.ts.map +1 -1
- package/dist/api/solana/SolGetAddress.d.ts +1 -0
- package/dist/api/solana/SolGetAddress.d.ts.map +1 -1
- package/dist/api/solana/SolSignMessage.d.ts +1 -0
- package/dist/api/solana/SolSignMessage.d.ts.map +1 -1
- package/dist/api/solana/SolSignOffchainMessage.d.ts +1 -0
- package/dist/api/solana/SolSignOffchainMessage.d.ts.map +1 -1
- package/dist/api/solana/SolSignTransaction.d.ts +1 -0
- package/dist/api/solana/SolSignTransaction.d.ts.map +1 -1
- package/dist/api/starcoin/StarcoinGetAddress.d.ts +1 -0
- package/dist/api/starcoin/StarcoinGetAddress.d.ts.map +1 -1
- package/dist/api/starcoin/StarcoinGetPublicKey.d.ts +1 -0
- package/dist/api/starcoin/StarcoinGetPublicKey.d.ts.map +1 -1
- package/dist/api/starcoin/StarcoinSignMessage.d.ts +1 -0
- package/dist/api/starcoin/StarcoinSignMessage.d.ts.map +1 -1
- package/dist/api/starcoin/StarcoinSignTransaction.d.ts +1 -0
- package/dist/api/starcoin/StarcoinSignTransaction.d.ts.map +1 -1
- package/dist/api/starcoin/StarcoinVerifyMessage.d.ts +1 -0
- package/dist/api/starcoin/StarcoinVerifyMessage.d.ts.map +1 -1
- package/dist/api/stellar/StellarGetAddress.d.ts +1 -2
- package/dist/api/stellar/StellarGetAddress.d.ts.map +1 -1
- package/dist/api/stellar/StellarSignTransaction.d.ts +2 -3
- package/dist/api/stellar/StellarSignTransaction.d.ts.map +1 -1
- package/dist/api/sui/SuiGetAddress.d.ts +1 -0
- package/dist/api/sui/SuiGetAddress.d.ts.map +1 -1
- package/dist/api/sui/SuiGetPublicKey.d.ts +1 -0
- package/dist/api/sui/SuiGetPublicKey.d.ts.map +1 -1
- package/dist/api/sui/SuiSignMessage.d.ts +1 -0
- package/dist/api/sui/SuiSignMessage.d.ts.map +1 -1
- package/dist/api/sui/SuiSignTransaction.d.ts +1 -0
- package/dist/api/sui/SuiSignTransaction.d.ts.map +1 -1
- package/dist/api/ton/TonGetAddress.d.ts +1 -0
- package/dist/api/ton/TonGetAddress.d.ts.map +1 -1
- package/dist/api/ton/TonSignData.d.ts +2 -5
- package/dist/api/ton/TonSignData.d.ts.map +1 -1
- package/dist/api/ton/TonSignMessage.d.ts +1 -0
- package/dist/api/ton/TonSignMessage.d.ts.map +1 -1
- package/dist/api/ton/TonSignProof.d.ts +1 -0
- package/dist/api/ton/TonSignProof.d.ts.map +1 -1
- package/dist/api/tron/TronGetAddress.d.ts +1 -0
- package/dist/api/tron/TronGetAddress.d.ts.map +1 -1
- package/dist/api/tron/TronSignMessage.d.ts +5 -0
- package/dist/api/tron/TronSignMessage.d.ts.map +1 -1
- package/dist/api/tron/TronSignTransaction.d.ts +1 -0
- package/dist/api/tron/TronSignTransaction.d.ts.map +1 -1
- package/dist/api/utils.d.ts +2 -1
- package/dist/api/utils.d.ts.map +1 -1
- package/dist/api/xrp/XrpGetAddress.d.ts +1 -0
- package/dist/api/xrp/XrpGetAddress.d.ts.map +1 -1
- package/dist/api/xrp/XrpSignTransaction.d.ts +1 -0
- package/dist/api/xrp/XrpSignTransaction.d.ts.map +1 -1
- package/dist/constants/index.d.ts +1 -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 +2 -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 +40 -13
- 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 +12 -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 +19 -2
- package/dist/events/ui-request.d.ts.map +1 -1
- package/dist/index.d.ts +1487 -691
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8828 -4013
- package/dist/inject.d.ts.map +1 -1
- package/dist/lowLevelInject.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/unlockPolicy.d.ts +4 -0
- package/dist/protocols/protocol-v2/unlockPolicy.d.ts.map +1 -0
- package/dist/protocols/protocol-v2/unlockRetry.d.ts +10 -0
- package/dist/protocols/protocol-v2/unlockRetry.d.ts.map +1 -0
- package/dist/protocols/protocol-v2/walletSession.d.ts +31 -0
- package/dist/protocols/protocol-v2/walletSession.d.ts.map +1 -0
- package/dist/topLevelInject.d.ts.map +1 -1
- package/dist/types/api/checkAllFirmwareRelease.d.ts +5 -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 +1 -1
- package/dist/types/api/deviceUnlock.d.ts.map +1 -1
- package/dist/types/api/deviceUpdateBootloader.d.ts +6 -0
- package/dist/types/api/deviceUpdateBootloader.d.ts.map +1 -1
- package/dist/types/api/export.d.ts +5 -2
- package/dist/types/api/export.d.ts.map +1 -1
- package/dist/types/api/firmwareUpdate.d.ts +75 -6
- package/dist/types/api/firmwareUpdate.d.ts.map +1 -1
- package/dist/types/api/firmwareUpdateCapabilities.d.ts +9 -0
- package/dist/types/api/firmwareUpdateCapabilities.d.ts.map +1 -0
- package/dist/types/api/firmwareUpdatePlan.d.ts +28 -0
- package/dist/types/api/firmwareUpdatePlan.d.ts.map +1 -0
- package/dist/types/api/firmwareUpdatePreparedPlan.d.ts +42 -0
- package/dist/types/api/firmwareUpdatePreparedPlan.d.ts.map +1 -0
- 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 +25 -35
- package/dist/types/api/index.d.ts.map +1 -1
- package/dist/types/api/kaspaSignTransaction.d.ts +42 -4
- package/dist/types/api/kaspaSignTransaction.d.ts.map +1 -1
- package/dist/types/api/openWalletSession.d.ts +29 -0
- package/dist/types/api/openWalletSession.d.ts.map +1 -0
- package/dist/types/api/protocolV2.d.ts +15 -89
- package/dist/types/api/protocolV2.d.ts.map +1 -1
- package/dist/types/api/sessionCache.d.ts +13 -0
- package/dist/types/api/sessionCache.d.ts.map +1 -0
- package/dist/types/device.d.ts +122 -6
- 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 +34 -2
- 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 +11 -3
- package/dist/utils/deviceFeaturesUtils.d.ts.map +1 -1
- package/dist/utils/deviceInfoUtils.d.ts +9 -9
- 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 +7 -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 +52 -17
- package/src/api/CheckAllFirmwareRelease.ts +51 -4
- package/src/api/CheckBootloaderRelease.ts +1 -2
- package/src/api/CheckFirmwareRelease.ts +1 -2
- package/src/api/CipherKeyValue.ts +4 -0
- package/src/api/ClearSessionCache.ts +32 -0
- package/src/api/DirList.ts +9 -4
- package/src/api/DirMake.ts +7 -4
- package/src/api/DirRemove.ts +7 -4
- package/src/api/FileDelete.ts +7 -4
- package/src/api/FileRead.ts +27 -8
- package/src/api/FileWrite.ts +26 -168
- package/src/api/FirmwareUpdate.ts +11 -12
- package/src/api/FirmwareUpdateV2.ts +370 -112
- package/src/api/FirmwareUpdateV3.ts +261 -67
- package/src/api/FirmwareUpdateV4.ts +1687 -397
- package/src/api/GetDeviceState.ts +59 -0
- package/src/api/GetFeatures.ts +6 -4
- package/src/api/GetOnekeyFeatures.ts +1 -75
- package/src/api/GetPassphraseState.ts +21 -21
- package/src/api/OpenWalletSession.ts +202 -0
- package/src/api/PathInfo.ts +9 -4
- 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/AlephiumGetAddress.ts +0 -4
- package/src/api/alephium/AlephiumSignMessage.ts +0 -4
- package/src/api/alephium/AlephiumSignTransaction.ts +2 -6
- package/src/api/algo/AlgoGetAddress.ts +4 -0
- package/src/api/algo/AlgoSignTransaction.ts +4 -0
- package/src/api/allnetwork/AllNetworkGetAddressBase.ts +9 -21
- package/src/api/aptos/AptosGetAddress.ts +4 -0
- package/src/api/aptos/AptosGetPublicKey.ts +4 -0
- package/src/api/aptos/AptosSignInMessage.ts +4 -0
- package/src/api/aptos/AptosSignMessage.ts +4 -0
- package/src/api/aptos/AptosSignTransaction.ts +4 -0
- package/src/api/benfen/BenfenGetAddress.ts +11 -7
- package/src/api/benfen/BenfenGetPublicKey.ts +0 -4
- package/src/api/benfen/BenfenSignMessage.ts +0 -4
- package/src/api/benfen/BenfenSignTransaction.ts +0 -4
- package/src/api/btc/BTCGetAddress.ts +8 -1
- package/src/api/btc/BTCGetPublicKey.ts +9 -2
- package/src/api/btc/BTCSignMessage.ts +8 -1
- package/src/api/btc/BTCSignPsbt.ts +4 -0
- package/src/api/btc/BTCSignTransaction.ts +8 -1
- package/src/api/btc/BTCVerifyMessage.ts +8 -1
- package/src/api/btc/helpers/versionLimit.ts +7 -4
- package/src/api/cardano/CardanoGetAddress.ts +4 -0
- package/src/api/cardano/CardanoGetPublicKey.ts +4 -0
- package/src/api/cardano/CardanoSignMessage.ts +5 -1
- package/src/api/cardano/CardanoSignTransaction.ts +5 -1
- package/src/api/conflux/ConfluxGetAddress.ts +6 -0
- package/src/api/conflux/ConfluxSignMessage.ts +6 -0
- package/src/api/conflux/ConfluxSignMessageCIP23.ts +6 -0
- package/src/api/conflux/ConfluxSignTransaction.ts +8 -5
- package/src/api/cosmos/CosmosGetAddress.ts +4 -0
- package/src/api/cosmos/CosmosGetPublicKey.ts +4 -0
- package/src/api/cosmos/CosmosSignTransaction.ts +4 -0
- package/src/api/device/DeviceCancel.ts +5 -0
- package/src/api/device/DeviceChangePin.ts +28 -0
- package/src/api/device/DeviceFullyUploadResource.ts +4 -5
- package/src/api/device/DeviceLock.ts +5 -0
- package/src/api/device/DeviceRebootToBoardloader.ts +9 -4
- package/src/api/device/DeviceRebootToBootloader.ts +9 -4
- package/src/api/device/DeviceSettings.ts +187 -1
- package/src/api/device/DeviceSupportFeatures.ts +4 -0
- package/src/api/device/DeviceUnlock.ts +13 -0
- package/src/api/device/DeviceUpdateBootloader.ts +123 -8
- package/src/api/device/DeviceWipe.ts +25 -0
- package/src/api/device/PreInitialize.ts +4 -0
- package/src/api/dynex/DnxGetAddress.ts +0 -6
- package/src/api/dynex/DnxSignTransaction.ts +0 -6
- package/src/api/evm/EVMGetAddress.ts +4 -0
- package/src/api/evm/EVMGetPublicKey.ts +4 -0
- package/src/api/evm/EVMSignMessage.ts +4 -0
- package/src/api/evm/EVMSignMessageEIP712.ts +1 -11
- package/src/api/evm/EVMSignTransaction.ts +4 -0
- package/src/api/evm/EVMSignTypedData.ts +7 -5
- package/src/api/evm/EVMVerifyMessage.ts +4 -0
- 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/filecoin/FilecoinGetAddress.ts +4 -0
- package/src/api/filecoin/FilecoinSignTransaction.ts +4 -0
- package/src/api/firmware/FirmwareArtifactSource.ts +278 -0
- package/src/api/firmware/FirmwareHostBinding.ts +100 -0
- package/src/api/firmware/FirmwarePreparationError.ts +12 -0
- package/src/api/firmware/FirmwareUpdateBaseMethod.ts +71 -7
- package/src/api/firmware/FirmwareUpdateCapabilities.ts +9 -0
- package/src/api/firmware/FirmwareUpdatePlan.ts +745 -0
- package/src/api/firmware/FirmwareUpdatePreparedPlan.ts +392 -0
- package/src/api/firmware/getBinary.ts +8 -3
- package/src/api/firmware/progressThrottle.ts +44 -0
- package/src/api/firmware/updateBootloader.ts +19 -4
- package/src/api/firmware/uploadFirmware.ts +140 -22
- 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 +199 -0
- package/src/api/index.ts +7 -30
- package/src/api/kaspa/KaspaGetAddress.ts +7 -0
- package/src/api/kaspa/KaspaSignTransaction.ts +373 -29
- package/src/api/kaspa/helpers/TransferSerialize.ts +17 -7
- package/src/api/lightning/LnurlAuth.ts +0 -4
- package/src/api/near/NearGetAddress.ts +4 -0
- package/src/api/near/NearSignTransaction.ts +4 -0
- package/src/api/nem/NEMGetAddress.ts +4 -0
- package/src/api/nem/NEMSignTransaction.ts +4 -0
- package/src/api/neo/NeoGetAddress.ts +0 -4
- package/src/api/neo/NeoSignTransaction.ts +0 -4
- package/src/api/nervos/NervosGetAddress.ts +0 -4
- package/src/api/nervos/NervosSignTransaction.ts +2 -6
- package/src/api/nexa/NexaGetAddress.ts +0 -4
- package/src/api/nexa/NexaSignTransaction.ts +3 -5
- package/src/api/nostr/NostrDecryptMessage.ts +4 -0
- package/src/api/nostr/NostrEncryptMessage.ts +4 -0
- package/src/api/nostr/NostrGetPublicKey.ts +4 -0
- package/src/api/nostr/NostrSignEvent.ts +4 -0
- package/src/api/nostr/NostrSignSchnorr.ts +4 -0
- package/src/api/polkadot/PolkadotGetAddress.ts +4 -0
- package/src/api/polkadot/PolkadotSignTransaction.ts +4 -0
- package/src/api/protocol-v2/{FactoryGetDeviceInfo.ts → DeviceFactoryInfoGet.ts} +8 -5
- package/src/api/protocol-v2/DeviceFactoryInfoSet.ts +35 -0
- package/src/api/protocol-v2/DeviceFirmwareUpdate.ts +11 -10
- package/src/api/protocol-v2/DeviceGetFirmwareUpdateStatus.ts +45 -7
- package/src/api/protocol-v2/DeviceGetOnboardingStatus.ts +10 -5
- package/src/api/protocol-v2/DeviceInfoGet.ts +141 -0
- package/src/api/protocol-v2/DeviceReboot.ts +8 -4
- package/src/api/protocol-v2/DeviceStatusGet.ts +19 -0
- package/src/api/protocol-v2/DeviceUploadWallpaper.ts +134 -0
- package/src/api/protocol-v2/FilesystemFormat.ts +9 -3
- package/src/api/protocol-v2/{FilesystemFixPermission.ts → FilesystemPermissionFix.ts} +7 -4
- package/src/api/protocol-v2/Ping.ts +37 -3
- package/src/api/protocol-v2/ProtocolInfoRequest.ts +19 -0
- package/src/api/protocol-v2/helpers.ts +71 -50
- package/src/api/scdo/ScdoGetAddress.ts +0 -4
- package/src/api/scdo/ScdoSignMessage.ts +0 -4
- package/src/api/scdo/ScdoSignTransaction.ts +0 -4
- package/src/api/solana/SolGetAddress.ts +4 -0
- package/src/api/solana/SolSignMessage.ts +4 -0
- package/src/api/solana/SolSignOffchainMessage.ts +4 -0
- package/src/api/solana/SolSignTransaction.ts +4 -0
- package/src/api/starcoin/StarcoinGetAddress.ts +4 -0
- package/src/api/starcoin/StarcoinGetPublicKey.ts +4 -0
- package/src/api/starcoin/StarcoinSignMessage.ts +4 -0
- package/src/api/starcoin/StarcoinSignTransaction.ts +4 -0
- package/src/api/starcoin/StarcoinVerifyMessage.ts +4 -0
- package/src/api/stellar/StellarGetAddress.ts +1 -10
- package/src/api/stellar/StellarSignTransaction.ts +1 -14
- package/src/api/sui/SuiGetAddress.ts +4 -0
- package/src/api/sui/SuiGetPublicKey.ts +4 -0
- package/src/api/sui/SuiSignMessage.ts +4 -0
- package/src/api/sui/SuiSignTransaction.ts +4 -0
- package/src/api/ton/TonGetAddress.ts +4 -0
- package/src/api/ton/TonSignData.ts +6 -6
- package/src/api/ton/TonSignMessage.ts +4 -0
- package/src/api/ton/TonSignProof.ts +4 -0
- package/src/api/tron/TronGetAddress.ts +4 -0
- package/src/api/tron/TronSignMessage.ts +18 -7
- package/src/api/tron/TronSignTransaction.ts +4 -0
- package/src/api/utils.ts +7 -3
- package/src/api/xrp/XrpGetAddress.ts +4 -0
- package/src/api/xrp/XrpSignTransaction.ts +5 -1
- package/src/constants/index.ts +1 -4
- package/src/core/RequestQueue.ts +1 -0
- package/src/core/deviceEventRegistration.ts +23 -0
- package/src/core/index.ts +181 -58
- package/src/data/messages/messages-protocol-v2.json +796 -620
- package/src/data/messages/messages.json +286 -1
- package/src/data-manager/DataManager.ts +45 -38
- package/src/data-manager/TransportManager.ts +1 -1
- package/src/data-manager/connectSettings.ts +13 -4
- package/src/device/Device.ts +573 -278
- package/src/device/DeviceCommands.ts +154 -156
- package/src/device/DeviceFeaturesState.ts +25 -0
- package/src/device/DevicePool.ts +61 -13
- package/src/device/DeviceStateMapper.ts +366 -0
- package/src/device/DeviceStateProjector.ts +101 -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 +234 -210
- package/src/deviceProfile/index.ts +0 -1
- package/src/events/device.ts +18 -1
- package/src/events/logBlockEvent.ts +1 -7
- package/src/events/ui-request.ts +25 -2
- package/src/index.ts +5 -0
- package/src/inject.ts +35 -47
- package/src/lowLevelInject.ts +5 -1
- package/src/protocols/protocol-v2/deviceSession.ts +24 -0
- package/src/protocols/protocol-v2/features.ts +68 -83
- 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 +60 -0
- package/src/protocols/protocol-v2/uiInteraction.ts +210 -0
- package/src/protocols/protocol-v2/unlockPolicy.ts +105 -0
- package/src/protocols/protocol-v2/unlockRetry.ts +98 -0
- package/src/protocols/protocol-v2/walletSession.ts +202 -0
- package/src/topLevelInject.ts +5 -1
- package/src/types/api/checkAllFirmwareRelease.ts +5 -2
- package/src/types/api/deviceSettings.ts +26 -2
- package/src/types/api/deviceUnlock.ts +1 -1
- package/src/types/api/deviceUpdateBootloader.ts +6 -0
- package/src/types/api/export.ts +21 -0
- package/src/types/api/firmwareUpdate.ts +103 -19
- package/src/types/api/firmwareUpdateCapabilities.ts +9 -0
- package/src/types/api/firmwareUpdatePlan.ts +38 -0
- package/src/types/api/firmwareUpdatePreparedPlan.ts +53 -0
- 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 +9 -11
- package/src/types/api/index.ts +33 -73
- package/src/types/api/kaspaSignTransaction.ts +60 -4
- package/src/types/api/openWalletSession.ts +45 -0
- package/src/types/api/protocolV2.ts +23 -162
- package/src/types/api/sessionCache.ts +19 -0
- package/src/types/device.ts +172 -5
- package/src/types/params.ts +4 -0
- package/src/types/settings.ts +55 -35
- package/src/utils/assets.ts +4 -1
- package/src/utils/deviceFeaturesCompat.ts +173 -0
- package/src/utils/deviceFeaturesUtils.ts +66 -24
- package/src/utils/deviceInfoUtils.ts +27 -69
- package/src/utils/deviceSettings.ts +171 -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 -2
- package/src/utils/networkUtils.ts +270 -14
- package/src/utils/pro2Wallpaper.ts +109 -0
- package/src/utils/tracing.ts +3 -1
- package/tsconfig.type-tests.json +8 -0
- 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 +0 -6
- 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/api/protocol-v2/GetProtoVersion.ts +0 -16
- package/src/deviceProfile/buildDeviceProfile.ts +0 -333
- package/src/types/api/getDeviceInfo.ts +0 -99
package/src/types/settings.ts
CHANGED
|
@@ -31,20 +31,54 @@ export type ConnectSettings = {
|
|
|
31
31
|
timestamp: number;
|
|
32
32
|
isFrame?: boolean;
|
|
33
33
|
preRelease?: boolean;
|
|
34
|
+
firmwareManifestMode?: 'sdk-managed' | 'external-only';
|
|
35
|
+
preloadedConfig?: RemoteConfigResponse;
|
|
34
36
|
fetchConfig?: boolean;
|
|
35
37
|
extension?: string;
|
|
36
38
|
configFetcher?: (url: string) => Promise<RemoteConfigResponse | null>;
|
|
37
|
-
/**
|
|
38
|
-
* 临时开关:Protocol V2 DevGetDeviceInfo 未稳定前用于 mock 设备信息。
|
|
39
|
-
* 正式 app 可显式设置为 false 以调用真实 DevGetDeviceInfo;固件稳定后删除。
|
|
40
|
-
*/
|
|
41
|
-
protocolV2DeviceInfoMockEnabled?: boolean;
|
|
42
39
|
};
|
|
43
40
|
|
|
44
41
|
export type IVersionArray = [number, number, number];
|
|
45
42
|
|
|
46
43
|
export type ILocale = 'zh-CN' | 'en-US';
|
|
47
44
|
|
|
45
|
+
export type IProtocolV2FirmwareComponentTarget =
|
|
46
|
+
| 'ROMLOADER'
|
|
47
|
+
| 'BOOTLOADER'
|
|
48
|
+
| 'APPLICATION_P1'
|
|
49
|
+
| 'APPLICATION_P2'
|
|
50
|
+
| 'COPROCESSOR'
|
|
51
|
+
| 'SE01'
|
|
52
|
+
| 'SE02'
|
|
53
|
+
| 'SE03'
|
|
54
|
+
| 'SE04';
|
|
55
|
+
|
|
56
|
+
export type IProtocolV2FirmwareComponent = {
|
|
57
|
+
target: IProtocolV2FirmwareComponentTarget;
|
|
58
|
+
url: string;
|
|
59
|
+
fingerprint?: string;
|
|
60
|
+
expectedSize?: number;
|
|
61
|
+
version?: IVersionArray;
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
/** Pro2 RESC bundle okpkg descriptor for incremental FileWrite synchronization. */
|
|
65
|
+
export type IProtocolV2ResourceBundle = {
|
|
66
|
+
/** Bundle name, such as images, animation, translations, or fonts_roobert. */
|
|
67
|
+
name: string;
|
|
68
|
+
/** Download URL. */
|
|
69
|
+
url: string;
|
|
70
|
+
fingerprint?: string;
|
|
71
|
+
expectedSize?: number;
|
|
72
|
+
/** Device target path, such as vol0:/bundles/images/images.okpkg. */
|
|
73
|
+
devicePath: string;
|
|
74
|
+
/** okpkg payload_version used to skip matching content after FileRead. */
|
|
75
|
+
version?: IVersionArray;
|
|
76
|
+
/** okpkg payload_hash used for SHA3-512 comparison after FileRead. */
|
|
77
|
+
payloadHash?: string;
|
|
78
|
+
/** okpkg header_hash used for SHA3-512 comparison after FileRead. */
|
|
79
|
+
headerHash?: string;
|
|
80
|
+
};
|
|
81
|
+
|
|
48
82
|
/** STM32 firmware config */
|
|
49
83
|
export type IFirmwareReleaseInfo = {
|
|
50
84
|
required: boolean;
|
|
@@ -56,17 +90,29 @@ export type IFirmwareReleaseInfo = {
|
|
|
56
90
|
firmwareType?: EFirmwareType;
|
|
57
91
|
/** Firmware UI resource */
|
|
58
92
|
resource?: string;
|
|
93
|
+
resourceFingerprint?: string;
|
|
94
|
+
resourceExpectedSize?: number;
|
|
59
95
|
/** Firmware full UI resource */
|
|
60
96
|
fullResource?: string;
|
|
97
|
+
fullResourceFingerprint?: string;
|
|
98
|
+
fullResourceExpectedSize?: number;
|
|
61
99
|
fullResourceRange?: string[];
|
|
62
100
|
bootloaderResource?: string;
|
|
101
|
+
bootloaderFingerprint?: string;
|
|
102
|
+
bootloaderExpectedSize?: number;
|
|
63
103
|
bootloaderVersion?: IVersionArray;
|
|
64
104
|
displayBootloaderVersion?: IVersionArray;
|
|
65
105
|
bootloaderRelatedFirmwareVersion?: IVersionArray;
|
|
106
|
+
upgradeType?: 'payload-package-set' | string;
|
|
107
|
+
components?: Record<string, IProtocolV2FirmwareComponent>;
|
|
108
|
+
installOrder?: string[];
|
|
109
|
+
/** Pro2 RESC bundles for incremental direct FileWrite synchronization. */
|
|
110
|
+
resourceBundles?: IProtocolV2ResourceBundle[];
|
|
66
111
|
bootloaderChangelog?: {
|
|
67
112
|
[k in ILocale]: string;
|
|
68
113
|
};
|
|
69
114
|
fingerprint: string;
|
|
115
|
+
expectedSize?: number;
|
|
70
116
|
version: IVersionArray;
|
|
71
117
|
changelog: {
|
|
72
118
|
[k in ILocale]: string;
|
|
@@ -82,49 +128,23 @@ export type IBLEFirmwareReleaseInfo = {
|
|
|
82
128
|
webUpdate: string;
|
|
83
129
|
fingerprint: string;
|
|
84
130
|
fingerprintWeb: string;
|
|
131
|
+
expectedSize?: number;
|
|
85
132
|
version: IVersionArray;
|
|
86
133
|
changelog: {
|
|
87
134
|
[k in ILocale]: string;
|
|
88
135
|
};
|
|
89
136
|
};
|
|
90
137
|
|
|
91
|
-
type IKnownDevice = Exclude<IDeviceType, 'unknown'
|
|
138
|
+
type IKnownDevice = Exclude<IDeviceType, 'unknown'>;
|
|
92
139
|
|
|
93
|
-
/**
|
|
94
|
-
* Device firmware configuration map
|
|
95
|
-
*
|
|
96
|
-
* IMPORTANT: This type is used for firmware update logic.
|
|
97
|
-
* - DO NOT remove existing firmware fields
|
|
98
|
-
* - Only ADD new optional firmware fields for new versions
|
|
99
|
-
* - 'firmware' field is required for backward compatibility
|
|
100
|
-
* - 'ble' field is required for BLE firmware updates
|
|
101
|
-
*
|
|
102
|
-
* @example
|
|
103
|
-
* // When adding firmware-v8:
|
|
104
|
-
* // {
|
|
105
|
-
* // firmware: IFirmwareReleaseInfo[];
|
|
106
|
-
* // 'firmware-v2'?: IFirmwareReleaseInfo[];
|
|
107
|
-
* // 'firmware-v8'?: IFirmwareReleaseInfo[];
|
|
108
|
-
* // 'firmware-v8'?: IFirmwareReleaseInfo[]; // New
|
|
109
|
-
* // 'firmware-btc-v8'?: IFirmwareReleaseInfo[];
|
|
110
|
-
* // 'firmware-btc-v8'?: IFirmwareReleaseInfo[]; // New
|
|
111
|
-
* // ble: IBLEFirmwareReleaseInfo[];
|
|
112
|
-
* // }
|
|
113
|
-
*/
|
|
114
140
|
export type DeviceTypeMap = {
|
|
115
141
|
[k in IKnownDevice]: {
|
|
116
|
-
/** Base firmware field (required for backward compatibility) */
|
|
117
142
|
firmware: IFirmwareReleaseInfo[];
|
|
118
|
-
/**
|
|
143
|
+
/** Pro2 Protocol V2 payload package set */
|
|
144
|
+
'firmware-v1'?: IFirmwareReleaseInfo[];
|
|
119
145
|
'firmware-v2'?: IFirmwareReleaseInfo[];
|
|
120
|
-
/** Universal firmware v7 */
|
|
121
146
|
'firmware-v8'?: IFirmwareReleaseInfo[];
|
|
122
|
-
/** Bitcoin-only firmware v7 */
|
|
123
147
|
'firmware-btc-v8'?: IFirmwareReleaseInfo[];
|
|
124
|
-
// Future firmware versions should be added here as optional fields:
|
|
125
|
-
// 'firmware-v8'?: IFirmwareReleaseInfo[];
|
|
126
|
-
// 'firmware-btc-v8'?: IFirmwareReleaseInfo[];
|
|
127
|
-
/** BLE firmware (required) */
|
|
128
148
|
ble: IBLEFirmwareReleaseInfo[];
|
|
129
149
|
};
|
|
130
150
|
};
|
package/src/utils/assets.ts
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { httpRequest as browserHttpRequest } from './networkUtils';
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
import type { HttpRequestOptions } from './networkUtils';
|
|
4
|
+
|
|
5
|
+
export const httpRequest = (url: string, type: string, options?: HttpRequestOptions): any =>
|
|
6
|
+
browserHttpRequest(url, type, options);
|
|
4
7
|
|
|
5
8
|
export const getTimeStamp = () => new Date().getTime();
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
import { EDeviceType, EFirmwareType } from '@onekeyfe/hd-shared';
|
|
2
|
+
import { Enum_Capability } from '@onekeyfe/hd-transport';
|
|
3
|
+
|
|
4
|
+
import type { PROTO } from '../constants';
|
|
5
|
+
import type { Features, IDeviceType } from '../types';
|
|
6
|
+
|
|
7
|
+
export type DeviceFeaturesInput = Features | PROTO.Features;
|
|
8
|
+
|
|
9
|
+
type CompatibleDeviceFeatures = Partial<Features> &
|
|
10
|
+
Partial<PROTO.Features> & {
|
|
11
|
+
onekey_serial?: string;
|
|
12
|
+
onekey_version?: string;
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
const asCompatibleFeatures = (features: DeviceFeaturesInput): CompatibleDeviceFeatures =>
|
|
16
|
+
features as CompatibleDeviceFeatures;
|
|
17
|
+
|
|
18
|
+
const firstNonEmptyString = (...values: Array<string | null | undefined>) =>
|
|
19
|
+
values.find(value => typeof value === 'string' && value.length > 0);
|
|
20
|
+
|
|
21
|
+
const firstMeaningfulVersion = (...versions: Array<string | null | undefined>) =>
|
|
22
|
+
versions.find(version => Boolean(version && version !== '0.0.0')) ?? null;
|
|
23
|
+
|
|
24
|
+
const versionFromParts = (major?: number | null, minor?: number | null, patch?: number | null) =>
|
|
25
|
+
[major, minor, patch].map(part => Number(part) || 0).join('.');
|
|
26
|
+
|
|
27
|
+
export const resolveDeviceSerialNo = (features?: DeviceFeaturesInput): string => {
|
|
28
|
+
if (!features) return '';
|
|
29
|
+
const compatible = asCompatibleFeatures(features);
|
|
30
|
+
return (
|
|
31
|
+
firstNonEmptyString(
|
|
32
|
+
compatible.serialNo,
|
|
33
|
+
compatible.onekey_serial_no,
|
|
34
|
+
compatible.onekey_serial,
|
|
35
|
+
compatible.serial_no
|
|
36
|
+
) ?? ''
|
|
37
|
+
);
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
export const resolveDeviceType = (features?: DeviceFeaturesInput): IDeviceType => {
|
|
41
|
+
if (!features || typeof features !== 'object') {
|
|
42
|
+
return EDeviceType.Unknown;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
const compatible = asCompatibleFeatures(features);
|
|
46
|
+
if (compatible.deviceType && compatible.deviceType !== EDeviceType.Unknown) {
|
|
47
|
+
return compatible.deviceType;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
switch (compatible.onekey_device_type?.toString().toUpperCase()) {
|
|
51
|
+
case 'CLASSIC':
|
|
52
|
+
return EDeviceType.Classic;
|
|
53
|
+
case 'CLASSIC1S':
|
|
54
|
+
return EDeviceType.Classic1s;
|
|
55
|
+
case 'MINI':
|
|
56
|
+
return EDeviceType.Mini;
|
|
57
|
+
case 'TOUCH':
|
|
58
|
+
return EDeviceType.Touch;
|
|
59
|
+
case 'PRO':
|
|
60
|
+
return EDeviceType.Pro;
|
|
61
|
+
case 'PRO2':
|
|
62
|
+
return EDeviceType.Pro2;
|
|
63
|
+
case 'PURE':
|
|
64
|
+
return EDeviceType.ClassicPure;
|
|
65
|
+
default:
|
|
66
|
+
break;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
if (compatible.model?.toString().toLowerCase() === EDeviceType.Pro2) {
|
|
70
|
+
return EDeviceType.Pro2;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
const serialNo = resolveDeviceSerialNo(features);
|
|
74
|
+
const prefix = serialNo.slice(0, 2).toLowerCase();
|
|
75
|
+
if (prefix === 'bi' || prefix === 'cl') return EDeviceType.Classic;
|
|
76
|
+
if (prefix === 'cp') return EDeviceType.ClassicPure;
|
|
77
|
+
if (prefix === 'mi') return EDeviceType.Mini;
|
|
78
|
+
if (prefix === 'tc') return EDeviceType.Touch;
|
|
79
|
+
if (prefix === 'pr') return EDeviceType.Pro;
|
|
80
|
+
if (prefix === 'p2') return EDeviceType.Pro2;
|
|
81
|
+
|
|
82
|
+
const bootloaderMode = compatible.bootloaderMode ?? compatible.bootloader_mode;
|
|
83
|
+
if (!serialNo && bootloaderMode === true && compatible.model === '1') {
|
|
84
|
+
return EDeviceType.Classic;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
return compatible.deviceType ?? EDeviceType.Unknown;
|
|
88
|
+
};
|
|
89
|
+
|
|
90
|
+
export const resolveDeviceFirmwareType = (features?: DeviceFeaturesInput): EFirmwareType => {
|
|
91
|
+
if (!features) {
|
|
92
|
+
return EFirmwareType.Universal;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
const compatible = asCompatibleFeatures(features);
|
|
96
|
+
if (compatible.firmwareType) {
|
|
97
|
+
return compatible.firmwareType;
|
|
98
|
+
}
|
|
99
|
+
if (compatible.fw_vendor === 'OneKey Bitcoin-only') {
|
|
100
|
+
return EFirmwareType.BitcoinOnly;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
const capabilities = compatible.capabilities as Array<number | string> | null | undefined;
|
|
104
|
+
const supportsBitcoinLike = capabilities?.some(
|
|
105
|
+
capability =>
|
|
106
|
+
capability === Enum_Capability.Capability_Bitcoin_like ||
|
|
107
|
+
capability === 'Capability_Bitcoin_like'
|
|
108
|
+
);
|
|
109
|
+
return capabilities?.length && !supportsBitcoinLike
|
|
110
|
+
? EFirmwareType.BitcoinOnly
|
|
111
|
+
: EFirmwareType.Universal;
|
|
112
|
+
};
|
|
113
|
+
|
|
114
|
+
export const resolveDeviceBleName = (features?: DeviceFeaturesInput): string | null => {
|
|
115
|
+
if (!features) return null;
|
|
116
|
+
const compatible = asCompatibleFeatures(features);
|
|
117
|
+
return (
|
|
118
|
+
firstNonEmptyString(compatible.bleName, compatible.onekey_ble_name, compatible.ble_name) ?? null
|
|
119
|
+
);
|
|
120
|
+
};
|
|
121
|
+
|
|
122
|
+
export const resolveDeviceFirmwareVersion = (features?: DeviceFeaturesInput): string | null => {
|
|
123
|
+
if (!features) return null;
|
|
124
|
+
const compatible = asCompatibleFeatures(features);
|
|
125
|
+
return firstMeaningfulVersion(
|
|
126
|
+
compatible.firmwareVersion,
|
|
127
|
+
compatible.onekey_firmware_version,
|
|
128
|
+
compatible.onekey_version,
|
|
129
|
+
versionFromParts(compatible.major_version, compatible.minor_version, compatible.patch_version)
|
|
130
|
+
);
|
|
131
|
+
};
|
|
132
|
+
|
|
133
|
+
export const resolveDeviceBootloaderVersion = (features?: DeviceFeaturesInput): string | null => {
|
|
134
|
+
if (!features) return null;
|
|
135
|
+
const compatible = asCompatibleFeatures(features);
|
|
136
|
+
const bootloaderMode = compatible.bootloaderMode ?? compatible.bootloader_mode;
|
|
137
|
+
return firstMeaningfulVersion(
|
|
138
|
+
compatible.bootloaderVersion,
|
|
139
|
+
compatible.onekey_boot_version,
|
|
140
|
+
compatible.bootloader_version,
|
|
141
|
+
compatible.onekey_bootloader_version,
|
|
142
|
+
bootloaderMode
|
|
143
|
+
? versionFromParts(
|
|
144
|
+
compatible.major_version,
|
|
145
|
+
compatible.minor_version,
|
|
146
|
+
compatible.patch_version
|
|
147
|
+
)
|
|
148
|
+
: null
|
|
149
|
+
);
|
|
150
|
+
};
|
|
151
|
+
|
|
152
|
+
export const resolveDeviceBoardVersion = (features?: DeviceFeaturesInput): string | null => {
|
|
153
|
+
if (!features) return null;
|
|
154
|
+
const compatible = asCompatibleFeatures(features);
|
|
155
|
+
return firstMeaningfulVersion(
|
|
156
|
+
compatible.boardVersion,
|
|
157
|
+
compatible.onekey_board_version,
|
|
158
|
+
compatible.boardloader_version,
|
|
159
|
+
compatible.onekey_romloader_version,
|
|
160
|
+
compatible.romloader_version
|
|
161
|
+
);
|
|
162
|
+
};
|
|
163
|
+
|
|
164
|
+
export const resolveDeviceBleFirmwareVersion = (features?: DeviceFeaturesInput): string | null => {
|
|
165
|
+
if (!features) return null;
|
|
166
|
+
const compatible = asCompatibleFeatures(features);
|
|
167
|
+
return firstMeaningfulVersion(
|
|
168
|
+
compatible.bleVersion,
|
|
169
|
+
compatible.onekey_ble_version,
|
|
170
|
+
compatible.ble_ver,
|
|
171
|
+
compatible.onekey_coprocessor_version
|
|
172
|
+
);
|
|
173
|
+
};
|
|
@@ -13,14 +13,11 @@ import { PROTOBUF_MESSAGE_CONFIG } from '../data-manager/MessagesConfig';
|
|
|
13
13
|
import { getDeviceType } from './deviceInfoUtils';
|
|
14
14
|
import { getDeviceFirmwareVersion } from './deviceVersionUtils';
|
|
15
15
|
import { existCapability } from './capabilitieUtils';
|
|
16
|
+
import { getProtocolV2WalletSession } from '../protocols/protocol-v2/walletSession';
|
|
16
17
|
|
|
17
18
|
import type { Device } from '../device/Device';
|
|
18
19
|
import type { Features, IDeviceType, SupportFeatureType } from '../types';
|
|
19
20
|
|
|
20
|
-
// 生成的 GetPassphraseState 已包含 _only_main_pin / allow_create_attach_pin,
|
|
21
|
-
// 不再需要手动扩展字段。
|
|
22
|
-
type GetPassphraseStateMessage = GetPassphraseState;
|
|
23
|
-
|
|
24
21
|
export const getSupportProtocolV1MessageSchema = (
|
|
25
22
|
features: Features | undefined
|
|
26
23
|
): { messages: JSON; protocolV1MessageSchema: ProtocolV1MessageSchema } => {
|
|
@@ -33,6 +30,18 @@ export const getSupportProtocolV1MessageSchema = (
|
|
|
33
30
|
const currentDeviceVersion = getDeviceFirmwareVersion(features).join('.');
|
|
34
31
|
const deviceType = getDeviceType(features);
|
|
35
32
|
|
|
33
|
+
// In bootloader mode the major/minor/patch fields carry the bootloader version, not the
|
|
34
|
+
// firmware version; normalizing them would mis-route to the legacy schema (e.g. 2.x < 3.3.0).
|
|
35
|
+
// The legacy getDeviceFirmwareVersion returned 0.0.0 here and landed on v1CurrentSchema, so
|
|
36
|
+
// force v1CurrentSchema for every bootloader device, including in-place upgrades on
|
|
37
|
+
// Classic1s/Touch/Pro where firmware is still present.
|
|
38
|
+
if (features.bootloaderMode === true) {
|
|
39
|
+
return {
|
|
40
|
+
messages: DataManager.messages.v1CurrentSchema,
|
|
41
|
+
protocolV1MessageSchema: 'v1CurrentSchema',
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
|
|
36
45
|
const deviceVersionConfigs =
|
|
37
46
|
PROTOBUF_MESSAGE_CONFIG[deviceType] ||
|
|
38
47
|
(DeviceTypeToModels[deviceType] &&
|
|
@@ -58,11 +67,15 @@ export const getSupportProtocolV1MessageSchema = (
|
|
|
58
67
|
};
|
|
59
68
|
};
|
|
60
69
|
|
|
61
|
-
export const supportInputPinOnSoftware = (features
|
|
70
|
+
export const supportInputPinOnSoftware = (features?: Features): SupportFeatureType => {
|
|
62
71
|
if (!features) return { support: false };
|
|
63
72
|
|
|
64
73
|
const deviceType = getDeviceType(features);
|
|
65
|
-
if (
|
|
74
|
+
if (
|
|
75
|
+
deviceType === EDeviceType.Touch ||
|
|
76
|
+
deviceType === EDeviceType.Pro ||
|
|
77
|
+
deviceType === EDeviceType.Pro2
|
|
78
|
+
) {
|
|
66
79
|
return { support: false };
|
|
67
80
|
}
|
|
68
81
|
|
|
@@ -92,10 +105,25 @@ export const getPassphraseStateWithRefreshDeviceInfo = async (
|
|
|
92
105
|
options?: {
|
|
93
106
|
expectPassphraseState?: string;
|
|
94
107
|
onlyMainPin?: boolean;
|
|
95
|
-
allowCreateAttachPin?: boolean;
|
|
96
108
|
initSession?: boolean;
|
|
97
109
|
}
|
|
98
110
|
) => {
|
|
111
|
+
if (device.isProtocolV2()) {
|
|
112
|
+
if (!device.features) {
|
|
113
|
+
return {
|
|
114
|
+
passphraseState: undefined,
|
|
115
|
+
newSession: undefined,
|
|
116
|
+
unlockedAttachPin: undefined,
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
return getProtocolV2WalletSession(device, {
|
|
121
|
+
initSession: options?.initSession,
|
|
122
|
+
expectedPassphraseState: options?.expectPassphraseState,
|
|
123
|
+
onlyMainPin: options?.onlyMainPin,
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
|
|
99
127
|
const { features } = device;
|
|
100
128
|
const locked = features?.unlocked === false;
|
|
101
129
|
const deviceType = device.getCurrentDeviceType();
|
|
@@ -128,19 +156,26 @@ export const getPassphraseStateWithRefreshDeviceInfo = async (
|
|
|
128
156
|
|
|
129
157
|
// Attach to pin try to fix internal state
|
|
130
158
|
const deviceId = device.getCurrentDeviceId();
|
|
159
|
+
let existingSessionId: string | null | undefined;
|
|
160
|
+
if (!options?.initSession && typeof device.getInternalState === 'function') {
|
|
161
|
+
existingSessionId = device.getInternalState();
|
|
162
|
+
}
|
|
131
163
|
device.updateInternalState(
|
|
132
164
|
device.getCurrentPassphraseProtection() ?? false,
|
|
133
165
|
passphraseState,
|
|
134
166
|
deviceId,
|
|
135
167
|
newSession,
|
|
136
|
-
options?.initSession ? null :
|
|
168
|
+
options?.initSession ? null : existingSessionId
|
|
137
169
|
);
|
|
138
170
|
|
|
139
|
-
return {
|
|
171
|
+
return {
|
|
172
|
+
passphraseState,
|
|
173
|
+
newSession,
|
|
174
|
+
unlockedAttachPin: unlockedAttachPin ?? device.features?.unlockedAttachPin,
|
|
175
|
+
};
|
|
140
176
|
};
|
|
141
177
|
|
|
142
|
-
//
|
|
143
|
-
// (Pro2 在 getPassphraseState 中通过 isProtocolV2 直接判定支持)。
|
|
178
|
+
// Applies to Protocol V1 Pro only; Pro2 has an independent version line.
|
|
144
179
|
const supportProSeriesAttachPinPassphrase = (deviceType: IDeviceType, firmwareVersion: string) =>
|
|
145
180
|
deviceType === EDeviceType.Pro && semver.gte(firmwareVersion, '4.15.0');
|
|
146
181
|
|
|
@@ -149,7 +184,6 @@ export const getPassphraseState = async (
|
|
|
149
184
|
options?: {
|
|
150
185
|
expectPassphraseState?: string;
|
|
151
186
|
onlyMainPin?: boolean;
|
|
152
|
-
allowCreateAttachPin?: boolean;
|
|
153
187
|
initSession?: boolean;
|
|
154
188
|
}
|
|
155
189
|
): Promise<{
|
|
@@ -159,31 +193,32 @@ export const getPassphraseState = async (
|
|
|
159
193
|
}> => {
|
|
160
194
|
const { features, commands } = device;
|
|
161
195
|
|
|
162
|
-
//
|
|
196
|
+
// Preserve legacy empty-result semantics until the device has established state.
|
|
163
197
|
if (!features)
|
|
164
198
|
return { passphraseState: undefined, newSession: undefined, unlockedAttachPin: undefined };
|
|
165
199
|
|
|
166
200
|
const firmwareVersion = device.getCurrentFirmwareVersionString() ?? '0.0.0';
|
|
167
201
|
const deviceType = device.getCurrentDeviceType();
|
|
168
202
|
|
|
203
|
+
if (device.isProtocolV2()) {
|
|
204
|
+
return getProtocolV2WalletSession(device, {
|
|
205
|
+
initSession: options?.initSession,
|
|
206
|
+
expectedPassphraseState: options?.expectPassphraseState,
|
|
207
|
+
onlyMainPin: options?.onlyMainPin,
|
|
208
|
+
});
|
|
209
|
+
}
|
|
210
|
+
|
|
169
211
|
const supportAttachPinCapability = existCapability(
|
|
170
212
|
features,
|
|
171
213
|
Enum_Capability.Capability_AttachToPin
|
|
172
214
|
);
|
|
173
|
-
// Pro2 (Protocol V2) 协议自带 GetPassphraseState(10028),固件从首个版本即支持,
|
|
174
|
-
// 不依赖 Pro 系列的 4.15.0 版本线;V2 也没有 GetAddress Testnet 探测这条 legacy 回退路径。
|
|
175
215
|
const supportGetPassphraseState =
|
|
176
|
-
|
|
177
|
-
supportAttachPinCapability ||
|
|
178
|
-
supportProSeriesAttachPinPassphrase(deviceType, firmwareVersion);
|
|
216
|
+
supportAttachPinCapability || supportProSeriesAttachPinPassphrase(deviceType, firmwareVersion);
|
|
179
217
|
|
|
180
218
|
if (supportGetPassphraseState) {
|
|
181
|
-
const payload:
|
|
182
|
-
?
|
|
183
|
-
|
|
184
|
-
if (options?.allowCreateAttachPin) {
|
|
185
|
-
payload.allow_create_attach_pin = true;
|
|
186
|
-
}
|
|
219
|
+
const payload: GetPassphraseState = {
|
|
220
|
+
passphrase_state: options?.onlyMainPin ? undefined : options?.expectPassphraseState,
|
|
221
|
+
};
|
|
187
222
|
|
|
188
223
|
const { message, type } = await commands.typedCall(
|
|
189
224
|
'GetPassphraseState',
|
|
@@ -282,6 +317,9 @@ export const getFirmwareUpdateField = ({
|
|
|
282
317
|
if (deviceType === EDeviceType.Pro) {
|
|
283
318
|
return latestFirmwareField;
|
|
284
319
|
}
|
|
320
|
+
if (deviceType === EDeviceType.Pro2) {
|
|
321
|
+
return 'firmware-v1';
|
|
322
|
+
}
|
|
285
323
|
return 'firmware';
|
|
286
324
|
};
|
|
287
325
|
/**
|
|
@@ -325,6 +363,10 @@ export const getFirmwareUpdateFieldArray = (
|
|
|
325
363
|
return ['firmware-v8'];
|
|
326
364
|
}
|
|
327
365
|
|
|
366
|
+
if (deviceType === 'pro2') {
|
|
367
|
+
return ['firmware-v1'];
|
|
368
|
+
}
|
|
369
|
+
|
|
328
370
|
return ['firmware'];
|
|
329
371
|
};
|
|
330
372
|
|
|
@@ -1,51 +1,21 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { EDeviceType, EFirmwareType } from '@onekeyfe/hd-shared';
|
|
3
|
-
import { Enum_Capability } from '@onekeyfe/hd-transport';
|
|
1
|
+
import { EDeviceType } from '@onekeyfe/hd-shared';
|
|
4
2
|
|
|
5
3
|
import { DeviceModelToTypes } from '../types';
|
|
6
|
-
import {
|
|
4
|
+
import {
|
|
5
|
+
resolveDeviceBleName,
|
|
6
|
+
resolveDeviceFirmwareType,
|
|
7
|
+
resolveDeviceSerialNo,
|
|
8
|
+
resolveDeviceType,
|
|
9
|
+
} from './deviceFeaturesCompat';
|
|
7
10
|
|
|
8
|
-
import type {
|
|
11
|
+
import type { IDeviceModel, IDeviceType, IVersionRange } from '../types';
|
|
12
|
+
import type { DeviceFeaturesInput } from './deviceFeaturesCompat';
|
|
9
13
|
|
|
10
14
|
/**
|
|
11
15
|
* get device type by features
|
|
12
16
|
*/
|
|
13
|
-
export const getDeviceType = (features?:
|
|
14
|
-
|
|
15
|
-
return EDeviceType.Unknown;
|
|
16
|
-
}
|
|
17
|
-
if (features.deviceType) {
|
|
18
|
-
return features.deviceType;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
if (features.model === EDeviceType.Pro2 || features.model === 'pro2') {
|
|
22
|
-
return EDeviceType.Pro2;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
// low version hardware
|
|
26
|
-
// onekey_serial_no > onekey_serial > serial_no
|
|
27
|
-
const serialNo = getDeviceUUID(features);
|
|
28
|
-
|
|
29
|
-
// not exist serialNo, bootloader mode, model 1 is classic
|
|
30
|
-
if (isEmpty(serialNo) && features.bootloaderMode === true && features.model === '1') {
|
|
31
|
-
return EDeviceType.Classic;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
if (isEmpty(serialNo)) return EDeviceType.Unknown;
|
|
35
|
-
|
|
36
|
-
const miniFlag = serialNo.slice(0, 2);
|
|
37
|
-
// By May 2021, the miniFlag is 'bixin' for all classic devices
|
|
38
|
-
if (miniFlag.toLowerCase() === 'bi') return EDeviceType.Classic;
|
|
39
|
-
if (miniFlag.toLowerCase() === 'cl') return EDeviceType.Classic;
|
|
40
|
-
if (miniFlag.toLowerCase() === 'cp') return EDeviceType.ClassicPure;
|
|
41
|
-
if (miniFlag.toLowerCase() === 'mi') return EDeviceType.Mini;
|
|
42
|
-
if (miniFlag.toLowerCase() === 'tc') return EDeviceType.Touch;
|
|
43
|
-
if (miniFlag.toLowerCase() === 'pr') return EDeviceType.Pro;
|
|
44
|
-
if (miniFlag.toLowerCase() === 'p2') return EDeviceType.Pro2;
|
|
45
|
-
|
|
46
|
-
// unknown device
|
|
47
|
-
return EDeviceType.Unknown;
|
|
48
|
-
};
|
|
17
|
+
export const getDeviceType = (features?: DeviceFeaturesInput): IDeviceType =>
|
|
18
|
+
resolveDeviceType(features);
|
|
49
19
|
|
|
50
20
|
/**
|
|
51
21
|
* get device type by ble name
|
|
@@ -70,33 +40,35 @@ export const getDeviceTypeByBleName = (name?: string): IDeviceType => {
|
|
|
70
40
|
* Get Connected Device ble name by features
|
|
71
41
|
* @returns
|
|
72
42
|
*/
|
|
73
|
-
export const getDeviceBleName = (features?:
|
|
74
|
-
|
|
75
|
-
return features.bleName || null;
|
|
76
|
-
};
|
|
43
|
+
export const getDeviceBleName = (features?: DeviceFeaturesInput): string | null =>
|
|
44
|
+
resolveDeviceBleName(features);
|
|
77
45
|
|
|
78
46
|
/**
|
|
79
|
-
* Get Connected Device
|
|
47
|
+
* Get Connected Device serial number by features
|
|
80
48
|
*/
|
|
81
|
-
export const
|
|
82
|
-
|
|
83
|
-
|
|
49
|
+
export const getDeviceSerialNo = (features?: DeviceFeaturesInput): string =>
|
|
50
|
+
resolveDeviceSerialNo(features);
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* @deprecated Use getDeviceSerialNo instead.
|
|
54
|
+
*/
|
|
55
|
+
export const getDeviceUUID = getDeviceSerialNo;
|
|
84
56
|
|
|
85
57
|
/**
|
|
86
58
|
* Get Connected Device label by features
|
|
87
59
|
*/
|
|
88
|
-
export const getDeviceLabel = (features?:
|
|
60
|
+
export const getDeviceLabel = (features?: DeviceFeaturesInput) => {
|
|
89
61
|
if (!features) return null;
|
|
90
62
|
|
|
91
63
|
const deviceType = getDeviceType(features);
|
|
92
64
|
if (deviceType == null) return null;
|
|
93
65
|
|
|
94
|
-
if (typeof features.label === 'string' &&
|
|
66
|
+
if ('label' in features && typeof features.label === 'string' && features.label.length > 0) {
|
|
95
67
|
return features.label;
|
|
96
68
|
}
|
|
97
69
|
|
|
98
70
|
const bleName = getDeviceBleName(features);
|
|
99
|
-
if (
|
|
71
|
+
if (bleName) return bleName;
|
|
100
72
|
|
|
101
73
|
if (deviceType === EDeviceType.ClassicPure) {
|
|
102
74
|
return 'OneKey Classic 1S';
|
|
@@ -110,7 +82,7 @@ export const getDeviceLabel = (features?: Features) => {
|
|
|
110
82
|
* Type has a higher priority than Model
|
|
111
83
|
*/
|
|
112
84
|
export const getMethodVersionRange = (
|
|
113
|
-
features:
|
|
85
|
+
features: DeviceFeaturesInput | undefined,
|
|
114
86
|
getVersionRange: (deviceModel: IDeviceType | IDeviceModel) => IVersionRange | undefined
|
|
115
87
|
): IVersionRange | undefined => {
|
|
116
88
|
const deviceType = getDeviceType(features);
|
|
@@ -138,19 +110,5 @@ export const getMethodVersionRange = (
|
|
|
138
110
|
return undefined;
|
|
139
111
|
};
|
|
140
112
|
|
|
141
|
-
export const
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
export const getFirmwareType = (features: Features | undefined) => {
|
|
145
|
-
if (!features) {
|
|
146
|
-
return EFirmwareType.Universal;
|
|
147
|
-
}
|
|
148
|
-
if (features.firmwareType) {
|
|
149
|
-
return features.firmwareType;
|
|
150
|
-
}
|
|
151
|
-
// old firmware
|
|
152
|
-
return features?.capabilities?.length > 0 &&
|
|
153
|
-
!existCapability(features, Enum_Capability.Capability_Bitcoin_like)
|
|
154
|
-
? EFirmwareType.BitcoinOnly
|
|
155
|
-
: EFirmwareType.Universal;
|
|
156
|
-
};
|
|
113
|
+
export const getFirmwareType = (features?: DeviceFeaturesInput) =>
|
|
114
|
+
resolveDeviceFirmwareType(features);
|