@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.
@@ -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,EAAsB,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACtE,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;IAgCG,yBAAyB;IAiB/B,OAAO;IAGP,0BAA0B,SAAU;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,UAOrE;CACH"}
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":"AAAA,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAG/D,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAO7C,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,4BAyDF"}
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;AAI3C,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"}
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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":";AACA,OAAO,YAAY,MAAM,QAAQ,CAAC;AAsClC,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;AAipBF,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"}
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.ERRORS.TypedError(hdShared.HardwareErrorCode.DeviceNotSupportMethod, 'Device does not support this method');
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(firmwareVersion, versionRange.min);
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(currentVersion, versionRange.min);
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.TypedError(hdShared.HardwareErrorCode.DeviceNotSupportMethod);
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(currentVersion, versionRange.min);
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.TypedError(hdShared.HardwareErrorCode.DeviceNotSupportMethod, e.message);
31022
+ error = hdShared.ERRORS.createDeviceNotSupportMethodError(method.name, getFirmwareType(device.features));
31007
31023
  }
31008
31024
  }
31009
- else if (((_c = (_b = e.message) === null || _b === void 0 ? void 0 : _b.toLowerCase()) === null || _c === void 0 ? void 0 : _c.includes('forbidden key path')) ||
31010
- ((_e = (_d = e.message) === null || _d === void 0 ? void 0 : _d.toLowerCase()) === null || _e === void 0 ? void 0 : _e.includes('invalid path'))) {
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.TypedError(hdShared.HardwareErrorCode.DeviceNotSupportMethod);
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.TypedError(hdShared.HardwareErrorCode.DeviceNotSupportMethod, 'BatchGetPublickeys failed');
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.ERRORS.TypedError(hdShared.HardwareErrorCode.DeviceNotSupportMethod, 'not support tron message v1');
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(currentFirmwareVersion, versionRange.min, method.name);
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(currentFirmwareVersion, versionRange.min, method.name));
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.ERRORS.TypedError(hdShared.HardwareErrorCode.DeviceNotSupportMethod, `Method '${method.name}' is not supported by this device`);
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-alpha.8",
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-alpha.8",
29
- "@onekeyfe/hd-transport": "1.1.19-alpha.8",
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": "3f2601d16687c8fe4333d1d05ca73074a62bdd5e"
47
+ "gitHead": "f2d2ffc4876893522aca023969b1d1701def571c"
48
48
  }
@@ -1,7 +1,6 @@
1
1
  import semver from 'semver';
2
2
  import {
3
- ERRORS,
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 { generateInstanceId, RequestContext } from '../utils/tracing';
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 ERRORS.TypedError(
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(firmwareVersion, versionRange.min);
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(currentVersion, versionRange.min);
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.TypedError(HardwareErrorCode.DeviceNotSupportMethod);
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 (e.message?.includes('Failure_UnexpectedMessage')) {
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(currentVersion, versionRange.min);
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.TypedError(HardwareErrorCode.DeviceNotSupportMethod, e.message);
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 { EcdsaPublicKeys, Path } from '@onekeyfe/hd-transport';
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 TypedError(HardwareErrorCode.DeviceNotSupportMethod);
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 TypedError(HardwareErrorCode.DeviceNotSupportMethod, 'BatchGetPublickeys failed');
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 { ERRORS, HardwareErrorCode } from '@onekeyfe/hd-shared';
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 ERRORS.TypedError(
29
- HardwareErrorCode.DeviceNotSupportMethod,
30
- 'not support tron message v1'
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 ERRORS.TypedError(
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