@onekeyfe/hd-core 0.3.3 → 0.3.5-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.
Files changed (34) hide show
  1. package/dist/api/CheckBootloaderRelease.d.ts.map +1 -1
  2. package/dist/api/CheckBridgeRelease.d.ts +10 -0
  3. package/dist/api/CheckBridgeRelease.d.ts.map +1 -0
  4. package/dist/api/FirmwareUpdate.d.ts +1 -1
  5. package/dist/api/FirmwareUpdateV2.d.ts +1 -1
  6. package/dist/api/firmware/uploadFirmware.d.ts +1 -1
  7. package/dist/api/firmware/uploadFirmware.d.ts.map +1 -1
  8. package/dist/api/index.d.ts +1 -0
  9. package/dist/api/index.d.ts.map +1 -1
  10. package/dist/index.d.ts +12 -2
  11. package/dist/index.js +392 -3
  12. package/dist/inject.d.ts.map +1 -1
  13. package/dist/types/api/checkBridgeRelease.d.ts +10 -0
  14. package/dist/types/api/checkBridgeRelease.d.ts.map +1 -0
  15. package/dist/types/api/index.d.ts +2 -0
  16. package/dist/types/api/index.d.ts.map +1 -1
  17. package/dist/types/api/tronSignTransaction.d.ts +1 -1
  18. package/dist/types/api/tronSignTransaction.d.ts.map +1 -1
  19. package/dist/utils/deviceFeaturesUtils.d.ts.map +1 -1
  20. package/dist/utils/networkUtils.d.ts.map +1 -1
  21. package/dist/utils/patch.d.ts +1 -1
  22. package/dist/utils/patch.d.ts.map +1 -1
  23. package/package.json +4 -4
  24. package/src/api/CheckBootloaderRelease.ts +0 -1
  25. package/src/api/CheckBridgeRelease.ts +76 -0
  26. package/src/api/firmware/uploadFirmware.ts +107 -1
  27. package/src/api/index.ts +1 -0
  28. package/src/data/messages/messages.json +247 -0
  29. package/src/inject.ts +3 -0
  30. package/src/types/api/checkBridgeRelease.ts +14 -0
  31. package/src/types/api/index.ts +2 -0
  32. package/src/types/api/tronSignTransaction.ts +1 -1
  33. package/src/utils/deviceFeaturesUtils.ts +1 -2
  34. package/src/utils/networkUtils.ts +5 -0
