@onekeyfe/hd-core 1.1.19-alpha.8 → 1.1.19
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 -1
- package/dist/api/BaseMethod.d.ts.map +1 -1
- package/dist/api/helpers/batchGetPublickeys.d.ts +2 -2
- package/dist/api/helpers/batchGetPublickeys.d.ts.map +1 -1
- package/dist/api/tron/TronSignMessage.d.ts.map +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/index.js +42 -16
- package/package.json +4 -4
- package/src/api/BaseMethod.ts +10 -8
- package/src/api/allnetwork/AllNetworkGetAddressBase.ts +22 -6
- package/src/api/helpers/batchGetPublickeys.ts +14 -6
- package/src/api/tron/TronSignMessage.ts +5 -4
- package/src/core/index.ts +14 -14
package/dist/api/BaseMethod.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import type { Device } from '../device/Device';
|
|
|
2
2
|
import type DeviceConnector from '../device/DeviceConnector';
|
|
3
3
|
import type { DeviceFirmwareRange } from '../types';
|
|
4
4
|
import type { CoreMessage } from '../events';
|
|
5
|
-
import { RequestContext } from '../utils/tracing';
|
|
5
|
+
import type { RequestContext } from '../utils/tracing';
|
|
6
6
|
import type { CoreContext } from '../core';
|
|
7
7
|
export declare abstract class BaseMethod<Params = undefined> {
|
|
8
8
|
responseID: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseMethod.d.ts","sourceRoot":"","sources":["../../src/api/BaseMethod.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,eAAe,MAAM,2BAA2B,CAAC;AAC7D,OAAO,KAAK,EAAE,mBAAmB,EAAe,MAAM,UAAU,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,
|
|
1
|
+
{"version":3,"file":"BaseMethod.d.ts","sourceRoot":"","sources":["../../src/api/BaseMethod.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,eAAe,MAAM,2BAA2B,CAAC;AAC7D,OAAO,KAAK,EAAE,mBAAmB,EAAe,MAAM,UAAU,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAI3C,8BAAsB,UAAU,CAAC,MAAM,GAAG,SAAS;IACjD,UAAU,EAAE,MAAM,CAAC;IAGnB,MAAM,EAAE,MAAM,CAAC;IAGf,MAAM,EAAE,MAAM,CAAC;IAOf,SAAS,CAAC,EAAE,MAAM,CAAC;IAKnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,WAAW,CAAC,EAAE,MAAM,CAAC;IAKrB,IAAI,EAAE,MAAM,CAAC;IAEb,UAAU,EAAG,MAAM,CAAC;IAEpB,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,cAAc,CAAC,EAAE,cAAc,CAAC;IAKhC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAE7B,SAAS,CAAC,EAAE,eAAe,CAAC;IAK5B,SAAS,EAAE,OAAO,CAAC;IAMnB,eAAe,EAAE,MAAM,EAAE,CAAC;IAK1B,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAK5B,qBAAqB,UAAQ;IAK7B,aAAa,UAAS;IAKtB,wBAAwB,UAAQ;IAMhC,oBAAoB,UAAS;IAO7B,wBAAwB,UAAS;IAGjC,WAAW,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC;IAE5C,OAAO,CAAC,EAAE,WAAW,CAAC;gBAEV,OAAO,EAAE;QAAE,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,GAAG,CAAA;KAAE;IAYlD,QAAQ,CAAC,IAAI,IAAI,IAAI;IAErB,QAAQ,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IAE5B,eAAe,IAAI,mBAAmB;IAItC,UAAU,CAAC,OAAO,EAAE,WAAW;IAQ/B,SAAS,CAAC,MAAM,EAAE,MAAM;IA2BxB,oBAAoB;IAmBpB,yBAAyB;IAczB,SAAS,CAAC,wBAAwB,CAChC,cAAc,EAAE,MAAM,OAAO,EAC7B,eAAe,EAAE,MAAM,mBAAmB,EAC1C,OAAO,CAAC,EAAE;QACR,wBAAwB,CAAC,EAAE,OAAO,CAAC;KACpC;IAkCG,yBAAyB;IAiB/B,OAAO;IAGP,0BAA0B,SAAU;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,UAOrE;CACH"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { EcdsaPublicKeys, Path } from '@onekeyfe/hd-transport';
|
|
2
|
-
import { Device } from '../../device/Device';
|
|
1
|
+
import type { EcdsaPublicKeys, Path } from '@onekeyfe/hd-transport';
|
|
2
|
+
import type { Device } from '../../device/Device';
|
|
3
3
|
export declare function batchGetPublickeys(device: Device, paths: Path[], ecdsaCurveName: string, coinType: number, options?: {
|
|
4
4
|
includeNode?: boolean;
|
|
5
5
|
ignoreCoinType?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batchGetPublickeys.d.ts","sourceRoot":"","sources":["../../../src/api/helpers/batchGetPublickeys.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"batchGetPublickeys.d.ts","sourceRoot":"","sources":["../../../src/api/helpers/batchGetPublickeys.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,IAAI,EAAE,EACb,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;IACR,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,4BA4DF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TronSignMessage.d.ts","sourceRoot":"","sources":["../../../src/api/tron/TronSignMessage.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"TronSignMessage.d.ts","sourceRoot":"","sources":["../../../src/api/tron/TronSignMessage.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAK3C,OAAO,KAAK,EAAE,eAAe,IAAI,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAEzF,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,UAAU,CAAC,uBAAuB,CAAC;IAC9E,IAAI;IA+BJ,eAAe;;;;;IAQf,wBAAwB;;;;;;;;;;;IAclB,GAAG;CAmBV"}
|
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;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":";AACA,OAAO,YAAY,MAAM,QAAQ,CAAC;AAuClC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAiB1C,OAAO,eAAe,MAAM,2BAA2B,CAAC;AAIxD,OAAO,KAAK,EAAE,eAAe,EAAe,MAAM,UAAU,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAmD,MAAM,WAAW,CAAC;AAI9F,OAAO,KAAK,EAEV,6BAA6B,EAE9B,MAAM,wBAAwB,CAAC;AAKhC,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;AA8D7D,eAAO,MAAM,OAAO,YAAmB,WAAW,WAAW,WAAW,iBAuEvE,CAAC;AAgpBF,eAAO,MAAM,MAAM,YAAa,WAAW,cAAc,MAAM,SAkF9D,CAAC;AAsEF,eAAO,MAAM,qBAAqB,gFAejC,CAAC;AAyFF,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,YAAY;IAC5C,OAAO,CAAC,cAAc,CAAoB;IAE1C,SAAgB,aAAa,EAAE,MAAM,CAAC;IAEtC,OAAO,CAAC,YAAY,CAAsB;IAG1C,OAAO,CAAC,qBAAqB,CAA4B;IAEzD,OAAO,CAAC,iBAAiB,CAAoB;;IAS7C,OAAO,CAAC,cAAc;IAoBhB,aAAa,CAAC,OAAO,EAAE,WAAW;IA0DxC,OAAO;CAMR;AAED,eAAO,MAAM,QAAQ,YAGpB,CAAC;AAEF,eAAO,MAAM,aAAa,uBAIzB,CAAC;AAMF,eAAO,MAAM,IAAI,aACL,eAAe,aACd,GAAG,WACL,6BAA6B,8BAoBvC,CAAC;AAEF,eAAO,MAAM,eAAe;SAKrB,eAAe,CAAC,KAAK,CAAC;eAChB,GAAG;;UASf,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -27796,12 +27796,17 @@ class BaseMethod {
|
|
|
27796
27796
|
const versionRange = getMethodVersionRange(this.device.features, type => getVersionRange()[type]);
|
|
27797
27797
|
if (!versionRange) {
|
|
27798
27798
|
if (options === null || options === void 0 ? void 0 : options.strictCheckDeviceSupport) {
|
|
27799
|
-
throw hdShared.
|
|
27799
|
+
throw hdShared.createDeviceNotSupportMethodError(this.name, getFirmwareType(this.device.features));
|
|
27800
27800
|
}
|
|
27801
27801
|
return;
|
|
27802
27802
|
}
|
|
27803
27803
|
if (semver__default["default"].valid(firmwareVersion) && semver__default["default"].lt(firmwareVersion, versionRange.min)) {
|
|
27804
|
-
throw hdShared.createNeedUpgradeFirmwareHardwareError(
|
|
27804
|
+
throw hdShared.createNeedUpgradeFirmwareHardwareError({
|
|
27805
|
+
currentVersion: firmwareVersion,
|
|
27806
|
+
requireVersion: versionRange.min,
|
|
27807
|
+
methodName: this.name,
|
|
27808
|
+
firmwareType: getFirmwareType(this.device.features),
|
|
27809
|
+
});
|
|
27805
27810
|
}
|
|
27806
27811
|
}
|
|
27807
27812
|
checkSafetyLevelOnTestNet() {
|
|
@@ -30976,14 +30981,19 @@ function preCheckDeviceSupport(device, method) {
|
|
|
30976
30981
|
if (versionRange &&
|
|
30977
30982
|
semver__default["default"].valid(versionRange.min) &&
|
|
30978
30983
|
semver__default["default"].lt(currentVersion, versionRange.min)) {
|
|
30979
|
-
throw hdShared.ERRORS.createNeedUpgradeFirmwareHardwareError(
|
|
30984
|
+
throw hdShared.ERRORS.createNeedUpgradeFirmwareHardwareError({
|
|
30985
|
+
currentVersion,
|
|
30986
|
+
requireVersion: versionRange.min,
|
|
30987
|
+
methodName: method.name,
|
|
30988
|
+
firmwareType: getFirmwareType(device.features),
|
|
30989
|
+
});
|
|
30980
30990
|
}
|
|
30981
30991
|
else if (method.strictCheckDeviceSupport && !versionRange) {
|
|
30982
|
-
throw hdShared.ERRORS.
|
|
30992
|
+
throw hdShared.ERRORS.createDeviceNotSupportMethodError(method.name, getFirmwareType(device.features));
|
|
30983
30993
|
}
|
|
30984
30994
|
}
|
|
30985
30995
|
function handleSkippableHardwareError(e, device, method) {
|
|
30986
|
-
var _a, _b, _c, _d, _e;
|
|
30996
|
+
var _a, _b, _c, _d, _e, _f;
|
|
30987
30997
|
let error;
|
|
30988
30998
|
if (e instanceof hdShared.HardwareError && e.errorCode !== hdShared.HardwareErrorCode.RuntimeError) {
|
|
30989
30999
|
const { errorCode } = e;
|
|
@@ -30994,20 +31004,26 @@ function handleSkippableHardwareError(e, device, method) {
|
|
|
30994
31004
|
error = e;
|
|
30995
31005
|
}
|
|
30996
31006
|
}
|
|
30997
|
-
else if ((_a = e.message) === null || _a === void 0 ? void 0 : _a.includes('Failure_UnexpectedMessage'))
|
|
31007
|
+
else if (((_a = e.message) === null || _a === void 0 ? void 0 : _a.includes('Failure_UnexpectedMessage')) ||
|
|
31008
|
+
((_b = e.message) === null || _b === void 0 ? void 0 : _b.includes('Failure_UnknownMessage'))) {
|
|
30998
31009
|
const versionRange = getMethodVersionRange(device.features, type => method.getVersionRange()[type]);
|
|
30999
31010
|
const currentVersion = getDeviceFirmwareVersion(device.features).join('.');
|
|
31000
31011
|
if (versionRange &&
|
|
31001
31012
|
semver__default["default"].valid(versionRange.min) &&
|
|
31002
31013
|
semver__default["default"].lt(currentVersion, versionRange.min)) {
|
|
31003
|
-
error = hdShared.ERRORS.createNeedUpgradeFirmwareHardwareError(
|
|
31014
|
+
error = hdShared.ERRORS.createNeedUpgradeFirmwareHardwareError({
|
|
31015
|
+
currentVersion,
|
|
31016
|
+
requireVersion: versionRange.min,
|
|
31017
|
+
methodName: method.name,
|
|
31018
|
+
firmwareType: getFirmwareType(device.features),
|
|
31019
|
+
});
|
|
31004
31020
|
}
|
|
31005
31021
|
else {
|
|
31006
|
-
error = hdShared.ERRORS.
|
|
31022
|
+
error = hdShared.ERRORS.createDeviceNotSupportMethodError(method.name, getFirmwareType(device.features));
|
|
31007
31023
|
}
|
|
31008
31024
|
}
|
|
31009
|
-
else if (((
|
|
31010
|
-
((
|
|
31025
|
+
else if (((_d = (_c = e.message) === null || _c === void 0 ? void 0 : _c.toLowerCase()) === null || _d === void 0 ? void 0 : _d.includes('forbidden key path')) ||
|
|
31026
|
+
((_f = (_e = e.message) === null || _e === void 0 ? void 0 : _e.toLowerCase()) === null || _f === void 0 ? void 0 : _f.includes('invalid path'))) {
|
|
31011
31027
|
error = hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.CallMethodInvalidParameter, e.message);
|
|
31012
31028
|
}
|
|
31013
31029
|
return error;
|
|
@@ -31528,7 +31544,7 @@ function batchGetPublickeys(device, paths, ecdsaCurveName, coinType, options) {
|
|
|
31528
31544
|
}
|
|
31529
31545
|
const supportsBatchPublicKey = supportBatchPublicKey(device.features, options);
|
|
31530
31546
|
if (!supportsBatchPublicKey) {
|
|
31531
|
-
throw hdShared.
|
|
31547
|
+
throw hdShared.createDeviceNotSupportMethodError('BatchGetPublickeys', getFirmwareType(device.features));
|
|
31532
31548
|
}
|
|
31533
31549
|
const existsPathNotEqualCoinType = paths.find(p => !isEqualBip44CoinType(p.address_n, coinType));
|
|
31534
31550
|
if ((options === null || options === void 0 ? void 0 : options.ignoreCoinType) === false && existsPathNotEqualCoinType) {
|
|
@@ -31554,7 +31570,7 @@ function batchGetPublickeys(device, paths, ecdsaCurveName, coinType, options) {
|
|
|
31554
31570
|
include_node: (_a = options === null || options === void 0 ? void 0 : options.includeNode) !== null && _a !== void 0 ? _a : false,
|
|
31555
31571
|
});
|
|
31556
31572
|
if (res.type !== 'EcdsaPublicKeys') {
|
|
31557
|
-
throw hdShared.
|
|
31573
|
+
throw hdShared.createDeviceNotSupportMethodError('BatchGetPublickeys', getFirmwareType(device.features));
|
|
31558
31574
|
}
|
|
31559
31575
|
else {
|
|
31560
31576
|
result.root_fingerprint = res.message.root_fingerprint;
|
|
@@ -34489,7 +34505,7 @@ class TronSignMessage extends BaseMethod {
|
|
|
34489
34505
|
const { path, messageHex } = this.payload;
|
|
34490
34506
|
const addressN = validatePath(path, 3);
|
|
34491
34507
|
if (this.payload.messageType === 'V1' || this.payload.messageType == null) {
|
|
34492
|
-
throw hdShared.
|
|
34508
|
+
throw hdShared.createDeviceNotSupportMethodError('TronSignMessage', getFirmwareType(this.device.features));
|
|
34493
34509
|
}
|
|
34494
34510
|
const messageType = hdTransport.TronMessageType.V2;
|
|
34495
34511
|
this.params = {
|
|
@@ -39821,9 +39837,19 @@ const onCallDevice = (context, message, method) => __awaiter(void 0, void 0, voi
|
|
|
39821
39837
|
if (semver__default["default"].valid(versionRange.min) &&
|
|
39822
39838
|
semver__default["default"].lt(currentFirmwareVersion, versionRange.min)) {
|
|
39823
39839
|
if (newVersionStatus === 'none' || newVersionStatus === 'valid') {
|
|
39824
|
-
throw hdShared.createNewFirmwareUnReleaseHardwareError(
|
|
39840
|
+
throw hdShared.createNewFirmwareUnReleaseHardwareError({
|
|
39841
|
+
currentVersion: currentFirmwareVersion,
|
|
39842
|
+
requireVersion: versionRange.min,
|
|
39843
|
+
methodName: method.name,
|
|
39844
|
+
firmwareType: getFirmwareType(device.features),
|
|
39845
|
+
});
|
|
39825
39846
|
}
|
|
39826
|
-
return Promise.reject(hdShared.createNeedUpgradeFirmwareHardwareError(
|
|
39847
|
+
return Promise.reject(hdShared.createNeedUpgradeFirmwareHardwareError({
|
|
39848
|
+
currentVersion: currentFirmwareVersion,
|
|
39849
|
+
requireVersion: versionRange.min,
|
|
39850
|
+
methodName: method.name,
|
|
39851
|
+
firmwareType: getFirmwareType(device.features),
|
|
39852
|
+
}));
|
|
39827
39853
|
}
|
|
39828
39854
|
if (versionRange.max &&
|
|
39829
39855
|
semver__default["default"].valid(versionRange.max) &&
|
|
@@ -39832,7 +39858,7 @@ const onCallDevice = (context, message, method) => __awaiter(void 0, void 0, voi
|
|
|
39832
39858
|
}
|
|
39833
39859
|
}
|
|
39834
39860
|
else if (method.strictCheckDeviceSupport) {
|
|
39835
|
-
throw hdShared.
|
|
39861
|
+
throw hdShared.createDeviceNotSupportMethodError(method.name, getFirmwareType(device.features));
|
|
39836
39862
|
}
|
|
39837
39863
|
}
|
|
39838
39864
|
const unexpectedMode = device.hasUnexpectedMode(method.allowDeviceMode, method.requireDeviceMode);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@onekeyfe/hd-core",
|
|
3
|
-
"version": "1.1.19
|
|
3
|
+
"version": "1.1.19",
|
|
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.1.19
|
|
29
|
-
"@onekeyfe/hd-transport": "1.1.19
|
|
28
|
+
"@onekeyfe/hd-shared": "1.1.19",
|
|
29
|
+
"@onekeyfe/hd-transport": "1.1.19",
|
|
30
30
|
"axios": "1.12.2",
|
|
31
31
|
"bignumber.js": "^9.0.2",
|
|
32
32
|
"bytebuffer": "^5.0.1",
|
|
@@ -44,5 +44,5 @@
|
|
|
44
44
|
"@types/w3c-web-usb": "^1.0.10",
|
|
45
45
|
"@types/web-bluetooth": "^0.0.21"
|
|
46
46
|
},
|
|
47
|
-
"gitHead": "
|
|
47
|
+
"gitHead": "f2d2ffc4876893522aca023969b1d1701def571c"
|
|
48
48
|
}
|
package/src/api/BaseMethod.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import semver from 'semver';
|
|
2
2
|
import {
|
|
3
|
-
|
|
4
|
-
HardwareErrorCode,
|
|
3
|
+
createDeviceNotSupportMethodError,
|
|
5
4
|
createNeedUpgradeFirmwareHardwareError,
|
|
6
5
|
} from '@onekeyfe/hd-shared';
|
|
7
6
|
|
|
@@ -17,12 +16,13 @@ import {
|
|
|
17
16
|
getLogger,
|
|
18
17
|
getMethodVersionRange,
|
|
19
18
|
} from '../utils';
|
|
19
|
+
import { generateInstanceId } from '../utils/tracing';
|
|
20
20
|
|
|
21
21
|
import type { Device } from '../device/Device';
|
|
22
22
|
import type DeviceConnector from '../device/DeviceConnector';
|
|
23
23
|
import type { DeviceFirmwareRange, KnownDevice } from '../types';
|
|
24
24
|
import type { CoreMessage } from '../events';
|
|
25
|
-
import {
|
|
25
|
+
import type { RequestContext } from '../utils/tracing';
|
|
26
26
|
import type { CoreContext } from '../core';
|
|
27
27
|
|
|
28
28
|
const Log = getLogger(LoggerNames.Method);
|
|
@@ -224,17 +224,19 @@ export abstract class BaseMethod<Params = undefined> {
|
|
|
224
224
|
|
|
225
225
|
if (!versionRange) {
|
|
226
226
|
if (options?.strictCheckDeviceSupport) {
|
|
227
|
-
throw
|
|
228
|
-
HardwareErrorCode.DeviceNotSupportMethod,
|
|
229
|
-
'Device does not support this method'
|
|
230
|
-
);
|
|
227
|
+
throw createDeviceNotSupportMethodError(this.name, getFirmwareType(this.device.features));
|
|
231
228
|
}
|
|
232
229
|
// Equipment that does not need to be repaired
|
|
233
230
|
return;
|
|
234
231
|
}
|
|
235
232
|
|
|
236
233
|
if (semver.valid(firmwareVersion) && semver.lt(firmwareVersion, versionRange.min)) {
|
|
237
|
-
throw createNeedUpgradeFirmwareHardwareError(
|
|
234
|
+
throw createNeedUpgradeFirmwareHardwareError({
|
|
235
|
+
currentVersion: firmwareVersion,
|
|
236
|
+
requireVersion: versionRange.min,
|
|
237
|
+
methodName: this.name,
|
|
238
|
+
firmwareType: getFirmwareType(this.device.features),
|
|
239
|
+
});
|
|
238
240
|
}
|
|
239
241
|
}
|
|
240
242
|
|
|
@@ -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 { getDeviceFirmwareVersion, getMethodVersionRange } from '../../utils';
|
|
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 {
|
|
@@ -463,9 +463,14 @@ function preCheckDeviceSupport(device: Device, method: BaseMethod) {
|
|
|
463
463
|
semver.valid(versionRange.min) &&
|
|
464
464
|
semver.lt(currentVersion, versionRange.min)
|
|
465
465
|
) {
|
|
466
|
-
throw ERRORS.createNeedUpgradeFirmwareHardwareError(
|
|
466
|
+
throw ERRORS.createNeedUpgradeFirmwareHardwareError({
|
|
467
|
+
currentVersion,
|
|
468
|
+
requireVersion: versionRange.min,
|
|
469
|
+
methodName: method.name,
|
|
470
|
+
firmwareType: getFirmwareType(device.features),
|
|
471
|
+
});
|
|
467
472
|
} else if (method.strictCheckDeviceSupport && !versionRange) {
|
|
468
|
-
throw ERRORS.
|
|
473
|
+
throw ERRORS.createDeviceNotSupportMethodError(method.name, getFirmwareType(device.features));
|
|
469
474
|
}
|
|
470
475
|
}
|
|
471
476
|
|
|
@@ -483,7 +488,10 @@ function handleSkippableHardwareError(
|
|
|
483
488
|
} else if (errorCode === HardwareErrorCode.DeviceNotSupportMethod) {
|
|
484
489
|
error = e;
|
|
485
490
|
}
|
|
486
|
-
} else if (
|
|
491
|
+
} else if (
|
|
492
|
+
e.message?.includes('Failure_UnexpectedMessage') ||
|
|
493
|
+
e.message?.includes('Failure_UnknownMessage')
|
|
494
|
+
) {
|
|
487
495
|
const versionRange = getMethodVersionRange(
|
|
488
496
|
device.features,
|
|
489
497
|
type => method.getVersionRange()[type]
|
|
@@ -495,9 +503,17 @@ function handleSkippableHardwareError(
|
|
|
495
503
|
semver.valid(versionRange.min) &&
|
|
496
504
|
semver.lt(currentVersion, versionRange.min)
|
|
497
505
|
) {
|
|
498
|
-
error = ERRORS.createNeedUpgradeFirmwareHardwareError(
|
|
506
|
+
error = ERRORS.createNeedUpgradeFirmwareHardwareError({
|
|
507
|
+
currentVersion,
|
|
508
|
+
requireVersion: versionRange.min,
|
|
509
|
+
methodName: method.name,
|
|
510
|
+
firmwareType: getFirmwareType(device.features),
|
|
511
|
+
});
|
|
499
512
|
} else {
|
|
500
|
-
error = ERRORS.
|
|
513
|
+
error = ERRORS.createDeviceNotSupportMethodError(
|
|
514
|
+
method.name,
|
|
515
|
+
getFirmwareType(device.features)
|
|
516
|
+
);
|
|
501
517
|
}
|
|
502
518
|
} else if (
|
|
503
519
|
e.message?.toLowerCase()?.includes('forbidden key path') ||
|
|
@@ -1,13 +1,18 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
HardwareErrorCode,
|
|
3
|
+
TypedError,
|
|
4
|
+
createDeviceNotSupportMethodError,
|
|
5
|
+
} from '@onekeyfe/hd-shared';
|
|
2
6
|
|
|
3
|
-
import { TypedError, HardwareErrorCode } from '@onekeyfe/hd-shared';
|
|
4
|
-
import { Device } from '../../device/Device';
|
|
5
7
|
import { supportBatchPublicKey } from '../../utils/deviceFeaturesUtils';
|
|
6
8
|
import { isEqualBip44CoinType } from './pathUtils';
|
|
7
9
|
import { splitArray } from '../../utils/arrayUtils';
|
|
8
|
-
import { getDeviceType } from '../../utils';
|
|
10
|
+
import { getDeviceType, getFirmwareType } from '../../utils';
|
|
9
11
|
import { DeviceModelToTypes } from '../../types';
|
|
10
12
|
|
|
13
|
+
import type { EcdsaPublicKeys, Path } from '@onekeyfe/hd-transport';
|
|
14
|
+
import type { Device } from '../../device/Device';
|
|
15
|
+
|
|
11
16
|
export async function batchGetPublickeys(
|
|
12
17
|
device: Device,
|
|
13
18
|
paths: Path[],
|
|
@@ -25,7 +30,7 @@ export async function batchGetPublickeys(
|
|
|
25
30
|
|
|
26
31
|
const supportsBatchPublicKey = supportBatchPublicKey(device.features, options);
|
|
27
32
|
if (!supportsBatchPublicKey) {
|
|
28
|
-
throw
|
|
33
|
+
throw createDeviceNotSupportMethodError('BatchGetPublickeys', getFirmwareType(device.features));
|
|
29
34
|
}
|
|
30
35
|
|
|
31
36
|
const existsPathNotEqualCoinType = paths.find(p => !isEqualBip44CoinType(p.address_n, coinType));
|
|
@@ -53,7 +58,10 @@ export async function batchGetPublickeys(
|
|
|
53
58
|
include_node: options?.includeNode ?? false,
|
|
54
59
|
});
|
|
55
60
|
if (res.type !== 'EcdsaPublicKeys') {
|
|
56
|
-
throw
|
|
61
|
+
throw createDeviceNotSupportMethodError(
|
|
62
|
+
'BatchGetPublickeys',
|
|
63
|
+
getFirmwareType(device.features)
|
|
64
|
+
);
|
|
57
65
|
} else {
|
|
58
66
|
result.root_fingerprint = res.message.root_fingerprint;
|
|
59
67
|
result.public_keys.push(...res.message.public_keys);
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { TronMessageType } from '@onekeyfe/hd-transport';
|
|
2
|
-
import {
|
|
2
|
+
import { createDeviceNotSupportMethodError } from '@onekeyfe/hd-shared';
|
|
3
3
|
|
|
4
4
|
import { UI_REQUEST } from '../../constants/ui-request';
|
|
5
5
|
import { validatePath } from '../helpers/pathUtils';
|
|
6
6
|
import { BaseMethod } from '../BaseMethod';
|
|
7
7
|
import { validateParams } from '../helpers/paramsValidator';
|
|
8
8
|
import { stripHexPrefix } from '../helpers/hexUtils';
|
|
9
|
+
import { getFirmwareType } from '../../utils';
|
|
9
10
|
|
|
10
11
|
import type { TronSignMessage as HardwareTronSignMessage } from '@onekeyfe/hd-transport';
|
|
11
12
|
|
|
@@ -25,9 +26,9 @@ export default class TronSignMessage extends BaseMethod<HardwareTronSignMessage>
|
|
|
25
26
|
const addressN = validatePath(path, 3);
|
|
26
27
|
|
|
27
28
|
if (this.payload.messageType === 'V1' || this.payload.messageType == null) {
|
|
28
|
-
throw
|
|
29
|
-
|
|
30
|
-
|
|
29
|
+
throw createDeviceNotSupportMethodError(
|
|
30
|
+
'TronSignMessage',
|
|
31
|
+
getFirmwareType(this.device.features)
|
|
31
32
|
);
|
|
32
33
|
}
|
|
33
34
|
|
package/src/core/index.ts
CHANGED
|
@@ -7,6 +7,7 @@ import {
|
|
|
7
7
|
createDefectiveFirmwareError,
|
|
8
8
|
createDeferred,
|
|
9
9
|
createDeprecatedHardwareError,
|
|
10
|
+
createDeviceNotSupportMethodError,
|
|
10
11
|
createNeedUpgradeFirmwareHardwareError,
|
|
11
12
|
createNewFirmwareForceUpdateHardwareError,
|
|
12
13
|
createNewFirmwareUnReleaseHardwareError,
|
|
@@ -387,19 +388,21 @@ const onCallDevice = async (
|
|
|
387
388
|
semver.lt(currentFirmwareVersion, versionRange.min)
|
|
388
389
|
) {
|
|
389
390
|
if (newVersionStatus === 'none' || newVersionStatus === 'valid') {
|
|
390
|
-
throw createNewFirmwareUnReleaseHardwareError(
|
|
391
|
-
currentFirmwareVersion,
|
|
392
|
-
versionRange.min,
|
|
393
|
-
method.name
|
|
394
|
-
|
|
391
|
+
throw createNewFirmwareUnReleaseHardwareError({
|
|
392
|
+
currentVersion: currentFirmwareVersion,
|
|
393
|
+
requireVersion: versionRange.min,
|
|
394
|
+
methodName: method.name,
|
|
395
|
+
firmwareType: getFirmwareType(device.features),
|
|
396
|
+
});
|
|
395
397
|
}
|
|
396
398
|
|
|
397
399
|
return Promise.reject(
|
|
398
|
-
createNeedUpgradeFirmwareHardwareError(
|
|
399
|
-
currentFirmwareVersion,
|
|
400
|
-
versionRange.min,
|
|
401
|
-
method.name
|
|
402
|
-
|
|
400
|
+
createNeedUpgradeFirmwareHardwareError({
|
|
401
|
+
currentVersion: currentFirmwareVersion,
|
|
402
|
+
requireVersion: versionRange.min,
|
|
403
|
+
methodName: method.name,
|
|
404
|
+
firmwareType: getFirmwareType(device.features),
|
|
405
|
+
})
|
|
403
406
|
);
|
|
404
407
|
}
|
|
405
408
|
if (
|
|
@@ -412,10 +415,7 @@ const onCallDevice = async (
|
|
|
412
415
|
);
|
|
413
416
|
}
|
|
414
417
|
} else if (method.strictCheckDeviceSupport) {
|
|
415
|
-
throw
|
|
416
|
-
HardwareErrorCode.DeviceNotSupportMethod,
|
|
417
|
-
`Method '${method.name}' is not supported by this device`
|
|
418
|
-
);
|
|
418
|
+
throw createDeviceNotSupportMethodError(method.name, getFirmwareType(device.features));
|
|
419
419
|
}
|
|
420
420
|
}
|
|
421
421
|
|