@onekeyfe/hd-core 0.1.36 → 0.1.39
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/dist/api/BaseMethod.d.ts +1 -0
- package/dist/api/BaseMethod.d.ts.map +1 -1
- package/dist/api/CheckBLEFirmwareRelease.d.ts.map +1 -1
- package/dist/api/CheckBridgeStatus.d.ts.map +1 -1
- package/dist/api/CheckFirmwareRelease.d.ts.map +1 -1
- package/dist/api/CheckTransportRelease.d.ts.map +1 -1
- package/dist/api/FirmwareUpdate.d.ts.map +1 -1
- package/dist/api/GetFeatures.d.ts.map +1 -1
- package/dist/api/GetLogs.d.ts.map +1 -1
- package/dist/api/GetPassphraseState.d.ts +6 -0
- package/dist/api/GetPassphraseState.d.ts.map +1 -0
- package/dist/api/RequestWebUsbDevice.d.ts.map +1 -1
- package/dist/api/SearchDevices.d.ts.map +1 -1
- package/dist/api/device/DeviceBackup.d.ts.map +1 -1
- package/dist/api/device/DeviceChangePin.d.ts.map +1 -1
- package/dist/api/device/DeviceFlags.d.ts.map +1 -1
- package/dist/api/device/DeviceRebootToBootloader.d.ts.map +1 -1
- package/dist/api/device/DeviceRecovery.d.ts.map +1 -1
- package/dist/api/device/DeviceReset.d.ts.map +1 -1
- package/dist/api/device/DeviceSettings.d.ts +7 -0
- package/dist/api/device/DeviceSettings.d.ts.map +1 -1
- package/dist/api/device/DeviceSupportFeatures.d.ts +1 -1
- package/dist/api/device/DeviceSupportFeatures.d.ts.map +1 -1
- package/dist/api/device/DeviceUpdateReboot.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/index.d.ts +1 -0
- package/dist/api/index.d.ts.map +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/device/Device.d.ts +15 -5
- package/dist/device/Device.d.ts.map +1 -1
- package/dist/device/DeviceCommands.d.ts.map +1 -1
- package/dist/device/DeviceList.d.ts +2 -2
- package/dist/device/DeviceList.d.ts.map +1 -1
- package/dist/device/DevicePool.d.ts +6 -5
- package/dist/device/DevicePool.d.ts.map +1 -1
- package/dist/events/ui-request.d.ts +9 -1
- package/dist/events/ui-request.d.ts.map +1 -1
- package/dist/index.d.ts +35 -8
- package/dist/index.js +442 -254
- package/dist/inject.d.ts.map +1 -1
- package/dist/types/api/getPassphraseState.d.ts +3 -0
- package/dist/types/api/getPassphraseState.d.ts.map +1 -0
- package/dist/types/api/index.d.ts +2 -0
- package/dist/types/api/index.d.ts.map +1 -1
- package/dist/types/device.d.ts +5 -1
- package/dist/types/device.d.ts.map +1 -1
- package/dist/types/params.d.ts +2 -0
- package/dist/types/params.d.ts.map +1 -1
- package/dist/utils/deviceFeaturesUtils.d.ts +5 -2
- package/dist/utils/deviceFeaturesUtils.d.ts.map +1 -1
- package/dist/utils/patch.d.ts +1 -1
- package/package.json +4 -4
- package/src/api/BaseMethod.ts +5 -0
- package/src/api/CheckBLEFirmwareRelease.ts +1 -0
- package/src/api/CheckBridgeStatus.ts +1 -0
- package/src/api/CheckFirmwareRelease.ts +3 -1
- package/src/api/CheckTransportRelease.ts +1 -0
- package/src/api/FirmwareUpdate.ts +1 -0
- package/src/api/GetFeatures.ts +1 -0
- package/src/api/GetLogs.ts +1 -0
- package/src/api/GetPassphraseState.ts +31 -0
- package/src/api/RequestWebUsbDevice.ts +1 -0
- package/src/api/SearchDevices.ts +1 -0
- package/src/api/device/DeviceBackup.ts +3 -1
- package/src/api/device/DeviceChangePin.ts +2 -0
- package/src/api/device/DeviceFlags.ts +2 -0
- package/src/api/device/DeviceRebootToBootloader.ts +3 -1
- package/src/api/device/DeviceRecovery.ts +2 -0
- package/src/api/device/DeviceReset.ts +2 -0
- package/src/api/device/DeviceSettings.ts +13 -2
- package/src/api/device/DeviceSupportFeatures.ts +3 -1
- package/src/api/device/DeviceUpdateReboot.ts +3 -1
- package/src/api/device/DeviceVerify.ts +2 -0
- package/src/api/device/DeviceWipe.ts +3 -1
- package/src/api/index.ts +1 -0
- package/src/core/index.ts +98 -10
- package/src/device/Device.ts +120 -47
- package/src/device/DeviceCommands.ts +13 -9
- package/src/device/DeviceList.ts +7 -3
- package/src/device/DevicePool.ts +24 -12
- package/src/events/ui-request.ts +10 -0
- package/src/inject.ts +2 -0
- package/src/types/api/getPassphraseState.ts +6 -0
- package/src/types/api/index.ts +2 -0
- package/src/types/device.ts +3 -1
- package/src/types/params.ts +8 -0
- package/src/utils/deviceFeaturesUtils.ts +38 -5
package/src/types/device.ts
CHANGED
|
@@ -131,6 +131,8 @@ type FeaturesNarrowing =
|
|
|
131
131
|
|
|
132
132
|
export type StrictFeatures = Features & FeaturesNarrowing;
|
|
133
133
|
|
|
134
|
+
export type SupportFeatureType = { support: boolean; require?: string };
|
|
135
|
+
|
|
134
136
|
export type SupportFeatures = {
|
|
135
|
-
inputPinOnSoftware:
|
|
137
|
+
inputPinOnSoftware: SupportFeatureType;
|
|
136
138
|
};
|
package/src/types/params.ts
CHANGED
|
@@ -12,6 +12,14 @@ export interface CommonParams {
|
|
|
12
12
|
* Timeout time for single polling
|
|
13
13
|
*/
|
|
14
14
|
timeout?: number;
|
|
15
|
+
/**
|
|
16
|
+
* passphrase state
|
|
17
|
+
*/
|
|
18
|
+
passphraseState?: string;
|
|
19
|
+
/**
|
|
20
|
+
* Every init session
|
|
21
|
+
*/
|
|
22
|
+
initSession?: boolean;
|
|
15
23
|
}
|
|
16
24
|
|
|
17
25
|
export type Params<T> = CommonParams & T & { bundle?: undefined };
|
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
import semver from 'semver';
|
|
2
|
-
import
|
|
2
|
+
import { toHardened } from '../api/helpers/pathUtils';
|
|
3
|
+
import { DeviceCommands } from '../device/DeviceCommands';
|
|
4
|
+
import type {
|
|
5
|
+
Features,
|
|
6
|
+
IVersionArray,
|
|
7
|
+
IDeviceType,
|
|
8
|
+
IDeviceModel,
|
|
9
|
+
SupportFeatureType,
|
|
10
|
+
} from '../types';
|
|
3
11
|
|
|
4
12
|
export const getDeviceModel = (features?: Features): IDeviceModel => {
|
|
5
13
|
if (!features || typeof features !== 'object') {
|
|
@@ -87,14 +95,39 @@ export const getDeviceBLEFirmwareVersion = (features: Features): IVersionArray |
|
|
|
87
95
|
return features.ble_ver.split('.') as unknown as IVersionArray;
|
|
88
96
|
};
|
|
89
97
|
|
|
90
|
-
export const supportInputPinOnSoftware = (features: Features):
|
|
91
|
-
if (!features) return false;
|
|
98
|
+
export const supportInputPinOnSoftware = (features: Features): SupportFeatureType => {
|
|
99
|
+
if (!features) return { support: false };
|
|
92
100
|
|
|
93
101
|
const deviceType = getDeviceType(features);
|
|
94
102
|
if (deviceType === 'touch') {
|
|
95
|
-
return false;
|
|
103
|
+
return { support: false };
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
const currentVersion = getDeviceFirmwareVersion(features).join('.');
|
|
107
|
+
return { support: semver.gte(currentVersion, '2.3.0'), require: '2.3.0' };
|
|
108
|
+
};
|
|
109
|
+
|
|
110
|
+
export const supportNewPassphrase = (features?: Features): SupportFeatureType => {
|
|
111
|
+
if (!features) return { support: false };
|
|
112
|
+
|
|
113
|
+
const deviceType = getDeviceType(features);
|
|
114
|
+
if (deviceType === 'touch' || deviceType === 'pro') {
|
|
115
|
+
return { support: true };
|
|
96
116
|
}
|
|
97
117
|
|
|
98
118
|
const currentVersion = getDeviceFirmwareVersion(features).join('.');
|
|
99
|
-
|
|
119
|
+
|
|
120
|
+
return { support: semver.gte(currentVersion, '2.4.0'), require: '2.4.0' };
|
|
121
|
+
};
|
|
122
|
+
|
|
123
|
+
export const getPassphraseState = async (features: Features, commands: DeviceCommands) => {
|
|
124
|
+
if (!features) return false;
|
|
125
|
+
const { message } = await commands.typedCall('GetAddress', 'Address', {
|
|
126
|
+
address_n: [toHardened(44), toHardened(1), toHardened(0), 0, 0],
|
|
127
|
+
coin_name: 'Testnet',
|
|
128
|
+
script_type: 'SPENDADDRESS',
|
|
129
|
+
show_display: false,
|
|
130
|
+
});
|
|
131
|
+
|
|
132
|
+
return message.address;
|
|
100
133
|
};
|