@onekeyfe/hd-shared 1.1.19-alpha.8 → 1.1.20-alpha.0

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.
@@ -1,3 +1,4 @@
1
+ import { EFirmwareType } from './firmwareType';
1
2
  export interface IHardwareError {
2
3
  errorCode: ValueOf<typeof HardwareErrorCode>;
3
4
  message?: string;
@@ -109,6 +110,7 @@ export declare const HardwareErrorCode: {
109
110
  readonly BridgeNeedsPermission: 821;
110
111
  readonly CallQueueActionCancelled: 822;
111
112
  readonly FirmwareDowngradeNotAllowed: 823;
113
+ readonly CosmosInvalidJsonMessage: 824;
112
114
  readonly LowlevelTrasnportConnectError: 900;
113
115
  readonly WebDeviceNotFoundOrNeedsPermission: 901;
114
116
  readonly WebDevicePromptAccessError: 902;
@@ -118,13 +120,24 @@ export declare const TypedError: (hardwareError: ErrorCodeUnion | string, messag
118
120
  export declare const serializeError: (payload: any) => any;
119
121
  export declare const CreateErrorByMessage: (message: string) => HardwareError;
120
122
  export declare const CreateHardwareErrorByBridgeError: (raw: string) => HardwareError;
121
- declare const createNewFirmwareUnReleaseHardwareError: (currentVersion: string, requireVersion: string, methodName?: string) => HardwareError;
122
- declare const createNeedUpgradeFirmwareHardwareError: (currentVersion: string, requireVersion: string, methodName?: string) => HardwareError;
123
+ declare const createNewFirmwareUnReleaseHardwareError: ({ currentVersion, requireVersion, methodName, firmwareType, }: {
124
+ currentVersion: string;
125
+ requireVersion: string;
126
+ methodName?: string | undefined;
127
+ firmwareType?: EFirmwareType | undefined;
128
+ }) => HardwareError;
129
+ declare const createNeedUpgradeFirmwareHardwareError: ({ currentVersion, requireVersion, methodName, firmwareType, }: {
130
+ currentVersion: string;
131
+ requireVersion: string;
132
+ methodName?: string | undefined;
133
+ firmwareType?: EFirmwareType | undefined;
134
+ }) => HardwareError;
123
135
  declare const createNewFirmwareForceUpdateHardwareError: (connectId: string | undefined, deviceId: string | undefined, versionTypes?: ('firmware' | 'ble')[], currentVersions?: {
124
136
  firmware?: string;
125
137
  ble?: string;
126
138
  }) => HardwareError;
127
139
  declare const createDeprecatedHardwareError: (currentVersion: string, deprecatedVersion: string, methodName?: string) => HardwareError;
128
140
  declare const createDefectiveFirmwareError: (serialNo: string, seVersion: string, deviceType: string, connectId?: string, deviceId?: string) => HardwareError;
129
- export { createNewFirmwareUnReleaseHardwareError, createNeedUpgradeFirmwareHardwareError, createNewFirmwareForceUpdateHardwareError, createDeprecatedHardwareError, createDefectiveFirmwareError, };
141
+ declare const createDeviceNotSupportMethodError: (methodName: string, firmwareType: EFirmwareType) => HardwareError;
142
+ export { createNewFirmwareUnReleaseHardwareError, createNeedUpgradeFirmwareHardwareError, createNewFirmwareForceUpdateHardwareError, createDeprecatedHardwareError, createDefectiveFirmwareError, createDeviceNotSupportMethodError, };
130
143
  //# sourceMappingURL=HardwareError.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HardwareError.d.ts","sourceRoot":"","sources":["../src/HardwareError.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,OAAO,CAAC,OAAO,iBAAiB,CAAC,CAAC;IAC7C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,GAAG,CAAC;CACd;AAED,KAAK,OAAO,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAE5C,KAAK,+BAA+B,GAAG;KAAG,CAAC,IAAI,OAAO,CAAC,OAAO,iBAAiB,CAAC,GAAG,MAAM;CAAE,CAAC;AAE5F,KAAK,cAAc,GAAG,OAAO,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAsCxD,qBAAa,aAAc,SAAQ,KAAK;IACtC,SAAS,EAAE,cAAc,CAAkC;IAE3D,OAAO,SAAM;IAEb,MAAM,EAAE,GAAG,CAAM;gBAEL,aAAa,EAAE,cAAc,GAAG,MAAM;CAmBnD;AAED,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+YpB,CAAC;AAEX,eAAO,MAAM,wBAAwB,EAAE,+BA0I7B,CAAC;AAEX,eAAO,MAAM,UAAU,kBACN,cAAc,GAAG,MAAM,YAC5B,MAAM,WACP,GAAG,kBAMb,CAAC;AAEF,eAAO,MAAM,cAAc,YAAa,GAAG,QAe1C,CAAC;AAEF,eAAO,MAAM,oBAAoB,YAAa,MAAM,KAAG,aAOtD,CAAC;AAGF,eAAO,MAAM,gCAAgC,QAAS,MAAM,KAAG,aAQ9D,CAAC;AAEF,QAAA,MAAM,uCAAuC,mBAC3B,MAAM,kBACN,MAAM,eACT,MAAM,kBAQpB,CAAC;AAEF,QAAA,MAAM,sCAAsC,mBAC1B,MAAM,kBACN,MAAM,eACT,MAAM,kBAQpB,CAAC;AAEF,QAAA,MAAM,yCAAyC,cAClC,MAAM,GAAG,SAAS,YACnB,MAAM,GAAG,SAAS,iBACb,CAAC,UAAU,GAAG,KAAK,CAAC,EAAE,oBACnB;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,kBAsBF,CAAC;AAEF,QAAA,MAAM,6BAA6B,mBACjB,MAAM,qBACH,MAAM,eACZ,MAAM,kBAQpB,CAAC;AAEF,QAAA,MAAM,4BAA4B,aACtB,MAAM,aACL,MAAM,cACL,MAAM,cACN,MAAM,aACP,MAAM,kBAWlB,CAAC;AAEF,OAAO,EACL,uCAAuC,EACvC,sCAAsC,EACtC,yCAAyC,EACzC,6BAA6B,EAC7B,4BAA4B,GAC7B,CAAC"}
1
+ {"version":3,"file":"HardwareError.d.ts","sourceRoot":"","sources":["../src/HardwareError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,OAAO,CAAC,OAAO,iBAAiB,CAAC,CAAC;IAC7C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,GAAG,CAAC;CACd;AAED,KAAK,OAAO,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAE5C,KAAK,+BAA+B,GAAG;KAAG,CAAC,IAAI,OAAO,CAAC,OAAO,iBAAiB,CAAC,GAAG,MAAM;CAAE,CAAC;AAE5F,KAAK,cAAc,GAAG,OAAO,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAsCxD,qBAAa,aAAc,SAAQ,KAAK;IACtC,SAAS,EAAE,cAAc,CAAkC;IAE3D,OAAO,SAAM;IAEb,MAAM,EAAE,GAAG,CAAM;gBAEL,aAAa,EAAE,cAAc,GAAG,MAAM;CAmBnD;AAED,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkZpB,CAAC;AAEX,eAAO,MAAM,wBAAwB,EAAE,+BA4I7B,CAAC;AAEX,eAAO,MAAM,UAAU,kBACN,cAAc,GAAG,MAAM,YAC5B,MAAM,WACP,GAAG,kBAMb,CAAC;AAEF,eAAO,MAAM,cAAc,YAAa,GAAG,QAe1C,CAAC;AAEF,eAAO,MAAM,oBAAoB,YAAa,MAAM,KAAG,aAOtD,CAAC;AAGF,eAAO,MAAM,gCAAgC,QAAS,MAAM,KAAG,aAQ9D,CAAC;AAEF,QAAA,MAAM,uCAAuC;oBAM3B,MAAM;oBACN,MAAM;;;mBAcvB,CAAC;AAEF,QAAA,MAAM,sCAAsC;oBAM1B,MAAM;oBACN,MAAM;;;mBAcvB,CAAC;AAEF,QAAA,MAAM,yCAAyC,cAClC,MAAM,GAAG,SAAS,YACnB,MAAM,GAAG,SAAS,iBACb,CAAC,UAAU,GAAG,KAAK,CAAC,EAAE,oBACnB;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,kBAsBF,CAAC;AAEF,QAAA,MAAM,6BAA6B,mBACjB,MAAM,qBACH,MAAM,eACZ,MAAM,kBAQpB,CAAC;AAEF,QAAA,MAAM,4BAA4B,aACtB,MAAM,aACL,MAAM,cACL,MAAM,cACN,MAAM,aACP,MAAM,kBAWlB,CAAC;AAEF,QAAA,MAAM,iCAAiC,eAAgB,MAAM,gBAAgB,aAAa,kBAItF,CAAC;AAEL,OAAO,EACL,uCAAuC,EACvC,sCAAsC,EACtC,yCAAyC,EACzC,6BAA6B,EAC7B,4BAA4B,EAC5B,iCAAiC,GAClC,CAAC"}
package/dist/index.d.ts CHANGED
@@ -41,6 +41,11 @@ type Deferred<T, I = any, D = any> = {
41
41
  };
42
42
  declare function createDeferred<T, I = any, D = any>(arg?: I, data?: D): Deferred<T, I, D>;
43
43
 
44
+ declare enum EFirmwareType {
45
+ Universal = "universal",
46
+ BitcoinOnly = "bitcoinonly"
47
+ }
48
+
44
49
  interface IHardwareError {
45
50
  errorCode: ValueOf<typeof HardwareErrorCode>;
46
51
  message?: string;
@@ -152,6 +157,7 @@ declare const HardwareErrorCode: {
152
157
  readonly BridgeNeedsPermission: 821;
153
158
  readonly CallQueueActionCancelled: 822;
154
159
  readonly FirmwareDowngradeNotAllowed: 823;
160
+ readonly CosmosInvalidJsonMessage: 824;
155
161
  readonly LowlevelTrasnportConnectError: 900;
156
162
  readonly WebDeviceNotFoundOrNeedsPermission: 901;
157
163
  readonly WebDevicePromptAccessError: 902;
@@ -161,20 +167,32 @@ declare const TypedError: (hardwareError: ErrorCodeUnion | string, message?: str
161
167
  declare const serializeError: (payload: any) => any;
162
168
  declare const CreateErrorByMessage: (message: string) => HardwareError;
163
169
  declare const CreateHardwareErrorByBridgeError: (raw: string) => HardwareError;
164
- declare const createNewFirmwareUnReleaseHardwareError: (currentVersion: string, requireVersion: string, methodName?: string) => HardwareError;
165
- declare const createNeedUpgradeFirmwareHardwareError: (currentVersion: string, requireVersion: string, methodName?: string) => HardwareError;
170
+ declare const createNewFirmwareUnReleaseHardwareError: ({ currentVersion, requireVersion, methodName, firmwareType, }: {
171
+ currentVersion: string;
172
+ requireVersion: string;
173
+ methodName?: string | undefined;
174
+ firmwareType?: EFirmwareType | undefined;
175
+ }) => HardwareError;
176
+ declare const createNeedUpgradeFirmwareHardwareError: ({ currentVersion, requireVersion, methodName, firmwareType, }: {
177
+ currentVersion: string;
178
+ requireVersion: string;
179
+ methodName?: string | undefined;
180
+ firmwareType?: EFirmwareType | undefined;
181
+ }) => HardwareError;
166
182
  declare const createNewFirmwareForceUpdateHardwareError: (connectId: string | undefined, deviceId: string | undefined, versionTypes?: ('firmware' | 'ble')[], currentVersions?: {
167
183
  firmware?: string;
168
184
  ble?: string;
169
185
  }) => HardwareError;
170
186
  declare const createDeprecatedHardwareError: (currentVersion: string, deprecatedVersion: string, methodName?: string) => HardwareError;
171
187
  declare const createDefectiveFirmwareError: (serialNo: string, seVersion: string, deviceType: string, connectId?: string, deviceId?: string) => HardwareError;
188
+ declare const createDeviceNotSupportMethodError: (methodName: string, firmwareType: EFirmwareType) => HardwareError;
172
189
 
173
190
  declare const HardwareError$1_createNewFirmwareUnReleaseHardwareError: typeof createNewFirmwareUnReleaseHardwareError;
174
191
  declare const HardwareError$1_createNeedUpgradeFirmwareHardwareError: typeof createNeedUpgradeFirmwareHardwareError;
175
192
  declare const HardwareError$1_createNewFirmwareForceUpdateHardwareError: typeof createNewFirmwareForceUpdateHardwareError;
176
193
  declare const HardwareError$1_createDeprecatedHardwareError: typeof createDeprecatedHardwareError;
177
194
  declare const HardwareError$1_createDefectiveFirmwareError: typeof createDefectiveFirmwareError;
195
+ declare const HardwareError$1_createDeviceNotSupportMethodError: typeof createDeviceNotSupportMethodError;
178
196
  type HardwareError$1_IHardwareError = IHardwareError;
179
197
  type HardwareError$1_HardwareError = HardwareError;
180
198
  declare const HardwareError$1_HardwareError: typeof HardwareError;
@@ -191,6 +209,7 @@ declare namespace HardwareError$1 {
191
209
  HardwareError$1_createNewFirmwareForceUpdateHardwareError as createNewFirmwareForceUpdateHardwareError,
192
210
  HardwareError$1_createDeprecatedHardwareError as createDeprecatedHardwareError,
193
211
  HardwareError$1_createDefectiveFirmwareError as createDefectiveFirmwareError,
212
+ HardwareError$1_createDeviceNotSupportMethodError as createDeviceNotSupportMethodError,
194
213
  HardwareError$1_IHardwareError as IHardwareError,
195
214
  HardwareError$1_HardwareError as HardwareError,
196
215
  HardwareError$1_HardwareErrorCode as HardwareErrorCode,
@@ -214,9 +233,4 @@ declare enum EDeviceType {
214
233
  Pro = "pro"
215
234
  }
216
235
 
217
- declare enum EFirmwareType {
218
- Universal = "universal",
219
- BitcoinOnly = "bitcoinonly"
220
- }
221
-
222
- export { CreateErrorByMessage, CreateHardwareErrorByBridgeError, Deferred, EDeviceType, EFirmwareType, EOneKeyBleMessageKeys, HardwareError$1 as ERRORS, HardwareError, HardwareErrorCode, HardwareErrorCodeMessage, IHardwareError, ONEKEY_NOTIFY_CHARACTERISTIC_UUID, ONEKEY_SERVICE_UUID, ONEKEY_WEBUSB_FILTER, ONEKEY_WRITE_CHARACTERISTIC_UUID, TypedError, createDefectiveFirmwareError, createDeferred, createDeprecatedHardwareError, createNeedUpgradeFirmwareHardwareError, createNewFirmwareForceUpdateHardwareError, createNewFirmwareUnReleaseHardwareError, isHeaderChunk, isOnekeyDevice, serializeError, wait };
236
+ export { CreateErrorByMessage, CreateHardwareErrorByBridgeError, Deferred, EDeviceType, EFirmwareType, EOneKeyBleMessageKeys, HardwareError$1 as ERRORS, HardwareError, HardwareErrorCode, HardwareErrorCodeMessage, IHardwareError, ONEKEY_NOTIFY_CHARACTERISTIC_UUID, ONEKEY_SERVICE_UUID, ONEKEY_WEBUSB_FILTER, ONEKEY_WRITE_CHARACTERISTIC_UUID, TypedError, createDefectiveFirmwareError, createDeferred, createDeprecatedHardwareError, createDeviceNotSupportMethodError, createNeedUpgradeFirmwareHardwareError, createNewFirmwareForceUpdateHardwareError, createNewFirmwareUnReleaseHardwareError, isHeaderChunk, isOnekeyDevice, serializeError, wait };
package/dist/index.js CHANGED
@@ -118,6 +118,12 @@ function createDeferred(arg, data) {
118
118
  };
119
119
  }
120
120
 
121
+ exports.EFirmwareType = void 0;
122
+ (function (EFirmwareType) {
123
+ EFirmwareType["Universal"] = "universal";
124
+ EFirmwareType["BitcoinOnly"] = "bitcoinonly";
125
+ })(exports.EFirmwareType || (exports.EFirmwareType = {}));
126
+
121
127
  function fillStringWithArguments(value, object) {
122
128
  if (typeof value !== 'string')
123
129
  return value;
@@ -269,6 +275,7 @@ const HardwareErrorCode = {
269
275
  BridgeNeedsPermission: 821,
270
276
  CallQueueActionCancelled: 822,
271
277
  FirmwareDowngradeNotAllowed: 823,
278
+ CosmosInvalidJsonMessage: 824,
272
279
  LowlevelTrasnportConnectError: 900,
273
280
  WebDeviceNotFoundOrNeedsPermission: 901,
274
281
  WebDevicePromptAccessError: 902,
@@ -368,6 +375,7 @@ const HardwareErrorCodeMessage = {
368
375
  [HardwareErrorCode.FirmwareVerificationFailed]: 'Firmware verification failed',
369
376
  [HardwareErrorCode.BridgeNeedsPermission]: 'Bridge needs permission',
370
377
  [HardwareErrorCode.FirmwareDowngradeNotAllowed]: 'Firmware downgrade not allowed',
378
+ [HardwareErrorCode.CosmosInvalidJsonMessage]: 'Cosmos invalid JSON message, Only support Amino msgs.',
371
379
  [HardwareErrorCode.LowlevelTrasnportConnectError]: 'Lowlevel transport connect error',
372
380
  [HardwareErrorCode.WebDeviceNotFoundOrNeedsPermission]: 'Web-USB or Web-Bluetooth device not found or needs permission',
373
381
  [HardwareErrorCode.WebDevicePromptAccessError]: 'Web-USB or Web-Bluetooth device prompt access error',
@@ -409,11 +417,17 @@ const CreateHardwareErrorByBridgeError = (raw) => {
409
417
  }
410
418
  return TypedError(HardwareErrorCode.BridgeNetworkError, msg);
411
419
  };
412
- const createNewFirmwareUnReleaseHardwareError = (currentVersion, requireVersion, methodName) => {
420
+ const createNewFirmwareUnReleaseHardwareError = ({ currentVersion, requireVersion, methodName, firmwareType, }) => {
421
+ if ((methodName === null || methodName === void 0 ? void 0 : methodName.startsWith('btc')) === false && firmwareType === exports.EFirmwareType.BitcoinOnly) {
422
+ return createDeviceNotSupportMethodError(methodName !== null && methodName !== void 0 ? methodName : '', firmwareType);
423
+ }
413
424
  const methodInfo = methodName ? ` for method '${methodName}'` : '';
414
425
  return TypedError(HardwareErrorCode.NewFirmwareUnRelease, `Device firmware version is too low${methodInfo}, please update to the latest version`, { current: currentVersion, require: requireVersion, method: methodName });
415
426
  };
416
- const createNeedUpgradeFirmwareHardwareError = (currentVersion, requireVersion, methodName) => {
427
+ const createNeedUpgradeFirmwareHardwareError = ({ currentVersion, requireVersion, methodName, firmwareType, }) => {
428
+ if ((methodName === null || methodName === void 0 ? void 0 : methodName.startsWith('btc')) === false && firmwareType === exports.EFirmwareType.BitcoinOnly) {
429
+ return createDeviceNotSupportMethodError(methodName !== null && methodName !== void 0 ? methodName : '', firmwareType);
430
+ }
417
431
  const methodInfo = methodName ? ` for method '${methodName}'` : '';
418
432
  return TypedError(HardwareErrorCode.CallMethodNeedUpgradeFirmware, `Device firmware version is too low${methodInfo}, please update to ${requireVersion}`, { current: currentVersion, require: requireVersion, method: methodName });
419
433
  };
@@ -452,6 +466,10 @@ const createDefectiveFirmwareError = (serialNo, seVersion, deviceType, connectId
452
466
  deviceId,
453
467
  });
454
468
  };
469
+ const createDeviceNotSupportMethodError = (methodName, firmwareType) => TypedError(HardwareErrorCode.DeviceNotSupportMethod, `Device not support this method`, {
470
+ firmwareType: firmwareType.toString(),
471
+ method: methodName,
472
+ });
455
473
 
456
474
  var HardwareError$1 = /*#__PURE__*/Object.freeze({
457
475
  __proto__: null,
@@ -466,7 +484,8 @@ var HardwareError$1 = /*#__PURE__*/Object.freeze({
466
484
  createNeedUpgradeFirmwareHardwareError: createNeedUpgradeFirmwareHardwareError,
467
485
  createNewFirmwareForceUpdateHardwareError: createNewFirmwareForceUpdateHardwareError,
468
486
  createDeprecatedHardwareError: createDeprecatedHardwareError,
469
- createDefectiveFirmwareError: createDefectiveFirmwareError
487
+ createDefectiveFirmwareError: createDefectiveFirmwareError,
488
+ createDeviceNotSupportMethodError: createDeviceNotSupportMethodError
470
489
  });
471
490
 
472
491
  const wait = (ms) => new Promise(resolve => {
@@ -484,12 +503,6 @@ exports.EDeviceType = void 0;
484
503
  EDeviceType["Pro"] = "pro";
485
504
  })(exports.EDeviceType || (exports.EDeviceType = {}));
486
505
 
487
- exports.EFirmwareType = void 0;
488
- (function (EFirmwareType) {
489
- EFirmwareType["Universal"] = "universal";
490
- EFirmwareType["BitcoinOnly"] = "bitcoinonly";
491
- })(exports.EFirmwareType || (exports.EFirmwareType = {}));
492
-
493
506
  exports.CreateErrorByMessage = CreateErrorByMessage;
494
507
  exports.CreateHardwareErrorByBridgeError = CreateHardwareErrorByBridgeError;
495
508
  exports.ERRORS = HardwareError$1;
@@ -504,6 +517,7 @@ exports.TypedError = TypedError;
504
517
  exports.createDefectiveFirmwareError = createDefectiveFirmwareError;
505
518
  exports.createDeferred = createDeferred;
506
519
  exports.createDeprecatedHardwareError = createDeprecatedHardwareError;
520
+ exports.createDeviceNotSupportMethodError = createDeviceNotSupportMethodError;
507
521
  exports.createNeedUpgradeFirmwareHardwareError = createNeedUpgradeFirmwareHardwareError;
508
522
  exports.createNewFirmwareForceUpdateHardwareError = createNewFirmwareForceUpdateHardwareError;
509
523
  exports.createNewFirmwareUnReleaseHardwareError = createNewFirmwareUnReleaseHardwareError;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onekeyfe/hd-shared",
3
- "version": "1.1.19-alpha.8",
3
+ "version": "1.1.20-alpha.0",
4
4
  "description": "Hardware SDK's shared tool library",
5
5
  "keywords": [
6
6
  "Hardware-SDK",
@@ -25,5 +25,5 @@
25
25
  "lint": "eslint .",
26
26
  "lint:fix": "eslint . --fix"
27
27
  },
28
- "gitHead": "3f2601d16687c8fe4333d1d05ca73074a62bdd5e"
28
+ "gitHead": "bff28f2906ab17d7843f4e0d634bf4acf6b375b4"
29
29
  }
@@ -1,3 +1,5 @@
1
+ import { EFirmwareType } from './firmwareType';
2
+
1
3
  export interface IHardwareError {
2
4
  errorCode: ValueOf<typeof HardwareErrorCode>;
3
5
  message?: string;
@@ -453,11 +455,14 @@ export const HardwareErrorCode = {
453
455
  BridgeNeedsPermission: 821,
454
456
 
455
457
  CallQueueActionCancelled: 822,
456
-
457
458
  /**
458
459
  * Firmware downgrade not allowed
459
460
  */
460
461
  FirmwareDowngradeNotAllowed: 823,
462
+ /**
463
+ * Cosmos invalid JSON message, Only support Amino msgs.
464
+ */
465
+ CosmosInvalidJsonMessage: 824,
461
466
 
462
467
  /**
463
468
  * Lowlevel transport connect error
@@ -604,6 +609,8 @@ export const HardwareErrorCodeMessage: HardwareErrorCodeMessageMapping = {
604
609
  [HardwareErrorCode.FirmwareVerificationFailed]: 'Firmware verification failed',
605
610
  [HardwareErrorCode.BridgeNeedsPermission]: 'Bridge needs permission',
606
611
  [HardwareErrorCode.FirmwareDowngradeNotAllowed]: 'Firmware downgrade not allowed',
612
+ [HardwareErrorCode.CosmosInvalidJsonMessage]:
613
+ 'Cosmos invalid JSON message, Only support Amino msgs.',
607
614
 
608
615
  /**
609
616
  * Lowlevel transport
@@ -663,11 +670,21 @@ export const CreateHardwareErrorByBridgeError = (raw: string): HardwareError =>
663
670
  return TypedError(HardwareErrorCode.BridgeNetworkError, msg);
664
671
  };
665
672
 
666
- const createNewFirmwareUnReleaseHardwareError = (
667
- currentVersion: string,
668
- requireVersion: string,
669
- methodName?: string
670
- ) => {
673
+ const createNewFirmwareUnReleaseHardwareError = ({
674
+ currentVersion,
675
+ requireVersion,
676
+ methodName,
677
+ firmwareType,
678
+ }: {
679
+ currentVersion: string;
680
+ requireVersion: string;
681
+ methodName?: string;
682
+ firmwareType?: EFirmwareType;
683
+ }) => {
684
+ if (methodName?.startsWith('btc') === false && firmwareType === EFirmwareType.BitcoinOnly) {
685
+ return createDeviceNotSupportMethodError(methodName ?? '', firmwareType);
686
+ }
687
+
671
688
  const methodInfo = methodName ? ` for method '${methodName}'` : '';
672
689
  return TypedError(
673
690
  HardwareErrorCode.NewFirmwareUnRelease,
@@ -676,11 +693,21 @@ const createNewFirmwareUnReleaseHardwareError = (
676
693
  );
677
694
  };
678
695
 
679
- const createNeedUpgradeFirmwareHardwareError = (
680
- currentVersion: string,
681
- requireVersion: string,
682
- methodName?: string
683
- ) => {
696
+ const createNeedUpgradeFirmwareHardwareError = ({
697
+ currentVersion,
698
+ requireVersion,
699
+ methodName,
700
+ firmwareType,
701
+ }: {
702
+ currentVersion: string;
703
+ requireVersion: string;
704
+ methodName?: string;
705
+ firmwareType?: EFirmwareType;
706
+ }) => {
707
+ if (methodName?.startsWith('btc') === false && firmwareType === EFirmwareType.BitcoinOnly) {
708
+ return createDeviceNotSupportMethodError(methodName ?? '', firmwareType);
709
+ }
710
+
684
711
  const methodInfo = methodName ? ` for method '${methodName}'` : '';
685
712
  return TypedError(
686
713
  HardwareErrorCode.CallMethodNeedUpgradeFirmware,
@@ -751,10 +778,17 @@ const createDefectiveFirmwareError = (
751
778
  });
752
779
  };
753
780
 
781
+ const createDeviceNotSupportMethodError = (methodName: string, firmwareType: EFirmwareType) =>
782
+ TypedError(HardwareErrorCode.DeviceNotSupportMethod, `Device not support this method`, {
783
+ firmwareType: firmwareType.toString(),
784
+ method: methodName,
785
+ });
786
+
754
787
  export {
755
788
  createNewFirmwareUnReleaseHardwareError,
756
789
  createNeedUpgradeFirmwareHardwareError,
757
790
  createNewFirmwareForceUpdateHardwareError,
758
791
  createDeprecatedHardwareError,
759
792
  createDefectiveFirmwareError,
793
+ createDeviceNotSupportMethodError,
760
794
  };