@onekeyfe/hd-core 1.2.0-alpha.124 → 1.2.0-alpha.126
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 +26 -0
- package/__tests__/device-connector-protocol.test.ts +21 -0
- package/__tests__/protocol-v2.test.ts +38 -0
- package/dist/api/FirmwareUpdateV4.d.ts.map +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/device/DeviceCommands.d.ts.map +1 -1
- package/dist/device/DeviceConnector.d.ts.map +1 -1
- package/dist/index.js +18 -2
- package/package.json +4 -4
- package/src/api/FirmwareUpdateV4.ts +2 -1
- package/src/core/index.ts +4 -0
- package/src/device/DeviceCommands.ts +7 -1
- package/src/device/DeviceConnector.ts +7 -0
|
@@ -276,6 +276,32 @@ describe('DeviceCommands failure mapping', () => {
|
|
|
276
276
|
]);
|
|
277
277
|
});
|
|
278
278
|
|
|
279
|
+
it.each(['Failure_ProcessError', 5])(
|
|
280
|
+
'maps USB-priority link disabled to public BLE error 723 for code %s',
|
|
281
|
+
async code => {
|
|
282
|
+
const commands = createCommands();
|
|
283
|
+
|
|
284
|
+
await expect(
|
|
285
|
+
commands._filterCommonTypes(
|
|
286
|
+
{
|
|
287
|
+
type: 'Failure',
|
|
288
|
+
message: {
|
|
289
|
+
code,
|
|
290
|
+
message: ' link disabled ',
|
|
291
|
+
},
|
|
292
|
+
} as any,
|
|
293
|
+
'DeviceInfo'
|
|
294
|
+
)
|
|
295
|
+
).rejects.toMatchObject({
|
|
296
|
+
errorCode: HardwareErrorCode.BleUnavailableWhileUsbConnected,
|
|
297
|
+
params: {
|
|
298
|
+
failureCode: code,
|
|
299
|
+
firmwareMessage: ' link disabled ',
|
|
300
|
+
},
|
|
301
|
+
});
|
|
302
|
+
}
|
|
303
|
+
);
|
|
304
|
+
|
|
279
305
|
it('maps an invalid DeviceSessionGet resume to WalletSessionInvalid', async () => {
|
|
280
306
|
const commands = createCommands();
|
|
281
307
|
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { HardwareErrorCode } from '@onekeyfe/hd-shared';
|
|
2
|
+
import { createProtocolV2LinkDisabledError } from '@onekeyfe/hd-transport';
|
|
2
3
|
|
|
3
4
|
import DeviceConnector from '../src/device/DeviceConnector';
|
|
4
5
|
|
|
@@ -78,4 +79,24 @@ describe('DeviceConnector protocol validation', () => {
|
|
|
78
79
|
'Device protocol mismatch: expected V2, detected V1'
|
|
79
80
|
);
|
|
80
81
|
});
|
|
82
|
+
|
|
83
|
+
it('preserves the Protocol V2 USB-priority failure as public BLE error 723', async () => {
|
|
84
|
+
transportManagerMock.default.getTransport.mockReturnValue({
|
|
85
|
+
acquire: jest
|
|
86
|
+
.fn()
|
|
87
|
+
.mockRejectedValue(
|
|
88
|
+
createProtocolV2LinkDisabledError('Failure_ProcessError', 'link disabled')
|
|
89
|
+
),
|
|
90
|
+
getProtocolType: jest.fn(() => undefined),
|
|
91
|
+
});
|
|
92
|
+
const connector = new DeviceConnector();
|
|
93
|
+
|
|
94
|
+
await expect(connector.acquire('pro2-id', undefined, undefined, 'V2')).rejects.toMatchObject({
|
|
95
|
+
errorCode: HardwareErrorCode.BleUnavailableWhileUsbConnected,
|
|
96
|
+
params: {
|
|
97
|
+
failureCode: 'Failure_ProcessError',
|
|
98
|
+
firmwareMessage: 'link disabled',
|
|
99
|
+
},
|
|
100
|
+
});
|
|
101
|
+
});
|
|
81
102
|
});
|
|
@@ -5100,6 +5100,44 @@ describe('Protocol V2 firmware update targets', () => {
|
|
|
5100
5100
|
expect(reconnectProtocolV2Device).toHaveBeenCalledTimes(1);
|
|
5101
5101
|
});
|
|
5102
5102
|
|
|
5103
|
+
test('refreshes ProtocolInfo while waiting for App after a firmware reboot', async () => {
|
|
5104
|
+
const method = new FirmwareUpdateV4({
|
|
5105
|
+
id: 1,
|
|
5106
|
+
payload: {
|
|
5107
|
+
method: 'firmwareUpdateV4',
|
|
5108
|
+
},
|
|
5109
|
+
});
|
|
5110
|
+
const deviceInfo = {
|
|
5111
|
+
hw: { serial_no: 'PRO2-PHYSICAL-1' },
|
|
5112
|
+
main_mcu: { application: { version: '1.0.0' } },
|
|
5113
|
+
};
|
|
5114
|
+
const typedCall = jest.fn().mockResolvedValue({
|
|
5115
|
+
type: 'DeviceInfo',
|
|
5116
|
+
message: deviceInfo,
|
|
5117
|
+
});
|
|
5118
|
+
const probeProtocolV2RuntimeState = jest.fn(
|
|
5119
|
+
(_deviceInfo, _timeout, options?: { forceRuntimeContextRefresh?: boolean }) =>
|
|
5120
|
+
Promise.resolve({
|
|
5121
|
+
mode: options?.forceRuntimeContextRefresh ? 'normal' : 'bootloader',
|
|
5122
|
+
bootloaderMode: !options?.forceRuntimeContextRefresh,
|
|
5123
|
+
})
|
|
5124
|
+
);
|
|
5125
|
+
(method as any).protocolV2ExpectedSerialNumber = 'PRO2-PHYSICAL-1';
|
|
5126
|
+
(method as any).reconnectProtocolV2Device = jest.fn().mockResolvedValue(undefined);
|
|
5127
|
+
(method as any).device = stubDevice({
|
|
5128
|
+
getCommands: () => ({ typedCall }),
|
|
5129
|
+
probeProtocolV2RuntimeState,
|
|
5130
|
+
});
|
|
5131
|
+
|
|
5132
|
+
await expect(
|
|
5133
|
+
(method as any).waitForProtocolV2ReconnectAndFeatures(60_000)
|
|
5134
|
+
).resolves.toMatchObject({ mode: 'normal', bootloaderMode: false });
|
|
5135
|
+
|
|
5136
|
+
expect(probeProtocolV2RuntimeState).toHaveBeenCalledWith(deviceInfo, 5000, {
|
|
5137
|
+
forceRuntimeContextRefresh: true,
|
|
5138
|
+
});
|
|
5139
|
+
});
|
|
5140
|
+
|
|
5103
5141
|
test('reboots Protocol V2 firmware flow back to normal without legacy switch-firmware prompt', async () => {
|
|
5104
5142
|
const method = new FirmwareUpdateV4({
|
|
5105
5143
|
id: 1,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FirmwareUpdateV4.d.ts","sourceRoot":"","sources":["../../src/api/FirmwareUpdateV4.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAkD,MAAM,qBAAqB,CAAC;AAyBlG,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAkC/E,OAAO,KAAK,EAEV,sBAAsB,EAEvB,MAAM,6BAA6B,CAAC;AAmFrC,wBAAgB,wCAAwC,CACtD,UAAU,EAAE,WAAW,GAAG,MAAM,GAAG,SAAS,EAC5C,MAAM,EAAE,sBAAsB,EAC9B,0BAA0B,UAAQ,QAiCnC;AAsVD,eAAO,MAAM,oCAAoC,WACvC,WAAW,GAAG,UAAU,eACnB,MAAM,GAAG,SAAS,YAKhC,CAAC;AAEF,eAAO,MAAM,iCAAiC,0BACrB,MAAM,uBACR,MAAM,iBACZ,MAAM,eACR,MAAM,SAsBpB,CAAC;AAUF,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,wBAAwB,CAAC,sBAAsB,CAAC;IAC5F,OAAO,CAAC,8BAA8B,CAAC,CAAS;IAEhD,OAAO,CAAC,sBAAsB,CAAC,CAAS;IAExC,OAAO,CAAC,oCAAoC,CAAS;IAErD,qBAAqB;IAIrB,OAAO,CAAC,yBAAyB,CAA4B;IAE7D,OAAO,CAAC,2BAA2B,CAAS;IAE5C,OAAO,CAAC,iCAAiC,CAAS;IAElD,OAAO,CAAC,iCAAiC,CAA6B;IAEtE,OAAO,CAAC,6BAA6B,CAAC,CAAW;IAEjD,OAAO,CAAC,6BAA6B,CAAS;IAE9C,OAAO,CAAC,iCAAiC,CAA6B;IAEtE,OAAO,CAAC,kCAAkC,CAAC,CAAW;IAEtD,IAAI;IA0LJ,OAAO,CAAC,8BAA8B;IAwBhC,GAAG;;;;;YAKK,aAAa;YAwJb,4BAA4B;YAkB5B,0BAA0B;YAY1B,8BAA8B;YAK9B,+BAA+B;YAqG/B,gCAAgC;YAiIhC,qCAAqC;YAmJrC,gCAAgC;YAgBhC,uCAAuC;YA+HvC,8BAA8B;IA8B5C,OAAO,CAAC,8BAA8B;IA0BtC,OAAO,CAAC,kCAAkC;IAc1C,OAAO,CAAC,gCAAgC;IAsDxC,OAAO,CAAC,6BAA6B;YAsBvB,2BAA2B;IAWzC,OAAO,CAAC,yBAAyB;IAKjC,OAAO,CAAC,oCAAoC;IAY5C,OAAO,CAAC,4BAA4B;IAUpC,OAAO,CAAC,kCAAkC;IAS1C,OAAO,CAAC,8BAA8B;YAMxB,iCAAiC;YAOjC,iCAAiC;YAmBjC,iCAAiC;IAM/C,OAAO,CAAC,uBAAuB;IAI/B,OAAO,CAAC,mCAAmC;IAe3C,OAAO,CAAC,iCAAiC;IAWzC,OAAO,CAAC,2BAA2B;IAsBnC,OAAO,CAAC,yBAAyB;IAiBjC,OAAO,CAAC,wBAAwB;YAkBlB,iCAAiC;YA6CjC,uCAAuC;YAsCvC,+BAA+B;IA6E7C,OAAO,CAAC,6BAA6B;YAMvB,8BAA8B;YA+C9B,kCAAkC;IA+BhD,OAAO,CAAC,0BAA0B;IAUlC,OAAO,CAAC,yBAAyB;YAcnB,4BAA4B;IAkBpC,6BAA6B;YAkBrB,+BAA+B;IAkD7C,OAAO,CAAC,6BAA6B;YAkCvB,6BAA6B;YA0B7B,0CAA0C;YA6B1C,uBAAuB;YAiCvB,8BAA8B;YAsE9B,6BAA6B;IAuE3C,OAAO,CAAC,mCAAmC;YAI7B,0BAA0B;IAaxC,OAAO,CAAC,4BAA4B;IAyGpC,OAAO,CAAC,6BAA6B;IAcrC,OAAO,CAAC,qCAAqC;IAyB7C,OAAO,CAAC,kCAAkC;YAgB5B,uCAAuC;YAuPvC,gCAAgC;YAehC,yBAAyB;IASvC,OAAO,CAAC,2BAA2B;YAMrB,8BAA8B;IAQ5C,OAAO,CAAC,0BAA0B;YAkBpB,mCAAmC;YAWnC,qCAAqC;
|
|
1
|
+
{"version":3,"file":"FirmwareUpdateV4.d.ts","sourceRoot":"","sources":["../../src/api/FirmwareUpdateV4.ts"],"names":[],"mappings":"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"}
|
package/dist/core/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":";AACA,OAAO,YAAY,MAAM,QAAQ,CAAC;AAoClC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAsB1C,OAAO,eAAe,MAAM,2BAA2B,CAAC;AAYxD,OAAO,KAAK,EAAE,eAAe,EAAyB,MAAM,UAAU,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAAmD,MAAM,WAAW,CAAC;AAI9F,OAAO,KAAK,EACV,6BAA6B,EAG9B,MAAM,wBAAwB,CAAC;AAWhC,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;AAmE7D,eAAO,MAAM,OAAO,YAAmB,WAAW,WAAW,WAAW,iBAoFvE,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":";AACA,OAAO,YAAY,MAAM,QAAQ,CAAC;AAoClC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAsB1C,OAAO,eAAe,MAAM,2BAA2B,CAAC;AAYxD,OAAO,KAAK,EAAE,eAAe,EAAyB,MAAM,UAAU,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAAmD,MAAM,WAAW,CAAC;AAI9F,OAAO,KAAK,EACV,6BAA6B,EAG9B,MAAM,wBAAwB,CAAC;AAWhC,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;AAmE7D,eAAO,MAAM,OAAO,YAAmB,WAAW,WAAW,WAAW,iBAoFvE,CAAC;AA44BF,eAAO,MAAM,MAAM,YAAa,WAAW,cAAc,MAAM,SAkF9D,CAAC;AAmGF,eAAO,MAAM,qBAAqB,gFAejC,CAAC;AAiLF,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,YAAY;IAC5C,OAAO,CAAC,cAAc,CAAoB;IAE1C,SAAgB,aAAa,EAAE,MAAM,CAAC;IAEtC,OAAO,CAAC,YAAY,CAAsB;IAE1C,OAAO,CAAC,cAAc,CAAC,CAAgB;IAGvC,OAAO,CAAC,qBAAqB,CAA4B;IAEzD,OAAO,CAAC,iBAAiB,CAAoB;;IAS7C,OAAO,CAAC,cAAc;IAoBhB,aAAa,CAAC,OAAO,EAAE,WAAW;IAuExC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;YAOV,gBAAgB;CAiC/B;AAED,eAAO,MAAM,QAAQ,YAIpB,CAAC;AAEF,eAAO,MAAM,aAAa,uBAYzB,CAAC;AAMF,eAAO,MAAM,IAAI,aACL,eAAe,aACd,GAAG,WACL,6BAA6B,8BAiBvC,CAAC;AAEF,eAAO,MAAM,eAAe;SAKrB,eAAe,CAAC,KAAK,CAAC;eAChB,GAAG;;UASf,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeviceCommands.d.ts","sourceRoot":"","sources":["../../src/device/DeviceCommands.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,oBAAoB,
|
|
1
|
+
{"version":3,"file":"DeviceCommands.d.ts","sourceRoot":"","sources":["../../src/device/DeviceCommands.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeviceConnector.d.ts","sourceRoot":"","sources":["../../src/device/DeviceConnector.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"DeviceConnector.d.ts","sourceRoot":"","sources":["../../src/device/DeviceConnector.ts"],"names":[],"mappings":";;AAUA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,KAAK,EAAE,gBAAgB,IAAI,gBAAgB,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAI9F,MAAM,CAAC,OAAO,OAAO,eAAe;IAClC,SAAS,CAAC,EAAE,SAAS,CAAC;IAEtB,eAAe,SAAK;IAEpB,OAAO,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAQ;IAE1C,QAAQ,EAAE,gBAAgB,EAAE,CAAM;IAElC,SAAS,UAAS;;IAQlB,OAAO,CAAC,kBAAkB;IAYpB,SAAS;IAWT,MAAM;IAgCZ,IAAI;IAIE,OAAO,CACX,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,EACvB,oBAAoB,CAAC,EAAE,OAAO,EAC9B,gBAAgB,CAAC,EAAE,uBAAuB,EAC1C,YAAY,CAAC,EAAE,uBAAuB;IAkDlC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,OAAO;IAShE,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAWnD,kBAAkB,IAAI,OAAO,CAAC,SAAS,GAAG,eAAe,GAAG,IAAI,CAAC;IAQjE,oBAAoB;CAGrB"}
|
package/dist/index.js
CHANGED
|
@@ -43843,7 +43843,13 @@ class DeviceCommands {
|
|
|
43843
43843
|
});
|
|
43844
43844
|
}
|
|
43845
43845
|
}
|
|
43846
|
-
if (code
|
|
43846
|
+
if (hdTransport.isProtocolV2LinkDisabledFailure(code, message)) {
|
|
43847
|
+
error = hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.BleUnavailableWhileUsbConnected, undefined, {
|
|
43848
|
+
failureCode: code,
|
|
43849
|
+
firmwareMessage: message,
|
|
43850
|
+
});
|
|
43851
|
+
}
|
|
43852
|
+
else if (code === 'Failure_ProcessError') {
|
|
43847
43853
|
const normalizedMessage = (_a = message === null || message === void 0 ? void 0 : message.trim()) !== null && _a !== void 0 ? _a : '';
|
|
43848
43854
|
const isProtocolV2ActionCancelledFailure = this.device.isProtocolV2() && isProtocolV2ActionCancelledMessage(normalizedMessage);
|
|
43849
43855
|
const isProtocolV2DeviceBusyFailure = this.device.isProtocolV2() &&
|
|
@@ -53739,7 +53745,7 @@ class FirmwareUpdateV4 extends FirmwareUpdateBaseMethod {
|
|
|
53739
53745
|
request: PROTOCOL_V2_VERSIONS_DEVICE_INFO_REQUEST,
|
|
53740
53746
|
});
|
|
53741
53747
|
this.assertProtocolV2DeviceInfoIdentity(deviceInfo);
|
|
53742
|
-
const features = yield this.device.probeProtocolV2RuntimeState(deviceInfo, PROTOCOL_V2_SHORT_RESPONSE_TIMEOUT);
|
|
53748
|
+
const features = yield this.device.probeProtocolV2RuntimeState(deviceInfo, PROTOCOL_V2_SHORT_RESPONSE_TIMEOUT, { forceRuntimeContextRefresh: true });
|
|
53743
53749
|
if (this.isProtocolV2ApplicationMode(features)) {
|
|
53744
53750
|
return features;
|
|
53745
53751
|
}
|
|
@@ -64706,6 +64712,12 @@ class DeviceConnector {
|
|
|
64706
64712
|
}
|
|
64707
64713
|
catch (error) {
|
|
64708
64714
|
Log$2.error('acquire error: ', error.message);
|
|
64715
|
+
if (hdTransport.isProtocolV2LinkDisabledError(error)) {
|
|
64716
|
+
throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.BleUnavailableWhileUsbConnected, undefined, {
|
|
64717
|
+
failureCode: error.failureCode,
|
|
64718
|
+
firmwareMessage: error.firmwareMessage,
|
|
64719
|
+
});
|
|
64720
|
+
}
|
|
64709
64721
|
safeThrowError(error);
|
|
64710
64722
|
}
|
|
64711
64723
|
});
|
|
@@ -65672,6 +65684,10 @@ const ensureConnected = (_context, method, connectId, pollingId, abortSignal) =>
|
|
|
65672
65684
|
}
|
|
65673
65685
|
catch (error) {
|
|
65674
65686
|
Log.debug('device error: ', error);
|
|
65687
|
+
if (error.errorCode === hdShared.HardwareErrorCode.BleUnavailableWhileUsbConnected) {
|
|
65688
|
+
reject(error);
|
|
65689
|
+
return;
|
|
65690
|
+
}
|
|
65675
65691
|
if (hdTransport.isProtocolV2LinkDisabledError(error)) {
|
|
65676
65692
|
reject(hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.BleUnavailableWhileUsbConnected, undefined, {
|
|
65677
65693
|
failureCode: error.failureCode,
|
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.126",
|
|
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.126",
|
|
29
|
+
"@onekeyfe/hd-transport": "1.2.0-alpha.126",
|
|
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": "c82189b36d650aec460a6f29bd467bf16a74e510"
|
|
50
50
|
}
|
|
@@ -2962,7 +2962,8 @@ export default class FirmwareUpdateV4 extends FirmwareUpdateBaseMethod<FirmwareU
|
|
|
2962
2962
|
this.assertProtocolV2DeviceInfoIdentity(deviceInfo);
|
|
2963
2963
|
const features = await this.device.probeProtocolV2RuntimeState(
|
|
2964
2964
|
deviceInfo,
|
|
2965
|
-
PROTOCOL_V2_SHORT_RESPONSE_TIMEOUT
|
|
2965
|
+
PROTOCOL_V2_SHORT_RESPONSE_TIMEOUT,
|
|
2966
|
+
{ forceRuntimeContextRefresh: true }
|
|
2966
2967
|
);
|
|
2967
2968
|
if (this.isProtocolV2ApplicationMode(features)) {
|
|
2968
2969
|
return features;
|
package/src/core/index.ts
CHANGED
|
@@ -1079,6 +1079,10 @@ const ensureConnected = async (
|
|
|
1079
1079
|
}
|
|
1080
1080
|
} catch (error) {
|
|
1081
1081
|
Log.debug('device error: ', error);
|
|
1082
|
+
if (error.errorCode === HardwareErrorCode.BleUnavailableWhileUsbConnected) {
|
|
1083
|
+
reject(error);
|
|
1084
|
+
return;
|
|
1085
|
+
}
|
|
1082
1086
|
if (isProtocolV2LinkDisabledError(error)) {
|
|
1083
1087
|
reject(
|
|
1084
1088
|
ERRORS.TypedError(HardwareErrorCode.BleUnavailableWhileUsbConnected, undefined, {
|
|
@@ -7,6 +7,7 @@ import {
|
|
|
7
7
|
type Transport,
|
|
8
8
|
type TransportCallOptions,
|
|
9
9
|
getSafeTransportLogPayload,
|
|
10
|
+
isProtocolV2LinkDisabledFailure,
|
|
10
11
|
} from '@onekeyfe/hd-transport';
|
|
11
12
|
|
|
12
13
|
import TransportManager from '../data-manager/TransportManager';
|
|
@@ -495,7 +496,12 @@ export class DeviceCommands {
|
|
|
495
496
|
}
|
|
496
497
|
}
|
|
497
498
|
|
|
498
|
-
if (code
|
|
499
|
+
if (isProtocolV2LinkDisabledFailure(code, message)) {
|
|
500
|
+
error = ERRORS.TypedError(HardwareErrorCode.BleUnavailableWhileUsbConnected, undefined, {
|
|
501
|
+
failureCode: code,
|
|
502
|
+
firmwareMessage: message,
|
|
503
|
+
});
|
|
504
|
+
} else if (code === 'Failure_ProcessError') {
|
|
499
505
|
const normalizedMessage = message?.trim() ?? '';
|
|
500
506
|
const isProtocolV2ActionCancelledFailure =
|
|
501
507
|
this.device.isProtocolV2() && isProtocolV2ActionCancelledMessage(normalizedMessage);
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { isProtocolV2LinkDisabledError } from '@onekeyfe/hd-transport';
|
|
1
2
|
import { ERRORS, HardwareErrorCode } from '@onekeyfe/hd-shared';
|
|
2
3
|
|
|
3
4
|
import { safeThrowError } from '../constants';
|
|
@@ -134,6 +135,12 @@ export default class DeviceConnector {
|
|
|
134
135
|
return res;
|
|
135
136
|
} catch (error) {
|
|
136
137
|
Log.error('acquire error: ', error.message);
|
|
138
|
+
if (isProtocolV2LinkDisabledError(error)) {
|
|
139
|
+
throw ERRORS.TypedError(HardwareErrorCode.BleUnavailableWhileUsbConnected, undefined, {
|
|
140
|
+
failureCode: error.failureCode,
|
|
141
|
+
firmwareMessage: error.firmwareMessage,
|
|
142
|
+
});
|
|
143
|
+
}
|
|
137
144
|
safeThrowError(error);
|
|
138
145
|
}
|
|
139
146
|
}
|