@onekeyfe/hd-core 1.1.19-alpha.1 → 1.1.19-alpha.3

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.
Files changed (56) hide show
  1. package/dist/api/FirmwareUpdate.d.ts.map +1 -1
  2. package/dist/api/FirmwareUpdateV2.d.ts.map +1 -1
  3. package/dist/api/btc/helpers/btcParamsUtils.d.ts.map +1 -1
  4. package/dist/api/firmware/FirmwareUpdateBaseMethod.d.ts +4 -4
  5. package/dist/api/firmware/FirmwareUpdateBaseMethod.d.ts.map +1 -1
  6. package/dist/api/firmware/bootloaderHelper.d.ts +1 -1
  7. package/dist/api/firmware/bootloaderHelper.d.ts.map +1 -1
  8. package/dist/api/firmware/updateBootloader.d.ts +1 -1
  9. package/dist/api/firmware/updateBootloader.d.ts.map +1 -1
  10. package/dist/api/firmware/uploadFirmware.d.ts +1 -1
  11. package/dist/api/firmware/uploadFirmware.d.ts.map +1 -1
  12. package/dist/api/polkadot/PolkadotGetAddress.d.ts +2 -2
  13. package/dist/api/polkadot/PolkadotGetAddress.d.ts.map +1 -1
  14. package/dist/api/polkadot/PolkadotSignTransaction.d.ts +1 -1
  15. package/dist/api/polkadot/PolkadotSignTransaction.d.ts.map +1 -1
  16. package/dist/api/polkadot/networks.d.ts +7 -1
  17. package/dist/api/polkadot/networks.d.ts.map +1 -1
  18. package/dist/api/tron/TronGetAddress.d.ts +2 -2
  19. package/dist/api/tron/TronGetAddress.d.ts.map +1 -1
  20. package/dist/api/tron/TronSignMessage.d.ts +4 -1
  21. package/dist/api/tron/TronSignMessage.d.ts.map +1 -1
  22. package/dist/api/tron/TronSignTransaction.d.ts +3 -3
  23. package/dist/api/tron/TronSignTransaction.d.ts.map +1 -1
  24. package/dist/api/xrp/XrpGetAddress.d.ts.map +1 -1
  25. package/dist/core/index.d.ts +3 -3
  26. package/dist/core/index.d.ts.map +1 -1
  27. package/dist/device/DeviceCommands.d.ts +6 -6
  28. package/dist/device/DeviceCommands.d.ts.map +1 -1
  29. package/dist/index.d.ts +3 -2
  30. package/dist/index.js +116 -54
  31. package/dist/types/api/polkadotSignTransaction.d.ts +2 -1
  32. package/dist/types/api/polkadotSignTransaction.d.ts.map +1 -1
  33. package/dist/utils/logger.d.ts +1 -1
  34. package/dist/utils/logger.d.ts.map +1 -1
  35. package/dist/utils/tracing.d.ts.map +1 -1
  36. package/package.json +6 -8
  37. package/src/api/FirmwareUpdate.ts +2 -1
  38. package/src/api/FirmwareUpdateV2.ts +2 -1
  39. package/src/api/btc/helpers/btcParamsUtils.ts +1 -0
  40. package/src/api/firmware/FirmwareUpdateBaseMethod.ts +16 -18
  41. package/src/api/firmware/bootloaderHelper.ts +3 -1
  42. package/src/api/firmware/updateBootloader.ts +6 -3
  43. package/src/api/firmware/uploadFirmware.ts +65 -35
  44. package/src/api/polkadot/PolkadotGetAddress.ts +5 -5
  45. package/src/api/polkadot/PolkadotSignTransaction.ts +8 -5
  46. package/src/api/polkadot/networks.ts +16 -0
  47. package/src/api/tron/TronGetAddress.ts +3 -2
  48. package/src/api/tron/TronSignMessage.ts +7 -4
  49. package/src/api/tron/TronSignTransaction.ts +14 -3
  50. package/src/api/xrp/XrpGetAddress.ts +0 -19
  51. package/src/core/index.ts +30 -23
  52. package/src/data/messages/messages.json +4 -0
  53. package/src/device/DeviceCommands.ts +14 -6
  54. package/src/types/api/polkadotSignTransaction.ts +2 -1
  55. package/src/utils/logger.ts +3 -2
  56. package/src/utils/tracing.ts +47 -60
package/dist/index.js CHANGED
@@ -14,7 +14,6 @@ var blake2s = require('@noble/hashes/blake2s');
14
14
  var sha256 = require('@noble/hashes/sha256');
15
15
  var JSZip = require('jszip');
16
16
  var sha3 = require('@noble/hashes/sha3');
17
- var rippleKeypairs = require('ripple-keypairs');
18
17
  var blake2b = require('@noble/hashes/blake2b');
19
18
  var buffer = require('buffer');
20
19
 
@@ -11099,6 +11098,10 @@ var nested$1 = {
11099
11098
  rule: "required",
11100
11099
  type: "string",
11101
11100
  id: 3
11101
+ },
11102
+ prefix: {
11103
+ type: "uint32",
11104
+ id: 4
11102
11105
  }
