@onekeyfe/hd-core 1.1.34-alpha.3 → 1.1.34-alpha.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/__tests__/DeviceCommands.test.ts +0 -217
- package/__tests__/evmLedgerLegacySafety.test.ts +4 -15
- package/__tests__/evmSignTransaction.test.ts +1 -1
- package/__tests__/evmSignTypedData.test.ts +1 -1
- package/__tests__/firmware-update/firmware-update-v2-download-before-boot.test.ts +31 -48
- package/__tests__/preInitialize.test.ts +0 -33
- package/dist/api/BaseMethod.d.ts +0 -12
- 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/FirmwareUpdate.d.ts.map +1 -1
- package/dist/api/FirmwareUpdateV2.d.ts +3 -14
- package/dist/api/FirmwareUpdateV2.d.ts.map +1 -1
- package/dist/api/FirmwareUpdateV3.d.ts +3 -10
- package/dist/api/FirmwareUpdateV3.d.ts.map +1 -1
- 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.map +1 -1
- package/dist/api/PromptWebDeviceAccess.d.ts.map +1 -1
- package/dist/api/SearchDevices.d.ts +1 -5
- package/dist/api/SearchDevices.d.ts.map +1 -1
- package/dist/api/alephium/AlephiumGetAddress.d.ts +6 -2
- package/dist/api/alephium/AlephiumGetAddress.d.ts.map +1 -1
- package/dist/api/alephium/AlephiumSignMessage.d.ts +5 -2
- package/dist/api/alephium/AlephiumSignMessage.d.ts.map +1 -1
- package/dist/api/alephium/AlephiumSignTransaction.d.ts +8 -5
- package/dist/api/alephium/AlephiumSignTransaction.d.ts.map +1 -1
- package/dist/api/allnetwork/AllNetworkGetAddressBase.d.ts.map +1 -1
- package/dist/api/aptos/AptosGetAddress.d.ts.map +1 -1
- package/dist/api/benfen/BenfenGetAddress.d.ts +9 -2
- package/dist/api/benfen/BenfenGetAddress.d.ts.map +1 -1
- package/dist/api/benfen/BenfenGetPublicKey.d.ts +9 -2
- package/dist/api/benfen/BenfenGetPublicKey.d.ts.map +1 -1
- package/dist/api/benfen/BenfenSignMessage.d.ts +8 -2
- package/dist/api/benfen/BenfenSignMessage.d.ts.map +1 -1
- package/dist/api/benfen/BenfenSignTransaction.d.ts +8 -2
- package/dist/api/benfen/BenfenSignTransaction.d.ts.map +1 -1
- package/dist/api/btc/BTCGetAddress.d.ts +11 -1
- package/dist/api/btc/BTCGetAddress.d.ts.map +1 -1
- package/dist/api/btc/BTCGetPublicKey.d.ts +11 -1
- package/dist/api/btc/BTCGetPublicKey.d.ts.map +1 -1
- package/dist/api/btc/BTCSignMessage.d.ts +15 -1
- package/dist/api/btc/BTCSignMessage.d.ts.map +1 -1
- package/dist/api/btc/BTCSignPsbt.d.ts.map +1 -1
- package/dist/api/btc/BTCSignTransaction.d.ts +11 -1
- package/dist/api/btc/BTCSignTransaction.d.ts.map +1 -1
- package/dist/api/btc/BTCVerifyMessage.d.ts +11 -1
- package/dist/api/btc/BTCVerifyMessage.d.ts.map +1 -1
- package/dist/api/btc/helpers/versionLimit.d.ts +11 -2
- package/dist/api/btc/helpers/versionLimit.d.ts.map +1 -1
- package/dist/api/cardano/CardanoSignTransaction.d.ts.map +1 -1
- package/dist/api/conflux/ConfluxSignTransaction.d.ts.map +1 -1
- package/dist/api/device/DeviceCancel.d.ts.map +1 -1
- package/dist/api/device/DeviceChangePin.d.ts.map +1 -1
- package/dist/api/device/DeviceFullyUploadResource.d.ts +2 -1
- package/dist/api/device/DeviceFullyUploadResource.d.ts.map +1 -1
- package/dist/api/device/DeviceLock.d.ts.map +1 -1
- package/dist/api/device/DeviceRebootToBoardloader.d.ts +1 -1
- package/dist/api/device/DeviceRebootToBoardloader.d.ts.map +1 -1
- package/dist/api/device/DeviceRebootToBootloader.d.ts.map +1 -1
- package/dist/api/device/DeviceSettings.d.ts.map +1 -1
- package/dist/api/device/DeviceSupportFeatures.d.ts.map +1 -1
- package/dist/api/device/DeviceUnlock.d.ts +1 -1
- package/dist/api/device/DeviceUnlock.d.ts.map +1 -1
- package/dist/api/device/DeviceUpdateBootloader.d.ts +1 -7
- package/dist/api/device/DeviceUpdateBootloader.d.ts.map +1 -1
- package/dist/api/device/DeviceUploadResource.d.ts.map +1 -1
- package/dist/api/device/DeviceVerify.d.ts.map +1 -1
- package/dist/api/device/DeviceWipe.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/EVMGetPublicKey.d.ts.map +1 -1
- package/dist/api/evm/EVMSignMessageEIP712.d.ts +8 -2
- package/dist/api/evm/EVMSignMessageEIP712.d.ts.map +1 -1
- package/dist/api/evm/EVMSignTypedData.d.ts.map +1 -1
- package/dist/api/evm/latest/signTypedData.d.ts +1 -1
- package/dist/api/evm/latest/signTypedData.d.ts.map +1 -1
- package/dist/api/evm/latest/signTypedHash.d.ts.map +1 -1
- package/dist/api/evm/legacyV1/getAddress.d.ts.map +1 -1
- package/dist/api/evm/legacyV1/getPublicKey.d.ts.map +1 -1
- package/dist/api/evm/legacyV1/signMessage.d.ts.map +1 -1
- package/dist/api/evm/legacyV1/signTypedData.d.ts +1 -1
- package/dist/api/evm/legacyV1/signTypedData.d.ts.map +1 -1
- package/dist/api/evm/legacyV1/signTypedHash.d.ts.map +1 -1
- package/dist/api/evm/legacyV1/verifyMessage.d.ts.map +1 -1
- package/dist/api/firmware/FirmwareUpdateBaseMethod.d.ts +1 -10
- package/dist/api/firmware/FirmwareUpdateBaseMethod.d.ts.map +1 -1
- package/dist/api/firmware/bootloaderHelper.d.ts.map +1 -1
- package/dist/api/firmware/getBinary.d.ts +0 -11
- package/dist/api/firmware/getBinary.d.ts.map +1 -1
- package/dist/api/firmware/updateBootloader.d.ts +0 -2
- package/dist/api/firmware/updateBootloader.d.ts.map +1 -1
- package/dist/api/firmware/uploadFirmware.d.ts +1 -9
- package/dist/api/firmware/uploadFirmware.d.ts.map +1 -1
- package/dist/api/helpers/batchGetPublickeys.d.ts +0 -3
- package/dist/api/helpers/batchGetPublickeys.d.ts.map +1 -1
- package/dist/api/index.d.ts +0 -29
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/kaspa/KaspaSignTransaction.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/neo/NeoGetAddress.d.ts +8 -2
- package/dist/api/neo/NeoGetAddress.d.ts.map +1 -1
- package/dist/api/neo/NeoSignTransaction.d.ts +8 -2
- package/dist/api/neo/NeoSignTransaction.d.ts.map +1 -1
- package/dist/api/nervos/NervosGetAddress.d.ts +9 -2
- package/dist/api/nervos/NervosGetAddress.d.ts.map +1 -1
- package/dist/api/nervos/NervosSignTransaction.d.ts +12 -9
- package/dist/api/nervos/NervosSignTransaction.d.ts.map +1 -1
- package/dist/api/nexa/NexaGetAddress.d.ts +8 -2
- package/dist/api/nexa/NexaGetAddress.d.ts.map +1 -1
- package/dist/api/nexa/NexaSignTransaction.d.ts +9 -2
- package/dist/api/nexa/NexaSignTransaction.d.ts.map +1 -1
- package/dist/api/polkadot/PolkadotGetAddress.d.ts +0 -3
- package/dist/api/polkadot/PolkadotGetAddress.d.ts.map +1 -1
- package/dist/api/polkadot/networks.d.ts +0 -3
- package/dist/api/polkadot/networks.d.ts.map +1 -1
- package/dist/api/scdo/ScdoGetAddress.d.ts +6 -2
- package/dist/api/scdo/ScdoGetAddress.d.ts.map +1 -1
- package/dist/api/scdo/ScdoSignMessage.d.ts +5 -2
- package/dist/api/scdo/ScdoSignMessage.d.ts.map +1 -1
- package/dist/api/scdo/ScdoSignTransaction.d.ts +5 -2
- package/dist/api/scdo/ScdoSignTransaction.d.ts.map +1 -1
- package/dist/api/solana/SolGetAddress.d.ts +0 -1
- package/dist/api/solana/SolGetAddress.d.ts.map +1 -1
- package/dist/api/solana/SolSignMessage.d.ts +0 -3
- package/dist/api/solana/SolSignMessage.d.ts.map +1 -1
- package/dist/api/solana/SolSignOffchainMessage.d.ts +0 -3
- package/dist/api/solana/SolSignOffchainMessage.d.ts.map +1 -1
- package/dist/api/solana/SolSignTransaction.d.ts +0 -6
- package/dist/api/solana/SolSignTransaction.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 +0 -3
- package/dist/api/sui/SuiGetAddress.d.ts.map +1 -1
- package/dist/api/sui/SuiGetPublicKey.d.ts +0 -3
- package/dist/api/sui/SuiGetPublicKey.d.ts.map +1 -1
- package/dist/api/sui/SuiSignMessage.d.ts +0 -3
- package/dist/api/sui/SuiSignMessage.d.ts.map +1 -1
- package/dist/api/sui/SuiSignTransaction.d.ts +2 -5
- package/dist/api/sui/SuiSignTransaction.d.ts.map +1 -1
- package/dist/api/ton/TonGetAddress.d.ts +0 -3
- package/dist/api/ton/TonGetAddress.d.ts.map +1 -1
- package/dist/api/ton/TonSignData.d.ts +0 -1
- package/dist/api/ton/TonSignData.d.ts.map +1 -1
- package/dist/api/ton/TonSignMessage.d.ts +0 -3
- package/dist/api/ton/TonSignMessage.d.ts.map +1 -1
- package/dist/api/ton/TonSignProof.d.ts +0 -3
- package/dist/api/ton/TonSignProof.d.ts.map +1 -1
- package/dist/api/tron/TronSignMessage.d.ts +0 -3
- package/dist/api/tron/TronSignMessage.d.ts.map +1 -1
- package/dist/api/tron/TronSignTransaction.d.ts +0 -3
- package/dist/api/tron/TronSignTransaction.d.ts.map +1 -1
- package/dist/api/utils.d.ts +1 -2
- package/dist/api/utils.d.ts.map +1 -1
- package/dist/constants/index.d.ts +1 -2
- package/dist/constants/index.d.ts.map +1 -1
- package/dist/core/RequestQueue.d.ts +1 -19
- package/dist/core/RequestQueue.d.ts.map +1 -1
- package/dist/core/index.d.ts +1 -4
- package/dist/core/index.d.ts.map +1 -1
- package/dist/data-manager/DataManager.d.ts +5 -9
- package/dist/data-manager/DataManager.d.ts.map +1 -1
- package/dist/data-manager/MessagesConfig.d.ts +2 -2
- package/dist/data-manager/MessagesConfig.d.ts.map +1 -1
- package/dist/data-manager/TransportManager.d.ts +4 -5
- 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 +16 -60
- package/dist/device/Device.d.ts.map +1 -1
- package/dist/device/DeviceCommands.d.ts +14 -16
- package/dist/device/DeviceCommands.d.ts.map +1 -1
- package/dist/device/DeviceConnector.d.ts +1 -2
- package/dist/device/DeviceConnector.d.ts.map +1 -1
- package/dist/device/DevicePool.d.ts +2 -4
- package/dist/device/DevicePool.d.ts.map +1 -1
- package/dist/events/call.d.ts +0 -7
- package/dist/events/call.d.ts.map +1 -1
- package/dist/events/core.d.ts +2 -2
- package/dist/events/core.d.ts.map +1 -1
- package/dist/events/device.d.ts +2 -11
- package/dist/events/device.d.ts.map +1 -1
- package/dist/events/iframe.d.ts +0 -1
- package/dist/events/iframe.d.ts.map +1 -1
- package/dist/events/logBlockEvent.d.ts +0 -1
- package/dist/events/logBlockEvent.d.ts.map +1 -1
- package/dist/events/ui-request.d.ts +2 -26
- package/dist/events/ui-request.d.ts.map +1 -1
- package/dist/index.d.ts +451 -1797
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5556 -26855
- package/dist/inject.d.ts +2 -3
- package/dist/inject.d.ts.map +1 -1
- package/dist/lowLevelInject.d.ts +1 -2
- package/dist/lowLevelInject.d.ts.map +1 -1
- package/dist/topLevelInject.d.ts.map +1 -1
- package/dist/types/api/checkAllFirmwareRelease.d.ts +2 -4
- package/dist/types/api/checkAllFirmwareRelease.d.ts.map +1 -1
- package/dist/types/api/deviceSettings.d.ts +0 -9
- 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 +1 -6
- package/dist/types/api/deviceUpdateBootloader.d.ts.map +1 -1
- package/dist/types/api/export.d.ts +1 -4
- package/dist/types/api/export.d.ts.map +1 -1
- package/dist/types/api/firmwareUpdate.d.ts +1 -114
- package/dist/types/api/firmwareUpdate.d.ts.map +1 -1
- 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 +1 -2
- package/dist/types/api/getPassphraseState.d.ts.map +1 -1
- package/dist/types/api/index.d.ts +2 -48
- package/dist/types/api/index.d.ts.map +1 -1
- package/dist/types/api/searchDevices.d.ts +2 -2
- package/dist/types/api/searchDevices.d.ts.map +1 -1
- package/dist/types/device.d.ts +5 -207
- package/dist/types/device.d.ts.map +1 -1
- package/dist/types/params.d.ts +0 -3
- package/dist/types/params.d.ts.map +1 -1
- package/dist/types/settings.d.ts +0 -33
- package/dist/types/settings.d.ts.map +1 -1
- package/dist/utils/capabilitieUtils.d.ts.map +1 -1
- package/dist/utils/deviceFeaturesUtils.d.ts +9 -17
- package/dist/utils/deviceFeaturesUtils.d.ts.map +1 -1
- package/dist/utils/deviceInfoUtils.d.ts +8 -10
- package/dist/utils/deviceInfoUtils.d.ts.map +1 -1
- package/dist/utils/deviceSettings.d.ts +0 -2
- package/dist/utils/deviceSettings.d.ts.map +1 -1
- package/dist/utils/deviceVersionUtils.d.ts +5 -6
- package/dist/utils/deviceVersionUtils.d.ts.map +1 -1
- package/dist/utils/findDefectiveBatchDevice.d.ts +1 -1
- package/dist/utils/homescreen.d.ts.map +1 -1
- package/dist/utils/index.d.ts +1 -3
- package/dist/utils/index.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/tracing.d.ts.map +1 -1
- package/dist/utils/versionUtils.d.ts +1 -1
- package/package.json +4 -4
- package/src/api/BaseMethod.ts +23 -60
- package/src/api/CheckAllFirmwareRelease.ts +3 -16
- package/src/api/CheckBootloaderRelease.ts +2 -1
- package/src/api/CheckFirmwareRelease.ts +2 -1
- package/src/api/FirmwareUpdate.ts +7 -15
- package/src/api/FirmwareUpdateV2.ts +148 -354
- package/src/api/FirmwareUpdateV3.ts +62 -376
- package/src/api/GetFeatures.ts +4 -12
- package/src/api/GetOnekeyFeatures.ts +3 -15
- package/src/api/GetPassphraseState.ts +10 -9
- package/src/api/PromptWebDeviceAccess.ts +1 -10
- package/src/api/SearchDevices.ts +3 -33
- package/src/api/alephium/AlephiumGetAddress.ts +2 -6
- package/src/api/alephium/AlephiumSignMessage.ts +1 -6
- package/src/api/alephium/AlephiumSignTransaction.ts +4 -15
- package/src/api/allnetwork/AllNetworkGetAddressBase.ts +21 -25
- package/src/api/aptos/AptosGetAddress.ts +3 -2
- package/src/api/benfen/BenfenGetAddress.ts +7 -11
- package/src/api/benfen/BenfenGetPublicKey.ts +2 -6
- package/src/api/benfen/BenfenSignMessage.ts +1 -6
- package/src/api/benfen/BenfenSignTransaction.ts +1 -6
- package/src/api/btc/BTCGetPublicKey.ts +2 -3
- package/src/api/btc/BTCSignPsbt.ts +2 -1
- package/src/api/btc/helpers/versionLimit.ts +1 -7
- package/src/api/cardano/CardanoSignTransaction.ts +4 -2
- package/src/api/conflux/ConfluxSignTransaction.ts +2 -5
- package/src/api/device/DeviceCancel.ts +0 -1
- package/src/api/device/DeviceChangePin.ts +0 -24
- package/src/api/device/DeviceFullyUploadResource.ts +7 -6
- package/src/api/device/DeviceLock.ts +3 -2
- package/src/api/device/DeviceRebootToBoardloader.ts +1 -11
- package/src/api/device/DeviceRebootToBootloader.ts +1 -11
- package/src/api/device/DeviceSettings.ts +0 -121
- package/src/api/device/DeviceSupportFeatures.ts +13 -2
- package/src/api/device/DeviceUnlock.ts +0 -9
- package/src/api/device/DeviceUpdateBootloader.ts +11 -175
- package/src/api/device/DeviceUploadResource.ts +5 -4
- package/src/api/device/DeviceVerify.ts +2 -1
- package/src/api/device/DeviceWipe.ts +0 -19
- package/src/api/dynex/DnxGetAddress.ts +0 -6
- package/src/api/dynex/DnxSignTransaction.ts +0 -6
- package/src/api/evm/EVMGetAddress.ts +1 -1
- package/src/api/evm/EVMGetPublicKey.ts +4 -3
- package/src/api/evm/EVMSignMessage.ts +1 -1
- package/src/api/evm/EVMSignMessageEIP712.ts +1 -14
- package/src/api/evm/EVMSignTransaction.ts +1 -1
- package/src/api/evm/EVMSignTypedData.ts +18 -30
- package/src/api/evm/EVMVerifyMessage.ts +1 -1
- package/src/api/evm/latest/signTypedHash.ts +4 -2
- package/src/api/evm/legacyV1/getAddress.ts +3 -5
- package/src/api/evm/legacyV1/getPublicKey.ts +3 -5
- package/src/api/evm/legacyV1/signMessage.ts +3 -5
- package/src/api/evm/legacyV1/signTypedData.ts +8 -9
- package/src/api/evm/legacyV1/signTypedHash.ts +7 -7
- package/src/api/evm/legacyV1/verifyMessage.ts +3 -5
- package/src/api/firmware/FirmwareUpdateBaseMethod.ts +15 -83
- package/src/api/firmware/bootloaderHelper.ts +2 -3
- package/src/api/firmware/getBinary.ts +1 -1
- package/src/api/firmware/releaseHelper.ts +3 -3
- package/src/api/firmware/updateBootloader.ts +4 -19
- package/src/api/firmware/uploadFirmware.ts +34 -148
- package/src/api/helpers/batchGetPublickeys.ts +6 -51
- package/src/api/index.ts +0 -32
- package/src/api/kaspa/KaspaSignTransaction.ts +3 -2
- package/src/api/lightning/LnurlAuth.ts +0 -4
- package/src/api/neo/NeoGetAddress.ts +1 -6
- package/src/api/neo/NeoSignTransaction.ts +1 -6
- package/src/api/nervos/NervosGetAddress.ts +2 -6
- package/src/api/nervos/NervosSignTransaction.ts +4 -14
- package/src/api/nexa/NexaGetAddress.ts +2 -6
- package/src/api/nexa/NexaSignTransaction.ts +12 -11
- package/src/api/polkadot/networks.ts +0 -9
- package/src/api/scdo/ScdoGetAddress.ts +2 -6
- package/src/api/scdo/ScdoSignMessage.ts +1 -6
- package/src/api/scdo/ScdoSignTransaction.ts +2 -6
- package/src/api/solana/SolGetAddress.ts +0 -4
- package/src/api/solana/SolSignMessage.ts +0 -3
- package/src/api/solana/SolSignOffchainMessage.ts +0 -3
- package/src/api/solana/SolSignTransaction.ts +0 -6
- package/src/api/stellar/StellarGetAddress.ts +1 -10
- package/src/api/stellar/StellarSignTransaction.ts +1 -14
- package/src/api/sui/SuiGetAddress.ts +3 -5
- package/src/api/sui/SuiGetPublicKey.ts +0 -3
- package/src/api/sui/SuiSignMessage.ts +0 -3
- package/src/api/sui/SuiSignTransaction.ts +12 -14
- package/src/api/ton/TonGetAddress.ts +0 -3
- package/src/api/ton/TonSignData.ts +3 -6
- package/src/api/ton/TonSignMessage.ts +5 -6
- package/src/api/ton/TonSignProof.ts +0 -3
- package/src/api/tron/TronSignMessage.ts +1 -4
- package/src/api/tron/TronSignTransaction.ts +0 -3
- package/src/api/utils.ts +3 -7
- package/src/api/xrp/XrpSignTransaction.ts +1 -1
- package/src/constants/index.ts +1 -7
- package/src/core/RequestQueue.ts +4 -124
- package/src/core/index.ts +116 -255
- package/src/data-manager/DataManager.ts +49 -61
- package/src/data-manager/MessagesConfig.ts +14 -14
- package/src/data-manager/TransportManager.ts +12 -38
- package/src/data-manager/connectSettings.ts +0 -15
- package/src/device/Device.ts +164 -759
- package/src/device/DeviceCommands.ts +36 -245
- package/src/device/DeviceConnector.ts +4 -29
- package/src/device/DevicePool.ts +21 -69
- package/src/events/call.ts +0 -6
- package/src/events/core.ts +0 -2
- package/src/events/device.ts +1 -17
- package/src/events/iframe.ts +0 -1
- package/src/events/logBlockEvent.ts +0 -30
- package/src/events/ui-request.ts +2 -32
- package/src/index.ts +0 -9
- package/src/inject.ts +3 -75
- package/src/lowLevelInject.ts +1 -8
- package/src/topLevelInject.ts +1 -7
- package/src/types/api/checkAllFirmwareRelease.ts +2 -4
- package/src/types/api/deviceSettings.ts +0 -9
- package/src/types/api/deviceUnlock.ts +1 -1
- package/src/types/api/deviceUpdateBootloader.ts +1 -10
- package/src/types/api/export.ts +0 -25
- package/src/types/api/firmwareUpdate.ts +1 -163
- package/src/types/api/getFeatures.ts +0 -3
- package/src/types/api/getOnekeyFeatures.ts +0 -3
- package/src/types/api/getPassphraseState.ts +2 -10
- package/src/types/api/index.ts +2 -89
- package/src/types/api/searchDevices.ts +2 -2
- package/src/types/device.ts +5 -266
- package/src/types/params.ts +0 -11
- package/src/types/settings.ts +29 -54
- package/src/utils/capabilitieUtils.ts +2 -1
- package/src/utils/deviceFeaturesUtils.ts +84 -122
- package/src/utils/deviceInfoUtils.ts +87 -38
- package/src/utils/deviceSettings.ts +0 -48
- package/src/utils/deviceVersionUtils.ts +62 -25
- package/src/utils/findDefectiveBatchDevice.ts +8 -8
- package/src/utils/homescreen.ts +0 -10
- package/src/utils/index.ts +0 -4
- package/src/utils/tracing.ts +1 -3
- package/__tests__/AllNetworkGetAddressBase.tracing.test.ts +0 -75
- package/__tests__/RequestQueue.test.ts +0 -140
- package/__tests__/UploadPortfolio.test.ts +0 -46
- package/__tests__/connectSettings.test.ts +0 -61
- package/__tests__/device-lifecycle-events.test.ts +0 -117
- package/__tests__/device-pool-state.test.ts +0 -132
- package/__tests__/device-settings.test.ts +0 -286
- package/__tests__/device-state-mapper.test.ts +0 -229
- package/__tests__/device-utils.test.ts +0 -106
- package/__tests__/device-wallet-session-store.test.ts +0 -191
- package/__tests__/filesystemValidation.test.ts +0 -53
- package/__tests__/firmware-update/firmware-artifact-source.test.ts +0 -119
- package/__tests__/firmware-update/firmware-checkpoint.test.ts +0 -105
- package/__tests__/firmware-update/firmware-host-binding.test.ts +0 -73
- package/__tests__/firmware-update/firmware-update-capabilities.test.ts +0 -17
- package/__tests__/firmware-update/firmware-update-plan.test.ts +0 -358
- package/__tests__/firmware-update/firmware-update-prepared-plan.test.ts +0 -200
- package/__tests__/firmware-update/firmware-update-recovery.test.ts +0 -81
- package/__tests__/firmware-update/firmware-upload-source.test.ts +0 -70
- package/__tests__/get-device-state.test.ts +0 -403
- package/__tests__/logBlockEvent.test.ts +0 -61
- package/__tests__/logger.test.ts +0 -34
- package/__tests__/open-wallet-session.test.ts +0 -565
- package/__tests__/pro2Wallpaper.test.ts +0 -39
- package/__tests__/protocol-v2-bootloader-mode.test.ts +0 -37
- package/__tests__/protocol-v2-firmware-targets.test.ts +0 -19
- package/__tests__/protocol-v2.test.ts +0 -6008
- package/__tests__/protocolV2FileWrite.test.ts +0 -67
- package/__tests__/public-pro2-api-boundary.test.ts +0 -66
- package/__tests__/search-devices.test.ts +0 -136
- package/dist/api/ClearSessionCache.d.ts +0 -9
- package/dist/api/ClearSessionCache.d.ts.map +0 -1
- package/dist/api/DirList.d.ts +0 -10
- package/dist/api/DirList.d.ts.map +0 -1
- package/dist/api/DirMake.d.ts +0 -9
- package/dist/api/DirMake.d.ts.map +0 -1
- package/dist/api/DirRemove.d.ts +0 -9
- package/dist/api/DirRemove.d.ts.map +0 -1
- package/dist/api/FileDelete.d.ts +0 -9
- package/dist/api/FileDelete.d.ts.map +0 -1
- package/dist/api/FileRead.d.ts +0 -19
- package/dist/api/FileRead.d.ts.map +0 -1
- package/dist/api/FileWrite.d.ts +0 -25
- package/dist/api/FileWrite.d.ts.map +0 -1
- package/dist/api/FirmwareUpdateV4.d.ts +0 -75
- package/dist/api/FirmwareUpdateV4.d.ts.map +0 -1
- package/dist/api/GetDeviceState.d.ts +0 -7
- package/dist/api/GetDeviceState.d.ts.map +0 -1
- package/dist/api/OpenWalletSession.d.ts +0 -14
- package/dist/api/OpenWalletSession.d.ts.map +0 -1
- package/dist/api/PathInfo.d.ts +0 -10
- package/dist/api/PathInfo.d.ts.map +0 -1
- package/dist/api/UploadPortfolio.d.ts +0 -18
- package/dist/api/UploadPortfolio.d.ts.map +0 -1
- package/dist/api/firmware/FirmwareArtifactSource.d.ts +0 -26
- package/dist/api/firmware/FirmwareArtifactSource.d.ts.map +0 -1
- package/dist/api/firmware/FirmwareCheckpoint.d.ts +0 -15
- package/dist/api/firmware/FirmwareCheckpoint.d.ts.map +0 -1
- package/dist/api/firmware/FirmwareHostBinding.d.ts +0 -6
- package/dist/api/firmware/FirmwareHostBinding.d.ts.map +0 -1
- package/dist/api/firmware/FirmwareUpdateCapabilities.d.ts +0 -3
- package/dist/api/firmware/FirmwareUpdateCapabilities.d.ts.map +0 -1
- package/dist/api/firmware/FirmwareUpdatePlan.d.ts +0 -29
- package/dist/api/firmware/FirmwareUpdatePlan.d.ts.map +0 -1
- package/dist/api/firmware/FirmwareUpdatePreparedPlan.d.ts +0 -25
- package/dist/api/firmware/FirmwareUpdatePreparedPlan.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/helpers/filesystemValidation.d.ts +0 -10
- package/dist/api/helpers/filesystemValidation.d.ts.map +0 -1
- package/dist/api/helpers/protocolV2FileWrite.d.ts +0 -33
- package/dist/api/helpers/protocolV2FileWrite.d.ts.map +0 -1
- package/dist/api/protocol-v2/DeviceFactoryInfoGet.d.ts +0 -6
- package/dist/api/protocol-v2/DeviceFactoryInfoGet.d.ts.map +0 -1
- package/dist/api/protocol-v2/DeviceFactoryInfoSet.d.ts +0 -7
- package/dist/api/protocol-v2/DeviceFactoryInfoSet.d.ts.map +0 -1
- package/dist/api/protocol-v2/DeviceFirmwareUpdate.d.ts +0 -7
- package/dist/api/protocol-v2/DeviceFirmwareUpdate.d.ts.map +0 -1
- package/dist/api/protocol-v2/DeviceGetFirmwareUpdateStatus.d.ts +0 -7
- package/dist/api/protocol-v2/DeviceGetFirmwareUpdateStatus.d.ts.map +0 -1
- package/dist/api/protocol-v2/DeviceGetOnboardingStatus.d.ts +0 -6
- package/dist/api/protocol-v2/DeviceGetOnboardingStatus.d.ts.map +0 -1
- package/dist/api/protocol-v2/DeviceInfoGet.d.ts +0 -28
- package/dist/api/protocol-v2/DeviceInfoGet.d.ts.map +0 -1
- package/dist/api/protocol-v2/DeviceReboot.d.ts +0 -7
- package/dist/api/protocol-v2/DeviceReboot.d.ts.map +0 -1
- package/dist/api/protocol-v2/DeviceSessionOpen.d.ts +0 -28
- package/dist/api/protocol-v2/DeviceSessionOpen.d.ts.map +0 -1
- package/dist/api/protocol-v2/DeviceSettingsGet.d.ts +0 -6
- package/dist/api/protocol-v2/DeviceSettingsGet.d.ts.map +0 -1
- package/dist/api/protocol-v2/DeviceSettingsPageShow.d.ts +0 -16
- package/dist/api/protocol-v2/DeviceSettingsPageShow.d.ts.map +0 -1
- package/dist/api/protocol-v2/DeviceSettingsSet.d.ts +0 -12
- package/dist/api/protocol-v2/DeviceSettingsSet.d.ts.map +0 -1
- package/dist/api/protocol-v2/DeviceStatusGet.d.ts +0 -6
- package/dist/api/protocol-v2/DeviceStatusGet.d.ts.map +0 -1
- package/dist/api/protocol-v2/DeviceUploadWallpaper.d.ts +0 -26
- package/dist/api/protocol-v2/DeviceUploadWallpaper.d.ts.map +0 -1
- package/dist/api/protocol-v2/FilesystemFormat.d.ts +0 -6
- package/dist/api/protocol-v2/FilesystemFormat.d.ts.map +0 -1
- package/dist/api/protocol-v2/FilesystemPermissionFix.d.ts +0 -6
- package/dist/api/protocol-v2/FilesystemPermissionFix.d.ts.map +0 -1
- package/dist/api/protocol-v2/Ping.d.ts +0 -8
- package/dist/api/protocol-v2/Ping.d.ts.map +0 -1
- package/dist/api/protocol-v2/ProtocolInfoRequest.d.ts +0 -6
- package/dist/api/protocol-v2/ProtocolInfoRequest.d.ts.map +0 -1
- package/dist/api/protocol-v2/helpers.d.ts +0 -42
- package/dist/api/protocol-v2/helpers.d.ts.map +0 -1
- package/dist/core/deviceEventRegistration.d.ts +0 -11
- package/dist/core/deviceEventRegistration.d.ts.map +0 -1
- package/dist/device/DeviceFeaturesState.d.ts +0 -4
- package/dist/device/DeviceFeaturesState.d.ts.map +0 -1
- package/dist/device/DeviceStateMapper.d.ts +0 -13
- package/dist/device/DeviceStateMapper.d.ts.map +0 -1
- package/dist/device/DeviceStateProjector.d.ts +0 -7
- package/dist/device/DeviceStateProjector.d.ts.map +0 -1
- package/dist/device/DeviceStateStore.d.ts +0 -21
- package/dist/device/DeviceStateStore.d.ts.map +0 -1
- package/dist/device/DeviceWalletSessionStore.d.ts +0 -15
- package/dist/device/DeviceWalletSessionStore.d.ts.map +0 -1
- package/dist/device/cloneDeviceState.d.ts +0 -2
- package/dist/device/cloneDeviceState.d.ts.map +0 -1
- package/dist/device/deviceIdentity.d.ts +0 -5
- package/dist/device/deviceIdentity.d.ts.map +0 -1
- package/dist/deviceProfile/buildDeviceFeatures.d.ts +0 -12
- package/dist/deviceProfile/buildDeviceFeatures.d.ts.map +0 -1
- package/dist/deviceProfile/index.d.ts +0 -2
- package/dist/deviceProfile/index.d.ts.map +0 -1
- package/dist/protocols/protocol-v2/deviceSession.d.ts +0 -7
- package/dist/protocols/protocol-v2/deviceSession.d.ts.map +0 -1
- package/dist/protocols/protocol-v2/features.d.ts +0 -88
- package/dist/protocols/protocol-v2/features.d.ts.map +0 -1
- package/dist/protocols/protocol-v2/firmware.d.ts +0 -15
- package/dist/protocols/protocol-v2/firmware.d.ts.map +0 -1
- package/dist/protocols/protocol-v2/index.d.ts +0 -5
- package/dist/protocols/protocol-v2/index.d.ts.map +0 -1
- package/dist/protocols/protocol-v2/lockedError.d.ts +0 -2
- package/dist/protocols/protocol-v2/lockedError.d.ts.map +0 -1
- package/dist/protocols/protocol-v2/settingsUnlockPolicy.d.ts +0 -16
- package/dist/protocols/protocol-v2/settingsUnlockPolicy.d.ts.map +0 -1
- package/dist/protocols/protocol-v2/uiInteraction.d.ts +0 -39
- package/dist/protocols/protocol-v2/uiInteraction.d.ts.map +0 -1
- package/dist/protocols/protocol-v2/unlockRetry.d.ts +0 -11
- package/dist/protocols/protocol-v2/unlockRetry.d.ts.map +0 -1
- package/dist/protocols/protocol-v2/walletSession.d.ts +0 -21
- package/dist/protocols/protocol-v2/walletSession.d.ts.map +0 -1
- package/dist/types/api/firmwareUpdateCapabilities.d.ts +0 -13
- package/dist/types/api/firmwareUpdateCapabilities.d.ts.map +0 -1
- package/dist/types/api/firmwareUpdatePlan.d.ts +0 -35
- package/dist/types/api/firmwareUpdatePlan.d.ts.map +0 -1
- package/dist/types/api/firmwareUpdatePreparedPlan.d.ts +0 -43
- package/dist/types/api/firmwareUpdatePreparedPlan.d.ts.map +0 -1
- package/dist/types/api/getDeviceState.d.ts +0 -12
- package/dist/types/api/getDeviceState.d.ts.map +0 -1
- package/dist/types/api/openWalletSession.d.ts +0 -35
- package/dist/types/api/openWalletSession.d.ts.map +0 -1
- package/dist/types/api/protocolV2.d.ts +0 -113
- package/dist/types/api/protocolV2.d.ts.map +0 -1
- package/dist/types/api/sessionCache.d.ts +0 -10
- package/dist/types/api/sessionCache.d.ts.map +0 -1
- package/dist/utils/deviceFeaturesCompat.d.ts +0 -13
- package/dist/utils/deviceFeaturesCompat.d.ts.map +0 -1
- package/dist/utils/pro2Wallpaper.d.ts +0 -12
- package/dist/utils/pro2Wallpaper.d.ts.map +0 -1
- package/src/api/ClearSessionCache.ts +0 -28
- package/src/api/DirList.ts +0 -33
- package/src/api/DirMake.ts +0 -23
- package/src/api/DirRemove.ts +0 -23
- package/src/api/FileDelete.ts +0 -23
- package/src/api/FileRead.ts +0 -183
- package/src/api/FileWrite.ts +0 -71
- package/src/api/FirmwareUpdateV4.ts +0 -2279
- package/src/api/GetDeviceState.ts +0 -55
- package/src/api/OpenWalletSession.ts +0 -211
- package/src/api/PathInfo.ts +0 -41
- package/src/api/UploadPortfolio.ts +0 -50
- package/src/api/firmware/FirmwareArtifactSource.ts +0 -278
- package/src/api/firmware/FirmwareCheckpoint.ts +0 -188
- package/src/api/firmware/FirmwareHostBinding.ts +0 -108
- package/src/api/firmware/FirmwareUpdateCapabilities.ts +0 -13
- package/src/api/firmware/FirmwareUpdatePlan.ts +0 -729
- package/src/api/firmware/FirmwareUpdatePreparedPlan.ts +0 -403
- package/src/api/firmware/progressThrottle.ts +0 -44
- package/src/api/helpers/filesystemValidation.ts +0 -112
- package/src/api/helpers/protocolV2FileWrite.ts +0 -193
- package/src/api/protocol-v2/DeviceFactoryInfoGet.ts +0 -20
- package/src/api/protocol-v2/DeviceFactoryInfoSet.ts +0 -32
- package/src/api/protocol-v2/DeviceFirmwareUpdate.ts +0 -61
- package/src/api/protocol-v2/DeviceGetFirmwareUpdateStatus.ts +0 -55
- package/src/api/protocol-v2/DeviceGetOnboardingStatus.ts +0 -18
- package/src/api/protocol-v2/DeviceInfoGet.ts +0 -145
- package/src/api/protocol-v2/DeviceReboot.ts +0 -26
- package/src/api/protocol-v2/DeviceSessionOpen.ts +0 -102
- package/src/api/protocol-v2/DeviceSettingsGet.ts +0 -18
- package/src/api/protocol-v2/DeviceSettingsPageShow.ts +0 -70
- package/src/api/protocol-v2/DeviceSettingsSet.ts +0 -44
- package/src/api/protocol-v2/DeviceStatusGet.ts +0 -16
- package/src/api/protocol-v2/DeviceUploadWallpaper.ts +0 -131
- package/src/api/protocol-v2/FilesystemFormat.ts +0 -19
- package/src/api/protocol-v2/FilesystemPermissionFix.ts +0 -16
- package/src/api/protocol-v2/Ping.ts +0 -18
- package/src/api/protocol-v2/ProtocolInfoRequest.ts +0 -16
- package/src/api/protocol-v2/helpers.ts +0 -203
- package/src/core/deviceEventRegistration.ts +0 -23
- package/src/data/messages/messages-protocol-v2.json +0 -13544
- package/src/device/DeviceFeaturesState.ts +0 -34
- package/src/device/DeviceStateMapper.ts +0 -348
- package/src/device/DeviceStateProjector.ts +0 -95
- package/src/device/DeviceStateStore.ts +0 -201
- package/src/device/DeviceWalletSessionStore.ts +0 -78
- package/src/device/cloneDeviceState.ts +0 -39
- package/src/device/deviceIdentity.ts +0 -18
- package/src/deviceProfile/buildDeviceFeatures.ts +0 -391
- package/src/deviceProfile/index.ts +0 -4
- package/src/protocols/protocol-v2/deviceSession.ts +0 -24
- package/src/protocols/protocol-v2/features.ts +0 -163
- package/src/protocols/protocol-v2/firmware.ts +0 -21
- package/src/protocols/protocol-v2/index.ts +0 -18
- package/src/protocols/protocol-v2/lockedError.ts +0 -10
- package/src/protocols/protocol-v2/settingsUnlockPolicy.ts +0 -61
- package/src/protocols/protocol-v2/uiInteraction.ts +0 -210
- package/src/protocols/protocol-v2/unlockRetry.ts +0 -76
- package/src/protocols/protocol-v2/walletSession.ts +0 -202
- package/src/types/api/firmwareUpdateCapabilities.ts +0 -13
- package/src/types/api/firmwareUpdatePlan.ts +0 -52
- package/src/types/api/firmwareUpdatePreparedPlan.ts +0 -55
- package/src/types/api/getDeviceState.ts +0 -19
- package/src/types/api/openWalletSession.ts +0 -54
- package/src/types/api/protocolV2.ts +0 -244
- package/src/types/api/sessionCache.ts +0 -14
- package/src/utils/deviceFeaturesCompat.ts +0 -173
- package/src/utils/pro2Wallpaper.ts +0 -109
|
@@ -1,21 +1,11 @@
|
|
|
1
1
|
import semver from 'semver';
|
|
2
|
-
import { createDeviceNotSupportMethodError } from '@onekeyfe/hd-shared';
|
|
3
2
|
|
|
4
3
|
import { UI_REQUEST } from '../constants/ui-request';
|
|
5
4
|
import { fixVersion } from '../utils/deviceFeaturesUtils';
|
|
6
5
|
import { BaseMethod } from './BaseMethod';
|
|
7
6
|
|
|
8
|
-
import type { OnekeyFeatures } from '../types';
|
|
9
|
-
|
|
10
|
-
function normalizeOnekeyFirmwareVersion(message: OnekeyFeatures) {
|
|
11
|
-
if (message.onekey_firmware_version && !semver.valid(message.onekey_firmware_version)) {
|
|
12
|
-
message.onekey_firmware_version = fixVersion(message.onekey_firmware_version);
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
|
|
16
7
|
export default class GetOnekeyFeatures extends BaseMethod {
|
|
17
8
|
init() {
|
|
18
|
-
this.unlockPolicy = 'none';
|
|
19
9
|
this.allowDeviceMode = [
|
|
20
10
|
...this.allowDeviceMode,
|
|
21
11
|
UI_REQUEST.NOT_INITIALIZE,
|
|
@@ -26,12 +16,10 @@ export default class GetOnekeyFeatures extends BaseMethod {
|
|
|
26
16
|
}
|
|
27
17
|
|
|
28
18
|
async run() {
|
|
29
|
-
if (this.device.isProtocolV2()) {
|
|
30
|
-
throw createDeviceNotSupportMethodError(this.name, this.device.getCurrentFirmwareType());
|
|
31
|
-
}
|
|
32
|
-
|
|
33
19
|
const { message } = await this.device.commands.typedCall('OnekeyGetFeatures', 'OnekeyFeatures');
|
|
34
|
-
|
|
20
|
+
if (!!message.onekey_firmware_version && !semver.valid(message.onekey_firmware_version)) {
|
|
21
|
+
message.onekey_firmware_version = fixVersion(message.onekey_firmware_version);
|
|
22
|
+
}
|
|
35
23
|
return Promise.resolve(message);
|
|
36
24
|
}
|
|
37
25
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ERRORS, HardwareErrorCode
|
|
1
|
+
import { ERRORS, HardwareErrorCode } from '@onekeyfe/hd-shared';
|
|
2
2
|
|
|
3
3
|
import { UI_REQUEST } from '../constants/ui-request';
|
|
4
4
|
import { getPassphraseStateWithRefreshDeviceInfo } from '../utils/deviceFeaturesUtils';
|
|
@@ -11,17 +11,18 @@ export default class GetPassphraseState extends BaseMethod {
|
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
async run() {
|
|
14
|
-
if (this.device.
|
|
15
|
-
|
|
16
|
-
}
|
|
17
|
-
if (!this.device.features) {
|
|
18
|
-
throw ERRORS.TypedError(HardwareErrorCode.DeviceInitializeFailed);
|
|
19
|
-
}
|
|
14
|
+
if (!this.device.features)
|
|
15
|
+
return Promise.reject(ERRORS.TypedError(HardwareErrorCode.DeviceInitializeFailed));
|
|
20
16
|
|
|
21
17
|
const { passphraseState } = await getPassphraseStateWithRefreshDeviceInfo(this.device);
|
|
22
18
|
|
|
23
|
-
const
|
|
19
|
+
const { features } = this.device;
|
|
20
|
+
|
|
21
|
+
// refresh device info
|
|
22
|
+
if (features && features.passphrase_protection === true) {
|
|
23
|
+
return Promise.resolve(passphraseState);
|
|
24
|
+
}
|
|
24
25
|
|
|
25
|
-
return Promise.resolve(
|
|
26
|
+
return Promise.resolve(undefined);
|
|
26
27
|
}
|
|
27
28
|
}
|
|
@@ -51,18 +51,9 @@ export default class PromptWebDeviceAccess extends BaseMethod {
|
|
|
51
51
|
}
|
|
52
52
|
|
|
53
53
|
if (isWebUsbEnv) {
|
|
54
|
-
const usbDevice = device as USBDevice;
|
|
55
|
-
let path = usbDevice.serialNumber ?? '';
|
|
56
|
-
if (!path) {
|
|
57
|
-
// Early Pro2 boards have no USB serial number. Re-enumeration assigns a
|
|
58
|
-
// session-stable mock path, which is recovered by USBDevice identity here.
|
|
59
|
-
const diff = await this.connector?.enumerate();
|
|
60
|
-
const matched = diff?.descriptors?.find(d => (d as any).device === usbDevice);
|
|
61
|
-
path = matched?.path ?? '';
|
|
62
|
-
}
|
|
63
54
|
devicesDescriptor = [
|
|
64
55
|
{
|
|
65
|
-
path,
|
|
56
|
+
path: (device as USBDevice).serialNumber ?? '',
|
|
66
57
|
device,
|
|
67
58
|
debug: true,
|
|
68
59
|
},
|
package/src/api/SearchDevices.ts
CHANGED
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
import { BaseMethod } from './BaseMethod';
|
|
2
2
|
import TransportManager from '../data-manager/TransportManager';
|
|
3
3
|
import { DataManager } from '../data-manager';
|
|
4
|
-
import {
|
|
4
|
+
import { getDeviceTypeByBleName } from '../utils';
|
|
5
5
|
import { DevicePool } from '../device/DevicePool';
|
|
6
6
|
|
|
7
7
|
import type DeviceConnector from '../device/DeviceConnector';
|
|
8
8
|
|
|
9
|
-
const Log = getLogger(LoggerNames.DevicePool);
|
|
10
|
-
|
|
11
9
|
export default class SearchDevices extends BaseMethod {
|
|
12
10
|
connector?: DeviceConnector;
|
|
13
11
|
|
|
@@ -36,45 +34,17 @@ export default class SearchDevices extends BaseMethod {
|
|
|
36
34
|
const lowerId = device.id?.toLowerCase();
|
|
37
35
|
if (!seenIds.has(lowerId)) {
|
|
38
36
|
seenIds.add(lowerId);
|
|
39
|
-
const bleName =
|
|
40
|
-
device.name ?? (device as unknown as { localName?: string }).localName ?? '';
|
|
41
37
|
devices.push({
|
|
42
38
|
...device,
|
|
43
39
|
connectId: device.id,
|
|
44
|
-
|
|
45
|
-
// Legacy BLE discovery identifier. The physical serial number is unavailable here.
|
|
46
|
-
uuid: device.id,
|
|
47
|
-
deviceId: null,
|
|
48
|
-
name: bleName || device.name,
|
|
49
|
-
deviceType: getDeviceTypeByBleName(bleName),
|
|
40
|
+
deviceType: getDeviceTypeByBleName(device.name ?? ''),
|
|
50
41
|
});
|
|
51
42
|
}
|
|
52
43
|
}
|
|
53
44
|
return devices;
|
|
54
45
|
}
|
|
55
46
|
|
|
56
|
-
const deviceList =
|
|
57
|
-
for (const descriptor of devicesDescriptor) {
|
|
58
|
-
try {
|
|
59
|
-
// Discovery is best effort. Browsers may retain WebUSB grants for devices that
|
|
60
|
-
// are offline, busy, or not ready, so one descriptor must not abort the scan.
|
|
61
|
-
const result = await DevicePool.getDevices([descriptor], descriptor.path, {
|
|
62
|
-
connectProtocol: this.payload.connectProtocol,
|
|
63
|
-
refreshRuntimeState: true,
|
|
64
|
-
});
|
|
65
|
-
deviceList.push(...result.deviceList);
|
|
66
|
-
} catch (error) {
|
|
67
|
-
const errorCode =
|
|
68
|
-
error && typeof error === 'object' && 'errorCode' in error
|
|
69
|
-
? (error as { errorCode?: unknown }).errorCode
|
|
70
|
-
: undefined;
|
|
71
|
-
Log.debug('Skip unavailable device during search', {
|
|
72
|
-
path: descriptor.path,
|
|
73
|
-
...(errorCode !== undefined ? { errorCode } : {}),
|
|
74
|
-
});
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
|
|
47
|
+
const { deviceList } = await DevicePool.getDevices(devicesDescriptor);
|
|
78
48
|
return deviceList.map(device => device.toMessageObject());
|
|
79
49
|
}
|
|
80
50
|
}
|
|
@@ -4,7 +4,7 @@ import { BaseMethod } from '../BaseMethod';
|
|
|
4
4
|
import { validateParams, validateResult } from '../helpers/paramsValidator';
|
|
5
5
|
|
|
6
6
|
import type { AlephiumGetAddress as HardwareAlephiumGetAddress } from '@onekeyfe/hd-transport';
|
|
7
|
-
import type { AlephiumAddress, AlephiumGetAddressParams
|
|
7
|
+
import type { AlephiumAddress, AlephiumGetAddressParams } from '../../types';
|
|
8
8
|
|
|
9
9
|
export default class AlephiumGetAddress extends BaseMethod<HardwareAlephiumGetAddress[]> {
|
|
10
10
|
hasBundle = false;
|
|
@@ -43,12 +43,8 @@ export default class AlephiumGetAddress extends BaseMethod<HardwareAlephiumGetAd
|
|
|
43
43
|
});
|
|
44
44
|
}
|
|
45
45
|
|
|
46
|
-
getVersionRange()
|
|
46
|
+
getVersionRange() {
|
|
47
47
|
return {
|
|
48
|
-
pro2: {
|
|
49
|
-
min: '0.0.0',
|
|
50
|
-
unsupported: true,
|
|
51
|
-
},
|
|
52
48
|
model_touch: {
|
|
53
49
|
min: '4.10.0',
|
|
54
50
|
},
|
|
@@ -5,7 +5,6 @@ import { validateParams } from '../helpers/paramsValidator';
|
|
|
5
5
|
import { stripHexPrefix } from '../helpers/hexUtils';
|
|
6
6
|
|
|
7
7
|
import type { AlephiumSignMessage as HardwareAlephiumSignMessage } from '@onekeyfe/hd-transport';
|
|
8
|
-
import type { DeviceFirmwareRange } from '../../types';
|
|
9
8
|
|
|
10
9
|
export default class AlephiumSignMessage extends BaseMethod<HardwareAlephiumSignMessage> {
|
|
11
10
|
init() {
|
|
@@ -31,12 +30,8 @@ export default class AlephiumSignMessage extends BaseMethod<HardwareAlephiumSign
|
|
|
31
30
|
};
|
|
32
31
|
}
|
|
33
32
|
|
|
34
|
-
getVersionRange()
|
|
33
|
+
getVersionRange() {
|
|
35
34
|
return {
|
|
36
|
-
pro2: {
|
|
37
|
-
min: '0.0.0',
|
|
38
|
-
unsupported: true,
|
|
39
|
-
},
|
|
40
35
|
model_touch: {
|
|
41
36
|
min: '4.10.0',
|
|
42
37
|
},
|
|
@@ -8,11 +8,10 @@ import { validateParams } from '../helpers/paramsValidator';
|
|
|
8
8
|
|
|
9
9
|
import type {
|
|
10
10
|
AlephiumSignedTx,
|
|
11
|
-
AlephiumTxRequest,
|
|
12
11
|
AlephiumSignTx as HardwareAlephiumSignTx,
|
|
13
12
|
TypedCall,
|
|
14
13
|
} from '@onekeyfe/hd-transport';
|
|
15
|
-
import type { AlephiumSignTransactionParams
|
|
14
|
+
import type { AlephiumSignTransactionParams } from '../../types';
|
|
16
15
|
import type { TypedResponseMessage } from '../../device/DeviceCommands';
|
|
17
16
|
|
|
18
17
|
export default class AlephiumSignTransaction extends BaseMethod<HardwareAlephiumSignTx> {
|
|
@@ -40,12 +39,8 @@ export default class AlephiumSignTransaction extends BaseMethod<HardwareAlephium
|
|
|
40
39
|
};
|
|
41
40
|
}
|
|
42
41
|
|
|
43
|
-
getVersionRange()
|
|
42
|
+
getVersionRange() {
|
|
44
43
|
return {
|
|
45
|
-
pro2: {
|
|
46
|
-
min: '0.0.0',
|
|
47
|
-
unsupported: true,
|
|
48
|
-
},
|
|
49
44
|
model_touch: {
|
|
50
45
|
min: '4.10.0',
|
|
51
46
|
},
|
|
@@ -63,10 +58,7 @@ export default class AlephiumSignTransaction extends BaseMethod<HardwareAlephium
|
|
|
63
58
|
data: Buffer,
|
|
64
59
|
scriptOpt?: Buffer,
|
|
65
60
|
dataOffset = 0
|
|
66
|
-
|
|
67
|
-
// so the result accurately uses a union type.
|
|
68
|
-
): Promise<AlephiumSignedTx | AlephiumTxRequest> => {
|
|
69
|
-
const responseType = res.type;
|
|
61
|
+
): Promise<AlephiumSignedTx> => {
|
|
70
62
|
if (res.type === 'AlephiumSignedTx') {
|
|
71
63
|
return res.message;
|
|
72
64
|
}
|
|
@@ -117,10 +109,7 @@ export default class AlephiumSignTransaction extends BaseMethod<HardwareAlephium
|
|
|
117
109
|
return this.processTxRequest(typedCall, response, data, scriptOpt, dataOffset);
|
|
118
110
|
}
|
|
119
111
|
|
|
120
|
-
throw ERRORS.TypedError(
|
|
121
|
-
HardwareErrorCode.RuntimeError,
|
|
122
|
-
`Unknown response type: ${responseType}`
|
|
123
|
-
);
|
|
112
|
+
throw ERRORS.TypedError(HardwareErrorCode.RuntimeError, `Unknown response type: ${res.type}`);
|
|
124
113
|
};
|
|
125
114
|
|
|
126
115
|
async run() {
|
|
@@ -12,7 +12,7 @@ import { validateParams } from '../helpers/paramsValidator';
|
|
|
12
12
|
import { PROTO } from '../../constants';
|
|
13
13
|
import { findMethod } from '../utils';
|
|
14
14
|
import { DEVICE, IFRAME, createUiMessage } from '../../events';
|
|
15
|
-
import {
|
|
15
|
+
import { getDeviceFirmwareVersion, getFirmwareType, getMethodVersionRange } from '../../utils';
|
|
16
16
|
import { UI_REQUEST } from '../../constants/ui-request';
|
|
17
17
|
import { onDeviceButtonHandler } from '../../core';
|
|
18
18
|
import {
|
|
@@ -352,7 +352,6 @@ export default abstract class AllNetworkGetAddressBase extends BaseMethod<
|
|
|
352
352
|
};
|
|
353
353
|
|
|
354
354
|
let result: AllNetworkAddress[];
|
|
355
|
-
let requestError: Error | undefined;
|
|
356
355
|
try {
|
|
357
356
|
method.init();
|
|
358
357
|
method.setDevice?.(this.device);
|
|
@@ -395,8 +394,10 @@ export default abstract class AllNetworkGetAddressBase extends BaseMethod<
|
|
|
395
394
|
rootFingerprint,
|
|
396
395
|
},
|
|
397
396
|
}));
|
|
397
|
+
if (method.requestContext) {
|
|
398
|
+
completeRequestContext(method.requestContext.responseID);
|
|
399
|
+
}
|
|
398
400
|
} catch (e: any) {
|
|
399
|
-
requestError = e instanceof Error ? e : new Error(String(e));
|
|
400
401
|
const error = handleSkippableHardwareError(e, this.device, method);
|
|
401
402
|
|
|
402
403
|
if (error) {
|
|
@@ -414,10 +415,13 @@ export default abstract class AllNetworkGetAddressBase extends BaseMethod<
|
|
|
414
415
|
} else {
|
|
415
416
|
throw e;
|
|
416
417
|
}
|
|
417
|
-
} finally {
|
|
418
418
|
if (method.requestContext) {
|
|
419
|
-
completeRequestContext(
|
|
419
|
+
completeRequestContext(
|
|
420
|
+
method.requestContext.responseID,
|
|
421
|
+
e instanceof Error ? e : new Error(String(e))
|
|
422
|
+
);
|
|
420
423
|
}
|
|
424
|
+
} finally {
|
|
421
425
|
this.device.off(DEVICE.BUTTON, buttonListener);
|
|
422
426
|
this.device.off(DEVICE.PIN, onSignalAbort);
|
|
423
427
|
this.device.off(DEVICE.PASSPHRASE, onSignalAbort);
|
|
@@ -459,12 +463,11 @@ export default abstract class AllNetworkGetAddressBase extends BaseMethod<
|
|
|
459
463
|
* @param method BaseMethod
|
|
460
464
|
*/
|
|
461
465
|
function preCheckDeviceSupport(device: Device, method: BaseMethod) {
|
|
462
|
-
const versionRange =
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
}
|
|
466
|
+
const versionRange = getMethodVersionRange(
|
|
467
|
+
device.features,
|
|
468
|
+
type => method.getVersionRange()[type]
|
|
469
|
+
);
|
|
470
|
+
const currentVersion = getDeviceFirmwareVersion(device.features).join('.');
|
|
468
471
|
|
|
469
472
|
if (
|
|
470
473
|
versionRange &&
|
|
@@ -475,10 +478,10 @@ function preCheckDeviceSupport(device: Device, method: BaseMethod) {
|
|
|
475
478
|
currentVersion,
|
|
476
479
|
requireVersion: versionRange.min,
|
|
477
480
|
methodName: method.name,
|
|
478
|
-
firmwareType: device.
|
|
481
|
+
firmwareType: getFirmwareType(device.features),
|
|
479
482
|
});
|
|
480
483
|
} else if (method.strictCheckDeviceSupport && !versionRange) {
|
|
481
|
-
throw ERRORS.createDeviceNotSupportMethodError(method.name, device.
|
|
484
|
+
throw ERRORS.createDeviceNotSupportMethodError(method.name, getFirmwareType(device.features));
|
|
482
485
|
}
|
|
483
486
|
}
|
|
484
487
|
|
|
@@ -500,18 +503,11 @@ function handleSkippableHardwareError(
|
|
|
500
503
|
e.message?.includes('Failure_UnexpectedMessage') ||
|
|
501
504
|
e.message?.includes('Failure_UnknownMessage')
|
|
502
505
|
) {
|
|
503
|
-
const versionRange =
|
|
506
|
+
const versionRange = getMethodVersionRange(
|
|
507
|
+
device.features,
|
|
504
508
|
type => method.getVersionRange()[type]
|
|
505
509
|
);
|
|
506
|
-
const currentVersion = device.
|
|
507
|
-
|
|
508
|
-
if (isMethodVersionRangeUnsupported(versionRange)) {
|
|
509
|
-
error = ERRORS.createDeviceNotSupportMethodError(
|
|
510
|
-
method.name,
|
|
511
|
-
device.getCurrentFirmwareType()
|
|
512
|
-
);
|
|
513
|
-
return error;
|
|
514
|
-
}
|
|
510
|
+
const currentVersion = getDeviceFirmwareVersion(device.features).join('.');
|
|
515
511
|
|
|
516
512
|
if (
|
|
517
513
|
versionRange &&
|
|
@@ -522,12 +518,12 @@ function handleSkippableHardwareError(
|
|
|
522
518
|
currentVersion,
|
|
523
519
|
requireVersion: versionRange.min,
|
|
524
520
|
methodName: method.name,
|
|
525
|
-
firmwareType: device.
|
|
521
|
+
firmwareType: getFirmwareType(device.features),
|
|
526
522
|
});
|
|
527
523
|
} else {
|
|
528
524
|
error = ERRORS.createDeviceNotSupportMethodError(
|
|
529
525
|
method.name,
|
|
530
|
-
device.
|
|
526
|
+
getFirmwareType(device.features)
|
|
531
527
|
);
|
|
532
528
|
}
|
|
533
529
|
} else if (
|
|
@@ -5,8 +5,9 @@ import { UI_REQUEST } from '../../constants/ui-request';
|
|
|
5
5
|
import { serializedPath, validatePath } from '../helpers/pathUtils';
|
|
6
6
|
import { BaseMethod } from '../BaseMethod';
|
|
7
7
|
import { validateParams, validateResult } from '../helpers/paramsValidator';
|
|
8
|
+
import { supportBatchPublicKey } from '../../utils/deviceFeaturesUtils';
|
|
8
9
|
import { hexToBytes } from '../helpers/hexUtils';
|
|
9
|
-
import { batchGetPublickeys
|
|
10
|
+
import { batchGetPublickeys } from '../helpers/batchGetPublickeys';
|
|
10
11
|
|
|
11
12
|
import type { AptosAddress, AptosGetAddressParams } from '../../types';
|
|
12
13
|
import type { AptosGetAddress as HardwareAptosGetAddress } from '@onekeyfe/hd-transport';
|
|
@@ -65,7 +66,7 @@ export default class AptosGetAddress extends BaseMethod<HardwareAptosGetAddress[
|
|
|
65
66
|
}
|
|
66
67
|
|
|
67
68
|
async run() {
|
|
68
|
-
const supportsBatchPublicKey =
|
|
69
|
+
const supportsBatchPublicKey = supportBatchPublicKey(this.device?.features);
|
|
69
70
|
let responses: AptosAddress[] = [];
|
|
70
71
|
if (supportsBatchPublicKey) {
|
|
71
72
|
const publicKeyRes = await batchGetPublickeys(this.device, this.params, 'ed25519', 637);
|
|
@@ -3,9 +3,10 @@ import { validateParams, validateResult } from '../helpers/paramsValidator';
|
|
|
3
3
|
import { serializedPath, validatePath } from '../helpers/pathUtils';
|
|
4
4
|
import { UI_REQUEST } from '../../constants/ui-request';
|
|
5
5
|
import { hex2BfcAddress, publicKeyToAddress } from './normalize';
|
|
6
|
-
import {
|
|
6
|
+
import { supportBatchPublicKey } from '../../utils/deviceFeaturesUtils';
|
|
7
|
+
import { batchGetPublickeys } from '../helpers/batchGetPublickeys';
|
|
7
8
|
|
|
8
|
-
import type { BenfenAddress, BenfenGetAddressParams
|
|
9
|
+
import type { BenfenAddress, BenfenGetAddressParams } from '../../types';
|
|
9
10
|
import type { BenfenGetAddress as HardwareBenfenGetAddress } from '@onekeyfe/hd-transport';
|
|
10
11
|
|
|
11
12
|
export default class BenfenGetAddress extends BaseMethod<HardwareBenfenGetAddress[]> {
|
|
@@ -46,12 +47,8 @@ export default class BenfenGetAddress extends BaseMethod<HardwareBenfenGetAddres
|
|
|
46
47
|
});
|
|
47
48
|
}
|
|
48
49
|
|
|
49
|
-
getVersionRange()
|
|
50
|
+
getVersionRange() {
|
|
50
51
|
return {
|
|
51
|
-
pro2: {
|
|
52
|
-
min: '0.0.0',
|
|
53
|
-
unsupported: true,
|
|
54
|
-
},
|
|
55
52
|
pro: {
|
|
56
53
|
min: '4.12.0',
|
|
57
54
|
},
|
|
@@ -62,7 +59,7 @@ export default class BenfenGetAddress extends BaseMethod<HardwareBenfenGetAddres
|
|
|
62
59
|
}
|
|
63
60
|
|
|
64
61
|
async run() {
|
|
65
|
-
const supportsBatchPublicKey =
|
|
62
|
+
const supportsBatchPublicKey = supportBatchPublicKey(this.device?.features);
|
|
66
63
|
let responses: BenfenAddress[] = [];
|
|
67
64
|
|
|
68
65
|
if (supportsBatchPublicKey) {
|
|
@@ -78,8 +75,7 @@ export default class BenfenGetAddress extends BaseMethod<HardwareBenfenGetAddres
|
|
|
78
75
|
'BenfenAddress',
|
|
79
76
|
param
|
|
80
77
|
);
|
|
81
|
-
|
|
82
|
-
address = addressRes.message.address ?? '';
|
|
78
|
+
address = addressRes.message.address;
|
|
83
79
|
} else {
|
|
84
80
|
address = publicKeyToAddress(publicKey);
|
|
85
81
|
}
|
|
@@ -107,7 +103,7 @@ export default class BenfenGetAddress extends BaseMethod<HardwareBenfenGetAddres
|
|
|
107
103
|
);
|
|
108
104
|
const result = {
|
|
109
105
|
path: serializedPath(param.address_n),
|
|
110
|
-
address: hex2BfcAddress(res.message.address
|
|
106
|
+
address: hex2BfcAddress(res.message.address),
|
|
111
107
|
};
|
|
112
108
|
if (this.shouldConfirm) {
|
|
113
109
|
this.postPreviousAddressMessage(result);
|
|
@@ -4,7 +4,7 @@ import { serializedPath, validatePath } from '../helpers/pathUtils';
|
|
|
4
4
|
import { UI_REQUEST } from '../../constants/ui-request';
|
|
5
5
|
import { batchGetPublickeys } from '../helpers/batchGetPublickeys';
|
|
6
6
|
|
|
7
|
-
import type { BenfenGetPublicKeyParams, BenfenPublicKey
|
|
7
|
+
import type { BenfenGetPublicKeyParams, BenfenPublicKey } from '../../types';
|
|
8
8
|
|
|
9
9
|
export default class BenfenGetPublicKey extends BaseMethod<any> {
|
|
10
10
|
hasBundle = false;
|
|
@@ -38,12 +38,8 @@ export default class BenfenGetPublicKey extends BaseMethod<any> {
|
|
|
38
38
|
});
|
|
39
39
|
}
|
|
40
40
|
|
|
41
|
-
getVersionRange()
|
|
41
|
+
getVersionRange() {
|
|
42
42
|
return {
|
|
43
|
-
pro2: {
|
|
44
|
-
min: '0.0.0',
|
|
45
|
-
unsupported: true,
|
|
46
|
-
},
|
|
47
43
|
pro: {
|
|
48
44
|
min: '4.12.0',
|
|
49
45
|
},
|
|
@@ -5,7 +5,6 @@ import { validateParams } from '../helpers/paramsValidator';
|
|
|
5
5
|
import { stripHexPrefix } from '../helpers/hexUtils';
|
|
6
6
|
|
|
7
7
|
import type { BenfenSignMessage as HardwareBenfenSignMessage } from '@onekeyfe/hd-transport';
|
|
8
|
-
import type { DeviceFirmwareRange } from '../../types';
|
|
9
8
|
|
|
10
9
|
export default class BenfenSignMessage extends BaseMethod<HardwareBenfenSignMessage> {
|
|
11
10
|
init() {
|
|
@@ -27,12 +26,8 @@ export default class BenfenSignMessage extends BaseMethod<HardwareBenfenSignMess
|
|
|
27
26
|
};
|
|
28
27
|
}
|
|
29
28
|
|
|
30
|
-
getVersionRange()
|
|
29
|
+
getVersionRange() {
|
|
31
30
|
return {
|
|
32
|
-
pro2: {
|
|
33
|
-
min: '0.0.0',
|
|
34
|
-
unsupported: true,
|
|
35
|
-
},
|
|
36
31
|
pro: {
|
|
37
32
|
min: '4.12.0',
|
|
38
33
|
},
|
|
@@ -8,7 +8,6 @@ import { formatAnyHex } from '../helpers/hexUtils';
|
|
|
8
8
|
|
|
9
9
|
import type { BenfenSignTx, BenfenSignedTx, MessageType, TypedCall } from '@onekeyfe/hd-transport';
|
|
10
10
|
import type { TypedResponseMessage } from '../../device/DeviceCommands';
|
|
11
|
-
import type { DeviceFirmwareRange } from '../../types';
|
|
12
11
|
|
|
13
12
|
export default class BenfenSignTransaction extends BaseMethod<BenfenSignTx> {
|
|
14
13
|
init() {
|
|
@@ -34,12 +33,8 @@ export default class BenfenSignTransaction extends BaseMethod<BenfenSignTx> {
|
|
|
34
33
|
};
|
|
35
34
|
}
|
|
36
35
|
|
|
37
|
-
getVersionRange()
|
|
36
|
+
getVersionRange() {
|
|
38
37
|
return {
|
|
39
|
-
pro2: {
|
|
40
|
-
min: '0.0.0',
|
|
41
|
-
unsupported: true,
|
|
42
|
-
},
|
|
43
38
|
pro: {
|
|
44
39
|
min: '4.12.0',
|
|
45
40
|
},
|
|
@@ -78,8 +78,7 @@ export default class BTCGetPublicKey extends BaseMethod<GetPublicKey[]> {
|
|
|
78
78
|
}
|
|
79
79
|
|
|
80
80
|
for (const param of this.params) {
|
|
81
|
-
|
|
82
|
-
const versionBytes = getVersionBytes(param.coin_name ?? '', param.script_type);
|
|
81
|
+
const versionBytes = getVersionBytes(param.coin_name, param.script_type);
|
|
83
82
|
if (!versionBytes) {
|
|
84
83
|
throw new Error(
|
|
85
84
|
`Invalid coinName, not support generate xpub for scriptType: ${param.script_type}`
|
|
@@ -102,7 +101,7 @@ export default class BTCGetPublicKey extends BaseMethod<GetPublicKey[]> {
|
|
|
102
101
|
|
|
103
102
|
const path = serializedPath(param.address_n);
|
|
104
103
|
|
|
105
|
-
const xpub = createExtendedPublicKey(node, param.coin_name
|
|
104
|
+
const xpub = createExtendedPublicKey(node, param.coin_name, param.script_type);
|
|
106
105
|
|
|
107
106
|
const rootFingerprint = res.root_fingerprint;
|
|
108
107
|
|
|
@@ -5,6 +5,7 @@ import { BaseMethod } from '../BaseMethod';
|
|
|
5
5
|
import { validateParams } from '../helpers/paramsValidator';
|
|
6
6
|
import { formatAnyHex } from '../helpers/hexUtils';
|
|
7
7
|
import { getCoinInfo } from './helpers/btcParamsUtils';
|
|
8
|
+
import { getDeviceType } from '../../utils';
|
|
8
9
|
|
|
9
10
|
import type { SignPsbt } from '@onekeyfe/hd-transport';
|
|
10
11
|
|
|
@@ -49,7 +50,7 @@ export default class BTCSignPsbt extends BaseMethod<SignPsbt> {
|
|
|
49
50
|
} catch (error) {
|
|
50
51
|
const { message } = error;
|
|
51
52
|
|
|
52
|
-
const deviceType = this.device.
|
|
53
|
+
const deviceType = getDeviceType(this.device.features);
|
|
53
54
|
if (
|
|
54
55
|
message.includes('PSBT parse failed') &&
|
|
55
56
|
(deviceType === EDeviceType.Classic1s || deviceType === EDeviceType.ClassicPure)
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import type { DeviceFirmwareRange } from '../../../types';
|
|
2
|
-
|
|
3
1
|
function isCoinNameInList(coinName: string, coinNames: (string | undefined)[]) {
|
|
4
2
|
for (let i = 0; i < coinNames.length; i++) {
|
|
5
3
|
const coin_name = coinNames[i];
|
|
@@ -10,13 +8,9 @@ function isCoinNameInList(coinName: string, coinNames: (string | undefined)[]) {
|
|
|
10
8
|
return false;
|
|
11
9
|
}
|
|
12
10
|
|
|
13
|
-
export function getBitcoinForkVersionRange(params: (string | undefined)[])
|
|
11
|
+
export function getBitcoinForkVersionRange(params: (string | undefined)[]) {
|
|
14
12
|
if (isCoinNameInList('Neurai', params)) {
|
|
15
13
|
return {
|
|
16
|
-
pro2: {
|
|
17
|
-
min: '0.0.0',
|
|
18
|
-
unsupported: true,
|
|
19
|
-
},
|
|
20
14
|
model_mini: {
|
|
21
15
|
min: '3.7.0',
|
|
22
16
|
},
|
|
@@ -19,6 +19,7 @@ import {
|
|
|
19
19
|
} from './helper/auxiliaryData';
|
|
20
20
|
import { gatherWitnessPaths } from './helper/witnesses';
|
|
21
21
|
import { validatePath } from '../helpers/pathUtils';
|
|
22
|
+
import { getDeviceFirmwareVersion, getMethodVersionRange } from '../../utils';
|
|
22
23
|
|
|
23
24
|
import type { DeviceFirmwareRange } from '../../types';
|
|
24
25
|
import type { CollateralInputWithPath, Path } from './helper/cardanoInputs';
|
|
@@ -239,9 +240,10 @@ export default class CardanoSignTransaction extends BaseMethod<any> {
|
|
|
239
240
|
return;
|
|
240
241
|
}
|
|
241
242
|
|
|
242
|
-
const firmwareVersion = this.device.
|
|
243
|
+
const firmwareVersion = getDeviceFirmwareVersion(this.device.features)?.join('.');
|
|
243
244
|
|
|
244
|
-
const versionRange =
|
|
245
|
+
const versionRange = getMethodVersionRange(
|
|
246
|
+
this.device.features,
|
|
245
247
|
type => this.supportConwayVersionRange()[type]
|
|
246
248
|
);
|
|
247
249
|
|
|
@@ -35,7 +35,7 @@ export default class ConfluxSignTransaction extends BaseMethod {
|
|
|
35
35
|
|
|
36
36
|
// check if transaction is valid
|
|
37
37
|
const schema: SchemaParam[] = [
|
|
38
|
-
{ name: 'to', type: '
|
|
38
|
+
{ name: 'to', type: 'hexString', required: true },
|
|
39
39
|
{ name: 'value', type: 'hexString', required: true },
|
|
40
40
|
{ name: 'gasLimit', type: 'hexString', required: true },
|
|
41
41
|
{ name: 'gasPrice', type: 'hexString', required: true },
|
|
@@ -48,10 +48,7 @@ export default class ConfluxSignTransaction extends BaseMethod {
|
|
|
48
48
|
|
|
49
49
|
validateParams(tx, schema);
|
|
50
50
|
|
|
51
|
-
this.formattedTx =
|
|
52
|
-
...formatAnyHex(tx),
|
|
53
|
-
to: tx.to,
|
|
54
|
-
};
|
|
51
|
+
this.formattedTx = formatAnyHex(tx);
|
|
55
52
|
}
|
|
56
53
|
|
|
57
54
|
processTxRequest = async (request: ConfluxTxRequest, data: string): Promise<ConfluxSignedTx> => {
|
|
@@ -1,14 +1,10 @@
|
|
|
1
|
-
import { DeviceSettingsPage } from '@onekeyfe/hd-transport';
|
|
2
|
-
|
|
3
1
|
import { BaseMethod } from '../BaseMethod';
|
|
4
2
|
import { validateParams } from '../helpers/paramsValidator';
|
|
5
|
-
import { invalidParameter } from '../helpers/filesystemValidation';
|
|
6
3
|
|
|
7
4
|
import type { ChangePin } from '@onekeyfe/hd-transport';
|
|
8
5
|
|
|
9
6
|
export default class DeviceChangePin extends BaseMethod<ChangePin> {
|
|
10
7
|
init() {
|
|
11
|
-
this.unlockPolicy = 'retry-on-locked';
|
|
12
8
|
this.useDevicePassphraseState = false;
|
|
13
9
|
|
|
14
10
|
// check payload
|
|
@@ -17,29 +13,9 @@ export default class DeviceChangePin extends BaseMethod<ChangePin> {
|
|
|
17
13
|
this.params = {
|
|
18
14
|
remove: this.payload.remove,
|
|
19
15
|
};
|
|
20
|
-
this.protocolV2UiInteraction = {
|
|
21
|
-
request: 'button',
|
|
22
|
-
source: 'method-lifecycle',
|
|
23
|
-
reason: 'change-pin',
|
|
24
|
-
completion: 'operation-completed',
|
|
25
|
-
deviceOnly: true,
|
|
26
|
-
page: DeviceSettingsPage.DevicePinChange,
|
|
27
|
-
};
|
|
28
16
|
}
|
|
29
17
|
|
|
30
18
|
async run() {
|
|
31
|
-
if (this.device.isProtocolV2()) {
|
|
32
|
-
if (this.params.remove) {
|
|
33
|
-
throw invalidParameter(
|
|
34
|
-
'Parameter [remove=true] is not supported by the Pro2 device PIN page.'
|
|
35
|
-
);
|
|
36
|
-
}
|
|
37
|
-
const res = await this.device.commands.typedCall('DeviceSettingsPageShow', 'Success', {
|
|
38
|
-
page: DeviceSettingsPage.DevicePinChange,
|
|
39
|
-
});
|
|
40
|
-
return Promise.resolve(res.message);
|
|
41
|
-
}
|
|
42
|
-
|
|
43
19
|
const res = await this.device.commands.typedCall('ChangePin', 'Success', {
|
|
44
20
|
...this.params,
|
|
45
21
|
});
|