@onekeyfe/hd-core 1.2.0-alpha.6 → 1.2.0-alpha.60
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 +390 -0
- package/__tests__/DeviceCommands.test.ts +563 -0
- package/__tests__/DeviceEventRegistration.test.ts +49 -0
- package/__tests__/chain-params-onekey-compatibility.test.ts +229 -0
- package/__tests__/check-all-firmware-release-protocol-v2.test.ts +477 -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__/core-initialization.test.ts +23 -0
- package/__tests__/device-connector-protocol.test.ts +81 -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 +351 -0
- package/__tests__/device-pool-state.test.ts +166 -0
- package/__tests__/device-settings.test.ts +437 -0
- package/__tests__/device-state-contract.test.ts +28 -0
- package/__tests__/device-state-events.test.ts +286 -0
- package/__tests__/device-state-mapper.test.ts +273 -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 +154 -0
- package/__tests__/device-wallet-session-store.test.ts +478 -0
- package/__tests__/deviceFeaturesUtils.test.ts +39 -0
- package/__tests__/deviceSettings.test.ts +113 -0
- package/__tests__/deviceUploadNft.test.ts +316 -0
- package/__tests__/evmLedgerLegacySafety.test.ts +12 -6
- package/__tests__/evmSignTransaction.test.ts +69 -0
- 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 +578 -0
- package/__tests__/homescreen.test.ts +64 -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 +578 -0
- package/__tests__/known-device-public-types.type-test.ts +3 -0
- package/__tests__/logBlockEvent.test.ts +128 -1
- package/__tests__/method-protocol-support.test.ts +132 -0
- package/__tests__/networkUtils.test.ts +406 -0
- package/__tests__/open-wallet-session-error-response.test.ts +43 -0
- package/__tests__/open-wallet-session.test.ts +1899 -0
- package/__tests__/pro2Nft.test.ts +108 -0
- package/__tests__/pro2Wallpaper.test.ts +39 -0
- package/__tests__/protocol-binding.test.ts +89 -0
- package/__tests__/protocol-v2-bootloader-mode.test.ts +37 -0
- package/__tests__/protocol-v2-firmware-targets.test.ts +37 -0
- package/__tests__/protocol-v2-ping.test.ts +28 -0
- package/__tests__/protocol-v2-resources.test.ts +340 -0
- package/__tests__/protocol-v2-ui-lifecycle.test.ts +91 -0
- package/__tests__/protocol-v2-unlock-policy.test.ts +245 -0
- package/__tests__/protocol-v2.test.ts +6478 -2536
- package/__tests__/protocolV2FileWrite.test.ts +244 -0
- package/__tests__/protocolV2UiInteraction.test.ts +329 -0
- package/__tests__/public-device-state-api.test.ts +275 -0
- package/__tests__/public-pro2-api-boundary.test.ts +107 -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 +145 -0
- package/__tests__/tron-sign-message-init.test.ts +74 -0
- package/__tests__/uiProgressThrottle.test.ts +74 -0
- package/__tests__/uiPromiseRegistry.test.ts +97 -0
- package/dist/api/BaseMethod.d.ts +16 -1
- package/dist/api/BaseMethod.d.ts.map +1 -1
- package/dist/api/CheckAllFirmwareRelease.d.ts +25 -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/DetectDeviceConnectProtocol.d.ts +7 -0
- package/dist/api/DetectDeviceConnectProtocol.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 +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 +26 -16
- 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 +3 -2
- 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 +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/evm/protocol.d.ts +3 -0
- package/dist/api/evm/protocol.d.ts.map +1 -0
- 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/FirmwareUpdateBaseMethod.d.ts +4 -3
- package/dist/api/firmware/FirmwareUpdateBaseMethod.d.ts.map +1 -1
- package/dist/api/firmware/getBinary.d.ts +8 -4
- package/dist/api/firmware/getBinary.d.ts.map +1 -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 +42 -0
- package/dist/api/helpers/protocolV2FileWrite.d.ts.map +1 -0
- package/dist/api/index.d.ts +9 -25
- 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 +2 -1
- 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/polkadot/networks.d.ts +1 -1
- package/dist/api/protocol-v2/DeviceFactoryInfoGet.d.ts +1 -0
- package/dist/api/protocol-v2/DeviceFactoryInfoGet.d.ts.map +1 -1
- package/dist/api/protocol-v2/DeviceFactoryInfoSet.d.ts +1 -0
- package/dist/api/protocol-v2/DeviceFactoryInfoSet.d.ts.map +1 -1
- package/dist/api/protocol-v2/DeviceFirmwareUpdate.d.ts +1 -0
- package/dist/api/protocol-v2/DeviceFirmwareUpdate.d.ts.map +1 -1
- package/dist/api/protocol-v2/DeviceGetFirmwareUpdateStatus.d.ts +1 -0
- package/dist/api/protocol-v2/DeviceGetFirmwareUpdateStatus.d.ts.map +1 -1
- package/dist/api/protocol-v2/DeviceGetOnboardingStatus.d.ts +7 -0
- package/dist/api/protocol-v2/DeviceGetOnboardingStatus.d.ts.map +1 -0
- package/dist/api/protocol-v2/DeviceInfoGet.d.ts +1 -1
- package/dist/api/protocol-v2/DeviceInfoGet.d.ts.map +1 -1
- 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/DeviceUploadNft.d.ts +31 -0
- package/dist/api/protocol-v2/DeviceUploadNft.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 +1 -0
- package/dist/api/protocol-v2/FilesystemPermissionFix.d.ts.map +1 -1
- 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 +1 -0
- package/dist/api/protocol-v2/ProtocolInfoRequest.d.ts.map +1 -1
- package/dist/api/protocol-v2/helpers.d.ts +1 -1
- 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 +2 -1
- package/dist/api/solana/SolSignMessage.d.ts.map +1 -1
- package/dist/api/solana/SolSignOffchainMessage.d.ts +2 -1
- package/dist/api/solana/SolSignOffchainMessage.d.ts.map +1 -1
- package/dist/api/solana/SolSignTransaction.d.ts +3 -2
- 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 +1 -2
- package/dist/api/stellar/StellarSignTransaction.d.ts.map +1 -1
- package/dist/api/sui/SuiGetAddress.d.ts +2 -1
- package/dist/api/sui/SuiGetAddress.d.ts.map +1 -1
- package/dist/api/sui/SuiGetPublicKey.d.ts +2 -1
- package/dist/api/sui/SuiGetPublicKey.d.ts.map +1 -1
- package/dist/api/sui/SuiSignMessage.d.ts +2 -1
- package/dist/api/sui/SuiSignMessage.d.ts.map +1 -1
- package/dist/api/sui/SuiSignTransaction.d.ts +2 -1
- package/dist/api/sui/SuiSignTransaction.d.ts.map +1 -1
- package/dist/api/ton/TonGetAddress.d.ts +2 -1
- package/dist/api/ton/TonGetAddress.d.ts.map +1 -1
- package/dist/api/ton/TonSignData.d.ts +1 -0
- package/dist/api/ton/TonSignData.d.ts.map +1 -1
- package/dist/api/ton/TonSignMessage.d.ts +2 -1
- package/dist/api/ton/TonSignMessage.d.ts.map +1 -1
- package/dist/api/ton/TonSignProof.d.ts +2 -1
- 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 +6 -1
- package/dist/api/tron/TronSignMessage.d.ts.map +1 -1
- package/dist/api/tron/TronSignTransaction.d.ts +2 -1
- 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 +13 -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/core/uiPromiseRegistry.d.ts +5 -0
- package/dist/core/uiPromiseRegistry.d.ts.map +1 -0
- package/dist/data-manager/DataManager.d.ts +9 -3
- package/dist/data-manager/DataManager.d.ts.map +1 -1
- package/dist/data-manager/TransportManager.d.ts.map +1 -1
- package/dist/data-manager/connectSettings.d.ts.map +1 -1
- package/dist/device/Device.d.ts +71 -17
- 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/DeviceConnector.d.ts +3 -2
- package/dist/device/DeviceConnector.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 +5 -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 +27 -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/deviceProfile/protocolV2DeviceIdentity.d.ts +7 -0
- package/dist/deviceProfile/protocolV2DeviceIdentity.d.ts.map +1 -0
- package/dist/events/device.d.ts +16 -2
- package/dist/events/device.d.ts.map +1 -1
- package/dist/events/logBlockEvent.d.ts +2 -0
- package/dist/events/logBlockEvent.d.ts.map +1 -1
- package/dist/events/ui-promise.d.ts +4 -2
- package/dist/events/ui-promise.d.ts.map +1 -1
- package/dist/events/ui-request.d.ts +50 -4
- package/dist/events/ui-request.d.ts.map +1 -1
- package/dist/events/ui-response.d.ts +10 -2
- package/dist/events/ui-response.d.ts.map +1 -1
- package/dist/index.d.ts +1593 -773
- package/dist/index.js +8490 -3881
- package/dist/inject.d.ts +6 -1
- 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 +21 -17
- package/dist/protocols/protocol-v2/features.d.ts.map +1 -1
- 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/resources.d.ts +30 -0
- package/dist/protocols/protocol-v2/resources.d.ts.map +1 -0
- package/dist/protocols/protocol-v2/settingsUnlockPolicy.d.ts +17 -0
- package/dist/protocols/protocol-v2/settingsUnlockPolicy.d.ts.map +1 -0
- package/dist/protocols/protocol-v2/uiInteraction.d.ts +42 -0
- package/dist/protocols/protocol-v2/uiInteraction.d.ts.map +1 -0
- package/dist/protocols/protocol-v2/unlockPolicy.d.ts +2 -0
- package/dist/protocols/protocol-v2/unlockPolicy.d.ts.map +1 -0
- package/dist/protocols/protocol-v2/unlockPolicyRunner.d.ts +22 -0
- package/dist/protocols/protocol-v2/unlockPolicyRunner.d.ts.map +1 -0
- package/dist/protocols/protocol-v2/walletSession.d.ts +27 -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 +27 -4
- package/dist/types/api/checkAllFirmwareRelease.d.ts.map +1 -1
- package/dist/types/api/detectDeviceConnectProtocol.d.ts +4 -0
- package/dist/types/api/detectDeviceConnectProtocol.d.ts.map +1 -0
- 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 +6 -2
- package/dist/types/api/deviceUnlock.d.ts.map +1 -1
- package/dist/types/api/export.d.ts +4 -2
- package/dist/types/api/export.d.ts.map +1 -1
- package/dist/types/api/firmwareUpdate.d.ts +8 -1
- 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 +23 -30
- 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 +35 -0
- package/dist/types/api/openWalletSession.d.ts.map +1 -0
- package/dist/types/api/protocolV2.d.ts +18 -84
- 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 +134 -10
- 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 +44 -21
- 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 +10 -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 +4 -0
- package/dist/utils/homescreen.d.ts.map +1 -1
- package/dist/utils/index.d.ts +6 -3
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/networkUtils.d.ts +10 -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/pro2Nft.d.ts +31 -0
- package/dist/utils/pro2Nft.d.ts.map +1 -0
- package/dist/utils/pro2Wallpaper.d.ts +22 -0
- package/dist/utils/pro2Wallpaper.d.ts.map +1 -0
- package/dist/utils/tracing.d.ts.map +1 -1
- package/dist/utils/uiProgressThrottle.d.ts +3 -0
- package/dist/utils/uiProgressThrottle.d.ts.map +1 -0
- package/package.json +4 -4
- package/src/api/BaseMethod.ts +53 -20
- package/src/api/CheckAllFirmwareRelease.ts +340 -1
- 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/DetectDeviceConnectProtocol.ts +18 -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 +15 -9
- package/src/api/FileWrite.ts +26 -181
- package/src/api/FirmwareUpdate.ts +17 -14
- package/src/api/FirmwareUpdateV2.ts +137 -54
- package/src/api/FirmwareUpdateV3.ts +9 -13
- package/src/api/FirmwareUpdateV4.ts +805 -626
- 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 +36 -21
- package/src/api/OpenWalletSession.ts +268 -0
- package/src/api/PathInfo.ts +9 -4
- package/src/api/PromptWebDeviceAccess.ts +2 -7
- package/src/api/SearchDevices.ts +31 -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/AllNetworkGetAddress.ts +21 -21
- package/src/api/allnetwork/AllNetworkGetAddressBase.ts +45 -32
- 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 +5 -0
- package/src/api/device/DeviceRebootToBootloader.ts +5 -0
- package/src/api/device/DeviceSettings.ts +195 -1
- package/src/api/device/DeviceSupportFeatures.ts +4 -0
- package/src/api/device/DeviceUnlock.ts +21 -3
- package/src/api/device/DeviceUpdateBootloader.ts +1 -2
- 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 +6 -2
- package/src/api/evm/EVMGetPublicKey.ts +6 -2
- package/src/api/evm/EVMSignMessage.ts +6 -2
- package/src/api/evm/EVMSignMessageEIP712.ts +1 -11
- package/src/api/evm/EVMSignTransaction.ts +6 -2
- package/src/api/evm/EVMSignTypedData.ts +42 -50
- package/src/api/evm/EVMVerifyMessage.ts +6 -2
- 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/evm/protocol.ts +6 -0
- package/src/api/filecoin/FilecoinGetAddress.ts +4 -0
- package/src/api/filecoin/FilecoinSignTransaction.ts +4 -0
- package/src/api/firmware/FirmwareUpdateBaseMethod.ts +30 -15
- package/src/api/firmware/getBinary.ts +8 -3
- package/src/api/firmware/uploadFirmware.ts +17 -4
- 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 +338 -0
- package/src/api/index.ts +10 -26
- package/src/api/kaspa/KaspaGetAddress.ts +7 -0
- package/src/api/kaspa/KaspaSignTransaction.ts +369 -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/polkadot/networks.ts +3 -3
- package/src/api/protocol-v2/DeviceFactoryInfoGet.ts +5 -2
- package/src/api/protocol-v2/DeviceFactoryInfoSet.ts +5 -2
- package/src/api/protocol-v2/DeviceFirmwareUpdate.ts +8 -5
- package/src/api/protocol-v2/DeviceGetFirmwareUpdateStatus.ts +10 -6
- package/src/api/protocol-v2/DeviceGetOnboardingStatus.ts +21 -0
- package/src/api/protocol-v2/DeviceInfoGet.ts +8 -15
- package/src/api/protocol-v2/DeviceReboot.ts +7 -3
- package/src/api/protocol-v2/DeviceStatusGet.ts +19 -0
- package/src/api/protocol-v2/DeviceUploadNft.ts +197 -0
- package/src/api/protocol-v2/DeviceUploadWallpaper.ts +134 -0
- package/src/api/protocol-v2/FilesystemFormat.ts +9 -3
- package/src/api/protocol-v2/FilesystemPermissionFix.ts +5 -2
- package/src/api/protocol-v2/Ping.ts +37 -3
- package/src/api/protocol-v2/ProtocolInfoRequest.ts +8 -3
- package/src/api/protocol-v2/helpers.ts +17 -17
- 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 +5 -1
- package/src/api/solana/SolSignOffchainMessage.ts +5 -1
- package/src/api/solana/SolSignTransaction.ts +6 -2
- 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 +5 -1
- package/src/api/sui/SuiGetPublicKey.ts +5 -1
- package/src/api/sui/SuiSignMessage.ts +5 -1
- package/src/api/sui/SuiSignTransaction.ts +5 -1
- package/src/api/ton/TonGetAddress.ts +5 -1
- package/src/api/ton/TonSignData.ts +5 -1
- package/src/api/ton/TonSignMessage.ts +5 -1
- package/src/api/ton/TonSignProof.ts +5 -1
- package/src/api/tron/TronGetAddress.ts +4 -0
- package/src/api/tron/TronSignMessage.ts +19 -8
- package/src/api/tron/TronSignTransaction.ts +5 -1
- 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 +27 -0
- package/src/core/index.ts +333 -130
- package/src/core/uiPromiseRegistry.ts +50 -0
- package/src/data/messages/messages-protocol-v2.json +1138 -441
- package/src/data/messages/messages.json +286 -1
- package/src/data-manager/DataManager.ts +88 -16
- package/src/data-manager/TransportManager.ts +7 -1
- package/src/data-manager/connectSettings.ts +4 -0
- package/src/device/Device.ts +891 -295
- package/src/device/DeviceCommands.ts +193 -158
- package/src/device/DeviceConnector.ts +43 -20
- package/src/device/DeviceFeaturesState.ts +25 -0
- package/src/device/DevicePool.ts +86 -22
- package/src/device/DeviceStateMapper.ts +374 -0
- package/src/device/DeviceStateProjector.ts +94 -0
- package/src/device/DeviceStateStore.ts +201 -0
- package/src/device/DeviceWalletSessionStore.ts +144 -0
- package/src/device/cloneDeviceState.ts +39 -0
- package/src/device/deviceIdentity.ts +18 -0
- package/src/deviceProfile/buildDeviceFeatures.ts +223 -189
- package/src/deviceProfile/index.ts +0 -1
- package/src/deviceProfile/protocolV2DeviceIdentity.ts +35 -0
- package/src/events/device.ts +22 -1
- package/src/events/logBlockEvent.ts +80 -2
- package/src/events/ui-promise.ts +4 -2
- package/src/events/ui-request.ts +61 -4
- package/src/events/ui-response.ts +12 -2
- package/src/inject.ts +73 -43
- package/src/lowLevelInject.ts +6 -3
- package/src/protocols/protocol-v2/deviceSession.ts +24 -0
- package/src/protocols/protocol-v2/features.ts +100 -33
- package/src/protocols/protocol-v2/firmware.ts +3 -1
- package/src/protocols/protocol-v2/index.ts +8 -1
- package/src/protocols/protocol-v2/resources.ts +390 -0
- package/src/protocols/protocol-v2/settingsUnlockPolicy.ts +65 -0
- package/src/protocols/protocol-v2/uiInteraction.ts +250 -0
- package/src/protocols/protocol-v2/unlockPolicy.ts +1 -0
- package/src/protocols/protocol-v2/unlockPolicyRunner.ts +118 -0
- package/src/protocols/protocol-v2/walletSession.ts +463 -0
- package/src/topLevelInject.ts +6 -3
- package/src/types/api/checkAllFirmwareRelease.ts +48 -4
- package/src/types/api/detectDeviceConnectProtocol.ts +6 -0
- package/src/types/api/deviceSettings.ts +26 -2
- package/src/types/api/deviceUnlock.ts +13 -2
- package/src/types/api/export.ts +9 -0
- package/src/types/api/firmwareUpdate.ts +26 -5
- 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 +38 -64
- package/src/types/api/kaspaSignTransaction.ts +60 -4
- package/src/types/api/openWalletSession.ts +54 -0
- package/src/types/api/protocolV2.ts +33 -141
- package/src/types/api/sessionCache.ts +19 -0
- package/src/types/device.ts +200 -10
- package/src/types/params.ts +9 -2
- package/src/types/settings.ts +76 -24
- package/src/utils/assets.ts +4 -1
- package/src/utils/deviceFeaturesCompat.ts +185 -0
- package/src/utils/deviceFeaturesUtils.ts +65 -47
- package/src/utils/deviceInfoUtils.ts +29 -69
- package/src/utils/deviceSettings.ts +174 -39
- package/src/utils/deviceVersionUtils.ts +25 -44
- package/src/utils/findDefectiveBatchDevice.ts +3 -3
- package/src/utils/homescreen.ts +36 -0
- package/src/utils/index.ts +27 -3
- package/src/utils/networkUtils.ts +274 -16
- package/src/utils/pro2Nft.ts +142 -0
- package/src/utils/pro2Wallpaper.ts +130 -0
- package/src/utils/tracing.ts +3 -1
- package/src/utils/uiProgressThrottle.ts +63 -0
- package/tsconfig.type-tests.json +12 -0
- package/dist/api/GetDeviceInfo.d.ts +0 -9
- package/dist/api/GetDeviceInfo.d.ts.map +0 -1
- package/dist/api/firmware/progressThrottle.d.ts +0 -3
- package/dist/api/firmware/progressThrottle.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/deviceProfile/buildDeviceProfile.d.ts +0 -21
- package/dist/deviceProfile/buildDeviceProfile.d.ts.map +0 -1
- package/dist/types/api/getDeviceInfo.d.ts +0 -87
- package/dist/types/api/getDeviceInfo.d.ts.map +0 -1
- package/src/api/GetDeviceInfo.ts +0 -145
- package/src/api/firmware/progressThrottle.ts +0 -44
- package/src/api/protocol-v2/FilesystemDiskControl.ts +0 -50
- package/src/deviceProfile/buildDeviceProfile.ts +0 -352
- package/src/types/api/getDeviceInfo.ts +0 -101
package/src/types/device.ts
CHANGED
|
@@ -1,8 +1,14 @@
|
|
|
1
|
-
import { EDeviceType, type EFirmwareType } from '@onekeyfe/hd-shared';
|
|
1
|
+
import { EDeviceType, type EFirmwareType, type HardwareConnectProtocol } from '@onekeyfe/hd-shared';
|
|
2
2
|
|
|
3
3
|
import type { IVersionArray } from './settings';
|
|
4
4
|
import type { PROTO } from '../constants';
|
|
5
|
-
import type {
|
|
5
|
+
import type {
|
|
6
|
+
Enum_SafetyCheckLevel,
|
|
7
|
+
OneKeyDeviceCommType,
|
|
8
|
+
ProtocolV2DeviceInfo,
|
|
9
|
+
DeviceStatus as ProtocolV2DeviceStatus,
|
|
10
|
+
ProtocolInfo as ProtocolV2ProtocolInfo,
|
|
11
|
+
} from '@onekeyfe/hd-transport';
|
|
6
12
|
|
|
7
13
|
export type DeviceStatus = 'available' | 'occupied' | 'used';
|
|
8
14
|
|
|
@@ -23,6 +29,14 @@ export type UnavailableCapabilities = { [key: string]: UnavailableCapability };
|
|
|
23
29
|
|
|
24
30
|
export type KnownDevice = {
|
|
25
31
|
connectId: string | null;
|
|
32
|
+
/** Protocol family confirmed by the transport's active probe. */
|
|
33
|
+
connectProtocol?: HardwareConnectProtocol;
|
|
34
|
+
/**
|
|
35
|
+
* Stable physical-device identity. Current SDK responses always include this
|
|
36
|
+
* value; it remains optional in the type during the uuid compatibility window.
|
|
37
|
+
*/
|
|
38
|
+
serialNo?: string;
|
|
39
|
+
/** @deprecated Use serialNo instead. */
|
|
26
40
|
uuid: string;
|
|
27
41
|
deviceId: string | null;
|
|
28
42
|
deviceType: IDeviceType | null;
|
|
@@ -32,9 +46,12 @@ export type KnownDevice = {
|
|
|
32
46
|
bleName: string | null;
|
|
33
47
|
name: string;
|
|
34
48
|
error?: typeof undefined;
|
|
49
|
+
/** Current SDK/transport usage state for connection indicators. */
|
|
50
|
+
status?: DeviceStatus;
|
|
35
51
|
mode: EOneKeyDeviceMode;
|
|
36
|
-
features
|
|
37
|
-
|
|
52
|
+
features: Features;
|
|
53
|
+
/** Unified SDK device-state snapshot; features remains a legacy projection. */
|
|
54
|
+
state?: DeviceState;
|
|
38
55
|
unavailableCapabilities: UnavailableCapabilities;
|
|
39
56
|
bleFirmwareVersion: IVersionArray | null;
|
|
40
57
|
firmwareVersion: IVersionArray | null;
|
|
@@ -47,6 +64,19 @@ export type KnownDevice = {
|
|
|
47
64
|
|
|
48
65
|
export type SearchDevice = {
|
|
49
66
|
connectId: string | null;
|
|
67
|
+
/** Protocol family confirmed by the transport's active probe. */
|
|
68
|
+
connectProtocol?: HardwareConnectProtocol;
|
|
69
|
+
/**
|
|
70
|
+
* Available after device initialization. BLE discovery does not connect to the
|
|
71
|
+
* device, so it returns null until a later initialized device response. Current
|
|
72
|
+
* SDK responses always include the field; it remains optional in the type during
|
|
73
|
+
* the uuid compatibility window.
|
|
74
|
+
*/
|
|
75
|
+
serialNo?: string | null;
|
|
76
|
+
/**
|
|
77
|
+
* @deprecated Ambiguous legacy identifier. Use serialNo for hardware identity
|
|
78
|
+
* and connectId for transport routing.
|
|
79
|
+
*/
|
|
50
80
|
uuid: string;
|
|
51
81
|
deviceId: string | null;
|
|
52
82
|
deviceType: IDeviceType;
|
|
@@ -91,6 +121,7 @@ export type DeviceFeaturesProtocol = 'V1' | 'V2' | 'unknown';
|
|
|
91
121
|
export type DeviceFeaturesMode =
|
|
92
122
|
| 'normal'
|
|
93
123
|
| 'bootloader'
|
|
124
|
+
| 'romloader'
|
|
94
125
|
| 'notInitialized'
|
|
95
126
|
| 'backupMode'
|
|
96
127
|
| 'unknown';
|
|
@@ -98,6 +129,10 @@ export type DeviceFeaturesMode =
|
|
|
98
129
|
export type DeviceFeaturesVerify = {
|
|
99
130
|
firmwareBuildId?: string;
|
|
100
131
|
firmwareHash?: string;
|
|
132
|
+
applicationP1BuildId?: string;
|
|
133
|
+
applicationP1Hash?: string;
|
|
134
|
+
applicationP2BuildId?: string;
|
|
135
|
+
applicationP2Hash?: string;
|
|
101
136
|
bootloaderBuildId?: string;
|
|
102
137
|
bootloaderHash?: string;
|
|
103
138
|
boardBuildId?: string;
|
|
@@ -125,10 +160,141 @@ export type DeviceFeaturesVerify = {
|
|
|
125
160
|
export type DeviceFeaturesRaw = {
|
|
126
161
|
protocolV1Features?: PROTO.Features;
|
|
127
162
|
protocolV1OneKeyFeatures?: OnekeyFeatures;
|
|
163
|
+
protocolV2ProtocolInfo?: ProtocolV2ProtocolInfo;
|
|
128
164
|
protocolV2DeviceInfo?: ProtocolV2DeviceInfo;
|
|
165
|
+
protocolV2DeviceStatus?: ProtocolV2DeviceStatus;
|
|
129
166
|
};
|
|
130
167
|
|
|
131
|
-
export type
|
|
168
|
+
export type DeviceFeaturesRawPatch = {
|
|
169
|
+
[Key in keyof DeviceFeaturesRaw]?: DeviceFeaturesRaw[Key] | null;
|
|
170
|
+
};
|
|
171
|
+
|
|
172
|
+
export type DeviceStateProtocol = DeviceFeaturesProtocol;
|
|
173
|
+
export type DeviceStateMode = DeviceFeaturesMode;
|
|
174
|
+
export type DeviceStateSection = 'identity' | 'status' | 'settings' | 'versions' | 'verification';
|
|
175
|
+
|
|
176
|
+
export type DeviceStateUpdateSource =
|
|
177
|
+
| 'initialize'
|
|
178
|
+
| 'device-info'
|
|
179
|
+
| 'device-status'
|
|
180
|
+
| 'settings-read'
|
|
181
|
+
| 'settings-write'
|
|
182
|
+
| 'change-pin'
|
|
183
|
+
| 'lock'
|
|
184
|
+
| 'unlock'
|
|
185
|
+
| 'passphrase'
|
|
186
|
+
| 'session-clear'
|
|
187
|
+
| 'firmware-update'
|
|
188
|
+
| 'transport-reconnect'
|
|
189
|
+
| 'compatibility';
|
|
190
|
+
|
|
191
|
+
export type DeviceStateIdentity = {
|
|
192
|
+
deviceType: IDeviceType;
|
|
193
|
+
firmwareType: EFirmwareType;
|
|
194
|
+
model: string | null;
|
|
195
|
+
vendor: string | null;
|
|
196
|
+
deviceId: string | null;
|
|
197
|
+
serialNo: string;
|
|
198
|
+
label: string | null;
|
|
199
|
+
bleName: string | null;
|
|
200
|
+
};
|
|
201
|
+
|
|
202
|
+
export type DeviceStateStatus = {
|
|
203
|
+
mode: DeviceStateMode;
|
|
204
|
+
initialized: boolean | null;
|
|
205
|
+
unlocked: boolean | null;
|
|
206
|
+
firmwarePresent: boolean | null;
|
|
207
|
+
backupRequired: boolean | null;
|
|
208
|
+
noBackup: boolean | null;
|
|
209
|
+
unfinishedBackup: boolean | null;
|
|
210
|
+
recoveryMode: boolean | null;
|
|
211
|
+
passphraseProtection: boolean | null;
|
|
212
|
+
pinProtection: boolean | null;
|
|
213
|
+
/** `attach_to_pin_enabled`:是否至少存在一个 Attach PIN 绑定。 */
|
|
214
|
+
attachToPinEnabled: boolean | null;
|
|
215
|
+
/** `unlocked_by_attach_to_pin`:本次解锁是否由 Attach PIN 完成。 */
|
|
216
|
+
unlockedAttachPin: boolean | null;
|
|
217
|
+
};
|
|
218
|
+
|
|
219
|
+
export type DeviceStateSettings = {
|
|
220
|
+
language: string | null;
|
|
221
|
+
bleEnabled: boolean | null;
|
|
222
|
+
sdCardPresent: boolean | null;
|
|
223
|
+
sdProtection: boolean | null;
|
|
224
|
+
wipeCodeProtection: boolean | null;
|
|
225
|
+
passphraseAlwaysOnDevice: boolean | null;
|
|
226
|
+
safetyChecks: Enum_SafetyCheckLevel | null;
|
|
227
|
+
autoLockDelayMs: number | null;
|
|
228
|
+
autoShutdownDelayMs: number | null;
|
|
229
|
+
displayRotation: number | null;
|
|
230
|
+
experimentalFeatures: boolean | null;
|
|
231
|
+
wallpaperPath: string | null;
|
|
232
|
+
brightness: number | null;
|
|
233
|
+
animationEnabled: boolean | null;
|
|
234
|
+
tapToWake: boolean | null;
|
|
235
|
+
hapticFeedback: boolean | null;
|
|
236
|
+
deviceNameDisplayEnabled: boolean | null;
|
|
237
|
+
airgapMode: boolean | null;
|
|
238
|
+
fidoEnabled: boolean | null;
|
|
239
|
+
usbLockEnabled: boolean | null;
|
|
240
|
+
randomKeypad: boolean | null;
|
|
241
|
+
};
|
|
242
|
+
|
|
243
|
+
export type DeviceStateVersions = {
|
|
244
|
+
firmware: string | null;
|
|
245
|
+
applicationP1?: string | null;
|
|
246
|
+
applicationP2?: string | null;
|
|
247
|
+
bootloader: string | null;
|
|
248
|
+
board: string | null;
|
|
249
|
+
ble: string | null;
|
|
250
|
+
/** @deprecated Kept for legacy consumers; new code should read se01. */
|
|
251
|
+
se?: string | null;
|
|
252
|
+
se01?: string | null;
|
|
253
|
+
se02?: string | null;
|
|
254
|
+
se03?: string | null;
|
|
255
|
+
se04?: string | null;
|
|
256
|
+
se01Boot?: string | null;
|
|
257
|
+
se02Boot?: string | null;
|
|
258
|
+
se03Boot?: string | null;
|
|
259
|
+
se04Boot?: string | null;
|
|
260
|
+
};
|
|
261
|
+
|
|
262
|
+
export type DeviceState = {
|
|
263
|
+
schemaVersion: 1;
|
|
264
|
+
revision: number;
|
|
265
|
+
updatedAt: number;
|
|
266
|
+
protocol: DeviceStateProtocol;
|
|
267
|
+
/** Device-message protocol version, independent of the SDK V1/V2 protocol family. */
|
|
268
|
+
protocolVersion: number | null;
|
|
269
|
+
identity: DeviceStateIdentity;
|
|
270
|
+
status: DeviceStateStatus;
|
|
271
|
+
settings: DeviceStateSettings;
|
|
272
|
+
versions: DeviceStateVersions;
|
|
273
|
+
capabilities: Array<number | string>;
|
|
274
|
+
verification?: Partial<DeviceFeaturesVerify>;
|
|
275
|
+
};
|
|
276
|
+
|
|
277
|
+
export type DeviceStatePatch = {
|
|
278
|
+
protocol?: DeviceStateProtocol;
|
|
279
|
+
protocolVersion?: number | null;
|
|
280
|
+
identity?: Partial<DeviceStateIdentity>;
|
|
281
|
+
status?: Partial<DeviceStateStatus>;
|
|
282
|
+
settings?: Partial<DeviceStateSettings>;
|
|
283
|
+
versions?: Partial<DeviceStateVersions>;
|
|
284
|
+
capabilities?: Array<number | string>;
|
|
285
|
+
verification?: DeviceFeaturesVerify;
|
|
286
|
+
raw?: DeviceFeaturesRawPatch;
|
|
287
|
+
};
|
|
288
|
+
|
|
289
|
+
export type DeviceStateEvent = {
|
|
290
|
+
connectId: string | null;
|
|
291
|
+
state: DeviceState;
|
|
292
|
+
revision: number;
|
|
293
|
+
source: DeviceStateUpdateSource;
|
|
294
|
+
changedKeys: string[];
|
|
295
|
+
};
|
|
296
|
+
|
|
297
|
+
export type NormalizedFeatures = {
|
|
132
298
|
protocol: DeviceFeaturesProtocol;
|
|
133
299
|
protocolVersion?: number | null;
|
|
134
300
|
deviceType: IDeviceType;
|
|
@@ -157,11 +323,23 @@ export type Features = {
|
|
|
157
323
|
sdProtection: boolean | null;
|
|
158
324
|
wipeCodeProtection: boolean | null;
|
|
159
325
|
passphraseAlwaysOnDevice: boolean | null;
|
|
326
|
+
/** `attach_to_pin_enabled`:是否至少存在一个 Attach PIN 绑定。 */
|
|
160
327
|
attachToPinEnabled?: boolean | null;
|
|
161
|
-
safetyChecks:
|
|
328
|
+
safetyChecks: Enum_SafetyCheckLevel | null;
|
|
162
329
|
autoLockDelayMs: number | null;
|
|
330
|
+
autoShutdownDelayMs: number | null;
|
|
163
331
|
displayRotation: number | null;
|
|
164
332
|
experimentalFeatures: boolean | null;
|
|
333
|
+
wallpaperPath: string | null;
|
|
334
|
+
brightness: number | null;
|
|
335
|
+
animationEnabled: boolean | null;
|
|
336
|
+
tapToWake: boolean | null;
|
|
337
|
+
hapticFeedback: boolean | null;
|
|
338
|
+
deviceNameDisplayEnabled: boolean | null;
|
|
339
|
+
airgapMode: boolean | null;
|
|
340
|
+
fidoEnabled: boolean | null;
|
|
341
|
+
usbLockEnabled: boolean | null;
|
|
342
|
+
randomKeypad: boolean | null;
|
|
165
343
|
firmwareVersion: string | null;
|
|
166
344
|
bootloaderVersion: string | null;
|
|
167
345
|
boardVersion: string | null;
|
|
@@ -182,6 +360,10 @@ export type Features = {
|
|
|
182
360
|
raw?: DeviceFeaturesRaw;
|
|
183
361
|
};
|
|
184
362
|
|
|
363
|
+
export type Features = NormalizedFeatures &
|
|
364
|
+
Partial<Omit<PROTO.Features, keyof NormalizedFeatures>> &
|
|
365
|
+
Partial<Omit<PROTO.OnekeyFeatures, keyof NormalizedFeatures | keyof PROTO.Features>>;
|
|
366
|
+
|
|
185
367
|
export type OnekeyFeatures = PROTO.OnekeyFeatures;
|
|
186
368
|
|
|
187
369
|
export type IDeviceType =
|
|
@@ -192,14 +374,21 @@ export type IDeviceType =
|
|
|
192
374
|
| EDeviceType.Mini
|
|
193
375
|
| EDeviceType.Touch
|
|
194
376
|
| EDeviceType.Pro
|
|
195
|
-
| EDeviceType.Pro2
|
|
377
|
+
| EDeviceType.Pro2
|
|
378
|
+
| EDeviceType.Neo;
|
|
196
379
|
|
|
197
380
|
/**
|
|
198
381
|
* model_classic: 'classic' | 'classic1s' | 'classicpure'
|
|
199
382
|
* model_mini: 'classic' | 'classic1s' | 'classicpure' | 'mini'
|
|
200
383
|
* model_touch: 'touch' | 'pro'
|
|
384
|
+
* model_pro2: 'pro2' | 'neo'
|
|
201
385
|
*/
|
|
202
|
-
export type IDeviceModel =
|
|
386
|
+
export type IDeviceModel =
|
|
387
|
+
| 'model_classic'
|
|
388
|
+
| 'model_mini'
|
|
389
|
+
| 'model_touch'
|
|
390
|
+
| 'model_classic1s'
|
|
391
|
+
| 'model_pro2';
|
|
203
392
|
|
|
204
393
|
export const DeviceModelToTypes: { [deviceModel in IDeviceModel]: IDeviceType[] } = {
|
|
205
394
|
model_mini: [
|
|
@@ -209,6 +398,7 @@ export const DeviceModelToTypes: { [deviceModel in IDeviceModel]: IDeviceType[]
|
|
|
209
398
|
EDeviceType.Mini,
|
|
210
399
|
],
|
|
211
400
|
model_touch: [EDeviceType.Touch, EDeviceType.Pro],
|
|
401
|
+
model_pro2: [EDeviceType.Pro2, EDeviceType.Neo],
|
|
212
402
|
model_classic: [EDeviceType.Classic, EDeviceType.Classic1s, EDeviceType.ClassicPure],
|
|
213
403
|
model_classic1s: [EDeviceType.Classic1s, EDeviceType.ClassicPure],
|
|
214
404
|
};
|
|
@@ -220,7 +410,8 @@ export const DeviceTypeToModels: { [deviceType in IDeviceType]: IDeviceModel[] }
|
|
|
220
410
|
[EDeviceType.Mini]: ['model_mini'],
|
|
221
411
|
[EDeviceType.Touch]: ['model_touch'],
|
|
222
412
|
[EDeviceType.Pro]: ['model_touch'],
|
|
223
|
-
[EDeviceType.Pro2]: [],
|
|
413
|
+
[EDeviceType.Pro2]: ['model_pro2'],
|
|
414
|
+
[EDeviceType.Neo]: ['model_pro2'],
|
|
224
415
|
[EDeviceType.Unknown]: [],
|
|
225
416
|
};
|
|
226
417
|
|
|
@@ -233,7 +424,6 @@ export type ITransportStatus = 'valid' | 'outdated';
|
|
|
233
424
|
export type IVersionRange = {
|
|
234
425
|
min: string;
|
|
235
426
|
max?: string;
|
|
236
|
-
unsupported?: boolean;
|
|
237
427
|
};
|
|
238
428
|
|
|
239
429
|
export type DeviceFirmwareRange = {
|
package/src/types/params.ts
CHANGED
|
@@ -15,7 +15,7 @@ export interface CommonParams {
|
|
|
15
15
|
*/
|
|
16
16
|
timeout?: number;
|
|
17
17
|
/**
|
|
18
|
-
* Protocol V2
|
|
18
|
+
* DeviceInfoGet timeout during Protocol V2 initialization.
|
|
19
19
|
*/
|
|
20
20
|
protocolV2DeviceInfoTimeoutMs?: number;
|
|
21
21
|
/**
|
|
@@ -60,9 +60,16 @@ export interface CommonParams {
|
|
|
60
60
|
usePreInitialize?: boolean;
|
|
61
61
|
|
|
62
62
|
/**
|
|
63
|
-
*
|
|
63
|
+
* Strictly expected transport protocol. The SDK actively verifies this value and
|
|
64
|
+
* rejects a mismatch. After a successful probe, the cached protocol is also strict.
|
|
64
65
|
*/
|
|
65
66
|
connectProtocol?: HardwareConnectProtocol;
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* Ignore a previously bound protocol for this call and actively detect the
|
|
70
|
+
* protocol again. Intended for the first verified connection or explicit recovery.
|
|
71
|
+
*/
|
|
72
|
+
forceProtocolDetection?: boolean;
|
|
66
73
|
}
|
|
67
74
|
|
|
68
75
|
export type Params<T> = CommonParams & T & { bundle?: undefined };
|
package/src/types/settings.ts
CHANGED
|
@@ -49,32 +49,75 @@ export type IProtocolV2FirmwareComponentTarget =
|
|
|
49
49
|
| 'SE01'
|
|
50
50
|
| 'SE02'
|
|
51
51
|
| 'SE03'
|
|
52
|
-
| 'SE04'
|
|
53
|
-
| 'CRATE';
|
|
52
|
+
| 'SE04';
|
|
54
53
|
|
|
55
54
|
export type IProtocolV2FirmwareComponent = {
|
|
56
55
|
target: IProtocolV2FirmwareComponentTarget;
|
|
57
56
|
url: string;
|
|
57
|
+
/** SHA-256 of the complete okpkg, used after downloading the package. */
|
|
58
58
|
fingerprint?: string;
|
|
59
|
+
/** OKPP payload hash, used to detect same-version package changes. */
|
|
60
|
+
payloadHash?: string;
|
|
59
61
|
version?: IVersionArray;
|
|
60
|
-
resourceManifest?: IProtocolV2ResourceManifest;
|
|
61
62
|
};
|
|
62
63
|
|
|
63
|
-
export type
|
|
64
|
+
export type IProtocolV2ResourceType =
|
|
65
|
+
| 'images'
|
|
66
|
+
| 'animation'
|
|
67
|
+
| 'wallpaper'
|
|
68
|
+
| 'translations'
|
|
69
|
+
| 'roobert'
|
|
70
|
+
| 'noto';
|
|
71
|
+
|
|
72
|
+
/** Pro2 RES package descriptor. Hashes identify content without a human-managed version. */
|
|
73
|
+
export type IProtocolV2Resource = {
|
|
74
|
+
type: IProtocolV2ResourceType;
|
|
75
|
+
url: string;
|
|
76
|
+
/** Complete okpkg file size in bytes. */
|
|
77
|
+
size: number;
|
|
78
|
+
/** SHA-256 of the complete okpkg file. */
|
|
79
|
+
fileHash: string;
|
|
80
|
+
/** SHA3-512 header_hash from the signed okpkg header. */
|
|
81
|
+
headerHash: string;
|
|
82
|
+
};
|
|
83
|
+
|
|
84
|
+
/** A file from the Protocol V2 resource manifest, written directly with FileWrite. */
|
|
85
|
+
export type IProtocolV2ResourceFile = {
|
|
64
86
|
name?: string;
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
headerHash?: string;
|
|
87
|
+
url: string;
|
|
88
|
+
devicePath: string;
|
|
89
|
+
size: number;
|
|
90
|
+
/** SHA-256 of the complete file. */
|
|
91
|
+
fileHash: string;
|
|
71
92
|
};
|
|
72
93
|
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
94
|
+
/** Optional Protocol V2 boot resources restored as individual files. */
|
|
95
|
+
export type IProtocolV2BootResources = {
|
|
96
|
+
required: false;
|
|
97
|
+
target: 'RES';
|
|
98
|
+
manifestUrl?: string;
|
|
99
|
+
files: IProtocolV2ResourceFile[];
|
|
100
|
+
};
|
|
101
|
+
|
|
102
|
+
export type IProtocolV2Resources = {
|
|
103
|
+
stable: IProtocolV2Resource[];
|
|
104
|
+
boot?: IProtocolV2BootResources;
|
|
105
|
+
};
|
|
106
|
+
|
|
107
|
+
/** Pro2 RESC bundle okpkg descriptor for incremental FileWrite synchronization. */
|
|
108
|
+
export type IProtocolV2ResourceBundle = {
|
|
109
|
+
/** Bundle name, such as images, animation, translations, or fonts_roobert. */
|
|
110
|
+
name: string;
|
|
111
|
+
/** Download URL. */
|
|
112
|
+
url: string;
|
|
113
|
+
/** Device target path, such as vol0:/bundles/images/images.okpkg. */
|
|
114
|
+
devicePath: string;
|
|
115
|
+
/** okpkg payload_version used to skip matching content after FileRead. */
|
|
76
116
|
version?: IVersionArray;
|
|
77
|
-
|
|
117
|
+
/** okpkg payload_hash used for SHA3-512 comparison after FileRead. */
|
|
118
|
+
payloadHash?: string;
|
|
119
|
+
/** okpkg header_hash used for SHA3-512 comparison after FileRead. */
|
|
120
|
+
headerHash?: string;
|
|
78
121
|
};
|
|
79
122
|
|
|
80
123
|
/** STM32 firmware config */
|
|
@@ -98,7 +141,8 @@ export type IFirmwareReleaseInfo = {
|
|
|
98
141
|
upgradeType?: 'payload-package-set' | string;
|
|
99
142
|
components?: Record<string, IProtocolV2FirmwareComponent>;
|
|
100
143
|
installOrder?: string[];
|
|
101
|
-
|
|
144
|
+
/** Pro2 RESC bundles for incremental direct FileWrite synchronization. */
|
|
145
|
+
resourceBundles?: IProtocolV2ResourceBundle[];
|
|
102
146
|
bootloaderChangelog?: {
|
|
103
147
|
[k in ILocale]: string;
|
|
104
148
|
};
|
|
@@ -125,17 +169,25 @@ export type IBLEFirmwareReleaseInfo = {
|
|
|
125
169
|
};
|
|
126
170
|
|
|
127
171
|
type IKnownDevice = Exclude<IDeviceType, 'unknown'>;
|
|
172
|
+
type ILegacyKnownDevice = Exclude<IKnownDevice, 'neo'>;
|
|
173
|
+
|
|
174
|
+
type IDeviceReleaseInfo = {
|
|
175
|
+
firmware: IFirmwareReleaseInfo[];
|
|
176
|
+
/** Protocol V2 payload package set */
|
|
177
|
+
'firmware-v1'?: IFirmwareReleaseInfo[];
|
|
178
|
+
'firmware-v2'?: IFirmwareReleaseInfo[];
|
|
179
|
+
'firmware-v8'?: IFirmwareReleaseInfo[];
|
|
180
|
+
'firmware-btc-v8'?: IFirmwareReleaseInfo[];
|
|
181
|
+
ble: IBLEFirmwareReleaseInfo[];
|
|
182
|
+
/** Independent Protocol V2 resource release configuration. */
|
|
183
|
+
resources?: IProtocolV2Resources;
|
|
184
|
+
};
|
|
128
185
|
|
|
129
186
|
export type DeviceTypeMap = {
|
|
130
|
-
[k in
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
'firmware-v2'?: IFirmwareReleaseInfo[];
|
|
135
|
-
'firmware-v8'?: IFirmwareReleaseInfo[];
|
|
136
|
-
'firmware-btc-v8'?: IFirmwareReleaseInfo[];
|
|
137
|
-
ble: IBLEFirmwareReleaseInfo[];
|
|
138
|
-
};
|
|
187
|
+
[k in ILegacyKnownDevice]: IDeviceReleaseInfo;
|
|
188
|
+
} & {
|
|
189
|
+
/** Optional until every remote-config producer publishes a Neo entry. */
|
|
190
|
+
neo?: IDeviceReleaseInfo;
|
|
139
191
|
};
|
|
140
192
|
|
|
141
193
|
export type AssetsMap = {
|
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,185 @@
|
|
|
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 'NEO':
|
|
64
|
+
return EDeviceType.Neo;
|
|
65
|
+
case 'PURE':
|
|
66
|
+
return EDeviceType.ClassicPure;
|
|
67
|
+
default:
|
|
68
|
+
break;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
if (compatible.model?.toString().toLowerCase() === EDeviceType.Pro2) {
|
|
72
|
+
return EDeviceType.Pro2;
|
|
73
|
+
}
|
|
74
|
+
if (compatible.model?.toString().toLowerCase() === EDeviceType.Neo) {
|
|
75
|
+
return EDeviceType.Neo;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
const serialNo = resolveDeviceSerialNo(features);
|
|
79
|
+
const prefix = serialNo.slice(0, 2).toLowerCase();
|
|
80
|
+
if (prefix === 'bi' || prefix === 'cl') return EDeviceType.Classic;
|
|
81
|
+
if (prefix === 'cp') return EDeviceType.ClassicPure;
|
|
82
|
+
if (prefix === 'mi') return EDeviceType.Mini;
|
|
83
|
+
if (prefix === 'tc') return EDeviceType.Touch;
|
|
84
|
+
if (prefix === 'pr') return EDeviceType.Pro;
|
|
85
|
+
if (prefix === 'p2') return EDeviceType.Pro2;
|
|
86
|
+
|
|
87
|
+
const bootloaderMode = compatible.bootloaderMode ?? compatible.bootloader_mode;
|
|
88
|
+
if (!serialNo && bootloaderMode === true && compatible.model === '1') {
|
|
89
|
+
return EDeviceType.Classic;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
return compatible.deviceType ?? EDeviceType.Unknown;
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
export const resolveDeviceFirmwareType = (features?: DeviceFeaturesInput): EFirmwareType => {
|
|
96
|
+
if (!features) {
|
|
97
|
+
return EFirmwareType.Universal;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
const compatible = asCompatibleFeatures(features);
|
|
101
|
+
if (compatible.firmwareType) {
|
|
102
|
+
return compatible.firmwareType;
|
|
103
|
+
}
|
|
104
|
+
if (compatible.fw_vendor === 'OneKey Bitcoin-only') {
|
|
105
|
+
return EFirmwareType.BitcoinOnly;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
const capabilities = compatible.capabilities as Array<number | string> | null | undefined;
|
|
109
|
+
const supportsBitcoinLike = capabilities?.some(
|
|
110
|
+
capability =>
|
|
111
|
+
capability === Enum_Capability.Capability_Bitcoin_like ||
|
|
112
|
+
capability === 'Capability_Bitcoin_like'
|
|
113
|
+
);
|
|
114
|
+
return capabilities?.length && !supportsBitcoinLike
|
|
115
|
+
? EFirmwareType.BitcoinOnly
|
|
116
|
+
: EFirmwareType.Universal;
|
|
117
|
+
};
|
|
118
|
+
|
|
119
|
+
export const resolveDeviceBleName = (features?: DeviceFeaturesInput): string | null => {
|
|
120
|
+
if (!features) return null;
|
|
121
|
+
const compatible = asCompatibleFeatures(features);
|
|
122
|
+
return (
|
|
123
|
+
firstNonEmptyString(compatible.bleName, compatible.onekey_ble_name, compatible.ble_name) ?? null
|
|
124
|
+
);
|
|
125
|
+
};
|
|
126
|
+
|
|
127
|
+
export const resolveDeviceFirmwareVersion = (features?: DeviceFeaturesInput): string | null => {
|
|
128
|
+
if (!features) return null;
|
|
129
|
+
const compatible = asCompatibleFeatures(features);
|
|
130
|
+
const bootloaderMode = compatible.bootloaderMode ?? compatible.bootloader_mode;
|
|
131
|
+
return firstMeaningfulVersion(
|
|
132
|
+
compatible.firmwareVersion,
|
|
133
|
+
compatible.onekey_firmware_version,
|
|
134
|
+
compatible.onekey_version,
|
|
135
|
+
bootloaderMode
|
|
136
|
+
? null
|
|
137
|
+
: versionFromParts(
|
|
138
|
+
compatible.major_version,
|
|
139
|
+
compatible.minor_version,
|
|
140
|
+
compatible.patch_version
|
|
141
|
+
)
|
|
142
|
+
);
|
|
143
|
+
};
|
|
144
|
+
|
|
145
|
+
export const resolveDeviceBootloaderVersion = (features?: DeviceFeaturesInput): string | null => {
|
|
146
|
+
if (!features) return null;
|
|
147
|
+
const compatible = asCompatibleFeatures(features);
|
|
148
|
+
const bootloaderMode = compatible.bootloaderMode ?? compatible.bootloader_mode;
|
|
149
|
+
return firstMeaningfulVersion(
|
|
150
|
+
compatible.bootloaderVersion,
|
|
151
|
+
compatible.onekey_boot_version,
|
|
152
|
+
compatible.bootloader_version,
|
|
153
|
+
compatible.onekey_bootloader_version,
|
|
154
|
+
bootloaderMode
|
|
155
|
+
? versionFromParts(
|
|
156
|
+
compatible.major_version,
|
|
157
|
+
compatible.minor_version,
|
|
158
|
+
compatible.patch_version
|
|
159
|
+
)
|
|
160
|
+
: null
|
|
161
|
+
);
|
|
162
|
+
};
|
|
163
|
+
|
|
164
|
+
export const resolveDeviceBoardVersion = (features?: DeviceFeaturesInput): string | null => {
|
|
165
|
+
if (!features) return null;
|
|
166
|
+
const compatible = asCompatibleFeatures(features);
|
|
167
|
+
return firstMeaningfulVersion(
|
|
168
|
+
compatible.boardVersion,
|
|
169
|
+
compatible.onekey_board_version,
|
|
170
|
+
compatible.boardloader_version,
|
|
171
|
+
compatible.onekey_romloader_version,
|
|
172
|
+
compatible.romloader_version
|
|
173
|
+
);
|
|
174
|
+
};
|
|
175
|
+
|
|
176
|
+
export const resolveDeviceBleFirmwareVersion = (features?: DeviceFeaturesInput): string | null => {
|
|
177
|
+
if (!features) return null;
|
|
178
|
+
const compatible = asCompatibleFeatures(features);
|
|
179
|
+
return firstMeaningfulVersion(
|
|
180
|
+
compatible.bleVersion,
|
|
181
|
+
compatible.onekey_ble_version,
|
|
182
|
+
compatible.ble_ver,
|
|
183
|
+
compatible.onekey_coprocessor_version
|
|
184
|
+
);
|
|
185
|
+
};
|