11103
11106
  }
11104
11107
  },
@@ -26749,7 +26752,12 @@ class DeviceCommands {
26749
26752
  const promise = this.transport.call(this.mainId, type, msg);
26750
26753
  this.callPromise = promise;
26751
26754
  const res = yield promise;
26752
- LogCore.debug('[DeviceCommands] [call] Received', res.type);
26755
+ if (res.type === 'Failure') {
26756
+ LogCore.debug('[DeviceCommands] [call] Received', res.type, res.message);
26757
+ }
26758
+ else {
26759
+ LogCore.debug('[DeviceCommands] [call] Received', res.type);
26760
+ }
26753
26761
  return res;
26754
26762
  }
26755
26763
  catch (error) {
@@ -26885,12 +26893,15 @@ class DeviceCommands {
26885
26893
  (message === null || message === void 0 ? void 0 : message.includes('verify failed'))) {
26886
26894
  error = hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.FirmwareVerificationFailed, message);
26887
26895
  }
26896
+ else if (message === null || message === void 0 ? void 0 : message.includes('Firmware downgrade not allowed')) {
26897
+ error = hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.FirmwareDowngradeNotAllowed, message);
26898
+ }
26888
26899
  }
26889
26900
  if (code === 'Failure_UnexpectedMessage') {
26890
26901
  if (callType === 'PassphraseAck') {
26891
26902
  error = hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.UnexpectPassphrase);
26892
26903
  }
26893
- if (message === 'Not in Signing mode') {
26904
+ else if (message === 'Not in Signing mode') {
26894
26905
  error = hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.NotInSigningMode);
26895
26906
  }
26896
26907
  }
@@ -28905,33 +28916,48 @@ const waitBleInstall = (updateType) => __awaiter(void 0, void 0, void 0, functio
28905
28916
  yield wait(10 * 1000);
28906
28917
  }
28907
28918
  });
