@onekeyfe/hd-core 1.2.2-alpha.105 → 1.2.2-alpha.106

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/README.md +1 -1
  2. package/__tests__/AllNetworkGetAddressBase.tracing.test.ts +2 -2
  3. package/__tests__/core-error-output.test.ts +92 -1
  4. package/__tests__/device-lifecycle-events.test.ts +313 -2
  5. package/__tests__/open-wallet-session-error-response.test.ts +2 -2
  6. package/__tests__/open-wallet-session.test.ts +8 -411
  7. package/__tests__/public-device-state-api.test.ts +2 -7
  8. package/dist/api/GetFeatures.d.ts.map +1 -1
  9. package/dist/api/GetPassphraseState.d.ts.map +1 -1
  10. package/dist/api/OpenWalletSession.d.ts.map +1 -1
  11. package/dist/core/RequestQueue.d.ts +1 -0
  12. package/dist/core/RequestQueue.d.ts.map +1 -1
  13. package/dist/core/index.d.ts +1 -0
  14. package/dist/core/index.d.ts.map +1 -1
  15. package/dist/device/Device.d.ts +2 -0
  16. package/dist/device/Device.d.ts.map +1 -1
  17. package/dist/index.d.ts +16 -18
  18. package/dist/index.js +156 -124
  19. package/dist/types/api/getFeatures.d.ts.map +1 -1
  20. package/dist/types/api/getPassphraseState.d.ts.map +1 -1
  21. package/dist/types/api/openWalletSession.d.ts +1 -10
  22. package/dist/types/api/openWalletSession.d.ts.map +1 -1
  23. package/dist/types/params.d.ts.map +1 -1
  24. package/package.json +4 -4
  25. package/src/api/GetFeatures.ts +1 -0
  26. package/src/api/GetPassphraseState.ts +1 -0
  27. package/src/api/OpenWalletSession.ts +7 -77
  28. package/src/core/RequestQueue.ts +20 -0
  29. package/src/core/index.ts +95 -42
  30. package/src/device/Device.ts +51 -27
  31. package/src/types/api/getFeatures.ts +2 -1
  32. package/src/types/api/getPassphraseState.ts +2 -5
  33. package/src/types/api/openWalletSession.ts +7 -19
  34. package/src/types/params.ts +7 -0
package/dist/index.d.ts CHANGED
@@ -6,6 +6,13 @@ import * as _onekeyfe_hd_shared from '@onekeyfe/hd-shared';
6
6
  import { HardwareConnectProtocol, EFirmwareType, EDeviceType, Deferred } from '@onekeyfe/hd-shared';
7
7
 