package/dist/index.js CHANGED
@@ -47,6 +47,7 @@ const createCoreApi = (call) => ({
47
47
  checkBLEFirmwareRelease: connectId => call({ connectId, method: 'checkBLEFirmwareRelease' }),
48
48
  checkTransportRelease: () => call({ method: 'checkTransportRelease' }),
49
49
  checkBridgeStatus: () => call({ method: 'checkBridgeStatus' }),
50
+ checkBridgeRelease: (connectId, params) => call(Object.assign(Object.assign({}, params), { connectId, method: 'checkBridgeRelease' })),
50
51
  checkBootloaderRelease: (connectId, params) => call(Object.assign(Object.assign({}, params), { connectId, method: 'checkBootloaderRelease' })),
51
52
  cipherKeyValue: (connectId, deviceId, params) => call(Object.assign(Object.assign({}, params), { connectId, deviceId, method: 'cipherKeyValue' })),
52
53
  deviceBackup: connectId => call({ connectId, method: 'deviceBackup' }),
@@ -881,9 +882,8 @@ const getDeviceBLEFirmwareVersion = (features) => {
881
882
  return features.ble_ver.split('.');
882
883
  };
883
884
  const getDeviceBootloaderVersion = (features) => {
884
- const deviceType = getDeviceType(features);
885
885
  if (!features.bootloader_version) {
886
- if ((deviceType === 'classic' || deviceType === 'mini') && features.bootloader_mode) {
886
+ if (features.bootloader_mode) {
887
887
  return [features.major_version, features.minor_version, features.patch_version];
888
888
  }
889
889
  return [0, 0, 0];
@@ -2579,6 +2579,39 @@ var nested = {
2579
2579
  }
2580
2580
  }
2581
2581
  },
2582
+ RebootType: {
2583
+ values: {
2584
+ Normal: 0,
2585
+ Boardloader: 1,
2586
+ BootLoader: 2
2587
+ }
2588
+ },
2589
+ Reboot: {
2590
+ fields: {
2591
+ reboot_type: {
2592
+ rule: "required",
2593
+ type: "RebootType",
2594
+ id: 1
2595
+ }
2596
+ }
2597
+ },
2598
+ FirmwareUpdateEmmc: {
2599
+ fields: {
2600
+ path: {
2601
+ rule: "required",
2602
+ type: "string",
2603
+ id: 1
2604
+ },
2605
+ reboot_on_success: {
2606
+ type: "bool",
2607
+ id: 2
2608
+ },
2609
+ force_erase: {
2610
+ type: "bool",
2611
+ id: 3
2612
+ }
2613
+ }
2614
+ },
2582
2615
  CardanoDerivationType: {
2583
2616
  values: {
2584
2617
  LEDGER: 0,
@@ -4377,6 +4410,208 @@ var nested = {
4377
4410
  }
4378
4411
  }
4379
4412
  },
4413
+ EmmcFixPermission: {
4414
+ fields: {
4415
+ }
4416
+ },
4417
+ EmmcPath: {
4418
+ fields: {
4419
+ exist: {
4420
+ rule: "required",
4421
+ type: "bool",
4422
+ id: 1
4423
+ },
4424
+ size: {
4425
+ rule: "required",
4426
+ type: "uint64",
4427
+ id: 2
4428
+ },
4429
+ year: {
4430
+ rule: "required",
4431
+ type: "uint32",
4432
+ id: 3
4433
+ },
4434
+ month: {
4435
+ rule: "required",
4436
+ type: "uint32",
4437
+ id: 4
4438
+ },
4439
+ day: {
4440
+ rule: "required",
4441
+ type: "uint32",
4442
+ id: 5
4443
+ },
4444
+ hour: {
4445
+ rule: "required",
4446
+ type: "uint32",
4447
+ id: 6
4448
+ },
4449
+ minute: {
4450
+ rule: "required",
4451
+ type: "uint32",
4452
+ id: 7
4453
+ },
4454
+ second: {
4455
+ rule: "required",
4456
+ type: "uint32",
4457
+ id: 8
4458
+ },
4459
+ readonly: {
4460
+ rule: "required",
4461
+ type: "bool",
4462
+ id: 9
4463
+ },
4464
+ hidden: {
4465
+ rule: "required",
4466
+ type: "bool",
4467
+ id: 10
4468
+ },
4469
+ system: {
4470
+ rule: "required",
4471
+ type: "bool",
4472
+ id: 11
4473
+ },
4474
+ archive: {
4475
+ rule: "required",
4476
+ type: "bool",
4477
+ id: 12
4478
+ },
4479
+ directory: {
4480
+ rule: "required",
4481
+ type: "bool",
4482
+ id: 13
4483
+ }
4484
+ }
4485
+ },
4486
+ EmmcPathInfo: {
4487
+ fields: {
4488
+ path: {
4489
+ rule: "required",
4490
+ type: "string",
4491
+ id: 1
4492
+ }
4493
+ }
4494
+ },
4495
+ EmmcFile: {
4496
+ fields: {
4497
+ path: {
4498
+ rule: "required",
4499
+ type: "string",
4500
+ id: 1
4501
+ },
4502
+ offset: {
4503
+ rule: "required",
4504
+ type: "uint32",
4505
+ id: 2
4506
+ },
4507
+ len: {
4508
+ rule: "required",
4509
+ type: "uint32",
4510
+ id: 3
4511
+ },
4512
+ data: {
4513
+ type: "bytes",
4514
+ id: 4
4515
+ },
4516
+ data_hash: {
4517
+ type: "uint32",
4518
+ id: 5
4519
+ },
4520
+ processed_byte: {
4521
+ type: "uint32",
4522
+ id: 6
4523
+ }
4524
+ }
4525
+ },
4526
+ EmmcFileRead: {
4527
+ fields: {
4528
+ file: {
4529
+ rule: "required",
4530
+ type: "EmmcFile",
4531
+ id: 1
4532
+ },
4533
+ ui_percentage: {
4534
+ type: "uint32",
4535
+ id: 2
4536
+ }
4537
+ }
4538
+ },
4539
+ EmmcFileWrite: {
4540
+ fields: {
4541
+ file: {
4542
+ rule: "required",
4543
+ type: "EmmcFile",
4544
+ id: 1
4545
+ },
4546
+ overwrite: {
4547
+ rule: "required",
4548
+ type: "bool",
4549
+ id: 2
4550
+ },
4551
+ append: {
4552
+ rule: "required",
4553
+ type: "bool",
4554
+ id: 3
4555
+ },
4556
+ ui_percentage: {
4557
+ type: "uint32",
4558
+ id: 4
4559
+ }
4560
+ }
4561
+ },
4562
+ EmmcFileDelete: {
4563
+ fields: {
4564
+ path: {
4565
+ rule: "required",
4566
+ type: "string",
4567
+ id: 1
4568
+ }
4569
+ }
4570
+ },
4571
+ EmmcDir: {
4572
+ fields: {
4573
+ path: {
4574
+ rule: "required",
4575
+ type: "string",
4576
+ id: 1
4577
+ },
4578
+ child_dirs: {
4579
+ type: "string",
4580
+ id: 2
4581
+ },
4582
+ child_files: {
4583
+ type: "string",
4584
+ id: 3
4585
+ }
4586
+ }
4587
+ },
4588
+ EmmcDirList: {
4589
+ fields: {
4590
+ path: {
4591
+ rule: "required",
4592
+ type: "string",
4593
+ id: 1
4594
+ }
4595
+ }
4596
+ },
4597
+ EmmcDirMake: {
4598
+ fields: {
4599
+ path: {
4600
+ rule: "required",
4601
+ type: "string",
4602
+ id: 1
4603
+ }
4604
+ }
4605
+ },
4606
+ EmmcDirRemove: {
4607
+ fields: {
4608
+ path: {
4609
+ rule: "required",
4610
+ type: "string",
4611
+ id: 1
4612
+ }
4613
+ }
4614
+ },
4380
4615
  EosGetPublicKey: {
4381
4616
  fields: {
4382
4617
  address_n: {
@@ -9845,6 +10080,8 @@ var nested = {
9845
10080
  MessageType_FirmwareUpload: 7,
9846
10081
  MessageType_FirmwareRequest: 8,
9847
10082
  MessageType_SelfTest: 32,
10083
+ MessageType_Reboot: 30000,
10084
+ MessageType_FirmwareUpdateEmmc: 30001,
9848
10085
  MessageType_GetPublicKey: 11,
9849
10086
  MessageType_PublicKey: 12,
9850
10087
  MessageType_SignTx: 15,
@@ -9886,6 +10123,17 @@ var nested = {
9886
10123
  MessageType_DebugLinkRecordScreen: 9003,
9887
10124
  MessageType_DebugLinkEraseSdCard: 9005,
9888
10125
  MessageType_DebugLinkWatchLayout: 9006,
10126
+ MessageType_EmmcFixPermission: 30100,
10127
+ MessageType_EmmcPath: 30101,
10128
+ MessageType_EmmcPathInfo: 30102,
10129
+ MessageType_EmmcFile: 30103,
10130
+ MessageType_EmmcFileRead: 30104,
10131
+ MessageType_EmmcFileWrite: 30105,
10132
+ MessageType_EmmcFileDelete: 30106,
10133
+ MessageType_EmmcDir: 30107,
10134
+ MessageType_EmmcDirList: 30108,
10135
+ MessageType_EmmcDirMake: 30109,
10136
+ MessageType_EmmcDirRemove: 30110,
9889
10137
  MessageType_EthereumGetPublicKey: 450,
9890
10138
  MessageType_EthereumPublicKey: 451,
9891
10139
  MessageType_EthereumGetAddress: 56,
@@ -10876,10 +11124,15 @@ var MessagesJSON = {
10876
11124
  };
10877
11125
 
10878
11126
  const httpRequest$1 = (url, type = 'text') => __awaiter(void 0, void 0, void 0, function* () {
11127
+ const headers = {};
11128
+ if (url.indexOf('ngrok-free.app') > -1) {
11129
+ headers['ngrok-skip-browser-warning'] = true;
11130
+ }
10879
11131
  const response = yield axios__default["default"].request({
10880
11132
  url,
10881
11133
  withCredentials: false,
10882
11134
  responseType: type === 'binary' ? 'arraybuffer' : 'json',
11135
+ headers,
10883
11136
  });
10884
11137
  if (+response.status === 200) {
10885
11138
  if (type === 'json') {
@@ -13050,10 +13303,72 @@ class CheckBridgeStatus extends BaseMethod {
13050
13303
  }
13051
13304
  }
13052
13305
 
13306
+ const BridgeVersion = '2.2.0';
13307
+ const TouchNeedUpdateVersion = '4.2.0';
13308
+ const ClassicAndMiniNeedUpdateVersion = '3.0.0';
13309
+ class CheckBridgeRelease extends BaseMethod {
13310
+ init() {
13311
+ this.notAllowDeviceMode = [...this.notAllowDeviceMode, UI_REQUEST.BOOTLOADER];
13312
+ this.useDevicePassphraseState = false;
13313
+ this.skipForceUpdateCheck = true;
13314
+ }
13315
+ run() {
13316
+ return __awaiter(this, void 0, void 0, function* () {
13317
+ if (!this.device.features) {
13318
+ return null;
13319
+ }
13320
+ try {
13321
+ const { data } = yield axios__default["default"].request({
13322
+ url: 'http://localhost:21320',
13323
+ method: 'POST',
13324
+ withCredentials: false,
13325
+ timeout: 3000,
13326
+ });
13327
+ const { version = '0.0.0' } = data;
13328
+ console.log('===?>>BRIDGE VERSION: ', version);
13329
+ const { willUpdateFirmwareVersion } = this.payload;
13330
+ const { features } = this.device;
13331
+ const deviceType = getDeviceType(features);
13332
+ const currentFirmwareVersion = getDeviceFirmwareVersion(features).join('.');
13333
+ const isOldVersionBridge = semver__default["default"].lt(version, BridgeVersion);
13334
+ let shouldUpdate = false;
13335
+ if (deviceType === 'touch') {
13336
+ if (semver__default["default"].gte(willUpdateFirmwareVersion, TouchNeedUpdateVersion) && isOldVersionBridge) {
13337
+ shouldUpdate = true;
13338
+ }
13339
+ if (semver__default["default"].gte(currentFirmwareVersion, TouchNeedUpdateVersion) && isOldVersionBridge) {
13340
+ shouldUpdate = true;
13341
+ }
13342
+ }
13343
+ if (deviceType === 'classic' || deviceType === 'mini') {
13344
+ if (semver__default["default"].gte(willUpdateFirmwareVersion, ClassicAndMiniNeedUpdateVersion) &&
13345
+ isOldVersionBridge) {
13346
+ shouldUpdate = true;
13347
+ }
13348
+ if (semver__default["default"].gte(currentFirmwareVersion, ClassicAndMiniNeedUpdateVersion) &&
13349
+ isOldVersionBridge) {
13350
+ shouldUpdate = true;
13351
+ }
13352
+ }
13353
+ return {
13354
+ shouldUpdate,
13355
+ status: shouldUpdate ? 'outdated' : 'valid',
13356
+ releaseVersion: version,
13357
+ };
13358
+ }
13359
+ catch (e) {
13360
+ if (e.code === 'ECONNABORTED') {
13361
+ return Promise.reject(hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.BridgeTimeoutError));
13362
+ }
13363
+ return Promise.reject(hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.BridgeNotInstalled));
13364
+ }
13365
+ });
13366
+ }
13367
+ }
13368
+
13053
13369
  class CheckBootloaderRelease extends BaseMethod {
13054
13370
  init() {
13055
13371
  this.notAllowDeviceMode = [...this.notAllowDeviceMode, UI_REQUEST.BOOTLOADER];
13056
- this.checkDeviceId = true;
13057
13372
  this.useDevicePassphraseState = false;
13058
13373
  this.skipForceUpdateCheck = true;
13059
13374
  }
@@ -13648,6 +13963,7 @@ const getInfo = ({ features, updateType, targetVersion }) => {
13648
13963
  return findLatestRelease(releaseInfo);
13649
13964
  };
13650
13965
 
13966
+ const NEW_BOOT_UPRATE_FIRMWARE_VERSION = '2.4.2';
13651
13967
  const postConfirmationMessage = (device) => {
13652
13968
  var _a;
13653
13969
  if ((_a = device.features) === null || _a === void 0 ? void 0 : _a.firmware_present) {
@@ -13696,6 +14012,15 @@ const uploadFirmware = (updateType, typedCall, postMessage, device, { payload })
13696
14012
  return message;
13697
14013
  }
13698
14014
  if (deviceModel === 'model_touch') {
14015
+ if (device.features) {
14016
+ const bootloaderVersion = getDeviceBootloaderVersion(device.features);
14017
+ if (semver__default["default"].gte(bootloaderVersion.join('.'), NEW_BOOT_UPRATE_FIRMWARE_VERSION)) {
14018
+ const response = yield newTouchUpdateProcess(updateType, typedCall, postMessage, device, {
14019
+ payload,
14020
+ });
14021
+ return response.message;
14022
+ }
14023
+ }
13699
14024
  postConfirmationMessage(device);
13700
14025
  postProgressTip(device, 'ConfirmOnDevice', postMessage);
13701
14026
  const length = payload.byteLength;
@@ -13721,6 +14046,69 @@ const uploadFirmware = (updateType, typedCall, postMessage, device, { payload })
13721
14046
  }
13722
14047
  throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.RuntimeError, 'uploadFirmware: unknown device model');
13723
14048
  });
14049
+ const newTouchUpdateProcess = (updateType, typedCall, postMessage, device, { payload }) => __awaiter(void 0, void 0, void 0, function* () {
14050
+ postProgressTip(device, 'StartTransferData', postMessage);
14051
+ const filePath = `0:${updateType === 'ble' ? 'ble-' : ''}firmware.bin`;
14052
+ const chunkSize = 1024 * 128;
14053
+ const totalChunks = Math.ceil(payload.byteLength / chunkSize);
14054
+ let offset = 0;
14055
+ for (let i = 0; i < totalChunks; i++) {
14056
+ const chunkStart = i * chunkSize;
14057
+ const chunkEnd = Math.min(chunkStart + chunkSize, payload.byteLength);
14058
+ const chunkLength = chunkEnd - chunkStart;
14059
+ const chunk = payload.slice(chunkStart, chunkEnd);
14060
+ const overwrite = i === 0;
14061
+ const progress = Math.round((i / totalChunks) * 100);
14062
+ const writeRes = yield emmcFileWriteWithRetry(typedCall, filePath, chunkLength, offset, chunk, overwrite, progress);
14063
+ offset += writeRes.message.processed_byte;
14064
+ postProgressMessage(device, progress, postMessage);
14065
+ }
14066
+ postConfirmationMessage(device);
14067
+ postProgressTip(device, 'ConfirmOnDevice', postMessage);
14068
+ setTimeout(() => {
14069
+ postProgressTip(device, 'InstallingFirmware', postMessage);
14070
+ }, 1000);
14071
+ const response = yield typedCall('FirmwareUpdateEmmc', 'Success', {
14072
+ path: filePath,
14073
+ force_erease: true,
14074
+ reboot_on_success: true,
14075
+ });
14076
+ return response;
14077
+ });
14078
+ const emmcFileWriteWithRetry = (typedCall, filePath, chunkLength, offset, chunk, overwrite, progress) => __awaiter(void 0, void 0, void 0, function* () {
14079
+ const writeFunc = () => __awaiter(void 0, void 0, void 0, function* () {
14080
+ const writeRes = yield typedCall('EmmcFileWrite', 'EmmcFile', {
14081
+ file: {
14082
+ path: filePath,
14083
+ len: chunkLength,
14084
+ offset,
14085
+ data: chunk,
14086
+ },
14087
+ overwrite,
14088
+ append: offset !== 0,
14089
+ ui_percentage: progress,
14090
+ });
14091
+ if (writeRes.type !== 'EmmcFile') {
14092
+ throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.RuntimeError, 'emmc file write chunk once error');
14093
+ }
14094
+ return writeRes;
14095
+ });
14096
+ let retryCount = 5;
14097
+ while (retryCount > 0) {
14098
+ try {
14099
+ const result = yield writeFunc();
14100
+ return result;
14101
+ }
14102
+ catch (error) {
14103
+ console.error(`emmcWrite error: `, error);
14104
+ retryCount--;
14105
+ if (retryCount === 0) {
14106
+ throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.RuntimeError, 'emmc file write firmware error');
14107
+ }
14108
+ yield wait(3000);
14109
+ }
14110
+ }
14111
+ });
13724
14112
  const processResourceRequest = (typedCall, res, data) => __awaiter(void 0, void 0, void 0, function* () {
13725
14113
  if (res.type === 'Success') {
13726
14114
  return res.message;
@@ -19157,6 +19545,7 @@ var ApiMethods = /*#__PURE__*/Object.freeze({
19157
19545
  checkBLEFirmwareRelease: CheckBLEFirmwareRelease,
19158
19546
  checkTransportRelease: CheckTransportRelease,
19159
19547
  checkBridgeStatus: CheckBridgeStatus,
19548
+ checkBridgeRelease: CheckBridgeRelease,
19160
19549
  checkBootloaderRelease: CheckBootloaderRelease,
19161
19550
  deviceBackup: DeviceBackup,
19162
19551
  deviceChangePin: DeviceChangePin,
@@ -1 +1 @@
1
- {"version":3,"file":"inject.d.ts","sourceRoot":"","sources":["../src/inject.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,UAAU,CAAC;IACjB,YAAY,EAAE,YAAY,CAAC;IAC3B,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAC5B,UAAU,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAClC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;CAC3B;AAED,eAAO,MAAM,MAAM,+DAOhB,SAAS,KAAG,OA6Bd,CAAC;AAEF,eAAO,MAAM,aAAa,SAClB,OAAO,CAAC,MAAM,CAAC,KACpB,KACD,OAAO,EACL,IAAI,GACJ,KAAK,GACL,MAAM,GACN,oBAAoB,GACpB,MAAM,GACN,MAAM,GACN,SAAS,GACT,YAAY,GACZ,QAAQ,CAgMV,CAAC"}
1
+ {"version":3,"file":"inject.d.ts","sourceRoot":"","sources":["../src/inject.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,UAAU,CAAC;IACjB,YAAY,EAAE,YAAY,CAAC;IAC3B,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAC5B,UAAU,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAClC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;CAC3B;AAED,eAAO,MAAM,MAAM,+DAOhB,SAAS,KAAG,OA6Bd,CAAC;AAEF,eAAO,MAAM,aAAa,SAClB,OAAO,CAAC,MAAM,CAAC,KACpB,KACD,OAAO,EACL,IAAI,GACJ,KAAK,GACL,MAAM,GACN,oBAAoB,GACpB,MAAM,GACN,MAAM,GACN,SAAS,GACT,YAAY,GACZ,QAAQ,CAmMV,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { CommonParams, Response } from '../params';
2
+ export declare type CheckBridgeReleaseResponse = {
3
+ shouldUpdate: boolean;
4
+ status: 'outdated' | 'valid';
5
+ releaseVersion: string;
6
+ } | null;
7
+ export declare function checkBridgeRelease(connectId?: string, params?: CommonParams & {
8
+ willUpdateFirmwareVersion?: string;
9
+ }): Response<CheckBridgeReleaseResponse>;
10
+ //# sourceMappingURL=checkBridgeRelease.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkBridgeRelease.d.ts","sourceRoot":"","sources":["../../../src/types/api/checkBridgeRelease.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAExD,oBAAY,0BAA0B,GAAG;IACvC,YAAY,EAAE,OAAO,CAAC;IACtB,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC;IAC7B,cAAc,EAAE,MAAM,CAAC;CACxB,GAAG,IAAI,CAAC;AAET,MAAM,CAAC,OAAO,UAAU,kBAAkB,CACxC,SAAS,CAAC,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,YAAY,GAAG;IACtB,yBAAyB,CAAC,EAAE,MAAM,CAAC;CACpC,GACA,QAAQ,CAAC,0BAA0B,CAAC,CAAC"}
@@ -4,6 +4,7 @@ import { init } from './init';
4
4
  import { getLogs } from './getLogs';
5
5
  import { checkTransportRelease } from './checkTransportRelease';
6
6
  import { checkBridgeStatus } from './checkBridgeStatus';
7
+ import { checkBridgeRelease } from './checkBridgeRelease';
7
8
  import { checkBootloaderRelease } from './checkBootloaderRelease';
8
9
  import { searchDevices } from './searchDevices';
9
10
  import { getFeatures } from './getFeatures';
@@ -98,6 +99,7 @@ export declare type CoreApi = {
98
99
  getLogs: typeof getLogs;
99
100
  checkTransportRelease: typeof checkTransportRelease;
100
101
  checkBridgeStatus: typeof checkBridgeStatus;
102
+ checkBridgeRelease: typeof checkBridgeRelease;
101
103
  checkBootloaderRelease: typeof checkBootloaderRelease;
102
104
  searchDevices: typeof searchDevices;
103
105
  requestWebUsbDevice: typeof requestWebUsbDevice;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/api/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/api/index.ts"],"names":[],"mappings":"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"}
@@ -25,7 +25,7 @@ export declare type TronTransactionContract = {
25
25
  transferContract?: TronTransferContract;
26
26
  triggerSmartContract?: TronTriggerSmartContract;
27
27
  freezeBalanceContract?: TronFreezeBalanceContract;
28
- unfreezeBalanceContract: TronUnfreezeBalanceContract;
28
+ unfreezeBalanceContract?: TronUnfreezeBalanceContract;
29
29
  };
30
30
  export declare type TronTransaction = {
31
31
  refBlockBytes: string;
@@ -1 +1 @@
1
- {"version":3,"file":"tronSignTransaction.d.ts","sourceRoot":"","sources":["../../../src/types/api/tronSignTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAClF,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAExD,oBAAY,oBAAoB,GAAG;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,QAAQ,CAAC;CACnB,CAAC;AAEF,oBAAY,wBAAwB,GAAG;IACrC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,oBAAY,yBAAyB,GAAG;IACtC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,oBAAY,2BAA2B,GAAG;IACxC,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,oBAAY,uBAAuB,GAAG;IACpC,gBAAgB,CAAC,EAAE,oBAAoB,CAAC;IACxC,oBAAoB,CAAC,EAAE,wBAAwB,CAAC;IAChD,qBAAqB,CAAC,EAAE,yBAAyB,CAAC;IAClD,uBAAuB,EAAE,2BAA2B,CAAC;CACtD,CAAC;AAEF,oBAAY,eAAe,GAAG;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,uBAAuB,CAAC;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,oBAAY,yBAAyB,GAAG;IACtC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACxB,WAAW,EAAE,eAAe,CAAC;CAC9B,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,mBAAmB,CACzC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,YAAY,GAAG,yBAAyB,GAC/C,QAAQ,CAAC,YAAY,CAAC,CAAC"}
1
+ {"version":3,"file":"tronSignTransaction.d.ts","sourceRoot":"","sources":["../../../src/types/api/tronSignTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAClF,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAExD,oBAAY,oBAAoB,GAAG;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,QAAQ,CAAC;CACnB,CAAC;AAEF,oBAAY,wBAAwB,GAAG;IACrC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,oBAAY,yBAAyB,GAAG;IACtC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,oBAAY,2BAA2B,GAAG;IACxC,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,oBAAY,uBAAuB,GAAG;IACpC,gBAAgB,CAAC,EAAE,oBAAoB,CAAC;IACxC,oBAAoB,CAAC,EAAE,wBAAwB,CAAC;IAChD,qBAAqB,CAAC,EAAE,yBAAyB,CAAC;IAClD,uBAAuB,CAAC,EAAE,2BAA2B,CAAC;CACvD,CAAC;AAEF,oBAAY,eAAe,GAAG;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,uBAAuB,CAAC;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,oBAAY,yBAAyB,GAAG;IACtC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACxB,WAAW,EAAE,eAAe,CAAC;CAC9B,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,mBAAmB,CACzC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,YAAY,GAAG,yBAAyB,GAC/C,QAAQ,CAAC,YAAY,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"deviceFeaturesUtils.d.ts","sourceRoot":"","sources":["../../src/utils/deviceFeaturesUtils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,EACV,QAAQ,EACR,aAAa,EACb,WAAW,EACX,YAAY,EACZ,kBAAkB,EACnB,MAAM,UAAU,CAAC;AAElB,eAAO,MAAM,cAAc,4EAA0B,YAcpD,CAAC;AAEF,eAAO,MAAM,aAAa,4EAA0B,WAUnD,CAAC;AAEF,eAAO,MAAM,yBAAyB,4EAA0B,WACvC,CAAC;AAE1B,eAAO,MAAM,sBAAsB,iCAAoB,WAAW,GAAG,IAKpE,CAAC;AAEF,eAAO,MAAM,uBAAuB,qCAAwB,WAQ3D,CAAC;AAEF,eAAO,MAAM,aAAa,aAAc,QAAQ,WAM/C,CAAC;AAEF,eAAO,MAAM,cAAc,aAAc,QAAQ,WAOhD,CAAC;AAKF,eAAO,MAAM,wBAAwB,aAAc,QAAQ,GAAG,SAAS,kBAOtE,CAAC;AAKF,eAAO,MAAM,2BAA2B,aAAc,QAAQ,KAAG,aAAa,GAAG,IAQhF,CAAC;AAEF,eAAO,MAAM,0BAA0B,aAAc,QAAQ,kBAY5D,CAAC;AAEF,eAAO,MAAM,yBAAyB,aAAc,QAAQ,KAAG,kBAU9D,CAAC;AAEF,eAAO,MAAM,oBAAoB,4EAA0B,kBAW1D,CAAC;AAEF,eAAO,MAAM,kBAAkB,aAAoB,QAAQ,YAAY,cAAc,4BAUpF,CAAC;AAEF,eAAO,MAAM,qBAAqB,4EAA0B,OAU3D,CAAC;AAEF,eAAO,MAAM,uBAAuB,4EAA0B,kBAU7D,CAAC;AAKF,eAAO,MAAM,sBAAsB,aAAc,QAAQ,cAAc,UAAU,GAAG,KAAK,uDAgBxF,CAAC"}
1
+ {"version":3,"file":"deviceFeaturesUtils.d.ts","sourceRoot":"","sources":["../../src/utils/deviceFeaturesUtils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,EACV,QAAQ,EACR,aAAa,EACb,WAAW,EACX,YAAY,EACZ,kBAAkB,EACnB,MAAM,UAAU,CAAC;AAElB,eAAO,MAAM,cAAc,4EAA0B,YAcpD,CAAC;AAEF,eAAO,MAAM,aAAa,4EAA0B,WAUnD,CAAC;AAEF,eAAO,MAAM,yBAAyB,4EAA0B,WACvC,CAAC;AAE1B,eAAO,MAAM,sBAAsB,iCAAoB,WAAW,GAAG,IAKpE,CAAC;AAEF,eAAO,MAAM,uBAAuB,qCAAwB,WAQ3D,CAAC;AAEF,eAAO,MAAM,aAAa,aAAc,QAAQ,WAM/C,CAAC;AAEF,eAAO,MAAM,cAAc,aAAc,QAAQ,WAOhD,CAAC;AAKF,eAAO,MAAM,wBAAwB,aAAc,QAAQ,GAAG,SAAS,kBAOtE,CAAC;AAKF,eAAO,MAAM,2BAA2B,aAAc,QAAQ,KAAG,aAAa,GAAG,IAQhF,CAAC;AAEF,eAAO,MAAM,0BAA0B,aAAc,QAAQ,kBAW5D,CAAC;AAEF,eAAO,MAAM,yBAAyB,aAAc,QAAQ,KAAG,kBAU9D,CAAC;AAEF,eAAO,MAAM,oBAAoB,4EAA0B,kBAW1D,CAAC;AAEF,eAAO,MAAM,kBAAkB,aAAoB,QAAQ,YAAY,cAAc,4BAUpF,CAAC;AAEF,eAAO,MAAM,qBAAqB,4EAA0B,OAU3D,CAAC;AAEF,eAAO,MAAM,uBAAuB,4EAA0B,kBAU7D,CAAC;AAKF,eAAO,MAAM,sBAAsB,aAAc,QAAQ,cAAc,UAAU,GAAG,KAAK,uDAgBxF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"networkUtils.d.ts","sourceRoot":"","sources":["../../src/utils/networkUtils.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW,QAAe,MAAM,gCAiB5C,CAAC"}
1
+ {"version":3,"file":"networkUtils.d.ts","sourceRoot":"","sources":["../../src/utils/networkUtils.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW,QAAe,MAAM,gCAsB5C,CAAC"}