28908
- const uploadFirmware = (updateType, typedCall, postMessage, device, { payload, rebootOnSuccess, }) => __awaiter(void 0, void 0, void 0, function* () {
28919
+ const uploadFirmware = (updateType, typedCall, postMessage, device, { payload, rebootOnSuccess, }, isUpdateBootloader) => __awaiter(void 0, void 0, void 0, function* () {
28909
28920
  var _a, _b;
28910
28921
  const deviceType = getDeviceType(device.features);
28911
28922
  if (DeviceModelToTypes.model_mini.includes(deviceType)) {
28912
28923
  postConfirmationMessage(device);
28913
28924
  postProgressTip(device, 'ConfirmOnDevice', postMessage);
28914
28925
  const isFirmware = updateType === 'firmware';
28915
- const deviceBootloaderVersion = getDeviceBootloaderVersion(device.features).join('.');
28916
- const supportUpgradeFileHeader = semver__default["default"].gt(deviceBootloaderVersion, '2.1.0');
28917
- Log$8.debug('supportUpgradeFileHeader:', supportUpgradeFileHeader, 'deviceBootloaderVersion:', deviceBootloaderVersion);
28918
- if (isFirmware && supportUpgradeFileHeader) {
28919
- const HEADER_SIZE = 1024;
28920
- if (payload.byteLength < HEADER_SIZE) {
28921
- throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.RuntimeError, `firmware payload too small: ${payload.byteLength} bytes, expected at least ${HEADER_SIZE} bytes`);
28922
- }
28923
- Log$8.debug('Uploading firmware header:', { size: HEADER_SIZE, totalSize: payload.byteLength });
28924
- postProgressTip(device, 'UploadingFirmwareHeader', postMessage);
28925
- const header = new Uint8Array(payload.slice(0, HEADER_SIZE));
28926
- const headerRes = (yield typedCall('UpgradeFileHeader', 'Success', {
28927
- data: bytesToHex(header),
28928
- }));
28929
- const isUnexpectedMessage = (_b = (_a = headerRes.message) === null || _a === void 0 ? void 0 : _a.message) === null || _b === void 0 ? void 0 : _b.includes('Failure_UnexpectedMessage');
28930
- if (headerRes.type !== 'Success' && !isUnexpectedMessage) {
28931
- Log$8.error('Firmware header upload failed:', headerRes);
28932
- throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.RuntimeError, 'failed to upload firmware header');
28926
+ if (isFirmware && !isUpdateBootloader) {
28927
+ const newFeatures = yield typedCall('GetFeatures', 'Features', {});
28928
+ const deviceBootloaderVersion = getDeviceBootloaderVersion(newFeatures.message).join('.');
28929
+ const supportUpgradeFileHeader = semver__default["default"].gte(deviceBootloaderVersion, '2.1.0');
28930
+ Log$8.debug('supportUpgradeFileHeader:', supportUpgradeFileHeader);
28931
+ if (supportUpgradeFileHeader) {
28932
+ const HEADER_SIZE = 1024;
28933
+ if (payload.byteLength < HEADER_SIZE) {
28934
+ throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.RuntimeError, `firmware payload too small: ${payload.byteLength} bytes, expected at least ${HEADER_SIZE} bytes`);
28935
+ }
28936
+ Log$8.debug('Uploading firmware header:', {
28937
+ size: HEADER_SIZE,
28938
+ totalSize: payload.byteLength,
28939
+ });
28940
+ postProgressTip(device, 'UploadingFirmwareHeader', postMessage);
28941
+ const header = new Uint8Array(payload.slice(0, HEADER_SIZE));
28942
+ try {
28943
+ const headerRes = yield typedCall('UpgradeFileHeader', 'Success', {
28944
+ data: bytesToHex(header),
28945
+ });
28946
+ const isUnknownMessage = (_b = (_a = headerRes.message) === null || _a === void 0 ? void 0 : _a.message) === null || _b === void 0 ? void 0 : _b.includes('Failure_UnknownMessage');
28947
+ if (headerRes.type !== 'Success' && !isUnknownMessage) {
28948
+ Log$8.error('Firmware header upload failed:', headerRes);
28949
+ throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.RuntimeError, 'failed to upload firmware header');
28950
+ }
28951
+ }
28952
+ catch (error) {
28953
+ Log$8.error('Firmware header upload failed:', error);
28954
+ const message = error instanceof Error ? error.message : String(error !== null && error !== void 0 ? error : '');
28955
+ if (!message.includes('Failure_UnknownMessage')) {
28956
+ throw error;
28957
+ }
28958
+ }
28959
+ Log$8.debug('Firmware header uploaded successfully');
28933
28960
  }
28934
- Log$8.debug('Firmware header uploaded successfully, isUnexpectedMessage:', isUnexpectedMessage);
28935
28961
  }
28936
28962
  const eraseCommand = isFirmware ? 'FirmwareErase' : 'FirmwareErase_ex';
28937
28963
  const eraseRes = yield typedCall(eraseCommand, 'Success', {});
@@ -28940,15 +28966,30 @@ const uploadFirmware = (updateType, typedCall, postMessage, device, { payload, r
28940
28966
  }
28941
28967
  postProgressTip(device, 'FirmwareEraseSuccess', postMessage);
28942
28968
  postProgressMessage(device, 0, 'installingFirmware', postMessage);
28943
- const { message, type } = yield typedCall('FirmwareUpload', 'Success', {
28944
- payload,
28945
- });
28969
+ let updateResponse;
28970
+ try {
28971
+ updateResponse = yield typedCall('FirmwareUpload', 'Success', {
28972
+ payload,
28973
+ });
28974
+ }
28975
+ catch (error) {
28976
+ if (isDeviceDisconnectedError$1(error)) {
28977
+ Log$8.log('Rebooting device');
28978
+ updateResponse = {
28979
+ type: 'Success',
28980
+ message: { message: FIRMWARE_UPDATE_CONFIRM$1 },
28981
+ };
28982
+ }
28983
+ else {
28984
+ throw error;
28985
+ }
28986
+ }
28946
28987
  postProgressMessage(device, 100, 'installingFirmware', postMessage);
28947
28988
  yield waitBleInstall(updateType);
28948
- if (type !== 'Success') {
28989
+ if (updateResponse.type !== 'Success') {
28949
28990
  throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.RuntimeError, 'install firmware error');
28950
28991
  }
28951
- return message;
28992
+ return updateResponse.message;
28952
28993
  }
28953
28994
  if (DeviceModelToTypes.model_touch.includes(deviceType)) {
28954
28995
  if (device.features) {
@@ -29431,9 +29472,9 @@ class FirmwareUpdateBaseMethod extends BaseMethod {
29431
29472
  startEmmcFirmwareUpdate({ path }) {
29432
29473
  return __awaiter(this, void 0, void 0, function* () {
29433
29474
  const typedCall = this.device.getCommands().typedCall.bind(this.device.getCommands());
29434
- let updaeteResponse;
29475
+ let updateResponse;
29435
29476
  try {
29436
- updaeteResponse = yield typedCall('FirmwareUpdateEmmc', 'Success', {
29477
+ updateResponse = yield typedCall('FirmwareUpdateEmmc', 'Success', {
29437
29478
  path,
29438
29479
  reboot_on_success: true,
29439
29480
  });
@@ -29441,7 +29482,7 @@ class FirmwareUpdateBaseMethod extends BaseMethod {
29441
29482
  catch (error) {
29442
29483
  if (isDeviceDisconnectedError(error)) {
29443
29484
  Log$7.log('Rebooting device');
29444
- updaeteResponse = {
29485
+ updateResponse = {
29445
29486
  type: 'Success',
29446
29487
  message: { message: FIRMWARE_UPDATE_CONFIRM },
29447
29488
  };
@@ -29450,7 +29491,7 @@ class FirmwareUpdateBaseMethod extends BaseMethod {
29450
29491
  throw error;
29451
29492
  }
29452
29493
  }
29453
- if (updaeteResponse.type !== 'Success') {
29494
+ if (updateResponse.type !== 'Success') {
29454
29495
  throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.FirmwareError, 'firmware update error');
29455
29496
  }
29456
29497
  this.postTipMessage(exports.FirmwareUpdateTipMessage.FirmwareUpdating);
@@ -29842,7 +29883,7 @@ class FirmwareUpdate extends BaseMethod {
29842
29883
  throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.FirmwareUpdateDownloadFailed, (_b = err.message) !== null && _b !== void 0 ? _b : err);
29843
29884
  }
29844
29885
  yield this.device.acquire();
29845
- const response = yield uploadFirmware(params.updateType, this.device.getCommands().typedCall.bind(this.device.getCommands()), this.postMessage, device, { payload: binary, rebootOnSuccess: this.payload.rebootOnSuccess });
29886
+ const response = yield uploadFirmware(params.updateType, this.device.getCommands().typedCall.bind(this.device.getCommands()), this.postMessage, device, { payload: binary, rebootOnSuccess: this.payload.rebootOnSuccess }, false);
29846
29887
  if (this.connectId) {
29847
29888
  DevicePool.clearDeviceCache(this.connectId);
29848
29889
  }
@@ -30114,7 +30155,7 @@ class FirmwareUpdateV2 extends BaseMethod {
30114
30155
  }
30115
30156
  (_j = (_h = this.device) === null || _h === void 0 ? void 0 : _h.commands) === null || _j === void 0 ? void 0 : _j.checkDisposed();
30116
30157
  yield this.device.acquire();
30117
- const response = yield uploadFirmware(params.updateType, this.device.getCommands().typedCall.bind(this.device.getCommands()), this.postMessage, device, { payload: binary, rebootOnSuccess: true });
30158
+ const response = yield uploadFirmware(params.updateType, this.device.getCommands().typedCall.bind(this.device.getCommands()), this.postMessage, device, { payload: binary, rebootOnSuccess: true }, params.isUpdateBootloader);
30118
30159
  if (this.connectId) {
30119
30160
  DevicePool.clearDeviceCache(this.connectId);
30120
30161
  }
@@ -34447,6 +34488,9 @@ class TronSignMessage extends BaseMethod {
34447
34488
  pro: {
34448
34489
  min: '4.16.0',
34449
34490
  },
34491
+ touch: {
34492
+ min: '4.12.0',
34493
+ },
34450
34494
  classic1s: {
34451
34495
  min: '3.13.0',
34452
34496
  },
@@ -34593,6 +34637,9 @@ class TronSignTransaction extends BaseMethod {
34593
34637
  pro: {
34594
34638
  min: '4.13.0',
34595
34639
  },
34640
+ touch: {
34641
+ min: '4.12.0',
34642
+ },
34596
34643
  model_classic1s: {
34597
34644
  min: '3.12.0',
34598
34645
  },
@@ -34608,6 +34655,12 @@ class TronSignTransaction extends BaseMethod {
34608
34655
  pro: {
34609
34656
  min: '4.15.0',
34610
34657
  },
34658
+ touch: {
34659
+ min: '4.12.0',
34660
+ },
34661
+ model_classic1s: {
34662
+ min: '3.13.0',
34663
+ },
34611
34664
  };
34612
34665
  }
34613
34666
  checkSupportDelegateContractLockPeriod() {
@@ -35302,21 +35355,8 @@ class XrpGetAddress$1 extends BaseMethod {
35302
35355
  };
35303
35356
  }
35304
35357
  run() {
35305
- var _a, _b, _c, _d, _e;
35358
+ var _a, _b, _c, _d;
35306
35359
  return __awaiter(this, void 0, void 0, function* () {
35307
- if (this.hasBundle && supportBatchPublicKey((_a = this.device) === null || _a === void 0 ? void 0 : _a.features) && !this.shouldConfirm) {
35308
- const res = yield batchGetPublickeys(this.device, this.params, 'secp256k1', 144);
35309
- const result = res.public_keys.map((publicKey, index) => ({
35310
- path: serializedPath(this.params[index].address_n),
35311
- address: rippleKeypairs.deriveAddress(publicKey),
35312
- publicKey,
35313
- pub: publicKey,
35314
- }));
35315
- validateResult(result, ['address', 'publicKey'], {
35316
- expectedLength: this.params.length,
35317
- });
35318
- return Promise.resolve(result);
35319
- }
35320
35360
  const responses = [];
35321
35361
  for (let i = 0; i < this.params.length; i++) {
35322
35362
  const param = this.params[i];
@@ -35330,8 +35370,8 @@ class XrpGetAddress$1 extends BaseMethod {
35330
35370
  responses.push({
35331
35371
  path,
35332
35372
  address,
35333
- publicKey: (_c = (_b = publicKey.message) === null || _b === void 0 ? void 0 : _b.public_keys) === null || _c === void 0 ? void 0 : _c[0],
35334
- pub: (_e = (_d = publicKey.message) === null || _d === void 0 ? void 0 : _d.public_keys) === null || _e === void 0 ? void 0 : _e[0],
35373
+ publicKey: (_b = (_a = publicKey.message) === null || _a === void 0 ? void 0 : _a.public_keys) === null || _b === void 0 ? void 0 : _b[0],
35374
+ pub: (_d = (_c = publicKey.message) === null || _c === void 0 ? void 0 : _c.public_keys) === null || _d === void 0 ? void 0 : _d[0],
35335
35375
  });
35336
35376
  this.postPreviousAddressMessage({
35337
35377
  path,
@@ -36814,6 +36854,11 @@ var Networks;
36814
36854
  Networks["Astar"] = "astar";
36815
36855
  Networks["JoyStream"] = "joystream";
36816
36856
  Networks["Manta"] = "manta";
36857
+ Networks["Hydration"] = "hydration";
36858
+ Networks["Bifrost"] = "bifrost";
36859
+ Networks["BifrostKusama"] = "bifrost-ksm";
36860
+ Networks["PolkadotAssetHub"] = "polkadot-assethub";
36861
+ Networks["KusamaAssetHub"] = "kusama-assethub";
36817
36862
  })(Networks || (Networks = {}));
36818
36863
  const baseVersionRange = {
36819
36864
  model_mini: {
@@ -36854,6 +36899,16 @@ function getPolkadotVersionRangeWithBundle(networks) {
36854
36899
  }
36855
36900
  return baseVersionRange;
36856
36901
  }
36902
+ function parseNetwork(network) {
36903
+ switch (network) {
36904
+ case Networks.PolkadotAssetHub:
36905
+ return Networks.Polkadot;
36906
+ case Networks.KusamaAssetHub:
36907
+ return Networks.Kusama;
36908
+ default:
36909
+ return network;
36910
+ }
36911
+ }
36857
36912
 
36858
36913
  class PolkadotGetAddress extends BaseMethod {
36859
36914
  constructor() {
@@ -36882,7 +36937,7 @@ class PolkadotGetAddress extends BaseMethod {
36882
36937
  this.params.push({
36883
36938
  address_n: addressN,
36884
36939
  prefix,
36885
- network,
36940
+ network: parseNetwork(network),
36886
36941
  show_display: showOnOneKey,
36887
36942
  });
36888
36943
  });
@@ -36929,13 +36984,15 @@ class PolkadotSignTransaction extends BaseMethod {
36929
36984
  validateParams(this.payload, [
36930
36985
  { name: 'path', required: true },
36931
36986
  { name: 'network', required: true },
36987
+ { name: 'prefix' },
36932
36988
  { name: 'rawTx', type: 'hexString', required: true },
36933
36989
  ]);
36934
- const { path, rawTx, network } = this.payload;
36990
+ const { path, rawTx, network, prefix } = this.payload;
36935
36991
  const addressN = validatePath(path, 3);
36936
36992
  this.params = {
36937
36993
  address_n: addressN,
36938
- network,
36994
+ network: parseNetwork(network),
36995
+ prefix,
36939
36996
  raw_tx: formatAnyHex(rawTx),
36940
36997
  };
36941
36998
  }
@@ -39854,7 +39911,9 @@ const onCallDevice = (context, message, method) => __awaiter(void 0, void 0, voi
39854
39911
  pinListeners: device.listenerCount(DEVICE.PIN),
39855
39912
  });
39856
39913
  }
39857
- removeDeviceListener(device);
39914
+ else {
39915
+ removeDeviceListener(device);
39916
+ }
39858
39917
  }
39859
39918
  }
39860
39919
  });
@@ -40238,6 +40297,9 @@ const onSelectDeviceInBootloaderForWebDeviceHandler = (...[device, callback]) =>
40238
40297
  callback(null, uiResp.payload.deviceId);
40239
40298
  });
40240
40299
  const postMessage = (message) => {
40300
+ if (!_core) {
40301
+ return;
40302
+ }
40241
40303
  _core.emit(CORE_EVENT, message);
40242
40304
  };
40243
40305
  const createUiPromise = (promiseEvent, device) => {
@@ -1,4 +1,4 @@
1
- import { PolkadotSignedTx as HardwarePolkadotSignedTx } from '@onekeyfe/hd-transport';
1
+ import type { PolkadotSignedTx as HardwarePolkadotSignedTx } from '@onekeyfe/hd-transport';
2
2
  import type { CommonParams, Response } from '../params';
3
3
  export type PolkadotSignedTx = {
4
4
  path: string;
@@ -6,6 +6,7 @@ export type PolkadotSignedTx = {
6
6
  export type PolkadotSignTransactionParams = {
7
7
  path: string | number[];
8
8
  network: string;
9
+ prefix: number;
9
10
  rawTx?: string;
10
11
  };
11
12
  export declare function polkadotSignTransaction(connectId: string, deviceId: string, params: CommonParams & PolkadotSignTransactionParams): Response<PolkadotSignedTx>;
@@ -1 +1 @@
1
- {"version":3,"file":"polkadotSignTransaction.d.ts","sourceRoot":"","sources":["../../../src/types/api/polkadotSignTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,IAAI,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AACtF,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAExD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;CACd,GAAG,wBAAwB,CAAC;AAE7B,MAAM,MAAM,6BAA6B,GAAG;IAC1C,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,uBAAuB,CAC7C,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,YAAY,GAAG,6BAA6B,GACnD,QAAQ,CAAC,gBAAgB,CAAC,CAAC"}
1
+ {"version":3,"file":"polkadotSignTransaction.d.ts","sourceRoot":"","sources":["../../../src/types/api/polkadotSignTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,IAAI,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAC3F,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAExD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;CACd,GAAG,wBAAwB,CAAC;AAE7B,MAAM,MAAM,6BAA6B,GAAG;IAC1C,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,uBAAuB,CAC7C,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,YAAY,GAAG,6BAA6B,GACnD,QAAQ,CAAC,gBAAgB,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
- import { CoreMessage } from '../events';
1
+ import type { CoreMessage } from '../events';
2
2
  type LogMessage = {
3
3
  level: string;
4
4
  prefix: string;
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAGxC,KAAK,UAAU,GAAG;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,GAAG,EAAE,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAMF,cAAM,GAAG;IACP,MAAM,EAAE,MAAM,CAAC;IAEf,OAAO,EAAE,OAAO,CAAC;IAEjB,QAAQ,EAAE,UAAU,EAAE,CAAC;gBAEX,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO;IAM5C,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE;IAYxD,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE;IASlB,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE;IASpB,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE;IASnB,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE;CAQrB;AAID,eAAO,MAAM,OAAO,WAAY,MAAM,YAAY,OAAO,QAIxD,CAAC;AAEF,eAAO,MAAM,SAAS,aAAc,OAAO,SAI1C,CAAC;AAEF,eAAO,MAAM,iBAAiB,WAAY,MAAM,WAAW,OAAO,SAIjE,CAAC;AAEF,eAAO,MAAM,MAAM,oBAOlB,CAAC;AAEF,eAAO,MAAM,oBAAoB,4BAA6B,WAAW,KAAK,IAAI,SAEjF,CAAC;AAuCF,oBAAY,WAAW;IACrB,IAAI,oBAAoB;IACxB,SAAS,cAAc;IACvB,MAAM,WAAW;IACjB,cAAc,mBAAmB;IACjC,eAAe,oBAAoB;IACnC,UAAU,eAAe;IACzB,UAAU,eAAe;IACzB,kBAAkB,+BAA+B;IACjD,QAAQ,uBAAuB;IAC/B,eAAe,8BAA8B;IAC7C,mBAAmB,kCAAkC;IACrD,cAAc,6BAA6B;IAC3C,iBAAiB,iCAAiC;IAClD,iBAAiB,gCAAgC;IACjD,OAAO,oBAAoB;IAC3B,MAAM,WAAW;IACjB,WAAW,kBAAkB;IAC7B,MAAM,aAAa;CACpB;AAED,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;CAmBrB,CAAC;AAEF,eAAO,MAAM,SAAS,QAAS,WAAW,QAAmB,CAAC"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE7C,KAAK,UAAU,GAAG;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,GAAG,EAAE,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAMF,cAAM,GAAG;IACP,MAAM,EAAE,MAAM,CAAC;IAEf,OAAO,EAAE,OAAO,CAAC;IAEjB,QAAQ,EAAE,UAAU,EAAE,CAAC;gBAEX,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO;IAM5C,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE;IAYxD,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE;IASlB,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE;IASpB,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE;IASnB,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE;CAQrB;AAID,eAAO,MAAM,OAAO,WAAY,MAAM,YAAY,OAAO,QAIxD,CAAC;AAEF,eAAO,MAAM,SAAS,aAAc,OAAO,SAI1C,CAAC;AAEF,eAAO,MAAM,iBAAiB,WAAY,MAAM,WAAW,OAAO,SAIjE,CAAC;AAEF,eAAO,MAAM,MAAM,oBAOlB,CAAC;AAEF,eAAO,MAAM,oBAAoB,4BAA6B,WAAW,KAAK,IAAI,SAEjF,CAAC;AAuCF,oBAAY,WAAW;IACrB,IAAI,oBAAoB;IACxB,SAAS,cAAc;IACvB,MAAM,WAAW;IACjB,cAAc,mBAAmB;IACjC,eAAe,oBAAoB;IACnC,UAAU,eAAe;IACzB,UAAU,eAAe;IACzB,kBAAkB,+BAA+B;IACjD,QAAQ,uBAAuB;IAC/B,eAAe,8BAA8B;IAC7C,mBAAmB,kCAAkC;IACrD,cAAc,6BAA6B;IAC3C,iBAAiB,iCAAiC;IAClD,iBAAiB,gCAAgC;IACjD,OAAO,oBAAoB;IAC3B,MAAM,WAAW;IACjB,WAAW,kBAAkB;IAC7B,MAAM,aAAa;CACpB;AAED,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;CAmBrB,CAAC;AAEF,eAAO,MAAM,SAAS,QAAS,WAAW,QAAmB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"tracing.d.ts","sourceRoot":"","sources":["../../src/utils/tracing.ts"],"names":[],"mappings":"AAuBA,wBAAgB,qBAAqB,IAAI,MAAM,CAI9C;AASD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAK/E;AASD,MAAM,WAAW,cAAc;IAE7B,UAAU,EAAE,MAAM,CAAC;IAEnB,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,UAAU,EAAE,MAAM,CAAC;IAEnB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,SAAS,EAAE,MAAM,CAAC;IAElB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,MAAM,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,WAAW,CAAC;IAEnE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAKD,MAAM,WAAW,iBAAiB;IAEhC,aAAa,EAAE,MAAM,CAAC;IAEtB,SAAS,EAAE,MAAM,CAAC;IAElB,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;CAC7C;AAWD,wBAAgB,uBAAuB,IAAI,iBAAiB,CAW3D;AAQD,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE;IACR,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,GACA,cAAc,CAyBhB;AAKD,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI,CAK/F;AAKD,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,CAwB9E;AASD,wBAAgB,iCAAiC,CAAC,gBAAgB,EAAE,MAAM,GAAG,cAAc,EAAE,CAI5F;AASD,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,CAmBpE;AASD,wBAAgB,kBAAkB,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAW9D"}
1
+ {"version":3,"file":"tracing.d.ts","sourceRoot":"","sources":["../../src/utils/tracing.ts"],"names":[],"mappings":"AAmBA,wBAAgB,qBAAqB,IAAI,MAAM,CAI9C;AASD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAK/E;AAOD,MAAM,WAAW,cAAc;IAE7B,UAAU,EAAE,MAAM,CAAC;IAEnB,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,UAAU,EAAE,MAAM,CAAC;IAEnB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,SAAS,EAAE,MAAM,CAAC;IAElB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,MAAM,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,WAAW,CAAC;IAEnE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAKD,MAAM,WAAW,iBAAiB;IAEhC,aAAa,EAAE,MAAM,CAAC;IAEtB,SAAS,EAAE,MAAM,CAAC;IAElB,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;CAC7C;AAWD,wBAAgB,uBAAuB,IAAI,iBAAiB,CAW3D;AAQD,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE;IACR,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,GACA,cAAc,CAyBhB;AAKD,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI,CAK/F;AAKD,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,CAuB9E;AAOD,wBAAgB,iCAAiC,CAAC,gBAAgB,EAAE,MAAM,GAAG,cAAc,EAAE,CAI5F;AAOD,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,CAmBpE;AAOD,wBAAgB,kBAAkB,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAW9D"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onekeyfe/hd-core",
3
- "version": "1.1.19-alpha.1",
3
+ "version": "1.1.19-alpha.3",
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.1",
29
- "@onekeyfe/hd-transport": "1.1.19-alpha.1",
28
+ "@onekeyfe/hd-shared": "1.1.19-alpha.3",
29
+ "@onekeyfe/hd-transport": "1.1.19-alpha.3",
30
30
  "axios": "1.12.2",
31
31
  "bignumber.js": "^9.0.2",
32
32
  "bytebuffer": "^5.0.1",
@@ -35,16 +35,14 @@
35
35
  "semver": "^7.3.7"
36
36
  },
37
37
  "peerDependencies": {
38
- "@noble/hashes": "^1.1.3",
39
- "ripple-keypairs": "^1.3.1"
38
+ "@noble/hashes": "^1.1.3"
40
39
  },
41
40
  "devDependencies": {
42
41
  "@noble/hashes": "^1.1.3",
43
42
  "@types/parse-uri": "^1.0.0",
44
43
  "@types/semver": "^7.3.9",
45
44
  "@types/w3c-web-usb": "^1.0.10",
46
- "@types/web-bluetooth": "^0.0.21",
47
- "ripple-keypairs": "^1.3.1"
45
+ "@types/web-bluetooth": "^0.0.21"
48
46
  },
49
- "gitHead": "cc93ea24ebfc9b4c3c0d71fd53bcfa3c2c304153"
47
+ "gitHead": "9039715c7d1ec7ebaf71ec8e22737f3f2b013ca5"
50
48
  }
@@ -206,7 +206,8 @@ export default class FirmwareUpdate extends BaseMethod<Params> {
206
206
  this.device.getCommands().typedCall.bind(this.device.getCommands()),
207
207
  this.postMessage,
208
208
  device,
209
- { payload: binary, rebootOnSuccess: this.payload.rebootOnSuccess }
209
+ { payload: binary, rebootOnSuccess: this.payload.rebootOnSuccess },
210
+ false
210
211
  );
211
212
 
212
213
  if (this.connectId) {
@@ -395,7 +395,8 @@ export default class FirmwareUpdateV2 extends BaseMethod<Params> {
395
395
  this.device.getCommands().typedCall.bind(this.device.getCommands()),
396
396
  this.postMessage,
397
397
  device,
398
- { payload: binary, rebootOnSuccess: true }
398
+ { payload: binary, rebootOnSuccess: true },
399
+ params.isUpdateBootloader
399
400
  );
400
401
 
401
402
  if (this.connectId) {
@@ -1,4 +1,5 @@
1
1
  import { ERRORS, HardwareErrorCode } from '@onekeyfe/hd-shared';
2
+
2
3
  import { getScriptType, isMultisigPath, fromHardened } from '../../helpers/pathUtils';
3
4
  import bitcoin from '../../../data/coins/bitcoin.json';
4
5
 
@@ -1,29 +1,27 @@
1
1
  import {
2
- createDeferred,
3
- Deferred,
4
2
  EDeviceType,
5
3
  ERRORS,
6
4
  HardwareError,
7
5
  HardwareErrorCode,
6
+ createDeferred,
8
7
  } from '@onekeyfe/hd-shared';
9
- import { RebootType } from '@onekeyfe/hd-transport';
10
- import type { KnownDevice } from '../../types';
11
8
 
12
- import {
13
- UI_REQUEST,
14
- createUiMessage,
15
- FirmwareUpdateTipMessage,
16
- IFirmwareUpdateTipMessage,
17
- IFirmwareUpdateProgressType,
18
- } from '../../events/ui-request';
9
+ import { FirmwareUpdateTipMessage, UI_REQUEST, createUiMessage } from '../../events/ui-request';
19
10
  import { DevicePool } from '../../device/DevicePool';
20
- import { getDeviceType, wait, getLogger, LoggerNames, getDeviceUUID } from '../../utils';
11
+ import { LoggerNames, getDeviceType, getDeviceUUID, getLogger, wait } from '../../utils';
21
12
  import { DeviceModelToTypes } from '../../types';
22
13
  import { DataManager } from '../../data-manager';
23
-
24
14
  import { BaseMethod } from '../BaseMethod';
25
15
  import { DEVICE } from '../../events';
26
- import { PROTO } from '../../constants';
16
+
17
+ import type {
18
+ IFirmwareUpdateProgressType,
19
+ IFirmwareUpdateTipMessage,
20
+ } from '../../events/ui-request';
21
+ import type { PROTO } from '../../constants';
22
+ import type { RebootType } from '@onekeyfe/hd-transport';
23
+ import type { Deferred } from '@onekeyfe/hd-shared';
24
+ import type { KnownDevice } from '../../types';
27
25
  import type { TypedResponseMessage } from '../../device/DeviceCommands';
28
26
 
29
27
  const Log = getLogger(LoggerNames.Method);
@@ -266,16 +264,16 @@ export class FirmwareUpdateBaseMethod<Params> extends BaseMethod<Params> {
266
264
  */
267
265
  async startEmmcFirmwareUpdate({ path }: { path: string }) {
268
266
  const typedCall = this.device.getCommands().typedCall.bind(this.device.getCommands());
269
- let updaeteResponse: TypedResponseMessage<'Success'>;
267
+ let updateResponse: TypedResponseMessage<'Success'>;
270
268
  try {
271
- updaeteResponse = await typedCall('FirmwareUpdateEmmc', 'Success', {
269
+ updateResponse = await typedCall('FirmwareUpdateEmmc', 'Success', {
272
270
  path,
273
271
  reboot_on_success: true,
274
272
  });
275
273
  } catch (error) {
276
274
  if (isDeviceDisconnectedError(error)) {
277
275
  Log.log('Rebooting device');
278
- updaeteResponse = {
276
+ updateResponse = {
279
277
  type: 'Success',
280
278
  message: { message: FIRMWARE_UPDATE_CONFIRM },
281
279
  };
@@ -283,7 +281,7 @@ export class FirmwareUpdateBaseMethod<Params> extends BaseMethod<Params> {
283
281
  throw error;
284
282
  }
285
283
  }
286
- if (updaeteResponse.type !== 'Success') {
284
+ if (updateResponse.type !== 'Success') {
287
285
  throw ERRORS.TypedError(HardwareErrorCode.FirmwareError, 'firmware update error');
288
286
  }
289
287
  this.postTipMessage(FirmwareUpdateTipMessage.FirmwareUpdating);
@@ -1,8 +1,10 @@
1
1
  import semver from 'semver';
2
2
  import { EDeviceType } from '@onekeyfe/hd-shared';
3
- import { Features, IVersionArray } from '../../types';
3
+
4
4
  import { getDeviceType } from '../../utils';
5
5
 
6
+ import type { Features, IVersionArray } from '../../types';
7
+
6
8
  export function shouldUpdateBootloaderForClassicAndMini({
7
9
  currentVersion,
8
10
  bootloaderVersion,
@@ -1,11 +1,14 @@
1
1
  import ByteBuffer from 'bytebuffer';
2
2
  import semver from 'semver';
3
- import type { EFirmwareType } from '@onekeyfe/hd-shared';
4
- import { DeviceModelToTypes, Features } from '../../types';
5
- import { getDeviceType, getDeviceBootloaderVersion, getDeviceFirmwareVersion } from '../../utils';
3
+
4
+ import { DeviceModelToTypes } from '../../types';
5
+ import { getDeviceBootloaderVersion, getDeviceFirmwareVersion, getDeviceType } from '../../utils';
6
6
  import { DataManager } from '../../data-manager';
7
7
  import { shouldUpdateBootloaderForClassicAndMini } from './bootloaderHelper';
8
8
 
9
+ import type { Features } from '../../types';
10
+ import type { EFirmwareType } from '@onekeyfe/hd-shared';
11
+
9
12
  export function checkNeedUpdateBootForTouch(features: Features, firmwareType: EFirmwareType) {
10
13
  const deviceType = getDeviceType(features);
11
14
  if (!DeviceModelToTypes.model_touch.includes(deviceType)) return false;