8
8
  interface CommonParams {
9
+ /**
10
+ * Keep the transport session after this call instead of releasing it.
11
+ * This is a Device.run() hold flag, not a wallet identity. It does not replace
12
+ * `useEmptyPassphrase`, `passphraseState`, or `openWalletSession`.
13
+ * USB multi-step flows and Electron BLE firmware windows still need this to
14
+ * avoid dropping the link between calls.
15
+ */
9
16
  keepSession?: boolean;
10
17
  /**
11
18
  * polling connect max retry count
@@ -832,6 +839,7 @@ declare class Device extends EventEmitter {
832
839
  runPromise?: Deferred<void> | null;
833
840
  /** Resolves only after the active run has completed its release path. */
834
841
  private runCleanupPromise?;
842
+ private userInterruption?;
835
843
  externalState: string[];
836
844
  unavailableCapabilities: UnavailableCapabilities;
837
845
  instance: number;
@@ -951,6 +959,7 @@ declare class Device extends EventEmitter {
951
959
  */
952
960
  updateDescriptor(descriptor: OneKeyDeviceInfo, forceUpdate?: boolean): void;
953
961
  updateFromCache(device: Device): void;
962
+ waitForRunCleanup(): Promise<void>;
954
963
  run(fn?: () => Promise<void>, options?: RunOptions): Promise<void>;
955
964
  _runInner<T>(fn: (() => Promise<T>) | undefined, options: RunOptions, runPromise: Deferred<void>): Promise<void>;
956
965
  interruptionFromOutside(): Promise<void>;
@@ -1543,7 +1552,8 @@ declare function searchDevices(params?: CommonParams): Response<SearchDevice[]>;
1543
1552
  declare function detectDeviceConnectProtocol(connectId: string): Response<HardwareConnectProtocol>;
1544
1553
 
1545
1554
  /**
1546
- * @deprecated Use `getDeviceState` for both Protocol V1 and Protocol V2 devices.
1555
+ * @deprecated Use `getDeviceState` for both Protocol V1 and Protocol V2.
1556
+ * Existing calls still work. Read `payload.identity.deviceId` from `getDeviceState`.
1547
1557
  */
1548
1558
  declare function getFeatures(connectId?: string, params?: CommonParams): Response<Features>;
1549
1559
 
@@ -1554,32 +1564,20 @@ declare function getOnekeyFeatures(connectId?: string, params?: CommonParams): R
1554
1564
 
1555
1565
  type GetPassphraseStateParams = CommonParams;
1556
1566
  /**
1557
- * Compatibility wallet-state API for existing App integrations.
1558
- *
1559
- * Protocol V1 keeps its parameterless firmware flow. Protocol V2 maps the existing
1560
- * `useEmptyPassphrase` and `initSession` intent to the device-only wallet-session flow.
1561
- * New integrations should prefer `openWalletSession` for explicit wallet intent.
1567
+ * @deprecated Use `openWalletSession` for both Protocol V1 and Protocol V2.
1568
+ * Existing calls still work. Persist `deviceId + passphraseState`; do not persist firmware `session_id`.
1562
1569
  */
1563
1570
  declare function getPassphraseState(connectId?: string, params?: GetPassphraseStateParams): Response<string | undefined>;
1564
1571
 
1565
1572
  declare const OpenWalletSessionMode: {
1566
1573
  readonly Standard: "standard";
1567
1574
  readonly SelectHidden: "select-hidden";
1568
- readonly ResumeHidden: "resume-hidden";
1569
1575
  };
1570
1576
  type OpenWalletSessionModeValue = (typeof OpenWalletSessionMode)[keyof typeof OpenWalletSessionMode];
1571
1577
  type OpenWalletSessionParams = {
1572
- mode: typeof OpenWalletSessionMode.Standard;
1578
+ mode: OpenWalletSessionModeValue;
1573
1579
  deviceId?: never;
1574
1580
  passphraseState?: never;
1575
- } | {
1576
- mode: typeof OpenWalletSessionMode.SelectHidden;
1577
- deviceId?: never;
1578
- passphraseState?: never;
1579
- } | {
1580
- mode: typeof OpenWalletSessionMode.ResumeHidden;
1581
- deviceId: string;
1582
- passphraseState: string;
1583
1581
  };
1584
1582
  type OpenWalletSessionPayloadBase = {
1585
1583
  protocol: 'V1' | 'V2';
@@ -1594,8 +1592,8 @@ type OpenWalletSessionPayload = OpenWalletSessionPayloadBase & ({
1594
1592
  passphraseState: string;
1595
1593
  });
1596
1594
  /**
1597
- * Opens the standard, hidden, or Attach-to-PIN wallet flow through a unified
1598
- * Protocol V1/V2 API.
1595
+ * Opens the standard or hidden wallet through a unified Protocol V1/V2 API.
1596
+ * Resume a bound hidden wallet by passing passphraseState on later methods.
1599
1597
  */
1600
1598
  declare function openWalletSession(connectId: string, params: CommonParams & OpenWalletSessionParams): Response<OpenWalletSessionPayload>;
1601
1599
 
package/dist/index.js CHANGED
@@ -291,7 +291,6 @@ const writeFirmwareByteSource = ({ source, chunkSize, write, }) => __awaiter(voi
291
291
  const OpenWalletSessionMode = {
292
292
  Standard: 'standard',
293
293
  SelectHidden: 'select-hidden',
294
- ResumeHidden: 'resume-hidden',
295
294
  };
296
295
 
297
296
  exports.EOneKeyDeviceMode = void 0;
@@ -46345,6 +46344,10 @@ class Device extends events.exports {
46345
46344
  }
46346
46345
  this.invalidateProtocolV2RuntimeState();
46347
46346
  }
46347
+ waitForRunCleanup() {
46348
+ var _a;
46349
+ return (_a = this.runCleanupPromise) !== null && _a !== void 0 ? _a : Promise.resolve();
46350
+ }
46348
46351
  run(fn, options) {
46349
46352
  return __awaiter(this, void 0, void 0, function* () {
46350
46353
  if (this.runPromise) {
@@ -46462,44 +46465,67 @@ class Device extends events.exports {
46462
46465
  });
46463
46466
  }
46464
46467
  interruptionFromUser() {
46465
- var _a, _b, _c, _d;
46466
- return __awaiter(this, void 0, void 0, function* () {
46467
- const error = hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.DeviceInterruptedFromUser);
46468
- this.interruptedAttempt = this.connectionAttempt;
46469
- const cleanupPromise = this.runCleanupPromise;
46470
- const { cancelableAction } = this;
46471
- if (cancelableAction) {
46472
- yield cancelableAction(error);
46473
- }
46474
- else if (this.shouldSendFallbackProtocolCancel()) {
46475
- yield ((_b = (_a = this.commands) === null || _a === void 0 ? void 0 : _a.cancelDevice) === null || _b === void 0 ? void 0 : _b.call(_a).catch(cancelError => {
46476
- Log$h.debug('Protocol V2 fallback cancel error', cancelError);
46477
- }));
46468
+ var _a;
46469
+ const attempt = this.connectionAttempt;
46470
+ if (((_a = this.userInterruption) === null || _a === void 0 ? void 0 : _a.attempt) === attempt) {
46471
+ return this.userInterruption.promise;
46472
+ }
46473
+ const error = hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.DeviceInterruptedFromUser);
46474
+ this.interruptedAttempt = attempt;
46475
+ const cleanupPromise = this.runCleanupPromise;
46476
+ const { cancelableAction, commands, runPromise, deviceConnector, mainId } = this;
46477
+ const sendFallbackCancel = this.shouldSendFallbackProtocolCancel();
46478
+ const acquired = this.hasDeviceAcquire();
46479
+ const promise = (() => __awaiter(this, void 0, void 0, function* () {
46480
+ var _b;
46481
+ try {
46482
+ if (cancelableAction) {
46483
+ yield cancelableAction(error);
46484
+ }
46485
+ else if (sendFallbackCancel) {
46486
+ yield ((_b = commands === null || commands === void 0 ? void 0 : commands.cancelDevice) === null || _b === void 0 ? void 0 : _b.call(commands).catch(cancelError => {
46487
+ Log$h.debug('Protocol V2 fallback cancel error', cancelError);
46488
+ }));
46489
+ }
46490
+ else if (!acquired) {
46491
+ if (mainId && (deviceConnector === null || deviceConnector === void 0 ? void 0 : deviceConnector.disconnect)) {
46492
+ yield deviceConnector.disconnect(mainId);
46493
+ }
46494
+ if (this.connectionAttempt === attempt)
46495
+ this.markTransportDisconnected();
46496
+ }
46497
+ yield (commands === null || commands === void 0 ? void 0 : commands.cancel());
46478
46498
  }
46479
- else if (!this.hasDeviceAcquire()) {
46480
- if (this.mainId && ((_c = this.deviceConnector) === null || _c === void 0 ? void 0 : _c.disconnect)) {
46481
- yield this.deviceConnector.disconnect(this.mainId).catch(disconnectError => {
46482
- Log$h.debug('Ignored disconnect during user cancel without acquire', disconnectError);
46499
+ catch (cleanupError) {
46500
+ Log$h.warn('User cancellation cleanup failed; disconnecting device', cleanupError);
46501
+ if (mainId && (deviceConnector === null || deviceConnector === void 0 ? void 0 : deviceConnector.disconnect)) {
46502
+ yield deviceConnector.disconnect(mainId).catch(disconnectError => {
46503
+ Log$h.debug('User cancellation fallback disconnect failed', disconnectError);
46483
46504
  });
46484
46505
  }
46485
- this.markTransportDisconnected();
46506
+ if (this.connectionAttempt === attempt)
46507
+ this.markTransportDisconnected();
46486
46508
  }
46487
- yield ((_d = this.commands) === null || _d === void 0 ? void 0 : _d.cancel());
46488
- if (this.runPromise) {
46489
- this.runPromise.reject(error);
46490
- this.runPromise = null;
46509
+ finally {
46510
+ runPromise === null || runPromise === void 0 ? void 0 : runPromise.reject(error);
46511
+ if (this.runPromise === runPromise)
46512
+ this.runPromise = null;
46513
+ yield (cleanupPromise === null || cleanupPromise === void 0 ? void 0 : cleanupPromise.catch(() => undefined));
46491
46514
  }
46492
- yield (cleanupPromise === null || cleanupPromise === void 0 ? void 0 : cleanupPromise.catch(() => undefined));
46493
- });
46515
+ }))();
46516
+ this.userInterruption = { attempt, promise };
46517
+ return promise;
46494
46518
  }
46495
46519
  setCancelableAction(callback) {
46496
- this.cancelableAction = (e) => callback(e)
46520
+ const action = (e) => callback(e)
46497
46521
  .catch(e2 => {
46498
46522
  Log$h.debug('cancelableAction error', e2);
46499
46523
  })
46500
46524
  .finally(() => {
46501
- this.clearCancelableAction();
46525
+ if (this.cancelableAction === action)
46526
+ this.clearCancelableAction();
46502
46527
  });
46528
+ this.cancelableAction = action;
46503
46529
  }
46504
46530
  clearCancelableAction() {
46505
46531
  this.cancelableAction = undefined;
@@ -47609,15 +47635,6 @@ function validateResult(result, nonNullableFields, options) {
47609
47635
  }
47610
47636
  }
47611
47637
 
47612
- const requiredString = (value, name) => {
47613
- if (value === undefined || value === null) {
47614
- throw invalidParameter(`Missing required parameter: ${name}`);
47615
- }
47616
- if (typeof value !== 'string' || !value.trim()) {
47617
- throw invalidParameter(`Parameter [${name}] must be a non-empty string.`);
47618
- }
47619
- return value.trim();
47620
- };
47621
47638
  const wasResumed = (session) => !!session &&
47622
47639
  typeof session === 'object' &&
47623
47640
  'resumed' in session &&
@@ -47639,25 +47656,16 @@ const normalizeParams = (payload) => {
47639
47656
  throw invalidParameter('Parameter [mode] is required.');
47640
47657
  }
47641
47658
  if (payload.mode !== OpenWalletSessionMode.Standard &&
47642
- payload.mode !== OpenWalletSessionMode.SelectHidden &&
47643
- payload.mode !== OpenWalletSessionMode.ResumeHidden) {
47644
- throw invalidParameter('Parameter [mode] must be one of standard, select-hidden, or resume-hidden.');
47659
+ payload.mode !== OpenWalletSessionMode.SelectHidden) {
47660
+ throw invalidParameter('Parameter [mode] must be one of standard or select-hidden.');
47645
47661
  }
47646
47662
  if (payload.useEmptyPassphrase !== undefined || payload.initSession !== undefined) {
47647
47663
  throw invalidParameter('Legacy parameters [useEmptyPassphrase] and [initSession] are not supported by openWalletSession.');
47648
47664
  }
47649
- if (payload.mode === OpenWalletSessionMode.Standard ||
47650
- payload.mode === OpenWalletSessionMode.SelectHidden) {
47651
- if (payload.deviceId !== undefined || payload.passphraseState !== undefined) {
47652
- throw invalidParameter('Parameters [deviceId] and [passphraseState] are only allowed with mode [resume-hidden].');
47653
- }
47654
- return { mode: payload.mode };
47665
+ if (payload.deviceId !== undefined || payload.passphraseState !== undefined) {
47666
+ throw invalidParameter('Parameters [deviceId] and [passphraseState] are not supported by openWalletSession. Pass passphraseState on later address and signing calls.');
47655
47667
  }
47656
- return {
47657
- mode: OpenWalletSessionMode.ResumeHidden,
47658
- deviceId: requiredString(payload.deviceId, 'deviceId'),
47659
- passphraseState: requiredString(payload.passphraseState, 'passphraseState'),
47660
- };
47668
+ return { mode: payload.mode };
47661
47669
  };
47662
47670
  class OpenWalletSession extends BaseMethod {
47663
47671
  getSupportedProtocols() {
@@ -47760,43 +47768,6 @@ class OpenWalletSession extends BaseMethod {
47760
47768
  resumed: wasResumed(session),
47761
47769
  };
47762
47770
  }
47763
- if (this.params.mode === OpenWalletSessionMode.ResumeHidden) {
47764
- if (isProtocolV2) {
47765
- yield ensureProtocolV2WalletStatus();
47766
- const refreshedDeviceId = requireDeviceId();
47767
- if (refreshedDeviceId !== this.params.deviceId) {
47768
- deviceWalletSessionStore.delete(this.params.deviceId, this.params.passphraseState);
47769
- throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.DeviceCheckDeviceIdError);
47770
- }
47771
- }
47772
- else if (requireDeviceId() !== this.params.deviceId) {
47773
- throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.DeviceCheckDeviceIdError);
47774
- }
47775
- this.device.passphraseState = this.params.passphraseState;
47776
- const cachedSessionId = deviceWalletSessionStore.get(this.params.deviceId, this.params.passphraseState);
47777
- if (!cachedSessionId && !isProtocolV2) {
47778
- throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.WalletSessionInvalid);
47779
- }
47780
- if (!isProtocolV2) {
47781
- yield this.device.initialize({
47782
- deviceId: this.params.deviceId,
47783
- passphraseState: this.params.passphraseState,
47784
- });
47785
- }
47786
- const session = isProtocolV2
47787
- ? yield getProtocolV2WalletSession(this.device, {
47788
- expectedPassphraseState: this.params.passphraseState,
47789
- })
47790
- : yield getPassphraseStateWithRefreshDeviceInfo(this.device, {
47791
- expectPassphraseState: this.params.passphraseState,
47792
- });
47793
- const deviceId = requireDeviceId();
47794
- if (session.passphraseState !== this.params.passphraseState) {
47795
- this.device.clearInternalState();
47796
- throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.DeviceCheckPassphraseStateError);
47797
- }
47798
- return Object.assign(Object.assign({ protocol, walletType: 'hidden', deviceId }, requireHiddenWalletResponse(session)), { resumed: wasResumed(session) || (!isProtocolV2 && session.newSession === cachedSessionId) });
47799
- }
47800
47771
  this.device.passphraseState = undefined;
47801
47772
  const walletStatus = yield ensureProtocolV2WalletStatus();
47802
47773
  if (isProtocolV2 && walletStatus.status.passphraseProtection !== true) {
@@ -65643,6 +65614,29 @@ class RequestQueue {
65643
65614
  getTask(requestId) {
65644
65615
  return this.requestQueue.get(requestId);
65645
65616
  }
65617
+ waitForTask(task, pending) {
65618
+ return __awaiter(this, void 0, void 0, function* () {
65619
+ const signal = task.method.abortSignal;
65620
+ const cancellationError = () => hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.CallQueueActionCancelled);
65621
+ if (signal === null || signal === void 0 ? void 0 : signal.aborted)
65622
+ throw cancellationError();
65623
+ let onAbort;
65624
+ try {
65625
+ const cancelled = new Promise((_, reject) => {
65626
+ onAbort = () => reject(cancellationError());
65627
+ signal === null || signal === void 0 ? void 0 : signal.addEventListener('abort', onAbort, { once: true });
65628
+ });
65629
+ const result = yield Promise.race([pending(), cancelled]);
65630
+ if (signal === null || signal === void 0 ? void 0 : signal.aborted)
65631
+ throw cancellationError();
65632
+ return result;
65633
+ }
65634
+ finally {
65635
+ if (onAbort)
65636
+ signal === null || signal === void 0 ? void 0 : signal.removeEventListener('abort', onAbort);
65637
+ }
65638
+ });
65639
+ }
65646
65640
  getAbortController(requestId) {
65647
65641
  var _a;
65648
65642
  return (_a = this.requestQueue.get(requestId)) === null || _a === void 0 ? void 0 : _a.abortController;
@@ -65843,6 +65837,7 @@ const createUiProgressMessageFilter = (intervalMs = DEFAULT_UI_PROGRESS_INTERVAL
65843
65837
  const Log = getLogger(exports.LoggerNames.Core);
65844
65838
  const PRE_INITIALIZE_TTL_MS = 60 * 1000;
65845
65839
  const PRE_PENDING_CALL_TIMEOUT_MS = 15 * 1000;
65840
+ const PRO2_USB_SIGNING_COOLDOWN_MS = 1000;
65846
65841
  const preWarmInflight = new Map();
65847
65842
  const preWarmDoneAt = new Map();
65848
65843
  function resolveDeriveCardano(method) {
@@ -66009,33 +66004,37 @@ const waitForPendingPromise = (connectId, getPrePendingCallPromise, removePrePen
66009
66004
  if (pendingPromise) {
66010
66005
  Log.debug('pre pending call promise before call method, wait for it');
66011
66006
  let timer;
66012
- let timedOut = false;
66013
66007
  try {
66014
66008
  yield Promise.race([
66015
66009
  pendingPromise,
66016
- new Promise(resolve => {
66010
+ new Promise((_, reject) => {
66017
66011
  timer = setTimeout(() => {
66018
- timedOut = true;
66019
- resolve();
66012
+ reject(hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.DeviceBusy, 'Previous device cancellation is still draining'));
66020
66013
  }, PRE_PENDING_CALL_TIMEOUT_MS);
66021
66014
  }),
66022
66015
  ]);
66023
- }
66024
- catch (error) {
66016
+ removePrePendingCallPromise === null || removePrePendingCallPromise === void 0 ? void 0 : removePrePendingCallPromise(connectId, pendingPromise);
66025
66017
  }
66026
66018
  finally {
66027
66019
  if (timer)
66028
66020
  clearTimeout(timer);
66029
- removePrePendingCallPromise === null || removePrePendingCallPromise === void 0 ? void 0 : removePrePendingCallPromise(connectId, pendingPromise);
66030
- }
66031
- if (timedOut) {
66032
- Log.warn('pre pending call promise timed out before call method', { connectId });
66033
66021
  }
66034
66022
  Log.debug('pre pending call promise before call method done');
66035
66023
  }
66036
66024
  });
66025
+ function getPostCallPendingPromise(method, device) {
66026
+ const cleanupPromise = device.waitForRunCleanup();
66027
+ const env = DataManager.getSettings('env');
66028
+ const deviceType = device.getCurrentDeviceType();
66029
+ const requiresSigningCooldown = method.name.includes('Sign') &&
66030
+ (deviceType === hdShared.EDeviceType.Pro2 || deviceType === hdShared.EDeviceType.Neo) &&
66031
+ (DataManager.isBrowserWebUsb(env) || DataManager.isDesktopWebUsb(env) || env === 'node-usb');
66032
+ return requiresSigningCooldown
66033
+ ? cleanupPromise.then(() => wait(PRO2_USB_SIGNING_COOLDOWN_MS)).then(() => undefined)
66034
+ : cleanupPromise;
66035
+ }
66037
66036
  const onCallDevice = (context, message, method) => __awaiter(void 0, void 0, void 0, function* () {
66038
- var _d, _e, _f, _g, _h, _j, _k;
66037
+ var _d, _e, _f, _g, _h, _j;
66039
66038
  let messageResponse;
66040
66039
  const { requestQueue, getPrePendingCallPromise, removePrePendingCallPromise } = context;
66041
66040
  updateMethodRequestContext(method, { status: 'running' });
@@ -66049,21 +66048,27 @@ const onCallDevice = (context, message, method) => __awaiter(void 0, void 0, voi
66049
66048
  Log.debug('passphrase state change, clear device cache');
66050
66049
  DevicePool.clearDeviceCache(method.payload.connectId);
66051
66050
  }
66052
- if (method.connectId) {
66053
- yield context.waitForCallbackTasks(method.connectId);
66054
- }
66055
- yield waitForPendingPromise((_d = method.connectId) !== null && _d !== void 0 ? _d : '', getPrePendingCallPromise, removePrePendingCallPromise);
66056
66051
  const task = requestQueue.createTask(method);
66057
66052
  let preWarmCallbackTask;
66058
- if (method.isPreWarmSignal && method.connectId) {
66059
- preWarmCallbackTask = hdShared.createDeferred();
66060
- context.registerCallbackTask(method.connectId, preWarmCallbackTask);
66061
- }
66062
66053
  let device;
66063
66054
  try {
66064
- const connectId = (_e = method.connectId) !== null && _e !== void 0 ? _e : '';
66055
+ const connectId = (_d = method.connectId) !== null && _d !== void 0 ? _d : '';
66056
+ if (connectId) {
66057
+ yield requestQueue.waitForTask(task, () => context.waitForCallbackTasks(connectId));
66058
+ }
66059
+ yield requestQueue.waitForTask(task, () => {
66060
+ var _a;
66061
+ return waitForPendingPromise((_a = method.connectId) !== null && _a !== void 0 ? _a : '', getPrePendingCallPromise, removePrePendingCallPromise);
66062
+ });
66063
+ if (method.isPreWarmSignal && method.connectId) {
66064
+ preWarmCallbackTask = hdShared.createDeferred();
66065
+ context.registerCallbackTask(method.connectId, preWarmCallbackTask);
66066
+ }
66065
66067
  const pollingId = pollingManager.start(connectId);
66066
- device = yield ensureConnected(context, method, connectId, pollingId, (_f = task.abortController) === null || _f === void 0 ? void 0 : _f.signal);
66068
+ device = yield ensureConnected(context, method, connectId, pollingId, method.abortSignal);
66069
+ if ((_e = method.abortSignal) === null || _e === void 0 ? void 0 : _e.aborted) {
66070
+ throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.CallQueueActionCancelled);
66071
+ }
66067
66072
  }
66068
66073
  catch (e) {
66069
66074
  preWarmCallbackTask === null || preWarmCallbackTask === void 0 ? void 0 : preWarmCallbackTask.resolve();
@@ -66078,7 +66083,7 @@ const onCallDevice = (context, message, method) => __awaiter(void 0, void 0, voi
66078
66083
  requestQueue.releaseTask(method.responseID);
66079
66084
  return createResponseMessage(method.responseID, false, { error: e });
66080
66085
  }
66081
- if ((_g = method.payload) === null || _g === void 0 ? void 0 : _g.onlyConnectBleDevice) {
66086
+ if ((_f = method.payload) === null || _f === void 0 ? void 0 : _f.onlyConnectBleDevice) {
66082
66087
  preWarmCallbackTask === null || preWarmCallbackTask === void 0 ? void 0 : preWarmCallbackTask.resolve();
66083
66088
  Log.debug('Call API - only connect ble device: ', device === null || device === void 0 ? void 0 : device.mainId);
66084
66089
  completeMethodRequestContext(method);
@@ -66086,11 +66091,11 @@ const onCallDevice = (context, message, method) => __awaiter(void 0, void 0, voi
66086
66091
  return createResponseMessage(method.responseID, true, null);
66087
66092
  }
66088
66093
  Log.debug('Call API - setDevice: ', device.mainId);
66089
- (_h = method.setDevice) === null || _h === void 0 ? void 0 : _h.call(method, device);
66094
+ (_g = method.setDevice) === null || _g === void 0 ? void 0 : _g.call(method, device);
66090
66095
  method.context = context;
66091
66096
  updateMethodRequestContext(method, {
66092
66097
  deviceInstanceId: device.instanceId,
66093
- commandsInstanceId: (_j = device.commands) === null || _j === void 0 ? void 0 : _j.instanceId,
66098
+ commandsInstanceId: (_h = device.commands) === null || _h === void 0 ? void 0 : _h.instanceId,
66094
66099
  });
66095
66100
  const activeRequests = getActiveRequestsByDeviceInstance(device.instanceId);
66096
66101
  if (activeRequests.length > 0) {
@@ -66116,17 +66121,21 @@ const onCallDevice = (context, message, method) => __awaiter(void 0, void 0, voi
66116
66121
  device.beginProtocolV2UiInteraction();
66117
66122
  device.on(DEVICE.SELECT_DEVICE_FOR_SWITCH_FIRMWARE_WEB_DEVICE, onSelectDeviceForSwitchFirmwareWebDeviceHandler);
66118
66123
  try {
66119
- if (method.connectId) {
66120
- yield context.waitForCallbackTasks(method.connectId, preWarmCallbackTask);
66124
+ const { connectId } = method;
66125
+ if (connectId) {
66126
+ yield requestQueue.waitForTask(task, () => context.waitForCallbackTasks(connectId, preWarmCallbackTask));
66121
66127
  }
66122
- yield waitForPendingPromise((_k = method.connectId) !== null && _k !== void 0 ? _k : '', getPrePendingCallPromise, removePrePendingCallPromise);
66128
+ yield requestQueue.waitForTask(task, () => {
66129
+ var _a;
66130
+ return waitForPendingPromise((_a = method.connectId) !== null && _a !== void 0 ? _a : '', getPrePendingCallPromise, removePrePendingCallPromise);
66131
+ });
66123
66132
  const inner = () => __awaiter(void 0, void 0, void 0, function* () {
66124
- var _l, _m;
66133
+ var _k, _l;
66125
66134
  method.assertProtocolSupported(device.getProtocol(), device.getCurrentFirmwareType());
66126
66135
  protocolV2Operation = device.isProtocolV2();
66127
66136
  const versionRange = device.getCurrentMethodVersionRange(type => method.getVersionRange()[type]);
66128
- const currentFirmwareVersion = (_l = device.getCurrentFirmwareVersionString()) !== null && _l !== void 0 ? _l : '0.0.0';
66129
- const currentBleVersion = (_m = device.getCurrentBLEFirmwareVersionString()) !== null && _m !== void 0 ? _m : '0.0.0';
66137
+ const currentFirmwareVersion = (_k = device.getCurrentFirmwareVersionString()) !== null && _k !== void 0 ? _k : '0.0.0';
66138
+ const currentBleVersion = (_l = device.getCurrentBLEFirmwareVersionString()) !== null && _l !== void 0 ? _l : '0.0.0';
66130
66139
  const deviceFirmwareType = device.getCurrentFirmwareType();
66131
66140
  let newVersionStatus;
66132
66141
  if (device.features && !device.isProtocolV2()) {
@@ -66204,7 +66213,7 @@ const onCallDevice = (context, message, method) => __awaiter(void 0, void 0, voi
66204
66213
  }
66205
66214
  },
66206
66215
  prepare: () => __awaiter(void 0, void 0, void 0, function* () {
66207
- var _o, _p, _q, _r, _s, _t;
66216
+ var _m, _o, _p, _q, _r, _s;
66208
66217
  if (method.deviceId && method.checkDeviceId && !deviceIdCheckedDuringUnlockPreflight) {
66209
66218
  const isSameDeviceID = yield checkLiveDeviceId(device, method.deviceId);
66210
66219
  if (!isSameDeviceID) {
@@ -66224,7 +66233,7 @@ const onCallDevice = (context, message, method) => __awaiter(void 0, void 0, voi
66224
66233
  require: support.require,
66225
66234
  });
66226
66235
  }
66227
- const passphraseStateSafety = yield device.checkPassphraseStateSafety((_o = method.payload) === null || _o === void 0 ? void 0 : _o.passphraseState, (_p = method.payload) === null || _p === void 0 ? void 0 : _p.useEmptyPassphrase, (_q = method.payload) === null || _q === void 0 ? void 0 : _q.skipPassphraseCheck, resolveDeriveCardano(method), (_r = method.protocolV2UnlockContext) === null || _r === void 0 ? void 0 : _r.preflightMainPinSelected);
66236
+ const passphraseStateSafety = yield device.checkPassphraseStateSafety((_m = method.payload) === null || _m === void 0 ? void 0 : _m.passphraseState, (_o = method.payload) === null || _o === void 0 ? void 0 : _o.useEmptyPassphrase, (_p = method.payload) === null || _p === void 0 ? void 0 : _p.skipPassphraseCheck, resolveDeriveCardano(method), (_q = method.protocolV2UnlockContext) === null || _q === void 0 ? void 0 : _q.preflightMainPinSelected);
66228
66237
  checkPassphraseEnableState(method, device.features);
66229
66238
  if (!passphraseStateSafety) {
66230
66239
  DevicePool.clearDeviceCache(method.payload.connectId);
@@ -66242,10 +66251,13 @@ const onCallDevice = (context, message, method) => __awaiter(void 0, void 0, voi
66242
66251
  ? e
66243
66252
  : hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.RuntimeError, 'open safety check failed.');
66244
66253
  }
66245
- (_t = (_s = method.device) === null || _s === void 0 ? void 0 : _s.commands) === null || _t === void 0 ? void 0 : _t.checkDisposed();
66254
+ (_s = (_r = method.device) === null || _r === void 0 ? void 0 : _r.commands) === null || _s === void 0 ? void 0 : _s.checkDisposed();
66246
66255
  }),
66247
66256
  });
66248
66257
  messageResponse = createResponseMessage(method.responseID, true, response);
66258
+ if (method.connectId) {
66259
+ context.setPrePendingCallPromise(method.connectId, getPostCallPendingPromise(method, device));
66260
+ }
66249
66261
  requestQueue.resolveRequest(method.responseID, messageResponse);
66250
66262
  completeMethodRequestContext(method);
66251
66263
  }
@@ -66256,6 +66268,9 @@ const onCallDevice = (context, message, method) => __awaiter(void 0, void 0, voi
66256
66268
  }
66257
66269
  Log.debug(`Call API - Inner Method Run Error`, error);
66258
66270
  messageResponse = createResponseMessage(method.responseID, false, { error });
66271
+ if (method.connectId) {
66272
+ context.setPrePendingCallPromise(method.connectId, getPostCallPendingPromise(method, device));
66273
+ }
66259
66274
  requestQueue.resolveRequest(method.responseID, messageResponse);
66260
66275
  completeMethodRequestContext(method, error);
66261
66276
  if (error instanceof hdShared.HardwareError &&
@@ -66274,6 +66289,9 @@ const onCallDevice = (context, message, method) => __awaiter(void 0, void 0, voi
66274
66289
  });
66275
66290
  Log.debug('Call API - Device Run: ', device.mainId);
66276
66291
  const runOptions = Object.assign({ keepSession: method.payload.keepSession, skipInitialize: canSkipInitialize(method, device) }, parseInitOptions(method));
66292
+ if ((_j = method.abortSignal) === null || _j === void 0 ? void 0 : _j.aborted) {
66293
+ throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.CallQueueActionCancelled);
66294
+ }
66277
66295
  const deviceRun = () => device.run(inner, runOptions);
66278
66296
  task.callPromise = hdShared.createDeferred(deviceRun);
66279
66297
  try {
@@ -66292,6 +66310,7 @@ const onCallDevice = (context, message, method) => __awaiter(void 0, void 0, voi
66292
66310
  requestQueue.rejectRequest(method.responseID, hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.CallMethodError, error.message));
66293
66311
  Log.debug('Call API - Run Error: ', error);
66294
66312
  completeMethodRequestContext(method, error);
66313
+ return messageResponse;
66295
66314
  }
66296
66315
  finally {
66297
66316
  preWarmCallbackTask === null || preWarmCallbackTask === void 0 ? void 0 : preWarmCallbackTask.resolve();
@@ -66496,7 +66515,7 @@ function connectDeviceForBle(method, device, abortSignal, retryCount = 0) {
66496
66515
  var _a;
66497
66516
  return __awaiter(this, void 0, void 0, function* () {
66498
66517
  try {
66499
- if (device.wasInterruptedByUser()) {
66518
+ if ((abortSignal === null || abortSignal === void 0 ? void 0 : abortSignal.aborted) || device.wasInterruptedByUser()) {
66500
66519
  throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.DeviceInterruptedFromUser);
66501
66520
  }
66502
66521
  if (method.payload.forceProtocolDetection && device.hasDeviceAcquire()) {
@@ -66552,6 +66571,9 @@ function connectDeviceForBle(method, device, abortSignal, retryCount = 0) {
66552
66571
  }
66553
66572
  }
66554
66573
  catch (err) {
66574
+ if ((abortSignal === null || abortSignal === void 0 ? void 0 : abortSignal.aborted) || device.wasInterruptedByUser()) {
66575
+ throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.DeviceInterruptedFromUser);
66576
+ }
66555
66577
  const requiresColdReconnect = isMissingDetectedProtocolV2Error(method, err);
66556
66578
  if ((hdShared.ERROR_CODES_REQUIRE_DISCONNECT.includes(err.errorCode) || requiresColdReconnect) &&
66557
66579
  device.mainId &&
@@ -66587,7 +66609,7 @@ const ensureConnected = (_context, method, connectId, pollingId, abortSignal) =>
66587
66609
  Log.debug(`EnsureConnected function start, MAX_RETRY_COUNT=${MAX_RETRY_COUNT}, POLL_INTERVAL_TIME=${POLL_INTERVAL_TIME} `);
66588
66610
  const poll = (time = POLL_INTERVAL_TIME) => __awaiter(void 0, void 0, void 0, function* () {
66589
66611
  return new Promise((resolve, reject) => __awaiter(void 0, void 0, void 0, function* () {
66590
- var _u;
66612
+ var _t;
66591
66613
  const abort = () => {
66592
66614
  if (abortSignal && abortSignal.aborted) {
66593
66615
  if (timer) {
@@ -66688,6 +66710,7 @@ const ensureConnected = (_context, method, connectId, pollingId, abortSignal) =>
66688
66710
  hdShared.HardwareErrorCode.BleDeviceBondedCanceled,
66689
66711
  hdShared.HardwareErrorCode.BleCharacteristicNotifyError,
66690
66712
  hdShared.HardwareErrorCode.BleTimeoutError,
66713
+ hdShared.HardwareErrorCode.PollingTimeout,
66691
66714
  hdShared.HardwareErrorCode.BleWriteCharacteristicError,
66692
66715
  hdShared.HardwareErrorCode.BleAlreadyConnected,
66693
66716
  hdShared.HardwareErrorCode.FirmwareUpdateLimitOneDevice,
@@ -66698,6 +66721,8 @@ const ensureConnected = (_context, method, connectId, pollingId, abortSignal) =>
66698
66721
  hdShared.HardwareErrorCode.DeviceInterruptedFromUser,
66699
66722
  hdShared.HardwareErrorCode.CallQueueActionCancelled,
66700
66723
  ].includes(error.errorCode) ||
66724
+ (env === 'react-native' &&
66725
+ [hdShared.HardwareErrorCode.BleDeviceDisconnected, hdShared.HardwareErrorCode.PollingTimeout].includes(error.errorCode)) ||
66701
66726
  isTerminalBleStaleBondError(error) ||
66702
66727
  isDeviceIdentityMismatchError(error)) {
66703
66728
  reject(error);
@@ -66709,7 +66734,7 @@ const ensureConnected = (_context, method, connectId, pollingId, abortSignal) =>
66709
66734
  clearTimeout(timer);
66710
66735
  }
66711
66736
  Log.debug('EnsureConnected get to max try count, will return: ', tryCount);
66712
- if (DataManager.isBrowserWebUsb(env) && !((_u = method.payload) === null || _u === void 0 ? void 0 : _u.skipWebDevicePrompt)) {
66737
+ if (DataManager.isBrowserWebUsb(env) && !((_t = method.payload) === null || _t === void 0 ? void 0 : _t.skipWebDevicePrompt)) {
66713
66738
  postMessage(createUiMessage(UI_REQUEST.WEB_DEVICE_PROMPT_ACCESS_PERMISSION));
66714
66739
  reject(hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.WebDeviceNotFoundOrNeedsPermission));
66715
66740
  }
@@ -66994,7 +67019,14 @@ class Core extends events.exports {
66994
67019
  this.prePendingCallPromises.delete(connectId);
66995
67020
  return;
66996
67021
  }
66997
- this.prePendingCallPromises.set(connectId, promise);
67022
+ const previous = this.prePendingCallPromises.get(connectId);
67023
+ const cleanupPromise = previous && previous !== promise
67024
+ ? Promise.all([previous, promise]).then(() => undefined)
67025
+ : promise;
67026
+ this.prePendingCallPromises.set(connectId, cleanupPromise);
67027
+ cleanupPromise.catch(error => {
67028
+ Log.warn('Device cancellation cleanup failed', { errorCode: error === null || error === void 0 ? void 0 : error.errorCode });
67029
+ });
66998
67030
  },
66999
67031
  removePrePendingCallPromise: (connectId, promise) => {
67000
67032
  if (this.prePendingCallPromises.get(connectId) === promise) {
@@ -1 +1 @@
1
- {"version":3,"file":"getFeatures.d.ts","sourceRoot":"","sources":["../../../src/types/api/getFeatures.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAK1C,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC"}
1
+ {"version":3,"file":"getFeatures.d.ts","sourceRoot":"","sources":["../../../src/types/api/getFeatures.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAM1C,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"getPassphraseState.d.ts","sourceRoot":"","sources":["../../../src/types/api/getPassphraseState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAExD,MAAM,MAAM,wBAAwB,GAAG,YAAY,CAAC;AASpD,MAAM,CAAC,OAAO,UAAU,kBAAkB,CACxC,SAAS,CAAC,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,wBAAwB,GAChC,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC"}
1
+ {"version":3,"file":"getPassphraseState.d.ts","sourceRoot":"","sources":["../../../src/types/api/getPassphraseState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAExD,MAAM,MAAM,wBAAwB,GAAG,YAAY,CAAC;AAMpD,MAAM,CAAC,OAAO,UAAU,kBAAkB,CACxC,SAAS,CAAC,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,wBAAwB,GAChC,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC"}
@@ -2,21 +2,12 @@ import type { CommonParams, Response } from '../params';
2
2
  export declare const OpenWalletSessionMode: {
3
3
  readonly Standard: "standard";
4
4
  readonly SelectHidden: "select-hidden";
5
- readonly ResumeHidden: "resume-hidden";
6
5
  };
7
6
  export type OpenWalletSessionModeValue = (typeof OpenWalletSessionMode)[keyof typeof OpenWalletSessionMode];
8
7
  export type OpenWalletSessionParams = {
9
- mode: typeof OpenWalletSessionMode.Standard;
8
+ mode: OpenWalletSessionModeValue;
10
9
  deviceId?: never;
11
10
  passphraseState?: never;
12
- } | {
13
- mode: typeof OpenWalletSessionMode.SelectHidden;
14
- deviceId?: never;
15
- passphraseState?: never;
16
- } | {
17
- mode: typeof OpenWalletSessionMode.ResumeHidden;
18
- deviceId: string;
19
- passphraseState: string;
20
11
  };
21
12
  type OpenWalletSessionPayloadBase = {
22
13
  protocol: 'V1' | 'V2';
@@ -1 +1 @@
1
- {"version":3,"file":"openWalletSession.d.ts","sourceRoot":"","sources":["../../../src/types/api/openWalletSession.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAExD,eAAO,MAAM,qBAAqB;;;;CAIxB,CAAC;AAEX,MAAM,MAAM,0BAA0B,GACpC,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,OAAO,qBAAqB,CAAC,CAAC;AAErE,MAAM,MAAM,uBAAuB,GAC/B;IACE,IAAI,EAAE,OAAO,qBAAqB,CAAC,QAAQ,CAAC;IAC5C,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,eAAe,CAAC,EAAE,KAAK,CAAC;CACzB,GACD;IACE,IAAI,EAAE,OAAO,qBAAqB,CAAC,YAAY,CAAC;IAChD,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,eAAe,CAAC,EAAE,KAAK,CAAC;CACzB,GACD;IACE,IAAI,EAAE,OAAO,qBAAqB,CAAC,YAAY,CAAC;IAChD,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAEN,KAAK,4BAA4B,GAAG;IAClC,QAAQ,EAAE,IAAI,GAAG,IAAI,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,4BAA4B,GACjE,CACI;IACE,UAAU,EAAE,UAAU,CAAC;IACvB,eAAe,EAAE,IAAI,CAAC;CACvB,GACD;IACE,UAAU,EAAE,QAAQ,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;CACzB,CACJ,CAAC;AAMJ,MAAM,CAAC,OAAO,UAAU,iBAAiB,CACvC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,YAAY,GAAG,uBAAuB,GAC7C,QAAQ,CAAC,wBAAwB,CAAC,CAAC"}
1
+ {"version":3,"file":"openWalletSession.d.ts","sourceRoot":"","sources":["../../../src/types/api/openWalletSession.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAExD,eAAO,MAAM,qBAAqB;;;CAGxB,CAAC;AAEX,MAAM,MAAM,0BAA0B,GACpC,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,OAAO,qBAAqB,CAAC,CAAC;AAErE,MAAM,MAAM,uBAAuB,GAAG;IACpC,IAAI,EAAE,0BAA0B,CAAC;IACjC,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,eAAe,CAAC,EAAE,KAAK,CAAC;CACzB,CAAC;AAEF,KAAK,4BAA4B,GAAG;IAClC,QAAQ,EAAE,IAAI,GAAG,IAAI,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,4BAA4B,GACjE,CACI;IACE,UAAU,EAAE,UAAU,CAAC;IACvB,eAAe,EAAE,IAAI,CAAC;CACvB,GACD;IACE,UAAU,EAAE,QAAQ,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;CACzB,CACJ,CAAC;AAMJ,MAAM,CAAC,OAAO,UAAU,iBAAiB,CACvC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,YAAY,GAAG,uBAAuB,GAC7C,QAAQ,CAAC,wBAAwB,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"params.d.ts","sourceRoot":"","sources":["../../src/types/params.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAEnE,MAAM,WAAW,YAAY;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAC;IAItB,UAAU,CAAC,EAAE,MAAM,CAAC;IAIpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAI1B,OAAO,CAAC,EAAE,MAAM,CAAC;IAIjB,6BAA6B,CAAC,EAAE,MAAM,CAAC;IAIvC,eAAe,CAAC,EAAE,MAAM,CAAC;IAIzB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAI7B,WAAW,CAAC,EAAE,OAAO,CAAC;IAKtB,aAAa,CAAC,EAAE,OAAO,CAAC;IAGxB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAKjC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAK9B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAK9B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAK/B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAM3B,eAAe,CAAC,EAAE,uBAAuB,CAAC;IAM1C,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC;AAED,MAAM,MAAM,MAAM,CAAC,CAAC,IAAI,YAAY,GAAG,CAAC,GAAG;IAAE,MAAM,CAAC,EAAE,SAAS,CAAA;CAAE,CAAC;AAElE,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,KAAK,CAAC;IACf,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;CACpD;AAED,MAAM,WAAW,OAAO,CAAC,CAAC;IACxB,OAAO,EAAE,IAAI,CAAC;IACd,OAAO,EAAE,CAAC,CAAC;CACZ;AAED,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC"}
1
+ {"version":3,"file":"params.d.ts","sourceRoot":"","sources":["../../src/types/params.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAEnE,MAAM,WAAW,YAAY;IAQ3B,WAAW,CAAC,EAAE,OAAO,CAAC;IAItB,UAAU,CAAC,EAAE,MAAM,CAAC;IAIpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAI1B,OAAO,CAAC,EAAE,MAAM,CAAC;IAIjB,6BAA6B,CAAC,EAAE,MAAM,CAAC;IAIvC,eAAe,CAAC,EAAE,MAAM,CAAC;IAIzB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAI7B,WAAW,CAAC,EAAE,OAAO,CAAC;IAKtB,aAAa,CAAC,EAAE,OAAO,CAAC;IAGxB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAKjC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAK9B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAK9B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAK/B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAM3B,eAAe,CAAC,EAAE,uBAAuB,CAAC;IAM1C,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC;AAED,MAAM,MAAM,MAAM,CAAC,CAAC,IAAI,YAAY,GAAG,CAAC,GAAG;IAAE,MAAM,CAAC,EAAE,SAAS,CAAA;CAAE,CAAC;AAElE,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,KAAK,CAAC;IACf,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;CACpD;AAED,MAAM,WAAW,OAAO,CAAC,CAAC;IACxB,OAAO,EAAE,IAAI,CAAC;IACd,OAAO,EAAE,CAAC,CAAC;CACZ;AAED,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC"}