@onekeyfe/hd-core 1.2.0-alpha.117 → 1.2.0-alpha.119
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__/base64Data.test.ts +0 -1
- package/__tests__/device-settings.test.ts +34 -0
- package/__tests__/deviceSettings.test.ts +7 -2
- package/__tests__/firmware-update/firmware-update-prepared-plan.test.ts +6 -2
- package/dist/api/device/DeviceSettings.d.ts.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +13 -5
- package/dist/utils/deviceSettings.d.ts +1 -0
- package/dist/utils/deviceSettings.d.ts.map +1 -1
- package/dist/utils/index.d.ts +1 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/package.json +4 -4
- package/src/api/device/DeviceSettings.ts +16 -3
- package/src/data-manager/DataManager.ts +1 -1
- package/src/utils/deviceSettings.ts +10 -3
- package/src/utils/index.ts +1 -0
|
@@ -2,6 +2,7 @@ import { EDeviceType, HardwareErrorCode } from '@onekeyfe/hd-shared';
|
|
|
2
2
|
import { DeviceSettingsPage } from '@onekeyfe/hd-transport';
|
|
3
3
|
|
|
4
4
|
import DeviceSettings from '../src/api/device/DeviceSettings';
|
|
5
|
+
import { DEVICE_SETTINGS_NEVER_TIMEOUT_MS } from '../src/utils/deviceSettings';
|
|
5
6
|
|
|
6
7
|
import type { Features } from '../src/types';
|
|
7
8
|
|
|
@@ -115,6 +116,39 @@ describe('DeviceSettings protocol routing', () => {
|
|
|
115
116
|
);
|
|
116
117
|
});
|
|
117
118
|
|
|
119
|
+
it('normalizes legacy Protocol V1 never values before ApplySettings', async () => {
|
|
120
|
+
const { device, typedCall, updateState } = createDevice({ protocol: 'V1' });
|
|
121
|
+
const method = new DeviceSettings({
|
|
122
|
+
id: 2,
|
|
123
|
+
payload: {
|
|
124
|
+
method: 'deviceSettings',
|
|
125
|
+
autoLockDelayMs: 0,
|
|
126
|
+
autoShutdownDelayMs: 0,
|
|
127
|
+
},
|
|
128
|
+
});
|
|
129
|
+
method.init();
|
|
130
|
+
(method as any).device = device;
|
|
131
|
+
|
|
132
|
+
await expect(method.run()).resolves.toEqual({ message: 'Success' });
|
|
133
|
+
expect(typedCall).toHaveBeenCalledWith(
|
|
134
|
+
'ApplySettings',
|
|
135
|
+
'Success',
|
|
136
|
+
expect.objectContaining({
|
|
137
|
+
auto_lock_delay_ms: DEVICE_SETTINGS_NEVER_TIMEOUT_MS,
|
|
138
|
+
auto_shutdown_delay_ms: DEVICE_SETTINGS_NEVER_TIMEOUT_MS,
|
|
139
|
+
})
|
|
140
|
+
);
|
|
141
|
+
expect(updateState).toHaveBeenCalledWith(
|
|
142
|
+
{
|
|
143
|
+
settings: {
|
|
144
|
+
autoLockDelayMs: DEVICE_SETTINGS_NEVER_TIMEOUT_MS,
|
|
145
|
+
autoShutdownDelayMs: DEVICE_SETTINGS_NEVER_TIMEOUT_MS,
|
|
146
|
+
},
|
|
147
|
+
},
|
|
148
|
+
'settings-write'
|
|
149
|
+
);
|
|
150
|
+
});
|
|
151
|
+
|
|
118
152
|
it('uses DeviceSettingsSet and reloads Protocol V2 status and settings from the device', async () => {
|
|
119
153
|
const { device, typedCall, updateState, getDeviceState } = createDevice({ protocol: 'V2' });
|
|
120
154
|
const method = new DeviceSettings({
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { EDeviceType } from '@onekeyfe/hd-shared';
|
|
2
2
|
|
|
3
3
|
import {
|
|
4
|
+
DEVICE_SETTINGS_NEVER_TIMEOUT_MS,
|
|
4
5
|
PROTOCOL_V2_NEVER_TIMEOUT_MS,
|
|
5
6
|
getAutoLockOptions,
|
|
6
7
|
getAutoShutDownOptions,
|
|
@@ -81,10 +82,14 @@ describe('Pro 2 device settings options', () => {
|
|
|
81
82
|
);
|
|
82
83
|
});
|
|
83
84
|
|
|
84
|
-
test('
|
|
85
|
+
test('returns the firmware-supported never value for both protocols', () => {
|
|
85
86
|
expect(getAutoLockOptions(EDeviceType.Pro, 'V1').slice(-1)[0]).toEqual({
|
|
86
87
|
label: 'Never',
|
|
87
|
-
valueMs:
|
|
88
|
+
valueMs: DEVICE_SETTINGS_NEVER_TIMEOUT_MS,
|
|
89
|
+
});
|
|
90
|
+
expect(getAutoShutDownOptions(EDeviceType.Pro, 'V1').slice(-1)[0]).toEqual({
|
|
91
|
+
label: 'Never',
|
|
92
|
+
valueMs: DEVICE_SETTINGS_NEVER_TIMEOUT_MS,
|
|
88
93
|
});
|
|
89
94
|
expect(getAutoLockOptions(EDeviceType.Pro2, 'V2').slice(-1)[0]).toEqual({
|
|
90
95
|
label: 'Never',
|
|
@@ -234,7 +234,11 @@ describe('FirmwareUpdatePreparedPlan', () => {
|
|
|
234
234
|
},
|
|
235
235
|
],
|
|
236
236
|
});
|
|
237
|
-
const resourceArtifact = prepared.artifacts.find(item => item.target === 'resource')
|
|
237
|
+
const resourceArtifact = prepared.artifacts.find(item => item.target === 'resource');
|
|
238
|
+
expect(resourceArtifact).toBeDefined();
|
|
239
|
+
if (!resourceArtifact) {
|
|
240
|
+
throw new Error('Expected prepared resource artifact');
|
|
241
|
+
}
|
|
238
242
|
const tamperedWithoutDigest = {
|
|
239
243
|
...prepared,
|
|
240
244
|
artifacts: prepared.artifacts.map(item =>
|
|
@@ -242,7 +246,7 @@ describe('FirmwareUpdatePreparedPlan', () => {
|
|
|
242
246
|
? {
|
|
243
247
|
...item,
|
|
244
248
|
materializedEntries: [
|
|
245
|
-
...resourceArtifact.materializedEntries
|
|
249
|
+
...(resourceArtifact.materializedEntries ?? []),
|
|
246
250
|
{
|
|
247
251
|
entryName: 'other/index.bin',
|
|
248
252
|
artifact: artifact('d'.repeat(64), 2),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeviceSettings.d.ts","sourceRoot":"","sources":["../../../src/api/device/DeviceSettings.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"DeviceSettings.d.ts","sourceRoot":"","sources":["../../../src/api/device/DeviceSettings.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAgB3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AA0D5D,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,UAAU,CAAC,aAAa,CAAC;IACnE,qBAAqB;IAIrB,IAAI;IAwEJ,eAAe;;;;;;;IAWT,GAAG;CAyIV"}
|
package/dist/index.d.ts
CHANGED
|
@@ -4774,6 +4774,7 @@ type DeviceSettingsField = keyof DeviceSettingsParams;
|
|
|
4774
4774
|
declare const DEVICE_SETTINGS_SHARED_FIELDS: readonly ["language", "label", "usePassphrase", "autoLockDelayMs", "autoShutdownDelayMs", "hapticFeedback", "bluetoothEnabled"];
|
|
4775
4775
|
declare const DEVICE_SETTINGS_V1_ONLY_FIELDS: readonly ["homescreen", "passphraseSource", "displayRotation", "passphraseAlwaysOnDevice", "safetyChecks", "experimentalFeatures", "changeBrightness"];
|
|
4776
4776
|
declare const DEVICE_SETTINGS_V2_ONLY_FIELDS: readonly ["brightness", "airgapMode", "animationEnabled", "tapToWake", "deviceNameDisplayEnabled", "fidoEnabled", "usbLockEnabled", "randomKeypad"];
|
|
4777
|
+
declare const DEVICE_SETTINGS_NEVER_TIMEOUT_MS = 268435456;
|
|
4777
4778
|
declare const PROTOCOL_V2_NEVER_TIMEOUT_MS = 268435456;
|
|
4778
4779
|
declare const normalizeSafetyCheckLevel: (value: SafetyCheckLevel | null | undefined) => Enum_SafetyCheckLevel | null | undefined;
|
|
4779
4780
|
declare const getLanguageConfig: (deviceType: IDeviceType) => Record<string, string>[];
|
|
@@ -4889,4 +4890,4 @@ declare const HardwareSdk: ({ init, call, dispose, eventEmitter, uiResponse, can
|
|
|
4889
4890
|
declare const HardwareSDKLowLevel: ({ init, call, dispose, eventEmitter, addHardwareGlobalEventListener, uiResponse, cancel, updateSettings, switchTransport, }: LowLevelInjectApi) => LowLevelCoreApi;
|
|
4890
4891
|
declare const HardwareTopLevelSdk: () => CoreApi;
|
|
4891
4892
|
|
|
4892
|
-
export { AccountAddress, AccountAddresses, AlephiumAddress, AlephiumGetAddressParams, AlephiumSignMessageParams, AlephiumSignTransactionParams, AlephiumSignedTx, AlgoAddress, AlgoGetAddressParams, AlgoSignTransactionParams, AlgoSignedTx, AllFirmwareRelease, AllNetworkAddressParams, AllNetworkGetAddressParams, AptosAddress, AptosGetAddressParams, AptosGetPublicKeyParams, AptosMessageSignature, AptosPublicKey, AptosSignInMessageParams, AptosSignInMessageSignature, AptosSignMessageParams, AptosSignTransactionParams, AptosSignedTx, AssetsMap, BTCAddress, BTCGetAddressParams, BTCGetPublicKeyParams, BTCPublicKey, BTCSignMessageParams, BTCSignTransactionParams, BTCVerifyMessageParams, BenfenAddress, BenfenGetAddressParams, BenfenGetPublicKeyParams, BenfenPublicKey, BenfenSignMessageParams, BenfenSignTransactionParams, BenfenSignedTx, BleReleaseInfoEvent, BleReleaseInfoPayload, BridgeReleaseCheckResult, CORE_EVENT, CallMethod, CallMethodAnyResponse, CallMethodKeys, CallMethodPayload, CallMethodResponse, CallMethodUnion, CardanoAddress, CardanoGetAddressMethodParams, CardanoGetAddressParams, CardanoSignMessageMethodParams, CardanoSignMessageParams, CardanoSignTransaction, CardanoSignedTxData, CipheredKeyValue, CipheredKeyValueParams, ClearSessionCacheParams, ClearSessionCachePayload, CommonParams, ConfluxAddress, ConfluxGetAddressParams, ConfluxSignMessageCIP23Params, ConfluxSignMessageParams, ConfluxSignTransactionParams, ConfluxSignedTx, ConfluxTransaction, ConnectSettings, Core, CoreApi, CoreMessage, CosmosAddress, CosmosGetAddressParams, CosmosGetPublicKeyParams, CosmosPublicKey, CosmosSignTransactionParams, CosmosSignedTx, DEFAULT_PRIORITY, DEVICE, DEVICE_EVENT, DEVICE_SETTINGS_SHARED_FIELDS, DEVICE_SETTINGS_V1_ONLY_FIELDS, DEVICE_SETTINGS_V2_ONLY_FIELDS, DataManager, Device$1 as Device, DeviceButtonRequest, DeviceButtonRequestPayload, DeviceChangePinParams, DeviceConnnectRequest, DeviceDisconnnectRequest, DeviceEvent, DeviceEventListenerFn, DeviceEventMessage, DeviceFeaturesMode, DeviceFeaturesPayload, DeviceFeaturesProtocol, DeviceFeaturesRaw, DeviceFeaturesRawPatch, DeviceFeaturesVerify, DeviceFirmwareRange, DeviceFlagsParams, DeviceModelToTypes, DeviceProgress, DeviceRecoveryParams, DeviceResetParams, DeviceSendFeatures, DeviceSendState, DeviceSendSupportFeatures, DeviceSettingsCapabilities, DeviceSettingsDurationOption, DeviceSettingsField, DeviceSettingsParams, DeviceSettingsProtocol, DeviceSettingsValueOption, DeviceState, DeviceStateEvent, DeviceStateIdentity, DeviceStateMode, DeviceStatePatch, DeviceStateProtocol, DeviceStateScope, DeviceStateSection, DeviceStateSecurityElement, DeviceStateSecurityElements, DeviceStateSecurityElementsPatch, DeviceStateSettings, DeviceStateStatus, DeviceStateUpdateSource, DeviceStateVersions, DeviceStatus, DeviceSupportFeatures, DeviceSupportFeaturesPayload, DeviceTypeMap, DeviceTypeToModels, DeviceUnlockParams, DeviceUploadResourceParams, DeviceUploadResourceResponse, DeviceVerifyParams, DeviceVerifySignature, DnxAddress, DnxGetAddressParams, DnxSignTransactionParams, DnxSignature, DnxTxKey, EOneKeyDeviceMode, EVMAccessList, EVMAddress, EVMAuthorization, EVMAuthorizationSignature, EVMGetAddressParams, EVMGetPublicKeyParams, EVMPublicKey, EVMSignMessageEIP712Params, EVMSignMessageParams, EVMSignTransactionParams, EVMSignTypedDataParams, EVMSignedTx, EVMTransaction, EVMTransactionEIP1559, EVMTransactionEIP7702, EVMVerifyMessageParams, EthereumSignTypedDataMessage, EthereumSignTypedDataTypeProperty, EthereumSignTypedDataTypes, FIRMWARE, FIRMWARE_EVENT, Features, FilecoinAddress, FilecoinGetAddressParams, FilecoinSignTransactionParams, FilecoinSignedTx, FirmwareArtifactReader, FirmwareArtifactReference, FirmwareEvent, FirmwareMemoryArtifact, FirmwareMemoryArtifactEntry, FirmwareMessage, FirmwareProcessing, FirmwareProgress, FirmwareRange, FirmwareRelease, FirmwareReleaseCheckResult, FirmwareTip, FirmwareUpdateArtifactParams, FirmwareUpdateBinaryParams, FirmwareUpdateCapabilities, FirmwareUpdateHostBinding, FirmwareUpdateParams, FirmwareUpdatePlan, FirmwareUpdatePlanArtifact, FirmwareUpdatePlanArtifactRole, FirmwareUpdatePlanForceTarget, FirmwareUpdatePlanTarget, FirmwareUpdatePreparedArtifact, FirmwareUpdatePreparedArtifactInput, FirmwareUpdatePreparedEntry, FirmwareUpdatePreparedPlan, FirmwareUpdateTipMessage, FirmwareUpdateV3Params, FirmwareUpdateV4MemoryHost, FirmwareUpdateV4Params, FirmwareUpdateV4Target, GetDeviceStateParams, GetPassphraseStateParams, HardwareSDKLowLevel, HardwareTopLevelSdk, HardwareUiInteractionMeta, IBLEFirmwareReleaseInfo, IDeviceBLEFirmwareStatus, IDeviceFirmwareStatus, IDeviceModel, IDeviceType, IFRAME, IFirmwareField, IFirmwareReleaseInfo, IFirmwareUpdateProgressType, IFirmwareUpdateTipMessage, IFrameBridge, IFrameCallMessage, IFrameCallback, IFrameCallbackMessage, IFrameCancelMessage, IFrameEvent, IFrameEventMessage, IFrameInit, IFrameSwitchTransport, IFrameSwitchTransportMessage, ILocale, IProtocolV2FirmwareComponent, IProtocolV2FirmwareComponentTarget, IProtocolV2ResourceManifest, IProtocolV2ResourceManifestFile, IProtocolV2ResourceSource, IProtocolV2Resources, ITransportStatus, IVersionArray, IVersionRange, KaspaAddress, KaspaGetAddressParams, KaspaSignInputParams, KaspaSignOutputParams, KaspaSignTransactionParams, KaspaSignature, KaspaStreamingSignInputParams, KaspaStreamingSignOutputParams, KnownDevice, LOG, LOG_EVENT, LogBlockEvent, LogEvent, LogEventMessage, LogOutput, LoggerNames, LowLevelCoreApi, LowLevelInjectApi, MajorVersion, MethodResponseMessage, NEMAddress, NEMAggregateModificationTransaction, NEMGetAddressParams, NEMImportanceTransaction, NEMMosaic, NEMMosaicCreationTransaction, NEMMultisigTransaction, NEMProvisionNamespaceTransaction, NEMSignTransactionParams, NEMSupplyChangeTransaction, NEMTransaction, NEMTransferTransaction, NearAddress, NearGetAddressParams, NearSignTransactionParams, NervosAddress, NervosGetAddressParams, NervosSignTransactionParams, NervosSignedTx, NexaAddress, NexaGetAddressParams, NexaSignInputParams, NexaSignOutputParams, NexaSignTransactionParams, NexaSignature, NormalizedFeatures, OnekeyFeatures, OpenWalletSessionMode, OpenWalletSessionModeValue, OpenWalletSessionParams, OpenWalletSessionPayload, PRO2_WALLPAPER_HEIGHT, PRO2_WALLPAPER_WIDTH, PROTOCOL_V2_NEVER_TIMEOUT_MS, Params, PassphraseRequestPayload, PolkadotAddress, PolkadotGetAddressParams, PolkadotSignTransactionParams, PolkadotSignedTx, PostMessageEvent, PreviousAddressResult, Pro2WallpaperColorFormat, ProtocolV2ComponentReleaseInfo, ProtocolV2FirmwareComponentRelease, ProtocolV2FirmwareComponentReleaseStatus, ProtocolV2FirmwareReleaseStatus, ProtocolV2UiCompletion, ProtocolV2UiEventMetadata, ProtocolV2UiEventSource, RESPONSE_EVENT, RefTransaction, ReleaseInfo, ReleaseInfoEvent, ReleaseInfoPayload, RemoteConfigResponse, RequestContext, Response, ScdoAddress, ScdoGetAddressParams, ScdoSignMessageParams, ScdoSignTransactionParams, ScdoSignedTx, SdkTracingContext, SearchDevice, SignedTransaction, SolSignMessageParams, SolSignMessageResponse, SolSignOffchainMessageParams, SolSignOffchainMessageResponse, SolanaAddress, SolanaGetAddressParams, SolanaSignTransactionParams, SolanaSignedTx, StarcoinAddress, StarcoinGetAddressParams, StarcoinGetPublicKeyParams, StarcoinPublicKey, StarcoinSignMessageParams, StarcoinSignTransactionParams, StarcoinVerifyMessageParams, StellarAddress, StellarAsset, StellarGetAddressParams, StellarOperation, StellarSignTransactionParams, StellarTransaction, StrictFeatures, Success, SuiAddress, SuiGetAddressParams, SuiGetPublicKeyParams, SuiPublicKey, SuiSignMessageParams, SuiSignTransactionParams, SuiSignedTx, SupportFeatureType, SupportFeatures, TestProtocolV2PingParams, TonAddress, TonGetAddressParams, TonSignDataParams, TonSignMessageParams, TonSignProofParams, TopLevelInjectApi, TransactionOptions, TransportReleaseStatus, TronAddress, TronDelegateResourceContract, TronFreezeBalanceV2Contract, TronGetAddressParams, TronSignMessageParams, TronSignTransactionParams, TronTransaction, TronTransactionContract, TronTransferContract, TronTriggerSmartContract, TronUnDelegateResourceContract, TronUnfreezeBalanceV2Contract, TronWithdrawBalanceContract, TronWithdrawExpireUnfreezeContract, UI_EVENT, UI_REQUEST, UI_RESPONSE, UiEvent, UiEventMessage, UiPromise, UiPromiseResponse, UiRequestButton, UiRequestDeviceAction, UiRequestFirmwareProgressing, UiRequestPassphrase, UiRequestPassphraseOnDevice, UiRequestSelectDeviceForSwitchFirmwareWebDevice, UiRequestSelectDeviceInBootloaderForWebDevice, UiRequestWindowClose, UiRequestWithoutPayload, UiResponseCorrelation, UiResponseCorrelationFields, UiResponseEvent, UiResponseMessage, UiResponsePassphrase, UiResponsePin, UiResponseSelectDeviceForSwitchFirmwareWebDevice, UiResponseSelectDeviceInBootloaderForWebDevice, UnavailableCapabilities, UnavailableCapability, Unsuccessful, VersionArray, checkNeedUpdateBootForClassicAndMini, checkNeedUpdateBootForTouch, cleanupCallback, cleanupSdkInstance, completeRequestContext, corsValidator, createDeviceMessage, createErrorMessage, createFirmwareMessage, createIFrameMessage, createLogMessage, createRequestContext, createResponseMessage, createSdkTracingContext, createUiMessage, createUiResponse, HardwareSdk as default, enableLog, encodePro2Wallpaper, executeCallback, formatLogMethodLabel, formatRequestContext, generateInstanceId, generateSdkInstanceId, getActiveRequestsByDeviceInstance, getAutoLockOptions, getAutoShutDownOptions, getDeviceBLEFirmwareVersion, getDeviceBleName, getDeviceBoardloaderVersion, getDeviceBootloaderVersion, getDeviceFirmwareVersion, getDeviceLabel, getDeviceSerialNo, getDeviceSettingsCapabilities, getDeviceType, getDeviceTypeByBleName, getDeviceUUID, getEnv, getFirmwareType, getFirmwareUpdateField, getFirmwareUpdateFieldArray, getFirmwareUpdateHostBindingGeneration, getHDPath, getHomeScreenDefaultList, getHomeScreenHex, getHomeScreenSize, getLanguageConfig, getLog, getLogBlockLabel, getLogger, getMethodSupportedProtocols, getMethodVersionRange, getNftSize, getOutputScriptType, getSDKVersion, getSafeLogPayload, getScriptType, getTimeStamp, httpRequest, init$1 as initCore, isBleConnect, isValidVersionArray, isValidVersionString, normalizeSafetyCheckLevel, normalizeVersionArray, parseConnectSettings, parseMessage, parseProtocolV2ResourceManifest, patchFeatures, preloadSessionCache, prepareFirmwareUpdateV4MemoryHost, projectFeatures as projectDeviceStateFeatures, registerFirmwareUpdateHostBinding, safeThrowError, selectProtocolV2ResourceManifestFiles, setLoggerPostMessage, supportInputPinOnSoftware, switchTransport, transportEnv, unregisterFirmwareUpdateHostBinding, updateRequestContext, versionCompare, versionSplit, wait, whitelist, whitelistExtension };
|
|
4893
|
+
export { AccountAddress, AccountAddresses, AlephiumAddress, AlephiumGetAddressParams, AlephiumSignMessageParams, AlephiumSignTransactionParams, AlephiumSignedTx, AlgoAddress, AlgoGetAddressParams, AlgoSignTransactionParams, AlgoSignedTx, AllFirmwareRelease, AllNetworkAddressParams, AllNetworkGetAddressParams, AptosAddress, AptosGetAddressParams, AptosGetPublicKeyParams, AptosMessageSignature, AptosPublicKey, AptosSignInMessageParams, AptosSignInMessageSignature, AptosSignMessageParams, AptosSignTransactionParams, AptosSignedTx, AssetsMap, BTCAddress, BTCGetAddressParams, BTCGetPublicKeyParams, BTCPublicKey, BTCSignMessageParams, BTCSignTransactionParams, BTCVerifyMessageParams, BenfenAddress, BenfenGetAddressParams, BenfenGetPublicKeyParams, BenfenPublicKey, BenfenSignMessageParams, BenfenSignTransactionParams, BenfenSignedTx, BleReleaseInfoEvent, BleReleaseInfoPayload, BridgeReleaseCheckResult, CORE_EVENT, CallMethod, CallMethodAnyResponse, CallMethodKeys, CallMethodPayload, CallMethodResponse, CallMethodUnion, CardanoAddress, CardanoGetAddressMethodParams, CardanoGetAddressParams, CardanoSignMessageMethodParams, CardanoSignMessageParams, CardanoSignTransaction, CardanoSignedTxData, CipheredKeyValue, CipheredKeyValueParams, ClearSessionCacheParams, ClearSessionCachePayload, CommonParams, ConfluxAddress, ConfluxGetAddressParams, ConfluxSignMessageCIP23Params, ConfluxSignMessageParams, ConfluxSignTransactionParams, ConfluxSignedTx, ConfluxTransaction, ConnectSettings, Core, CoreApi, CoreMessage, CosmosAddress, CosmosGetAddressParams, CosmosGetPublicKeyParams, CosmosPublicKey, CosmosSignTransactionParams, CosmosSignedTx, DEFAULT_PRIORITY, DEVICE, DEVICE_EVENT, DEVICE_SETTINGS_NEVER_TIMEOUT_MS, DEVICE_SETTINGS_SHARED_FIELDS, DEVICE_SETTINGS_V1_ONLY_FIELDS, DEVICE_SETTINGS_V2_ONLY_FIELDS, DataManager, Device$1 as Device, DeviceButtonRequest, DeviceButtonRequestPayload, DeviceChangePinParams, DeviceConnnectRequest, DeviceDisconnnectRequest, DeviceEvent, DeviceEventListenerFn, DeviceEventMessage, DeviceFeaturesMode, DeviceFeaturesPayload, DeviceFeaturesProtocol, DeviceFeaturesRaw, DeviceFeaturesRawPatch, DeviceFeaturesVerify, DeviceFirmwareRange, DeviceFlagsParams, DeviceModelToTypes, DeviceProgress, DeviceRecoveryParams, DeviceResetParams, DeviceSendFeatures, DeviceSendState, DeviceSendSupportFeatures, DeviceSettingsCapabilities, DeviceSettingsDurationOption, DeviceSettingsField, DeviceSettingsParams, DeviceSettingsProtocol, DeviceSettingsValueOption, DeviceState, DeviceStateEvent, DeviceStateIdentity, DeviceStateMode, DeviceStatePatch, DeviceStateProtocol, DeviceStateScope, DeviceStateSection, DeviceStateSecurityElement, DeviceStateSecurityElements, DeviceStateSecurityElementsPatch, DeviceStateSettings, DeviceStateStatus, DeviceStateUpdateSource, DeviceStateVersions, DeviceStatus, DeviceSupportFeatures, DeviceSupportFeaturesPayload, DeviceTypeMap, DeviceTypeToModels, DeviceUnlockParams, DeviceUploadResourceParams, DeviceUploadResourceResponse, DeviceVerifyParams, DeviceVerifySignature, DnxAddress, DnxGetAddressParams, DnxSignTransactionParams, DnxSignature, DnxTxKey, EOneKeyDeviceMode, EVMAccessList, EVMAddress, EVMAuthorization, EVMAuthorizationSignature, EVMGetAddressParams, EVMGetPublicKeyParams, EVMPublicKey, EVMSignMessageEIP712Params, EVMSignMessageParams, EVMSignTransactionParams, EVMSignTypedDataParams, EVMSignedTx, EVMTransaction, EVMTransactionEIP1559, EVMTransactionEIP7702, EVMVerifyMessageParams, EthereumSignTypedDataMessage, EthereumSignTypedDataTypeProperty, EthereumSignTypedDataTypes, FIRMWARE, FIRMWARE_EVENT, Features, FilecoinAddress, FilecoinGetAddressParams, FilecoinSignTransactionParams, FilecoinSignedTx, FirmwareArtifactReader, FirmwareArtifactReference, FirmwareEvent, FirmwareMemoryArtifact, FirmwareMemoryArtifactEntry, FirmwareMessage, FirmwareProcessing, FirmwareProgress, FirmwareRange, FirmwareRelease, FirmwareReleaseCheckResult, FirmwareTip, FirmwareUpdateArtifactParams, FirmwareUpdateBinaryParams, FirmwareUpdateCapabilities, FirmwareUpdateHostBinding, FirmwareUpdateParams, FirmwareUpdatePlan, FirmwareUpdatePlanArtifact, FirmwareUpdatePlanArtifactRole, FirmwareUpdatePlanForceTarget, FirmwareUpdatePlanTarget, FirmwareUpdatePreparedArtifact, FirmwareUpdatePreparedArtifactInput, FirmwareUpdatePreparedEntry, FirmwareUpdatePreparedPlan, FirmwareUpdateTipMessage, FirmwareUpdateV3Params, FirmwareUpdateV4MemoryHost, FirmwareUpdateV4Params, FirmwareUpdateV4Target, GetDeviceStateParams, GetPassphraseStateParams, HardwareSDKLowLevel, HardwareTopLevelSdk, HardwareUiInteractionMeta, IBLEFirmwareReleaseInfo, IDeviceBLEFirmwareStatus, IDeviceFirmwareStatus, IDeviceModel, IDeviceType, IFRAME, IFirmwareField, IFirmwareReleaseInfo, IFirmwareUpdateProgressType, IFirmwareUpdateTipMessage, IFrameBridge, IFrameCallMessage, IFrameCallback, IFrameCallbackMessage, IFrameCancelMessage, IFrameEvent, IFrameEventMessage, IFrameInit, IFrameSwitchTransport, IFrameSwitchTransportMessage, ILocale, IProtocolV2FirmwareComponent, IProtocolV2FirmwareComponentTarget, IProtocolV2ResourceManifest, IProtocolV2ResourceManifestFile, IProtocolV2ResourceSource, IProtocolV2Resources, ITransportStatus, IVersionArray, IVersionRange, KaspaAddress, KaspaGetAddressParams, KaspaSignInputParams, KaspaSignOutputParams, KaspaSignTransactionParams, KaspaSignature, KaspaStreamingSignInputParams, KaspaStreamingSignOutputParams, KnownDevice, LOG, LOG_EVENT, LogBlockEvent, LogEvent, LogEventMessage, LogOutput, LoggerNames, LowLevelCoreApi, LowLevelInjectApi, MajorVersion, MethodResponseMessage, NEMAddress, NEMAggregateModificationTransaction, NEMGetAddressParams, NEMImportanceTransaction, NEMMosaic, NEMMosaicCreationTransaction, NEMMultisigTransaction, NEMProvisionNamespaceTransaction, NEMSignTransactionParams, NEMSupplyChangeTransaction, NEMTransaction, NEMTransferTransaction, NearAddress, NearGetAddressParams, NearSignTransactionParams, NervosAddress, NervosGetAddressParams, NervosSignTransactionParams, NervosSignedTx, NexaAddress, NexaGetAddressParams, NexaSignInputParams, NexaSignOutputParams, NexaSignTransactionParams, NexaSignature, NormalizedFeatures, OnekeyFeatures, OpenWalletSessionMode, OpenWalletSessionModeValue, OpenWalletSessionParams, OpenWalletSessionPayload, PRO2_WALLPAPER_HEIGHT, PRO2_WALLPAPER_WIDTH, PROTOCOL_V2_NEVER_TIMEOUT_MS, Params, PassphraseRequestPayload, PolkadotAddress, PolkadotGetAddressParams, PolkadotSignTransactionParams, PolkadotSignedTx, PostMessageEvent, PreviousAddressResult, Pro2WallpaperColorFormat, ProtocolV2ComponentReleaseInfo, ProtocolV2FirmwareComponentRelease, ProtocolV2FirmwareComponentReleaseStatus, ProtocolV2FirmwareReleaseStatus, ProtocolV2UiCompletion, ProtocolV2UiEventMetadata, ProtocolV2UiEventSource, RESPONSE_EVENT, RefTransaction, ReleaseInfo, ReleaseInfoEvent, ReleaseInfoPayload, RemoteConfigResponse, RequestContext, Response, ScdoAddress, ScdoGetAddressParams, ScdoSignMessageParams, ScdoSignTransactionParams, ScdoSignedTx, SdkTracingContext, SearchDevice, SignedTransaction, SolSignMessageParams, SolSignMessageResponse, SolSignOffchainMessageParams, SolSignOffchainMessageResponse, SolanaAddress, SolanaGetAddressParams, SolanaSignTransactionParams, SolanaSignedTx, StarcoinAddress, StarcoinGetAddressParams, StarcoinGetPublicKeyParams, StarcoinPublicKey, StarcoinSignMessageParams, StarcoinSignTransactionParams, StarcoinVerifyMessageParams, StellarAddress, StellarAsset, StellarGetAddressParams, StellarOperation, StellarSignTransactionParams, StellarTransaction, StrictFeatures, Success, SuiAddress, SuiGetAddressParams, SuiGetPublicKeyParams, SuiPublicKey, SuiSignMessageParams, SuiSignTransactionParams, SuiSignedTx, SupportFeatureType, SupportFeatures, TestProtocolV2PingParams, TonAddress, TonGetAddressParams, TonSignDataParams, TonSignMessageParams, TonSignProofParams, TopLevelInjectApi, TransactionOptions, TransportReleaseStatus, TronAddress, TronDelegateResourceContract, TronFreezeBalanceV2Contract, TronGetAddressParams, TronSignMessageParams, TronSignTransactionParams, TronTransaction, TronTransactionContract, TronTransferContract, TronTriggerSmartContract, TronUnDelegateResourceContract, TronUnfreezeBalanceV2Contract, TronWithdrawBalanceContract, TronWithdrawExpireUnfreezeContract, UI_EVENT, UI_REQUEST, UI_RESPONSE, UiEvent, UiEventMessage, UiPromise, UiPromiseResponse, UiRequestButton, UiRequestDeviceAction, UiRequestFirmwareProgressing, UiRequestPassphrase, UiRequestPassphraseOnDevice, UiRequestSelectDeviceForSwitchFirmwareWebDevice, UiRequestSelectDeviceInBootloaderForWebDevice, UiRequestWindowClose, UiRequestWithoutPayload, UiResponseCorrelation, UiResponseCorrelationFields, UiResponseEvent, UiResponseMessage, UiResponsePassphrase, UiResponsePin, UiResponseSelectDeviceForSwitchFirmwareWebDevice, UiResponseSelectDeviceInBootloaderForWebDevice, UnavailableCapabilities, UnavailableCapability, Unsuccessful, VersionArray, checkNeedUpdateBootForClassicAndMini, checkNeedUpdateBootForTouch, cleanupCallback, cleanupSdkInstance, completeRequestContext, corsValidator, createDeviceMessage, createErrorMessage, createFirmwareMessage, createIFrameMessage, createLogMessage, createRequestContext, createResponseMessage, createSdkTracingContext, createUiMessage, createUiResponse, HardwareSdk as default, enableLog, encodePro2Wallpaper, executeCallback, formatLogMethodLabel, formatRequestContext, generateInstanceId, generateSdkInstanceId, getActiveRequestsByDeviceInstance, getAutoLockOptions, getAutoShutDownOptions, getDeviceBLEFirmwareVersion, getDeviceBleName, getDeviceBoardloaderVersion, getDeviceBootloaderVersion, getDeviceFirmwareVersion, getDeviceLabel, getDeviceSerialNo, getDeviceSettingsCapabilities, getDeviceType, getDeviceTypeByBleName, getDeviceUUID, getEnv, getFirmwareType, getFirmwareUpdateField, getFirmwareUpdateFieldArray, getFirmwareUpdateHostBindingGeneration, getHDPath, getHomeScreenDefaultList, getHomeScreenHex, getHomeScreenSize, getLanguageConfig, getLog, getLogBlockLabel, getLogger, getMethodSupportedProtocols, getMethodVersionRange, getNftSize, getOutputScriptType, getSDKVersion, getSafeLogPayload, getScriptType, getTimeStamp, httpRequest, init$1 as initCore, isBleConnect, isValidVersionArray, isValidVersionString, normalizeSafetyCheckLevel, normalizeVersionArray, parseConnectSettings, parseMessage, parseProtocolV2ResourceManifest, patchFeatures, preloadSessionCache, prepareFirmwareUpdateV4MemoryHost, projectFeatures as projectDeviceStateFeatures, registerFirmwareUpdateHostBinding, safeThrowError, selectProtocolV2ResourceManifestFiles, setLoggerPostMessage, supportInputPinOnSoftware, switchTransport, transportEnv, unregisterFirmwareUpdateHostBinding, updateRequestContext, versionCompare, versionSplit, wait, whitelist, whitelistExtension };
|
package/dist/index.js
CHANGED
|
@@ -42329,7 +42329,12 @@ const DEVICE_SETTINGS_V2_ONLY_FIELDS = [
|
|
|
42329
42329
|
'usbLockEnabled',
|
|
42330
42330
|
'randomKeypad',
|
|
42331
42331
|
];
|
|
42332
|
-
const
|
|
42332
|
+
const DEVICE_SETTINGS_NEVER_TIMEOUT_MS = 0x10000000;
|
|
42333
|
+
const PROTOCOL_V2_NEVER_TIMEOUT_MS = DEVICE_SETTINGS_NEVER_TIMEOUT_MS;
|
|
42334
|
+
const NEVER_TIMEOUT_MS_BY_PROTOCOL = {
|
|
42335
|
+
V1: DEVICE_SETTINGS_NEVER_TIMEOUT_MS,
|
|
42336
|
+
V2: PROTOCOL_V2_NEVER_TIMEOUT_MS,
|
|
42337
|
+
};
|
|
42333
42338
|
const normalizeSafetyCheckLevel = (value) => {
|
|
42334
42339
|
if (typeof value === 'number' || value === null || value === undefined)
|
|
42335
42340
|
return value;
|
|
@@ -42408,7 +42413,7 @@ const getLanguageConfig = (deviceType) => {
|
|
|
42408
42413
|
return keys.map(key => ({ code: key, label: LANGUAGE_LABELS[key] }));
|
|
42409
42414
|
};
|
|
42410
42415
|
const durationOption = (valueMs) => {
|
|
42411
|
-
if (valueMs ===
|
|
42416
|
+
if (valueMs === DEVICE_SETTINGS_NEVER_TIMEOUT_MS) {
|
|
42412
42417
|
return { label: 'Never', valueMs };
|
|
42413
42418
|
}
|
|
42414
42419
|
if (valueMs < 60000) {
|
|
@@ -42417,7 +42422,7 @@ const durationOption = (valueMs) => {
|
|
|
42417
42422
|
const minutes = valueMs / 60000;
|
|
42418
42423
|
return { label: `${minutes} ${minutes === 1 ? 'minute' : 'minutes'}`, valueMs };
|
|
42419
42424
|
};
|
|
42420
|
-
const withNever = (values, protocol) => [...values, protocol
|
|
42425
|
+
const withNever = (values, protocol) => [...values, NEVER_TIMEOUT_MS_BY_PROTOCOL[protocol]].map(durationOption);
|
|
42421
42426
|
const getAutoLockOptions = (deviceType, protocol) => {
|
|
42422
42427
|
switch (deviceType) {
|
|
42423
42428
|
case hdShared.EDeviceType.Mini:
|
|
@@ -48352,6 +48357,7 @@ const assertSettingsSupported = (payload, unsupported, protocol) => {
|
|
|
48352
48357
|
throw invalidParameter$1(`${protocol} does not support settings: ${provided.join(', ')}.`);
|
|
48353
48358
|
}
|
|
48354
48359
|
};
|
|
48360
|
+
const normalizeProtocolV1DelayMs = (value) => value === 0 ? DEVICE_SETTINGS_NEVER_TIMEOUT_MS : value;
|
|
48355
48361
|
const assertProtocolV2SettingValues = (payload, capabilities) => {
|
|
48356
48362
|
const brightnessRange = capabilities.ranges.brightness;
|
|
48357
48363
|
if (payload.brightness !== undefined &&
|
|
@@ -48509,8 +48515,9 @@ class DeviceSettings extends BaseMethod {
|
|
|
48509
48515
|
.map(option => option.value)
|
|
48510
48516
|
.join(', ')}.`);
|
|
48511
48517
|
}
|
|
48512
|
-
const
|
|
48513
|
-
this.device.
|
|
48518
|
+
const protocolV1Params = Object.assign(Object.assign({}, this.params), { auto_lock_delay_ms: normalizeProtocolV1DelayMs(this.params.auto_lock_delay_ms), auto_shutdown_delay_ms: normalizeProtocolV1DelayMs(this.params.auto_shutdown_delay_ms) });
|
|
48519
|
+
const res = yield this.device.commands.typedCall('ApplySettings', 'Success', protocolV1Params);
|
|
48520
|
+
this.device.updateState(mapApplySettingsToState(protocolV1Params), 'settings-write');
|
|
48514
48521
|
return res.message;
|
|
48515
48522
|
}
|
|
48516
48523
|
catch (error) {
|
|
@@ -66126,6 +66133,7 @@ exports.Core = Core;
|
|
|
66126
66133
|
exports.DEFAULT_PRIORITY = DEFAULT_PRIORITY;
|
|
66127
66134
|
exports.DEVICE = DEVICE;
|
|
66128
66135
|
exports.DEVICE_EVENT = DEVICE_EVENT;
|
|
66136
|
+
exports.DEVICE_SETTINGS_NEVER_TIMEOUT_MS = DEVICE_SETTINGS_NEVER_TIMEOUT_MS;
|
|
66129
66137
|
exports.DEVICE_SETTINGS_SHARED_FIELDS = DEVICE_SETTINGS_SHARED_FIELDS;
|
|
66130
66138
|
exports.DEVICE_SETTINGS_V1_ONLY_FIELDS = DEVICE_SETTINGS_V1_ONLY_FIELDS;
|
|
66131
66139
|
exports.DEVICE_SETTINGS_V2_ONLY_FIELDS = DEVICE_SETTINGS_V2_ONLY_FIELDS;
|
|
@@ -7,6 +7,7 @@ export type DeviceSettingsField = keyof DeviceSettingsParams;
|
|
|
7
7
|
export declare const DEVICE_SETTINGS_SHARED_FIELDS: readonly ["language", "label", "usePassphrase", "autoLockDelayMs", "autoShutdownDelayMs", "hapticFeedback", "bluetoothEnabled"];
|
|
8
8
|
export declare const DEVICE_SETTINGS_V1_ONLY_FIELDS: readonly ["homescreen", "passphraseSource", "displayRotation", "passphraseAlwaysOnDevice", "safetyChecks", "experimentalFeatures", "changeBrightness"];
|
|
9
9
|
export declare const DEVICE_SETTINGS_V2_ONLY_FIELDS: readonly ["brightness", "airgapMode", "animationEnabled", "tapToWake", "deviceNameDisplayEnabled", "fidoEnabled", "usbLockEnabled", "randomKeypad"];
|
|
10
|
+
export declare const DEVICE_SETTINGS_NEVER_TIMEOUT_MS = 268435456;
|
|
10
11
|
export declare const PROTOCOL_V2_NEVER_TIMEOUT_MS = 268435456;
|
|
11
12
|
export declare const normalizeSafetyCheckLevel: (value: SafetyCheckLevel | null | undefined) => Enum_SafetyCheckLevel | null | undefined;
|
|
12
13
|
export declare const LANGUAGE_LABELS: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deviceSettings.d.ts","sourceRoot":"","sources":["../../src/utils/deviceSettings.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,MAAM,MAAM,sBAAsB,GAAG,IAAI,GAAG,IAAI,CAAC;AACjD,MAAM,MAAM,mBAAmB,GAAG,MAAM,oBAAoB,CAAC;AAE7D,eAAO,MAAM,6BAA6B,iIAQS,CAAC;AAEpD,eAAO,MAAM,8BAA8B,wJAQQ,CAAC;AAEpD,eAAO,MAAM,8BAA8B,qJASQ,CAAC;AAEpD,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"deviceSettings.d.ts","sourceRoot":"","sources":["../../src/utils/deviceSettings.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,MAAM,MAAM,sBAAsB,GAAG,IAAI,GAAG,IAAI,CAAC;AACjD,MAAM,MAAM,mBAAmB,GAAG,MAAM,oBAAoB,CAAC;AAE7D,eAAO,MAAM,6BAA6B,iIAQS,CAAC;AAEpD,eAAO,MAAM,8BAA8B,wJAQQ,CAAC;AAEpD,eAAO,MAAM,8BAA8B,qJASQ,CAAC;AAEpD,eAAO,MAAM,gCAAgC,YAAa,CAAC;AAE3D,eAAO,MAAM,4BAA4B,YAAmC,CAAC;AAO7E,eAAO,MAAM,yBAAyB,UAC7B,gBAAgB,GAAG,IAAI,GAAG,SAAS,KACzC,qBAAqB,GAAG,IAAI,GAAG,SAGjC,CAAC;AAEF,eAAO,MAAM,eAAe;;;;;;;;;;;;CAYlB,CAAC;AAEX,MAAM,MAAM,WAAW,GAAG,MAAM,OAAO,eAAe,CAAC;AACvD,MAAM,MAAM,cAAc,GAAG;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,CAAC,OAAO,eAAe,CAAC,CAAC,WAAW,CAAC,CAAA;CAAE,CAAC;AAEjG,eAAO,MAAM,2BAA2B,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAYnE,CAAC;AAEF,eAAO,MAAM,uBAAuB,cAAe,MAAM,uBACgC,CAAC;AAM1F,eAAO,MAAM,yBAAyB,cAAe,MAAM,oGACmB,CAAC;AAsB/E,eAAO,MAAM,iBAAiB,eAAgB,WAAW,KAAG,OAAO,MAAM,EAAE,MAAM,CAAC,EA0BjF,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,yBAAyB,CAAC,CAAC,IAAI;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,CAAC,CAAC;CACV,CAAC;AAmBF,eAAO,MAAM,kBAAkB,eACjB,WAAW,YACb,sBAAsB,KAC/B,4BAA4B,EAe9B,CAAC;AAEF,eAAO,MAAM,sBAAsB,eACrB,WAAW,YACb,sBAAsB,KAC/B,4BAA4B,EAiB9B,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,QAAQ,EAAE,sBAAsB,CAAC;IACjC,eAAe,EAAE,SAAS,mBAAmB,EAAE,CAAC;IAChD,eAAe,EAAE,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACvD,oBAAoB,EAAE,SAAS,4BAA4B,EAAE,CAAC;IAC9D,wBAAwB,EAAE,SAAS,4BAA4B,EAAE,CAAC;IAClE,MAAM,EAAE;QACN,UAAU,CAAC,EAAE;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,GAAG,EAAE,MAAM,CAAA;SAAE,CAAC;KAC3C,CAAC;IACF,kBAAkB,EAAE,aAAa,CAAC,yBAAyB,CAAC,qBAAqB,CAAC,CAAC,CAAC;IACpF,0BAA0B,EAAE,SAAS,mBAAmB,EAAE,CAAC;CAC5D,CAAC;AAEF,eAAO,MAAM,6BAA6B,eAC5B,WAAW,YACb,sBAAsB,KAC/B,0BAmBD,CAAC"}
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ export { getDeviceTypeByBleName, getDeviceType, getDeviceBleName, getDeviceSeria
|
|
|
7
7
|
export { getDeviceBoardloaderVersion, getDeviceBootloaderVersion, getDeviceFirmwareVersion, getDeviceBLEFirmwareVersion, } from './deviceVersionUtils';
|
|
8
8
|
export { getFirmwareUpdateField, supportInputPinOnSoftware, getFirmwareUpdateFieldArray, } from './deviceFeaturesUtils';
|
|
9
9
|
export { checkNeedUpdateBootForTouch, checkNeedUpdateBootForClassicAndMini, } from '../api/firmware/updateBootloader';
|
|
10
|
-
export { DEVICE_SETTINGS_SHARED_FIELDS, DEVICE_SETTINGS_V1_ONLY_FIELDS, DEVICE_SETTINGS_V2_ONLY_FIELDS, PROTOCOL_V2_NEVER_TIMEOUT_MS, getAutoLockOptions, getAutoShutDownOptions, getDeviceSettingsCapabilities, getLanguageConfig, normalizeSafetyCheckLevel, } from './deviceSettings';
|
|
10
|
+
export { DEVICE_SETTINGS_NEVER_TIMEOUT_MS, DEVICE_SETTINGS_SHARED_FIELDS, DEVICE_SETTINGS_V1_ONLY_FIELDS, DEVICE_SETTINGS_V2_ONLY_FIELDS, PROTOCOL_V2_NEVER_TIMEOUT_MS, getAutoLockOptions, getAutoShutDownOptions, getDeviceSettingsCapabilities, getLanguageConfig, normalizeSafetyCheckLevel, } from './deviceSettings';
|
|
11
11
|
export type { DeviceSettingsCapabilities, DeviceSettingsDurationOption, DeviceSettingsField, DeviceSettingsProtocol, DeviceSettingsValueOption, } from './deviceSettings';
|
|
12
12
|
export { getHDPath, getScriptType, getOutputScriptType } from '../api/helpers/pathUtils';
|
|
13
13
|
export declare const isBleConnect: (env: string) => boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAC3F,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAE1B,OAAO,EACL,sBAAsB,EACtB,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,qBAAqB,EACrB,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,2BAA2B,EAC3B,0BAA0B,EAC1B,wBAAwB,EACxB,2BAA2B,GAC5B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,sBAAsB,EACtB,yBAAyB,EACzB,2BAA2B,GAC5B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,2BAA2B,EAC3B,oCAAoC,GACrC,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,6BAA6B,EAC7B,8BAA8B,EAC9B,8BAA8B,EAC9B,4BAA4B,EAC5B,kBAAkB,EAClB,sBAAsB,EACtB,6BAA6B,EAC7B,iBAAiB,EACjB,yBAAyB,GAC1B,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,0BAA0B,EAC1B,4BAA4B,EAC5B,mBAAmB,EACnB,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,kBAAkB,CAAC;AAI1B,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAEzF,eAAO,MAAM,YAAY,QAAS,MAAM,YAAiD,CAAC;AAE1F,OAAO,EACL,gBAAgB,EAChB,wBAAwB,EACxB,iBAAiB,EACjB,UAAU,GACX,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACnG,YAAY,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAEhE,eAAO,MAAM,IAAI,OAAQ,MAAM,qBAG3B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAC3F,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAE1B,OAAO,EACL,sBAAsB,EACtB,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,qBAAqB,EACrB,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,2BAA2B,EAC3B,0BAA0B,EAC1B,wBAAwB,EACxB,2BAA2B,GAC5B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,sBAAsB,EACtB,yBAAyB,EACzB,2BAA2B,GAC5B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,2BAA2B,EAC3B,oCAAoC,GACrC,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,gCAAgC,EAChC,6BAA6B,EAC7B,8BAA8B,EAC9B,8BAA8B,EAC9B,4BAA4B,EAC5B,kBAAkB,EAClB,sBAAsB,EACtB,6BAA6B,EAC7B,iBAAiB,EACjB,yBAAyB,GAC1B,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,0BAA0B,EAC1B,4BAA4B,EAC5B,mBAAmB,EACnB,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,kBAAkB,CAAC;AAI1B,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAEzF,eAAO,MAAM,YAAY,QAAS,MAAM,YAAiD,CAAC;AAE1F,OAAO,EACL,gBAAgB,EAChB,wBAAwB,EACxB,iBAAiB,EACjB,UAAU,GACX,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACnG,YAAY,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAEhE,eAAO,MAAM,IAAI,OAAQ,MAAM,qBAG3B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@onekeyfe/hd-core",
|
|
3
|
-
"version": "1.2.0-alpha.
|
|
3
|
+
"version": "1.2.0-alpha.119",
|
|
4
4
|
"description": "Core processes and APIs for communicating with OneKey hardware devices.",
|
|
5
5
|
"author": "OneKey",
|
|
6
6
|
"homepage": "https://github.com/OneKeyHQ/hardware-js-sdk#readme",
|
|
@@ -25,8 +25,8 @@
|
|
|
25
25
|
"url": "https://github.com/OneKeyHQ/hardware-js-sdk/issues"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@onekeyfe/hd-shared": "1.2.0-alpha.
|
|
29
|
-
"@onekeyfe/hd-transport": "1.2.0-alpha.
|
|
28
|
+
"@onekeyfe/hd-shared": "1.2.0-alpha.119",
|
|
29
|
+
"@onekeyfe/hd-transport": "1.2.0-alpha.119",
|
|
30
30
|
"axios": "1.15.2",
|
|
31
31
|
"bignumber.js": "^9.0.2",
|
|
32
32
|
"buffer": "^6.0.3",
|
|
@@ -46,5 +46,5 @@
|
|
|
46
46
|
"@types/w3c-web-usb": "^1.0.10",
|
|
47
47
|
"@types/web-bluetooth": "^0.0.21"
|
|
48
48
|
},
|
|
49
|
-
"gitHead": "
|
|
49
|
+
"gitHead": "63d9140aec732cf5c3d74bec8d62e6344e14eb10"
|
|
50
50
|
}
|
|
@@ -10,6 +10,7 @@ import {
|
|
|
10
10
|
} from '../../device/DeviceStateMapper';
|
|
11
11
|
import { getProtocolV2SettingsBehavior } from '../../protocols/protocol-v2/settingsUnlockPolicy';
|
|
12
12
|
import {
|
|
13
|
+
DEVICE_SETTINGS_NEVER_TIMEOUT_MS,
|
|
13
14
|
DEVICE_SETTINGS_V1_ONLY_FIELDS,
|
|
14
15
|
DEVICE_SETTINGS_V2_ONLY_FIELDS,
|
|
15
16
|
LANGUAGE_LABELS,
|
|
@@ -30,6 +31,9 @@ const assertSettingsSupported = (
|
|
|
30
31
|
}
|
|
31
32
|
};
|
|
32
33
|
|
|
34
|
+
const normalizeProtocolV1DelayMs = (value: number | undefined) =>
|
|
35
|
+
value === 0 ? DEVICE_SETTINGS_NEVER_TIMEOUT_MS : value;
|
|
36
|
+
|
|
33
37
|
const assertProtocolV2SettingValues = (
|
|
34
38
|
payload: DeviceSettingsParams,
|
|
35
39
|
capabilities: ReturnType<typeof getDeviceSettingsCapabilities>
|
|
@@ -253,10 +257,19 @@ export default class DeviceSettings extends BaseMethod<ApplySettings> {
|
|
|
253
257
|
);
|
|
254
258
|
}
|
|
255
259
|
|
|
256
|
-
|
|
260
|
+
// Early SDK 1.2 alphas exposed 0 as Protocol V1 "Never". Normalize at the
|
|
261
|
+
// protocol boundary so existing consumers send the firmware-supported value.
|
|
262
|
+
const protocolV1Params = {
|
|
257
263
|
...this.params,
|
|
258
|
-
|
|
259
|
-
|
|
264
|
+
auto_lock_delay_ms: normalizeProtocolV1DelayMs(this.params.auto_lock_delay_ms),
|
|
265
|
+
auto_shutdown_delay_ms: normalizeProtocolV1DelayMs(this.params.auto_shutdown_delay_ms),
|
|
266
|
+
};
|
|
267
|
+
const res = await this.device.commands.typedCall(
|
|
268
|
+
'ApplySettings',
|
|
269
|
+
'Success',
|
|
270
|
+
protocolV1Params
|
|
271
|
+
);
|
|
272
|
+
this.device.updateState(mapApplySettingsToState(protocolV1Params), 'settings-write');
|
|
260
273
|
return res.message;
|
|
261
274
|
} catch (error) {
|
|
262
275
|
if (error.message?.toLowerCase().includes('no setting provided')) {
|
|
@@ -450,7 +450,7 @@ export default class DataManager {
|
|
|
450
450
|
Log.debug('[DataConfig] Trying SDK-managed config request...');
|
|
451
451
|
try {
|
|
452
452
|
const response = await axios.get<RemoteConfigResponse>(urlWithCache, {
|
|
453
|
-
//
|
|
453
|
+
// Keep the config request below the 20-second iframe initialization timeout.
|
|
454
454
|
timeout: 7000,
|
|
455
455
|
});
|
|
456
456
|
data = response.data;
|
|
@@ -39,7 +39,14 @@ export const DEVICE_SETTINGS_V2_ONLY_FIELDS = [
|
|
|
39
39
|
'randomKeypad',
|
|
40
40
|
] as const satisfies readonly DeviceSettingsField[];
|
|
41
41
|
|
|
42
|
-
export const
|
|
42
|
+
export const DEVICE_SETTINGS_NEVER_TIMEOUT_MS = 0x10000000;
|
|
43
|
+
// Keep the protocol-specific name for compatibility with existing SDK consumers.
|
|
44
|
+
export const PROTOCOL_V2_NEVER_TIMEOUT_MS = DEVICE_SETTINGS_NEVER_TIMEOUT_MS;
|
|
45
|
+
|
|
46
|
+
const NEVER_TIMEOUT_MS_BY_PROTOCOL: Record<DeviceSettingsProtocol, number> = {
|
|
47
|
+
V1: DEVICE_SETTINGS_NEVER_TIMEOUT_MS,
|
|
48
|
+
V2: PROTOCOL_V2_NEVER_TIMEOUT_MS,
|
|
49
|
+
};
|
|
43
50
|
|
|
44
51
|
export const normalizeSafetyCheckLevel = (
|
|
45
52
|
value: SafetyCheckLevel | null | undefined
|
|
@@ -148,7 +155,7 @@ export type DeviceSettingsValueOption<T> = {
|
|
|
148
155
|
};
|
|
149
156
|
|
|
150
157
|
const durationOption = (valueMs: number): DeviceSettingsDurationOption => {
|
|
151
|
-
if (valueMs ===
|
|
158
|
+
if (valueMs === DEVICE_SETTINGS_NEVER_TIMEOUT_MS) {
|
|
152
159
|
return { label: 'Never', valueMs };
|
|
153
160
|
}
|
|
154
161
|
if (valueMs < 60_000) {
|
|
@@ -162,7 +169,7 @@ const withNever = (
|
|
|
162
169
|
values: readonly number[],
|
|
163
170
|
protocol: DeviceSettingsProtocol
|
|
164
171
|
): DeviceSettingsDurationOption[] =>
|
|
165
|
-
[...values, protocol
|
|
172
|
+
[...values, NEVER_TIMEOUT_MS_BY_PROTOCOL[protocol]].map(durationOption);
|
|
166
173
|
|
|
167
174
|
export const getAutoLockOptions = (
|
|
168
175
|
deviceType: IDeviceType,
|
package/src/utils/index.ts
CHANGED