@onekeyfe/hd-core 1.1.32 → 1.1.34-alpha.1

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.
package/dist/index.js CHANGED
@@ -939,30 +939,230 @@ const LoggerMap = {
939
939
  };
940
940
  const getLogger = (key) => LoggerMap[key];
941
941
 
942
- const httpRequest$1 = (url, type = 'text') => __awaiter(void 0, void 0, void 0, function* () {
942
+ const MAX_RETRY_COUNT = 3;
943
+ const REQUEST_PHASE_TIMEOUT_CODES = {
944
+ connect: 'ECONNECTTIMEDOUT',
945
+ read: 'EREADTIMEDOUT',
946
+ };
947
+ const RETRYABLE_HTTP_STATUSES = new Set([500, 502, 503, 504]);
948
+ const RETRYABLE_NETWORK_ERROR_CODES = new Set([
949
+ REQUEST_PHASE_TIMEOUT_CODES.connect,
950
+ REQUEST_PHASE_TIMEOUT_CODES.read,
951
+ 'ECONNABORTED',
952
+ 'ECONNREFUSED',
953
+ 'ECONNRESET',
954
+ 'EHOSTUNREACH',
955
+ 'ENETDOWN',
956
+ 'ENETUNREACH',
957
+ 'ENOTFOUND',
958
+ 'EAI_AGAIN',
959
+ 'ERR_NETWORK',
960
+ 'ETIMEDOUT',
961
+ ]);
962
+ const createAbortError = () => {
963
+ const error = new Error('httpRequest aborted');
964
+ error.name = 'AbortError';
965
+ return error;
966
+ };
967
+ const createOverallTimeoutError = (url, timeoutMs) => {
968
+ const error = new Error(`httpRequest overall timeout: ${url} ${timeoutMs}ms`);
969
+ error.name = 'HttpRequestOverallTimeoutError';
970
+ return error;
971
+ };
972
+ const createRequestPhaseTimeoutError = (url, phase, timeoutMs) => {
973
+ const error = new Error(`httpRequest ${phase} timeout: ${url} ${timeoutMs}ms`);
974
+ error.name = 'HttpRequestPhaseTimeoutError';
975
+ return Object.assign(error, {
976
+ code: REQUEST_PHASE_TIMEOUT_CODES[phase],
977
+ });
978
+ };
979
+ const waitForRetry = (delayMs, attempt, signal) => __awaiter(void 0, void 0, void 0, function* () {
980
+ const backoffMs = delayMs * Math.pow(2, attempt);
981
+ if (backoffMs <= 0) {
982
+ return;
983
+ }
984
+ yield new Promise((resolve, reject) => {
985
+ const timeoutTimer = setTimeout(() => {
986
+ signal === null || signal === void 0 ? void 0 : signal.removeEventListener('abort', handleAbort);
987
+ resolve();
988
+ }, backoffMs);
989
+ const handleAbort = () => {
990
+ clearTimeout(timeoutTimer);
991
+ reject(createAbortError());
992
+ };
993
+ if (signal === null || signal === void 0 ? void 0 : signal.aborted) {
994
+ handleAbort();
995
+ return;
996
+ }
997
+ signal === null || signal === void 0 ? void 0 : signal.addEventListener('abort', handleAbort, { once: true });
998
+ });
999
+ });
1000
+ const isRetryableRequestError = (error) => {
1001
+ var _a;
1002
+ if (axios__default["default"].isCancel(error)) {
1003
+ return false;
1004
+ }
1005
+ if (typeof error === 'object' &&
1006
+ error !== null &&
1007
+ 'code' in error &&
1008
+ typeof error.code === 'string' &&
1009
+ RETRYABLE_NETWORK_ERROR_CODES.has(error.code)) {
1010
+ return true;
1011
+ }
1012
+ if (!axios__default["default"].isAxiosError(error)) {
1013
+ return false;
1014
+ }
1015
+ const status = (_a = error.response) === null || _a === void 0 ? void 0 : _a.status;
1016
+ if (status !== undefined) {
1017
+ return RETRYABLE_HTTP_STATUSES.has(Number(status));
1018
+ }
1019
+ return false;
1020
+ };
1021
+ const httpRequest$1 = (url, type = 'text', options = {}) => __awaiter(void 0, void 0, void 0, function* () {
943
1022
  const headers = {};
944
1023
  if (url.indexOf('ngrok-free.app') > -1) {
945
1024
  headers['ngrok-skip-browser-warning'] = true;
946
1025
  }
947
- const response = yield axios__default["default"].request({
948
- url,
949
- withCredentials: false,
950
- responseType: type === 'binary' ? 'arraybuffer' : 'json',
951
- headers,
952
- });
953
- if (+response.status === 200) {
954
- if (type === 'json') {
955
- return response.data;
1026
+ const timeoutMs = Number.isSafeInteger(options.timeoutMs) && Number(options.timeoutMs) > 0
1027
+ ? Number(options.timeoutMs)
1028
+ : undefined;
1029
+ const connectTimeoutMs = Number.isSafeInteger(options.connectTimeoutMs) && Number(options.connectTimeoutMs) > 0
1030
+ ? Number(options.connectTimeoutMs)
1031
+ : undefined;
1032
+ const readTimeoutMs = Number.isSafeInteger(options.readTimeoutMs) && Number(options.readTimeoutMs) > 0
1033
+ ? Number(options.readTimeoutMs)
1034
+ : undefined;
1035
+ const overallTimeoutMs = Number.isSafeInteger(options.overallTimeoutMs) && Number(options.overallTimeoutMs) > 0
1036
+ ? Number(options.overallTimeoutMs)
1037
+ : undefined;
1038
+ const maxRetries = Number.isSafeInteger(options.maxRetries) && Number(options.maxRetries) > 0
1039
+ ? Math.min(Number(options.maxRetries), MAX_RETRY_COUNT)
1040
+ : 0;
1041
+ const retryDelayMs = Number.isSafeInteger(options.retryDelayMs) && Number(options.retryDelayMs) > 0
1042
+ ? Number(options.retryDelayMs)
1043
+ : 0;
1044
+ const overallTimeoutError = overallTimeoutMs
1045
+ ? createOverallTimeoutError(url, overallTimeoutMs)
1046
+ : undefined;
1047
+ const overallDeadlineAt = overallTimeoutMs ? Date.now() + overallTimeoutMs : undefined;
1048
+ const assertWithinOverallDeadline = () => {
1049
+ if (overallDeadlineAt !== undefined && overallTimeoutError && Date.now() >= overallDeadlineAt) {
1050
+ throw overallTimeoutError;
1051
+ }
1052
+ };
1053
+ const request = (attempt, signal) => __awaiter(void 0, void 0, void 0, function* () {
1054
+ assertWithinOverallDeadline();
1055
+ if (signal === null || signal === void 0 ? void 0 : signal.aborted) {
1056
+ throw createAbortError();
1057
+ }
1058
+ let response;
1059
+ let requestError;
1060
+ let requestFailed = false;
1061
+ let phaseTimeoutError;
1062
+ let phaseTimeoutTimer;
1063
+ const hasPhaseDeadline = Boolean(connectTimeoutMs || readTimeoutMs);
1064
+ const attemptController = signal || hasPhaseDeadline ? new AbortController() : undefined;
1065
+ let attemptSettled = false;
1066
+ let lastProgressLoaded = 0;
1067
+ const handleParentAbort = () => {
1068
+ attemptController === null || attemptController === void 0 ? void 0 : attemptController.abort();
1069
+ };
1070
+ const clearPhaseTimeout = () => {
1071
+ if (phaseTimeoutTimer) {
1072
+ clearTimeout(phaseTimeoutTimer);
1073
+ phaseTimeoutTimer = undefined;
1074
+ }
1075
+ };
1076
+ const armPhaseTimeout = (phase, phaseTimeoutMs) => {
1077
+ clearPhaseTimeout();
1078
+ if (!phaseTimeoutMs || !attemptController) {
1079
+ return;
1080
+ }
1081
+ phaseTimeoutTimer = setTimeout(() => {
1082
+ phaseTimeoutError = createRequestPhaseTimeoutError(url, phase, phaseTimeoutMs);
1083
+ attemptController.abort();
1084
+ }, phaseTimeoutMs);
1085
+ };
1086
+ if (signal) {
1087
+ signal.addEventListener('abort', handleParentAbort, { once: true });
1088
+ }
1089
+ armPhaseTimeout('connect', connectTimeoutMs);
1090
+ try {
1091
+ response = yield axios__default["default"].request(Object.assign(Object.assign(Object.assign({ url, withCredentials: false, responseType: type === 'binary' ? 'arraybuffer' : 'json', headers }, (timeoutMs ? { timeout: timeoutMs } : {})), (attemptController ? { signal: attemptController.signal } : {})), (hasPhaseDeadline
1092
+ ? {
1093
+ adapter: ['xhr', 'http'],
1094
+ onDownloadProgress: (progressEvent) => {
1095
+ if (attemptSettled ||
1096
+ (attemptController === null || attemptController === void 0 ? void 0 : attemptController.signal.aborted) ||
1097
+ !Number.isFinite(progressEvent.loaded) ||
1098
+ progressEvent.loaded <= lastProgressLoaded) {
1099
+ return;
1100
+ }
1101
+ lastProgressLoaded = progressEvent.loaded;
1102
+ armPhaseTimeout('read', readTimeoutMs);
1103
+ },
1104
+ }
1105
+ : {})));
1106
+ if (phaseTimeoutError) {
1107
+ requestFailed = true;
1108
+ requestError = phaseTimeoutError;
1109
+ response = undefined;
1110
+ }
956
1111
  }
957
- if (type === 'binary') {
1112
+ catch (error) {
1113
+ requestFailed = true;
1114
+ requestError = phaseTimeoutError !== null && phaseTimeoutError !== void 0 ? phaseTimeoutError : ((signal === null || signal === void 0 ? void 0 : signal.aborted) ? createAbortError() : error);
1115
+ }
1116
+ finally {
1117
+ attemptSettled = true;
1118
+ clearPhaseTimeout();
1119
+ signal === null || signal === void 0 ? void 0 : signal.removeEventListener('abort', handleParentAbort);
1120
+ }
1121
+ assertWithinOverallDeadline();
1122
+ if (requestFailed) {
1123
+ if (attempt >= maxRetries || !isRetryableRequestError(requestError)) {
1124
+ throw requestError;
1125
+ }
1126
+ yield waitForRetry(retryDelayMs, attempt, signal);
1127
+ assertWithinOverallDeadline();
1128
+ return request(attempt + 1, signal);
1129
+ }
1130
+ if (!response) {
1131
+ throw new Error(`httpRequest completed without a response: ${url}`);
1132
+ }
1133
+ if (+response.status === 200) {
958
1134
  return response.data;
959
1135
  }
960
- return response.data;
1136
+ if (RETRYABLE_HTTP_STATUSES.has(Number(response.status)) && attempt < maxRetries) {
1137
+ yield waitForRetry(retryDelayMs, attempt, signal);
1138
+ assertWithinOverallDeadline();
1139
+ return request(attempt + 1, signal);
1140
+ }
1141
+ throw new Error(`httpRequest error: ${url} ${response.statusText}`);
1142
+ });
1143
+ if (!overallTimeoutMs) {
1144
+ return request(0);
1145
+ }
1146
+ const controller = new AbortController();
1147
+ const requestPromise = request(0, controller.signal);
1148
+ let timeoutTimer;
1149
+ try {
1150
+ return yield new Promise((resolve, reject) => {
1151
+ timeoutTimer = setTimeout(() => {
1152
+ reject(overallTimeoutError);
1153
+ controller.abort();
1154
+ }, overallTimeoutMs);
1155
+ requestPromise.then(resolve, reject);
1156
+ });
1157
+ }
1158
+ finally {
1159
+ if (timeoutTimer) {
1160
+ clearTimeout(timeoutTimer);
1161
+ }
961
1162
  }
962
- throw new Error(`httpRequest error: ${url} ${response.statusText}`);
963
1163
  });
964
1164
 
965
- const httpRequest = (url, type) => httpRequest$1(url, type);
1165
+ const httpRequest = (url, type, options) => httpRequest$1(url, type, options);
966
1166
  const getTimeStamp = () => new Date().getTime();
967
1167
 
968
1168
  const VER_NUMS = 3;
@@ -29699,7 +29899,7 @@ class DeviceWipe extends BaseMethod {
29699
29899
  }
29700
29900
  }
29701
29901
 
29702
- const getBinary = ({ features, updateType, version, isUpdateBootloader, firmwareType, }) => __awaiter(void 0, void 0, void 0, function* () {
29902
+ const getBinary = ({ features, updateType, version, isUpdateBootloader, firmwareType, requestOptions, }) => __awaiter(void 0, void 0, void 0, function* () {
29703
29903
  const releaseInfo = getInfo({
29704
29904
  features,
29705
29905
  updateType,
@@ -29723,7 +29923,7 @@ const getBinary = ({ features, updateType, version, isUpdateBootloader, firmware
29723
29923
  : releaseInfo.url;
29724
29924
  let fw;
29725
29925
  try {
29726
- fw = yield httpRequest(url, 'binary');
29926
+ fw = yield httpRequest(url, 'binary', requestOptions);
29727
29927
  }
29728
29928
  catch (_a) {
29729
29929
  throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.RuntimeError, 'Method_FirmwareUpdate_DownloadFailed');
@@ -30793,6 +30993,59 @@ class FirmwareUpdate extends BaseMethod {
30793
30993
  }
30794
30994
 
30795
30995
  const Log$5 = getLogger(exports.LoggerNames.Method);
30996
+ const FIRMWARE_DOWNLOAD_REQUEST_OPTIONS = {
30997
+ connectTimeoutMs: 60000,
30998
+ readTimeoutMs: 60000,
30999
+ overallTimeoutMs: 180000,
31000
+ maxRetries: 2,
31001
+ retryDelayMs: 500,
31002
+ };
31003
+ const normalizeFirmwareBinary = (binary) => {
31004
+ var _a;
31005
+ if (typeof binary !== 'object' || binary === null) {
31006
+ return undefined;
31007
+ }
31008
+ const isNodeBuffer = typeof Buffer !== 'undefined' &&
31009
+ typeof Buffer.isBuffer === 'function' &&
31010
+ Buffer.isBuffer(binary);
31011
+ if (isNodeBuffer) {
31012
+ return binary.byteLength > 0 ? binary : undefined;
31013
+ }
31014
+ if (typeof ArrayBuffer !== 'undefined' && binary instanceof ArrayBuffer) {
31015
+ return binary.byteLength > 0 ? binary : undefined;
31016
+ }
31017
+ if (typeof ArrayBuffer !== 'undefined' &&
31018
+ typeof ArrayBuffer.isView === 'function' &&
31019
+ ArrayBuffer.isView(binary)) {
31020
+ if (binary.byteLength <= 0) {
31021
+ return undefined;
31022
+ }
31023
+ const source = new Uint8Array(binary.buffer, binary.byteOffset, binary.byteLength);
31024
+ const normalized = new Uint8Array(binary.byteLength);
31025
+ normalized.set(source);
31026
+ return normalized.buffer;
31027
+ }
31028
+ const customBuffer = binary;
31029
+ if (typeof ((_a = customBuffer.constructor) === null || _a === void 0 ? void 0 : _a.isBuffer) !== 'function' ||
31030
+ !customBuffer.constructor.isBuffer(binary) ||
31031
+ typeof customBuffer.byteLength !== 'number' ||
31032
+ !Number.isSafeInteger(customBuffer.byteLength) ||
31033
+ customBuffer.byteLength <= 0 ||
31034
+ typeof customBuffer.length !== 'number' ||
31035
+ customBuffer.length !== customBuffer.byteLength) {
31036
+ return undefined;
31037
+ }
31038
+ const { byteLength } = customBuffer;
31039
+ const normalized = new Uint8Array(byteLength);
31040
+ for (let index = 0; index < byteLength; index += 1) {
31041
+ const { [index]: byte } = customBuffer;
31042
+ if (typeof byte !== 'number' || !Number.isInteger(byte) || byte < 0 || byte > 255) {
31043
+ return undefined;
31044
+ }
31045
+ normalized[index] = byte;
31046
+ }
31047
+ return normalized.buffer;
31048
+ };
30796
31049
  class FirmwareUpdateV2 extends BaseMethod {
30797
31050
  constructor() {
30798
31051
  super(...arguments);
@@ -30973,7 +31226,7 @@ class FirmwareUpdateV2 extends BaseMethod {
30973
31226
  }
30974
31227
  }
30975
31228
  run() {
30976
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
31229
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
30977
31230
  return __awaiter(this, void 0, void 0, function* () {
30978
31231
  const { device, params } = this;
30979
31232
  const { features, commands } = device;
@@ -30981,6 +31234,43 @@ class FirmwareUpdateV2 extends BaseMethod {
30981
31234
  const deviceFirmwareType = getFirmwareType(device.features);
30982
31235
  const firmwareType = (_a = params.firmwareType) !== null && _a !== void 0 ? _a : deviceFirmwareType;
30983
31236
  this.checkVersionForCopyTouchResource(features, firmwareType);
31237
+ let preparedBinary;
31238
+ const acquireFirmwareBinary = () => __awaiter(this, void 0, void 0, function* () {
31239
+ var _l;
31240
+ try {
31241
+ if (preparedBinary) {
31242
+ return preparedBinary;
31243
+ }
31244
+ if (params.binary !== undefined) {
31245
+ preparedBinary = normalizeFirmwareBinary(params.binary);
31246
+ if (!preparedBinary) {
31247
+ throw new Error('firmware binary is empty or invalid');
31248
+ }
31249
+ return preparedBinary;
31250
+ }
31251
+ if (!device.features) {
31252
+ throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.RuntimeError, 'no features found for this device');
31253
+ }
31254
+ this.postTipMessage('DownloadFirmware');
31255
+ const firmware = yield getBinary({
31256
+ features: device.features,
31257
+ version: params.version,
31258
+ updateType: params.updateType,
31259
+ isUpdateBootloader: params.isUpdateBootloader,
31260
+ firmwareType,
31261
+ requestOptions: FIRMWARE_DOWNLOAD_REQUEST_OPTIONS,
31262
+ });
31263
+ preparedBinary = normalizeFirmwareBinary(firmware.binary);
31264
+ if (!preparedBinary) {
31265
+ throw new Error('downloaded firmware binary is empty or invalid');
31266
+ }
31267
+ this.postTipMessage('DownloadFirmwareSuccess');
31268
+ return preparedBinary;
31269
+ }
31270
+ catch (err) {
31271
+ throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.FirmwareUpdateDownloadFailed, (_l = err.message) !== null && _l !== void 0 ? _l : err);
31272
+ }
31273
+ });
30984
31274
  if (!(features === null || features === void 0 ? void 0 : features.bootloader_mode) && features) {
30985
31275
  const uuid = getDeviceUUID(features);
30986
31276
  if (this.isEnteredManuallyBoot(features)) {
@@ -31003,6 +31293,8 @@ class FirmwareUpdateV2 extends BaseMethod {
31003
31293
  }
31004
31294
  }
31005
31295
  (_c = (_b = this.device) === null || _b === void 0 ? void 0 : _b.commands) === null || _c === void 0 ? void 0 : _c.checkDisposed();
31296
+ yield acquireFirmwareBinary();
31297
+ (_e = (_d = this.device) === null || _d === void 0 ? void 0 : _d.commands) === null || _e === void 0 ? void 0 : _e.checkDisposed();
31006
31298
  try {
31007
31299
  this.postTipMessage('AutoRebootToBootloader');
31008
31300
  const bootRes = yield commands.typedCall('DeviceBackToBoot', 'Success');
@@ -31015,9 +31307,9 @@ class FirmwareUpdateV2 extends BaseMethod {
31015
31307
  DevicePool.clearDeviceCache(uuid);
31016
31308
  }
31017
31309
  delete DevicePool.devicesCache[''];
31018
- yield ((_d = this.checkPromise) === null || _d === void 0 ? void 0 : _d.promise);
31310
+ yield ((_f = this.checkPromise) === null || _f === void 0 ? void 0 : _f.promise);
31019
31311
  this.checkPromise = null;
31020
- (_f = (_e = this.device) === null || _e === void 0 ? void 0 : _e.commands) === null || _f === void 0 ? void 0 : _f.checkDisposed();
31312
+ (_h = (_g = this.device) === null || _g === void 0 ? void 0 : _g.commands) === null || _h === void 0 ? void 0 : _h.checkDisposed();
31021
31313
  const isTouch = DeviceModelToTypes.model_touch.includes(deviceType);
31022
31314
  yield wait(isTouch ? 3000 : 1500);
31023
31315
  }
@@ -31029,31 +31321,8 @@ class FirmwareUpdateV2 extends BaseMethod {
31029
31321
  return Promise.reject(hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.FirmwareUpdateAutoEnterBootFailure));
31030
31322
  }
31031
31323
  }
31032
- let binary;
31033
- try {
31034
- if (params.binary) {
31035
- binary = this.params.binary;
31036
- }
31037
- else {
31038
- if (!device.features) {
31039
- throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.RuntimeError, 'no features found for this device');
31040
- }
31041
- this.postTipMessage('DownloadFirmware');
31042
- const firmware = yield getBinary({
31043
- features: device.features,
31044
- version: params.version,
31045
- updateType: params.updateType,
31046
- isUpdateBootloader: params.isUpdateBootloader,
31047
- firmwareType,
31048
- });
31049
- binary = firmware.binary;
31050
- this.postTipMessage('DownloadFirmwareSuccess');
31051
- }
31052
- }
31053
- catch (err) {
31054
- throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.FirmwareUpdateDownloadFailed, (_g = err.message) !== null && _g !== void 0 ? _g : err);
31055
- }
31056
- (_j = (_h = this.device) === null || _h === void 0 ? void 0 : _h.commands) === null || _j === void 0 ? void 0 : _j.checkDisposed();
31324
+ const binary = yield acquireFirmwareBinary();
31325
+ (_k = (_j = this.device) === null || _j === void 0 ? void 0 : _j.commands) === null || _k === void 0 ? void 0 : _k.checkDisposed();
31057
31326
  yield this.device.acquire();
31058
31327
  const response = yield uploadFirmware(params.updateType, this.device.getCommands().typedCall.bind(this.device.getCommands()), this.postMessage, device, { payload: binary, rebootOnSuccess: true }, params.isUpdateBootloader);
31059
31328
  if (this.connectId) {
@@ -38949,7 +39218,16 @@ class KaspaSignTransaction extends BaseMethod {
38949
39218
  if (!this.supportsStreaming) {
38950
39219
  throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.CallMethodInvalidParameter, 'KaspaSignTransaction: device firmware uses the streaming protocol; every output requires address or addressN');
38951
39220
  }
38952
- return this.signTxStream(typedCall, response);
39221
+ try {
39222
+ return yield this.signTxStream(typedCall, response);
39223
+ }
39224
+ catch (error) {
39225
+ if (error instanceof hdShared.HardwareError &&
39226
+ String(error.message).toLowerCase().includes('previous transaction id mismatch')) {
39227
+ throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.KaspaPrevTxIdMismatch, String(error.message));
39228
+ }
39229
+ throw error;
39230
+ }
38953
39231
  }
38954
39232
  if (!this.supportsLegacy) {
38955
39233
  throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.RuntimeError, 'KaspaSignTransaction: device chose the legacy protocol but the transaction is not legacy-signable');
@@ -1,3 +1,4 @@
1
- export declare const httpRequest: (url: string, type: string) => any;
1
+ import type { HttpRequestOptions } from './networkUtils';
2
+ export declare const httpRequest: (url: string, type: string, options?: HttpRequestOptions) => any;
2
3
  export declare const getTimeStamp: () => number;
3
4
  //# sourceMappingURL=assets.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"assets.d.ts","sourceRoot":"","sources":["../../src/utils/assets.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW,QAAS,MAAM,QAAQ,MAAM,KAAG,GAAoC,CAAC;AAE7F,eAAO,MAAM,YAAY,cAA6B,CAAC"}
1
+ {"version":3,"file":"assets.d.ts","sourceRoot":"","sources":["../../src/utils/assets.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEzD,eAAO,MAAM,WAAW,QAAS,MAAM,QAAQ,MAAM,YAAY,kBAAkB,KAAG,GAC9C,CAAC;AAEzC,eAAO,MAAM,YAAY,cAA6B,CAAC"}
@@ -1,2 +1,10 @@
1
- export declare const httpRequest: (url: string, type?: string) => Promise<any>;
1
+ export type HttpRequestOptions = {
2
+ timeoutMs?: number;
3
+ connectTimeoutMs?: number;
4
+ readTimeoutMs?: number;
5
+ overallTimeoutMs?: number;
6
+ maxRetries?: number;
7
+ retryDelayMs?: number;
8
+ };
9
+ export declare const httpRequest: <T = unknown>(url: string, type?: string, options?: HttpRequestOptions) => Promise<T>;
2
10
  //# sourceMappingURL=networkUtils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"networkUtils.d.ts","sourceRoot":"","sources":["../../src/utils/networkUtils.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW,QAAe,MAAM,gCAsB5C,CAAC"}
1
+ {"version":3,"file":"networkUtils.d.ts","sourceRoot":"","sources":["../../src/utils/networkUtils.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,kBAAkB,GAAG;IAE/B,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AA4FF,eAAO,MAAM,WAAW,qBACjB,MAAM,2BAEF,kBAAkB,eA4K5B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onekeyfe/hd-core",
3
- "version": "1.1.32",
3
+ "version": "1.1.34-alpha.1",
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.32",
29
- "@onekeyfe/hd-transport": "1.1.32",
28
+ "@onekeyfe/hd-shared": "1.1.34-alpha.1",
29
+ "@onekeyfe/hd-transport": "1.1.34-alpha.1",
30
30
  "axios": "1.15.2",
31
31
  "bignumber.js": "^9.0.2",
32
32
  "bytebuffer": "^5.0.1",
@@ -44,5 +44,5 @@
44
44
  "@types/w3c-web-usb": "^1.0.10",
45
45
  "@types/web-bluetooth": "^0.0.21"
46
46
  },
47
- "gitHead": "d0640617adaa6769ae3954b9d618dcd682bef38a"
47
+ "gitHead": "e017f56235eae6eab82f1c687699a4204f3173f9"
48
48
  }