@onekeyfe/hd-core 0.2.54 → 0.2.56

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 +1 @@
1
- {"version":3,"file":"BaseMethod.d.ts","sourceRoot":"","sources":["../../src/api/BaseMethod.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,eAAe,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAe,MAAM,UAAU,CAAC;AAC5D,OAAO,EAAE,WAAW,EAA4D,MAAM,WAAW,CAAC;AAMlG,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;IAKb,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAE7B,SAAS,CAAC,EAAE,eAAe,CAAC;IAK5B,SAAS,EAAE,OAAO,CAAC;IAKnB,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAK7B,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAK5B,qBAAqB,UAAQ;IAK7B,aAAa,UAAS;IAKtB,wBAAwB,UAAQ;IAMhC,oBAAoB,UAAS;IAG7B,WAAW,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC;gBAEhC,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,SAAS,CAAC,MAAM,EAAE,MAAM;IAKxB,oBAAoB;IAkBpB,yBAAyB;IAiBnB,yBAAyB;IAkB/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":"AAOA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,eAAe,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAe,MAAM,UAAU,CAAC;AAC5D,OAAO,EAAE,WAAW,EAA4D,MAAM,WAAW,CAAC;AAMlG,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;IAKb,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAE7B,SAAS,CAAC,EAAE,eAAe,CAAC;IAK5B,SAAS,EAAE,OAAO,CAAC;IAKnB,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAK7B,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAK5B,qBAAqB,UAAQ;IAK7B,aAAa,UAAS;IAKtB,wBAAwB,UAAQ;IAMhC,oBAAoB,UAAS;IAG7B,WAAW,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC;gBAEhC,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,SAAS,CAAC,MAAM,EAAE,MAAM;IAKxB,oBAAoB;IAkBpB,yBAAyB;IAiBnB,yBAAyB;IAgB/B,OAAO;IAGP,0BAA0B,SAAU;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,UAOrE;CACH"}
@@ -1 +1 @@
1
- {"version":3,"file":"uploadFirmware.d.ts","sourceRoot":"","sources":["../../../src/api/firmware/uploadFirmware.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEjD,OAAO,EAAU,WAAW,EAA+B,MAAM,cAAc,CAAC;AAChF,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAwB,MAAM,6BAA6B,CAAC;AAwCnF,eAAO,MAAM,cAAc,eAAsB,MAAM,kBAKtD,CAAC;AAEF,eAAO,MAAM,cAAc,eACb,UAAU,GAAG,KAAK,aACnB,SAAS,yBACG,WAAW,KAAK,IAAI,UACnC,MAAM,eACD,MAAM,cAAc,qBAqDlC,CAAC;AAmCF,eAAO,MAAM,cAAc,cAAqB,SAAS,YAAY,MAAM,QAAQ,WAAW,qBAY7F,CAAC;AAEF,eAAO,MAAM,eAAe,cACf,SAAS,yBACG,WAAW,KAAK,IAAI,UACnC,MAAM,UACN,WAAW,qBAwBpB,CAAC;AAEF,eAAO,MAAM,gBAAgB,cAChB,SAAS,yBACG,WAAW,KAAK,IAAI,UACnC,MAAM,UACN,WAAW,qBAQpB,CAAC"}
1
+ {"version":3,"file":"uploadFirmware.d.ts","sourceRoot":"","sources":["../../../src/api/firmware/uploadFirmware.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEjD,OAAO,EAAU,WAAW,EAA+B,MAAM,cAAc,CAAC;AAChF,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAwB,MAAM,6BAA6B,CAAC;AAwCnF,eAAO,MAAM,cAAc,eAAsB,MAAM,kBAKtD,CAAC;AAEF,eAAO,MAAM,cAAc,eACb,UAAU,GAAG,KAAK,aACnB,SAAS,yBACG,WAAW,KAAK,IAAI,UACnC,MAAM,eACD,MAAM,cAAc,qBA2DlC,CAAC;AAmCF,eAAO,MAAM,cAAc,cAAqB,SAAS,YAAY,MAAM,QAAQ,WAAW,qBAY7F,CAAC;AAEF,eAAO,MAAM,eAAe,cACf,SAAS,yBACG,WAAW,KAAK,IAAI,UACnC,MAAM,UACN,WAAW,qBAwBpB,CAAC;AAEF,eAAO,MAAM,gBAAgB,cAChB,SAAS,yBACG,WAAW,KAAK,IAAI,UACnC,MAAM,UACN,WAAW,qBAQpB,CAAC"}
package/dist/index.js CHANGED
@@ -917,7 +917,7 @@ const getFirmwareUpdateField = (features, updateType) => {
917
917
  if (updateType === 'ble') {
918
918
  return 'ble';
919
919
  }
920
- if (deviceType === 'classic' || deviceType === 'mini') {
920
+ if (deviceType === 'classic') {
921
921
  return 'firmware-v2';
922
922
  }
923
923
  if (deviceType === 'touch') {
@@ -10997,7 +10997,7 @@ function checkNeedUpdateBootForTouch(features) {
10997
10997
  }
10998
10998
  function checkNeedUpdateBootForClassicAndMini(features, willUpdateFirmware) {
10999
10999
  const deviceType = getDeviceType(features);
11000
- if (!(deviceType === 'classic' || deviceType === 'mini'))
11000
+ if (deviceType !== 'classic')
11001
11001
  return false;
11002
11002
  if (!willUpdateFirmware)
11003
11003
  return false;
@@ -11372,6 +11372,10 @@ const getT1Data = () => ({
11372
11372
  },
11373
11373
  decred: {
11374
11374
  name: 'decred',
11375
+ hex: '00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001fffc0007ffffe0000000000000000000fffe0003fffffc0000000000000000007fff0001ffffff0000000000000000003fffc000ffffff8000000000000000001fffe0007fffffc0000000000000000007fff0001ffffff0000000000000000003fff8000ffffff0000000000000000001fffc0007fffff8000000000000000000fffe0003fffffc0000000000000000007fff8001fffffe0000000000000000003fffc000007ffe0000000000000000003fffe000001fff000000000000000000fffff000000fff000000000000000001fffff8000007ff800000000000000003fffffc000003ff80000000000000000ffffffe000001ff80000000000000001fffffff800001ffc0000000000000001fffffffc00000ffc0000000000000003fffffffe00000ffc0000000000000007ffffffff00000ffc0000000000000007ffe0000000000ffc000000000000000fff80000000000ffc000000000000000fff00000000000ffc000000000000001ffe00000000000ffc000000000000001ffc00000000000ffc000000000000001ff800000000001ffc000000000000003ff800000000001ff8000000000000003ff000000000003ff8000000000000003ff000000000007ff8000000000000003ff00000000000fff0000000000000003ff00000000001fff0000000000000003ff00000000007ffe0000000000000003ff00000ffffffffe0000000000000003ff000007fffffffc0000000000000003ff000003fffffff80000000000000003ff800001fffffff80000000000000001ff8000007ffffff00000000000000001ffc000003fffffc00000000000000001ffe000001fffff800000000000000000fff000000fffff000000000000000000fff8000007fffc0000000000000000007ffe000003fffc0000000000000000007fffff8001fffe0000000000000000003fffffc0007fff0000000000000000001fffffe0003fff8000000000000000000ffffff0001fffc000000000000000000ffffff8000fffe0000000000000000003fffffe0007fff8000000000000000001ffffff0003fffc000000000000000000ffffff8000fffe0000000000000000003fffffc0007fff00000000000000000007ffffe0003fff80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000',
11376
+ },
11377
+ multibit: {
11378
+ name: 'multibit',
11375
11379
  hex: '0ffc07f8e01c7ffe07ff0000000000001ff80ff9e03c7fff83ff8000000000003ff03ff9e03c7fffc0ffc000000000007fe07ff9e03c7fffe0ffc000000000007fc0fff9e03c7ffff07fe00000000000ffc1fff9e03c7ffff83ff00000000000ff83ff81e03c7ffffc1ff00000000000ff07e001e03c17fffe0ff80000000000fe0f0001e03c03ffff0ffc0000000000fe1f0001e03c00ffff87fc0000000000fc1f1fffffff803fff83fe0000000000f83f1ffffffffc0fffc3fe0000000000f87f1fffffffff07ffe1fe0000000000f07f1fffffffffc3ffe1ff0000000000f0ff00fff87fffe3fff0ff0000000000e0ff003fe001fff1fff0ff8000000000e0ff801fe0007ff1fff87f8000000000e1fffe1fe0003ff9fff87f8000000000c3ffff1fe0f81ff8fff87f8000000000c3ffff1fe1fc0ff8fffc3fc000000000c3ffff1fe1fe0ff8fffc3fc00000000087ffff1fe1fe0ff8fffc1fc00000000087ffff1fe1ff0ff8fffe1fc00000000087ffff1fe1fe0ff8fffe1fe00000000087ffff1fe0fc0ff1fffe1fe0000000008fffff1fe0f01ff1fffe1fe0000000000fffff1fe0003fe3fffe1fe0000000000fffff1fe0007fc3ffff0fe0000000000fffff1fe001ff87ffff0fe0000000000fffff1ffffffe07ffff0fe0000000000fffff1ffffffe03ffff0fe0000000000fffff1fffffffe0ffff0fe0000000000fffff1ffffffff87fff0fe0000000000fffff1e3f8c03fc7fff0fe0000000000fffff1e3f0c00fe3fff0fe0000000000fffff1e3f8c007f3fff0fe0000000000fffff1e3f8c003f1fff0fe0000000000fffff1e3f8c7c3f1fff0fe0000000000fffff1e3f8c7e1f9ffe1fe00000000087ffff1e000c7e1f9ffe1fe00000000087ffff1e000c7e1f9ffe1fe00000000087ffff1e000c7e1f9ffe1fc00000000087ffff1e1f0c7e1f9ffe1fc000000000c3ffff1e3f8c7e1f1ffc3fc000000000c3ffff1e3f8c7e1f1ffc3fc000000000c3ffff1e3f8c7c3f1ff83fc000000000e1ffe01e3f8c003f3ff87f8000000000e1ffc01e3f08007e3ff07f8000000000e0ffc03e3f0801fc7ff07f8000000000f0ff8ffffffffffc7ff0ff0000000000f0ff8ffffffffff0ffe0ff0000000000f87f8fffffffffe1ffe1ff0000000000f83f8fffffffff83ffc3fe0000000000fc3f8fffffffe007ff83fe0000000000fe1f8001e03c001fff87fc0000000000fe0f8001e03c007fff07fc0000000000ff07c001e03c07fffe0ff80000000000ff83fff9e03c7ffffc1ff80000000000ff83fff9e03c7ffff83ff000000000007fc1fff9e03c7ffff03fe000000000007fe07ff9e03c7fffe07fe000000000003ff03ff9e03c7fffc0ffc000000000001ff81ff9e03c7fff81ff8000000000000ffc0ff9e03c7ffe03ff000000000000',
11376
11380
  },
11377
11381
  reddit: {
@@ -12792,9 +12796,6 @@ class BaseMethod {
12792
12796
  checkSafetyLevelOnTestNet() {
12793
12797
  var _a, _b, _c;
12794
12798
  return __awaiter(this, void 0, void 0, function* () {
12795
- const deviceType = getDeviceType(this.device.features);
12796
- if (deviceType !== 'touch')
12797
- return;
12798
12799
  let checkFlag = false;
12799
12800
  if (this.name === 'evmSignTransaction' &&
12800
12801
  [3, 4, 5, 42].includes(Number((_b = (_a = this.payload) === null || _a === void 0 ? void 0 : _a.transaction) === null || _b === void 0 ? void 0 : _b.chainId))) {
@@ -12985,7 +12986,7 @@ class CheckBootloaderRelease extends BaseMethod {
12985
12986
  const { features } = this.device;
12986
12987
  const deviceType = getDeviceType(features);
12987
12988
  let shouldUpdate = false;
12988
- if (deviceType === 'classic' || deviceType === 'mini') {
12989
+ if (deviceType === 'classic') {
12989
12990
  shouldUpdate = !!checkNeedUpdateBootForClassicAndMini(features, this.payload.willUpdateFirmwareVersion);
12990
12991
  }
12991
12992
  else if (deviceType === 'touch') {
@@ -13599,14 +13600,20 @@ const uploadFirmware = (updateType, typedCall, postMessage, device, { payload })
13599
13600
  postConfirmationMessage(device);
13600
13601
  postProgressTip(device, 'ConfirmOnDevice', postMessage);
13601
13602
  const eraseCommand = updateType === 'firmware' ? 'FirmwareErase' : 'FirmwareErase_ex';
13602
- yield typedCall(eraseCommand, 'Success', {});
13603
+ const eraseRes = yield typedCall(eraseCommand, 'Success', {});
13604
+ if (eraseRes.type !== 'Success') {
13605
+ throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.RuntimeError, 'erase firmware error');
13606
+ }
13603
13607
  postProgressTip(device, 'FirmwareEraseSuccess', postMessage);
13604
13608
  postProgressMessage(device, 0, postMessage);
13605
- const { message } = yield typedCall('FirmwareUpload', 'Success', {
13609
+ const { message, type } = yield typedCall('FirmwareUpload', 'Success', {
13606
13610
  payload,
13607
13611
  });
13608
13612
  postProgressMessage(device, 100, postMessage);
13609
13613
  yield waitBleInstall(updateType);
13614
+ if (type !== 'Success') {
13615
+ throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.RuntimeError, 'install firmware error');
13616
+ }
13610
13617
  return message;
13611
13618
  }
13612
13619
  if (deviceModel === 'model_touch') {
@@ -188,6 +188,10 @@ export declare const getT1Data: () => {
188
188
  name: string;
189
189
  hex: string;
190
190
  };
191
+ multibit: {
192
+ name: string;
193
+ hex: string;
194
+ };
191
195
  reddit: {
192
196
  name: string;
193
197
  hex: string;
@@ -1 +1 @@
1
- {"version":3,"file":"homescreen.d.ts","sourceRoot":"","sources":["../../src/utils/homescreen.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiNpB,CAAC;AAEH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;CAiBvB,CAAC;AAEH,eAAO,MAAM,gBAAgB,eAAgB,WAAW,QAAQ,MAAM,QAIrE,CAAC"}
1
+ {"version":3,"file":"homescreen.d.ts","sourceRoot":"","sources":["../../src/utils/homescreen.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqNpB,CAAC;AAEH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;CAiBvB,CAAC;AAEH,eAAO,MAAM,gBAAgB,eAAgB,WAAW,QAAQ,MAAM,QAIrE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onekeyfe/hd-core",
3
- "version": "0.2.54",
3
+ "version": "0.2.56",
4
4
  "description": "> TODO: description",
5
5
  "author": "OneKey",
6
6
  "homepage": "https://github.com/OneKeyHQ/hardware-js-sdk#readme",
@@ -24,8 +24,8 @@
24
24
  "url": "https://github.com/OneKeyHQ/hardware-js-sdk/issues"
25
25
  },
26
26
  "dependencies": {
27
- "@onekeyfe/hd-shared": "^0.2.54",
28
- "@onekeyfe/hd-transport": "^0.2.54",
27
+ "@onekeyfe/hd-shared": "^0.2.56",
28
+ "@onekeyfe/hd-transport": "^0.2.56",
29
29
  "axios": "^0.27.2",
30
30
  "bignumber.js": "^9.0.2",
31
31
  "bytebuffer": "^5.0.1",
@@ -43,5 +43,5 @@
43
43
  "@types/semver": "^7.3.9",
44
44
  "ripple-keypairs": "^1.1.4"
45
45
  },
46
- "gitHead": "6a241ca2b12d684b9638c808b8c6c822c7f74143"
46
+ "gitHead": "7820d3772fb912a2e2bbcfeee05e0236286507d6"
47
47
  }
@@ -149,8 +149,6 @@ export abstract class BaseMethod<Params = undefined> {
149
149
  * @returns {void}
150
150
  */
151
151
  async checkSafetyLevelOnTestNet() {
152
- const deviceType = getDeviceType(this.device.features);
153
- if (deviceType !== 'touch') return;
154
152
  let checkFlag = false;
155
153
  if (
156
154
  this.name === 'evmSignTransaction' &&
@@ -23,7 +23,7 @@ export default class CheckBootloaderRelease extends BaseMethod {
23
23
  const { features } = this.device;
24
24
  const deviceType = getDeviceType(features);
25
25
  let shouldUpdate = false;
26
- if (deviceType === 'classic' || deviceType === 'mini') {
26
+ if (deviceType === 'classic') {
27
27
  shouldUpdate = !!checkNeedUpdateBootForClassicAndMini(
28
28
  features,
29
29
  this.payload.willUpdateFirmwareVersion
@@ -31,7 +31,7 @@ export function checkNeedUpdateBootForClassicAndMini(
31
31
  willUpdateFirmware: string
32
32
  ) {
33
33
  const deviceType = getDeviceType(features);
34
- if (!(deviceType === 'classic' || deviceType === 'mini')) return false;
34
+ if (deviceType !== 'classic') return false;
35
35
  if (!willUpdateFirmware) return false;
36
36
  const currentVersion = getDeviceFirmwareVersion(features).join('.');
37
37
  const bootloaderVersion = getDeviceBootloaderVersion(features).join('.');
@@ -65,15 +65,21 @@ export const uploadFirmware = async (
65
65
  postConfirmationMessage(device);
66
66
  postProgressTip(device, 'ConfirmOnDevice', postMessage);
67
67
  const eraseCommand = updateType === 'firmware' ? 'FirmwareErase' : 'FirmwareErase_ex';
68
- await typedCall(eraseCommand as unknown as any, 'Success', {});
68
+ const eraseRes = await typedCall(eraseCommand as unknown as any, 'Success', {});
69
+ if (eraseRes.type !== 'Success') {
70
+ throw ERRORS.TypedError(HardwareErrorCode.RuntimeError, 'erase firmware error');
71
+ }
69
72
  postProgressTip(device, 'FirmwareEraseSuccess', postMessage);
70
73
  postProgressMessage(device, 0, postMessage);
71
- const { message } = await typedCall('FirmwareUpload', 'Success', {
74
+ const { message, type } = await typedCall('FirmwareUpload', 'Success', {
72
75
  payload,
73
76
  });
74
77
  postProgressMessage(device, 100, postMessage);
75
78
 
76
79
  await waitBleInstall(updateType);
80
+ if (type !== 'Success') {
81
+ throw ERRORS.TypedError(HardwareErrorCode.RuntimeError, 'install firmware error');
82
+ }
77
83
  return message;
78
84
  }
79
85
 
@@ -184,7 +184,7 @@ export const getFirmwareUpdateField = (features: Features, updateType: 'firmware
184
184
  return 'ble';
185
185
  }
186
186
 
187
- if (deviceType === 'classic' || deviceType === 'mini') {
187
+ if (deviceType === 'classic') {
188
188
  return 'firmware-v2';
189
189
  }
190
190
 
@@ -187,6 +187,10 @@ export const getT1Data = () => ({
187
187
  },
188
188
  decred: {
189
189
  name: 'decred',
190
+ hex: '00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001fffc0007ffffe0000000000000000000fffe0003fffffc0000000000000000007fff0001ffffff0000000000000000003fffc000ffffff8000000000000000001fffe0007fffffc0000000000000000007fff0001ffffff0000000000000000003fff8000ffffff0000000000000000001fffc0007fffff8000000000000000000fffe0003fffffc0000000000000000007fff8001fffffe0000000000000000003fffc000007ffe0000000000000000003fffe000001fff000000000000000000fffff000000fff000000000000000001fffff8000007ff800000000000000003fffffc000003ff80000000000000000ffffffe000001ff80000000000000001fffffff800001ffc0000000000000001fffffffc00000ffc0000000000000003fffffffe00000ffc0000000000000007ffffffff00000ffc0000000000000007ffe0000000000ffc000000000000000fff80000000000ffc000000000000000fff00000000000ffc000000000000001ffe00000000000ffc000000000000001ffc00000000000ffc000000000000001ff800000000001ffc000000000000003ff800000000001ff8000000000000003ff000000000003ff8000000000000003ff000000000007ff8000000000000003ff00000000000fff0000000000000003ff00000000001fff0000000000000003ff00000000007ffe0000000000000003ff00000ffffffffe0000000000000003ff000007fffffffc0000000000000003ff000003fffffff80000000000000003ff800001fffffff80000000000000001ff8000007ffffff00000000000000001ffc000003fffffc00000000000000001ffe000001fffff800000000000000000fff000000fffff000000000000000000fff8000007fffc0000000000000000007ffe000003fffc0000000000000000007fffff8001fffe0000000000000000003fffffc0007fff0000000000000000001fffffe0003fff8000000000000000000ffffff0001fffc000000000000000000ffffff8000fffe0000000000000000003fffffe0007fff8000000000000000001ffffff0003fffc000000000000000000ffffff8000fffe0000000000000000003fffffc0007fff00000000000000000007ffffe0003fff80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000',
191
+ },
192
+ multibit: {
193
+ name: 'multibit',
190
194
  hex: '0ffc07f8e01c7ffe07ff0000000000001ff80ff9e03c7fff83ff8000000000003ff03ff9e03c7fffc0ffc000000000007fe07ff9e03c7fffe0ffc000000000007fc0fff9e03c7ffff07fe00000000000ffc1fff9e03c7ffff83ff00000000000ff83ff81e03c7ffffc1ff00000000000ff07e001e03c17fffe0ff80000000000fe0f0001e03c03ffff0ffc0000000000fe1f0001e03c00ffff87fc0000000000fc1f1fffffff803fff83fe0000000000f83f1ffffffffc0fffc3fe0000000000f87f1fffffffff07ffe1fe0000000000f07f1fffffffffc3ffe1ff0000000000f0ff00fff87fffe3fff0ff0000000000e0ff003fe001fff1fff0ff8000000000e0ff801fe0007ff1fff87f8000000000e1fffe1fe0003ff9fff87f8000000000c3ffff1fe0f81ff8fff87f8000000000c3ffff1fe1fc0ff8fffc3fc000000000c3ffff1fe1fe0ff8fffc3fc00000000087ffff1fe1fe0ff8fffc1fc00000000087ffff1fe1ff0ff8fffe1fc00000000087ffff1fe1fe0ff8fffe1fe00000000087ffff1fe0fc0ff1fffe1fe0000000008fffff1fe0f01ff1fffe1fe0000000000fffff1fe0003fe3fffe1fe0000000000fffff1fe0007fc3ffff0fe0000000000fffff1fe001ff87ffff0fe0000000000fffff1ffffffe07ffff0fe0000000000fffff1ffffffe03ffff0fe0000000000fffff1fffffffe0ffff0fe0000000000fffff1ffffffff87fff0fe0000000000fffff1e3f8c03fc7fff0fe0000000000fffff1e3f0c00fe3fff0fe0000000000fffff1e3f8c007f3fff0fe0000000000fffff1e3f8c003f1fff0fe0000000000fffff1e3f8c7c3f1fff0fe0000000000fffff1e3f8c7e1f9ffe1fe00000000087ffff1e000c7e1f9ffe1fe00000000087ffff1e000c7e1f9ffe1fe00000000087ffff1e000c7e1f9ffe1fc00000000087ffff1e1f0c7e1f9ffe1fc000000000c3ffff1e3f8c7e1f1ffc3fc000000000c3ffff1e3f8c7e1f1ffc3fc000000000c3ffff1e3f8c7c3f1ff83fc000000000e1ffe01e3f8c003f3ff87f8000000000e1ffc01e3f08007e3ff07f8000000000e0ffc03e3f0801fc7ff07f8000000000f0ff8ffffffffffc7ff0ff0000000000f0ff8ffffffffff0ffe0ff0000000000f87f8fffffffffe1ffe1ff0000000000f83f8fffffffff83ffc3fe0000000000fc3f8fffffffe007ff83fe0000000000fe1f8001e03c001fff87fc0000000000fe0f8001e03c007fff07fc0000000000ff07c001e03c07fffe0ff80000000000ff83fff9e03c7ffffc1ff80000000000ff83fff9e03c7ffff83ff000000000007fc1fff9e03c7ffff03fe000000000007fe07ff9e03c7fffe07fe000000000003ff03ff9e03c7fffc0ffc000000000001ff81ff9e03c7fff81ff8000000000000ffc0ff9e03c7ffe03ff000000000000',
191
195
  },
192
196
  reddit: {