@trezor/connect 9.5.4 → 9.5.5-beta.2

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 (87) hide show
  1. package/CHANGELOG.md +800 -775
  2. package/README.md +5 -5
  3. package/lib/api/bitcoin/TransactionComposer.d.ts +3 -1
  4. package/lib/api/bitcoin/TransactionComposer.js +6 -3
  5. package/lib/api/bitcoin/index.d.ts +0 -1
  6. package/lib/api/bitcoin/index.js +0 -1
  7. package/lib/api/bitcoin/transactionBytes.d.ts +5 -0
  8. package/lib/api/bitcoin/transactionBytes.js +74 -0
  9. package/lib/api/bleUnpair.d.ts +9 -0
  10. package/lib/api/bleUnpair.js +36 -0
  11. package/lib/api/blockchainEstimateFee.js +4 -16
  12. package/lib/api/common/Discovery.d.ts +12 -10
  13. package/lib/api/common/Discovery.js +2 -4
  14. package/lib/api/composeTransaction.js +1 -1
  15. package/lib/api/ethereum/api/ethereumSignMessage.d.ts +6 -0
  16. package/lib/api/ethereum/api/ethereumSignMessage.js +10 -0
  17. package/lib/api/ethereum/api/ethereumSignTransaction.d.ts +21 -1
  18. package/lib/api/ethereum/api/ethereumSignTransaction.js +66 -0
  19. package/lib/api/ethereum/api/ethereumSignTypedData.d.ts +6 -0
  20. package/lib/api/ethereum/api/ethereumSignTypedData.js +10 -0
  21. package/lib/api/getFeatures.js +1 -0
  22. package/lib/api/index.d.ts +1 -0
  23. package/lib/api/index.js +3 -1
  24. package/lib/api/signMessage.d.ts +8 -0
  25. package/lib/api/signMessage.js +16 -6
  26. package/lib/api/signTransaction.d.ts +205 -0
  27. package/lib/api/signTransaction.js +43 -0
  28. package/lib/api/solana/api/solanaSignTransaction.d.ts +20 -0
  29. package/lib/api/solana/api/solanaSignTransaction.js +132 -0
  30. package/lib/api/solana/solanaUtils.d.ts +1 -0
  31. package/lib/api/solana/solanaUtils.js +2 -1
  32. package/lib/backend/BackendManager.js +1 -1
  33. package/lib/backend/Blockchain.d.ts +1 -3
  34. package/lib/backend/Blockchain.js +1 -21
  35. package/lib/{api/bitcoin/BitcoinFees.d.ts → backend/fees/BitcoinFeeLevels.d.ts} +5 -6
  36. package/lib/{api/bitcoin/BitcoinFees.js → backend/fees/BitcoinFeeLevels.js} +5 -4
  37. package/lib/{api/ethereum/EthereumFees.d.ts → backend/fees/EthereumFeeLevels.d.ts} +4 -5
  38. package/lib/{api/ethereum/EthereumFees.js → backend/fees/EthereumFeeLevels.js} +4 -5
  39. package/lib/{api/common/MiscFees.d.ts → backend/fees/MiscFeeLevels.d.ts} +3 -3
  40. package/lib/{api/common/MiscFees.js → backend/fees/MiscFeeLevels.js} +3 -2
  41. package/lib/backend/fees/index.d.ts +6 -0
  42. package/lib/backend/fees/index.js +33 -0
  43. package/lib/constants/firmware.d.ts +0 -1
  44. package/lib/constants/firmware.js +1 -2
  45. package/lib/core/AbstractMethod.d.ts +7 -4
  46. package/lib/core/AbstractMethod.js +8 -1
  47. package/lib/core/index.d.ts +0 -1
  48. package/lib/core/index.js +22 -27
  49. package/lib/core/onCallFirmwareUpdate.js +1 -1
  50. package/lib/data/DataManager.d.ts +4 -1
  51. package/lib/data/DataManager.js +7 -0
  52. package/lib/data/config.d.ts +0 -14
  53. package/lib/data/config.js +4 -12
  54. package/lib/data/connectSettings.d.ts +5 -1
  55. package/lib/data/connectSettings.js +26 -2
  56. package/lib/data/defaultFeeLevels.js +3 -3
  57. package/lib/data/deviceAuthenticityConfig.js +22 -7
  58. package/lib/data/thpSettings.d.ts +3 -0
  59. package/lib/data/thpSettings.js +37 -0
  60. package/lib/data/version.d.ts +1 -1
  61. package/lib/data/version.js +1 -1
  62. package/lib/device/Device.d.ts +8 -11
  63. package/lib/device/Device.js +40 -80
  64. package/lib/device/DeviceCurrentSession.d.ts +9 -1
  65. package/lib/device/DeviceList.js +1 -1
  66. package/lib/events/index.d.ts +2 -0
  67. package/lib/events/ui-request.d.ts +18 -4
  68. package/lib/events/ui-request.js +1 -0
  69. package/lib/events/ui-response.d.ts +7 -1
  70. package/lib/events/ui-response.js +1 -0
  71. package/lib/factory.js +1 -0
  72. package/lib/tsconfig.lib.tsbuildinfo +1 -1
  73. package/lib/types/api/bleUnpair.d.ts +4 -0
  74. package/lib/types/api/bleUnpair.js +3 -0
  75. package/lib/types/api/index.d.ts +2 -0
  76. package/lib/types/api/solana/index.d.ts +4 -0
  77. package/lib/types/api/solana/index.js +1 -0
  78. package/lib/types/device.d.ts +4 -0
  79. package/lib/types/fees.d.ts +2 -0
  80. package/lib/types/fees.js +2 -0
  81. package/lib/types/firmware.d.ts +5 -0
  82. package/lib/types/settings.d.ts +20 -2
  83. package/lib/utils/firmwareUtils.d.ts +3 -1
  84. package/lib/utils/firmwareUtils.js +7 -1
  85. package/lib/utils/uiPromiseManager.d.ts +2 -0
  86. package/lib/utils/versionCheck.js +1 -1
  87. package/package.json +17 -16
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DEEPLINK_VERSION = exports.CONTENT_SCRIPT_VERSION = exports.DEFAULT_DOMAIN = exports.VERSION = void 0;
4
- exports.VERSION = '9.5.4';
4
+ exports.VERSION = '9.5.5-beta.2';
5
5
  const versionN = exports.VERSION.split('.').map(s => parseInt(s, 10));
6
6
  const isBeta = exports.VERSION.includes('beta');
7
7
  exports.DEFAULT_DOMAIN = isBeta
@@ -55,8 +55,11 @@ export declare class Device extends TypedEmitter<DeviceEvents> {
55
55
  readonly transport: Transport;
56
56
  readonly protocol: TransportProtocol;
57
57
  readonly transportPath: import("@trezor/transport/lib/types").PathPublic;
58
+ readonly bluetoothProps: {
59
+ id: string;
60
+ } | undefined;
61
+ private thp;
58
62
  private readonly transportDescriptorType;
59
- private readonly bluetoothProps;
60
63
  private session;
61
64
  private transportSessionOwner;
62
65
  private lastAcquiredHere;
@@ -123,12 +126,11 @@ export declare class Device extends TypedEmitter<DeviceEvents> {
123
126
  private _featuresNeedsReload;
124
127
  private acquirePromise?;
125
128
  private releasePromise?;
129
+ private runAbort?;
126
130
  private runPromise?;
127
131
  private keepTransportSession;
128
132
  private currentSession?;
129
- private loaded;
130
133
  private inconsistent;
131
- private firstRunPromise;
132
134
  private instance;
133
135
  private state;
134
136
  private stateStorage?;
@@ -147,19 +149,17 @@ export declare class Device extends TypedEmitter<DeviceEvents> {
147
149
  constructor({ id, transport, descriptor, listener }: DeviceParams);
148
150
  private getSessionChangePromise;
149
151
  private waitAndCompareSession;
150
- acquire(): import("@trezor/transport/lib/types").AsyncResultWithTypedError<Session, "Network request failed" | "Wrong result type." | "device disconnected during action" | "unexpected error" | "Aborted by timeout" | "Aborted by signal" | "This transport can not be used in this environment" | "device not found" | "Unable to open device" | "descriptor not found" | "wrong previous session" | "LIBUSB_ERROR_ACCESS">;
152
+ acquire(): import("@trezor/transport/lib/types").AsyncResultWithTypedError<Session, "Network request failed" | "Wrong result type." | "device disconnected during action" | "unexpected error" | "Aborted by timeout" | "Aborted by signal" | "This transport can not be used in this environment" | "device not found" | "Unable to open device" | "wrong previous session" | "LIBUSB_ERROR_ACCESS">;
151
153
  release(): Promise<import("@trezor/transport/lib/types").Success<null> | {
152
154
  success: false;
153
155
  error: "Network request failed" | "Wrong result type." | "device disconnected during action" | "unexpected error" | "session not found" | "Aborted by timeout" | "Aborted by signal" | "This transport can not be used in this environment" | "device not found" | "Unable to open device" | "wrong previous session";
154
156
  message?: string;
155
157
  } | undefined>;
156
- releaseTransportSession(): void;
157
- cleanup(release?: boolean): Promise<void>;
158
158
  handshake(delay?: number): Promise<void>;
159
159
  updateDescriptor(descriptor: Descriptor): Promise<void>;
160
160
  run(fn?: () => Promise<void>, options?: RunOptions): Promise<void>;
161
- override(error: Error): Promise<void>;
162
- interruptionFromUser(error: Error): Promise<void>;
161
+ interrupt(reason: Error): Promise<void>;
162
+ get currentRun(): Promise<void> | undefined;
163
163
  usedElsewhere(): void;
164
164
  private _runInner;
165
165
  getCurrentSession(): TypedCallProvider;
@@ -265,9 +265,6 @@ export declare class Device extends TypedEmitter<DeviceEvents> {
265
265
  isUsed(): boolean;
266
266
  isUsedHere(): boolean;
267
267
  isUsedElsewhere(): boolean;
268
- isRunning(): boolean;
269
- isLoaded(): boolean;
270
- waitForFirstRun(): Promise<boolean>;
271
268
  getUniquePath(): DeviceUniquePath;
272
269
  isT1(): boolean;
273
270
  hasUnexpectedMode(allow: string[], require: string[]): "ui-device_bootloader_mode" | "ui-device_not_in_bootloader_mode" | "ui-device_not_initialized" | "ui-device_seedless" | null;
@@ -25,17 +25,13 @@ const _log = (0, debug_1.initLog)('Device');
25
25
  exports.CANCEL_TIMEOUT = 1_000;
26
26
  exports.GET_FEATURES_TIMEOUT = 3_000;
27
27
  exports.GET_FEATURES_TIMEOUT_REACT_NATIVE = 20_000;
28
- const parseRunOptions = (options) => {
29
- if (!options)
30
- options = {};
31
- return options;
32
- };
33
28
  class Device extends utils_1.TypedEmitter {
34
29
  transport;
35
30
  protocol;
36
31
  transportPath;
37
- transportDescriptorType;
38
32
  bluetoothProps;
33
+ thp;
34
+ transportDescriptorType;
39
35
  session;
40
36
  transportSessionOwner;
41
37
  lastAcquiredHere;
@@ -55,12 +51,11 @@ class Device extends utils_1.TypedEmitter {
55
51
  _featuresNeedsReload = false;
56
52
  acquirePromise;
57
53
  releasePromise;
54
+ runAbort;
58
55
  runPromise;
59
56
  keepTransportSession = false;
60
57
  currentSession;
61
- loaded = false;
62
58
  inconsistent = false;
63
- firstRunPromise;
64
59
  instance = 0;
65
60
  state = [];
66
61
  stateStorage = undefined;
@@ -95,7 +90,6 @@ class Device extends utils_1.TypedEmitter {
95
90
  this.bluetoothProps = descriptor.id ? { id: descriptor.id } : undefined;
96
91
  this.session = descriptor.session;
97
92
  this.lastAcquiredHere = false;
98
- this.firstRunPromise = (0, utils_1.createDeferred)();
99
93
  }
100
94
  getSessionChangePromise() {
101
95
  if (!this.sessionDfd) {
@@ -141,11 +135,7 @@ class Device extends utils_1.TypedEmitter {
141
135
  return result;
142
136
  }
143
137
  else {
144
- if (this.runPromise) {
145
- this.runPromise.reject(new Error(result.error));
146
- delete this.runPromise;
147
- }
148
- throw result.error;
138
+ throw new Error(result.error);
149
139
  }
150
140
  })
151
141
  .finally(() => {
@@ -174,16 +164,6 @@ class Device extends utils_1.TypedEmitter {
174
164
  });
175
165
  return this.releasePromise;
176
166
  }
177
- releaseTransportSession() {
178
- this.keepTransportSession = false;
179
- }
180
- async cleanup(release = true) {
181
- this.eventNames().forEach(e => this.removeAllListeners(e));
182
- delete this.runPromise;
183
- if (release) {
184
- await this.release();
185
- }
186
- }
187
167
  async handshake(delay) {
188
168
  if (delay) {
189
169
  await (0, utils_1.resolveAfter)(501 + delay);
@@ -201,7 +181,6 @@ class Device extends utils_1.TypedEmitter {
201
181
  if (error.code === 'Device_NotFound' ||
202
182
  error.message === transport_1.TRANSPORT_ERROR.DEVICE_NOT_FOUND ||
203
183
  error.message === transport_1.TRANSPORT_ERROR.DEVICE_DISCONNECTED_DURING_ACTION ||
204
- error.message === transport_1.TRANSPORT_ERROR.DESCRIPTOR_NOT_FOUND ||
205
184
  error.message === transport_1.TRANSPORT_ERROR.HTTP_ERROR) {
206
185
  }
207
186
  else if (error.message === transport_1.TRANSPORT_ERROR.UNEXPECTED_ERROR ||
@@ -234,52 +213,52 @@ class Device extends utils_1.TypedEmitter {
234
213
  if (!descriptor.session) {
235
214
  const methodStillRunning = !this.currentSession?.isDisposed();
236
215
  if (methodStillRunning) {
237
- this.releaseTransportSession();
216
+ this.keepTransportSession = false;
238
217
  }
239
218
  }
240
219
  this.session = descriptor.session;
241
220
  this.transportSessionOwner = descriptor.sessionOwner;
242
221
  this.emitLifecycle(events_1.DEVICE.CHANGED);
243
222
  }
244
- run(fn, options) {
223
+ run(fn, options = {}) {
245
224
  if (this.runPromise) {
246
225
  _log.warn('Previous call is still running');
247
226
  throw constants_1.ERRORS.TypedError('Device_CallInProgress');
248
227
  }
249
- options = parseRunOptions(options);
250
228
  const wasUnacquired = this.isUnacquired();
251
- const runPromise = (0, utils_1.createDeferred)();
252
- this.runPromise = runPromise;
253
- this._runInner(fn, options)
229
+ this.runAbort = new AbortController();
230
+ const { signal } = this.runAbort;
231
+ this.runPromise = Promise.race([
232
+ this._runInner(fn, options),
233
+ new Promise((_, reject) => {
234
+ signal.addEventListener('abort', () => reject(signal.reason));
235
+ }),
236
+ ])
237
+ .catch(async (err) => {
238
+ this.keepTransportSession = false;
239
+ await this.acquirePromise;
240
+ await this.release();
241
+ throw err;
242
+ })
243
+ .finally(() => {
244
+ this.runAbort = undefined;
245
+ this.runPromise = undefined;
246
+ })
254
247
  .then(() => {
255
248
  if (wasUnacquired && !this.isUnacquired()) {
256
249
  this.emitLifecycle(events_1.DEVICE.CONNECT);
257
250
  }
258
- })
259
- .catch(err => {
260
- runPromise.reject(err);
261
251
  });
262
- return runPromise.promise;
263
- }
264
- async override(error) {
265
- if (this.acquirePromise) {
266
- await this.acquirePromise;
267
- }
268
- if (this.runPromise) {
269
- await this.interruptionFromUser(error);
270
- }
271
- if (this.releasePromise) {
272
- await this.releasePromise;
273
- }
252
+ return this.runPromise;
274
253
  }
275
- async interruptionFromUser(error) {
276
- _log.debug('interruptionFromUser');
277
- await this.currentSession?.abort(error);
254
+ async interrupt(reason) {
255
+ await this.currentSession?.abort(reason);
278
256
  await this.currentSession?.dispose();
279
- if (this.runPromise) {
280
- this.runPromise.reject(error);
281
- delete this.runPromise;
282
- }
257
+ this.runAbort?.abort(reason);
258
+ await this.currentRun;
259
+ }
260
+ get currentRun() {
261
+ return this.runPromise?.catch(() => { });
283
262
  }
284
263
  usedElsewhere() {
285
264
  if (!this.lastAcquiredHere) {
@@ -289,10 +268,7 @@ class Device extends utils_1.TypedEmitter {
289
268
  this._featuresNeedsReload = true;
290
269
  _log.debug('interruptionFromOutside');
291
270
  this.currentSession?.dispose();
292
- if (this.runPromise) {
293
- this.runPromise.reject(constants_1.ERRORS.TypedError('Device_UsedElsewhere'));
294
- delete this.runPromise;
295
- }
271
+ this.runAbort?.abort(constants_1.ERRORS.TypedError('Device_UsedElsewhere'));
296
272
  if (this.session) {
297
273
  this.transport.releaseDevice(this.session);
298
274
  }
@@ -350,7 +326,6 @@ class Device extends utils_1.TypedEmitter {
350
326
  this.unreadableError = 'Connection timeout';
351
327
  }
352
328
  this.inconsistent = true;
353
- delete this.runPromise;
354
329
  return Promise.reject(constants_1.ERRORS.TypedError('Device_InitializeFailed', `Initialize failed: ${error.message}${error.code ? `, code: ${error.code}` : ''}`));
355
330
  }
356
331
  }
@@ -375,23 +350,15 @@ class Device extends utils_1.TypedEmitter {
375
350
  }
376
351
  if (fn) {
377
352
  await fn();
378
- }
379
- if (this.loaded && this.features && !options.skipFinalReload) {
380
- await this.getFeatures();
353
+ if (!options.skipFinalReload) {
354
+ await this.getFeatures();
355
+ }
381
356
  }
382
357
  if ((!this.keepTransportSession && typeof options.keepSession !== 'boolean') ||
383
358
  options.keepSession === false) {
384
359
  this.keepTransportSession = false;
385
360
  await this.release();
386
361
  }
387
- if (this.runPromise) {
388
- this.runPromise.resolve();
389
- }
390
- delete this.runPromise;
391
- if (!this.loaded) {
392
- this.loaded = true;
393
- this.firstRunPromise.resolve(true);
394
- }
395
362
  }
396
363
  getCurrentSession() {
397
364
  if (!this.currentSession) {
@@ -516,7 +483,7 @@ class Device extends utils_1.TypedEmitter {
516
483
  if (firmwareVersion === undefined || !this.features || this.features.bootloader_mode) {
517
484
  return null;
518
485
  }
519
- const checkSupported = this.atLeast(constants_1.FIRMWARE.FW_HASH_SUPPORTED_VERSIONS);
486
+ const checkSupported = !this.unavailableCapabilities.getFirmwareHash;
520
487
  if (!checkSupported)
521
488
  return createFailResult('check-unsupported');
522
489
  const release = (0, firmwareInfo_1.getReleases)(this.features.internal_model).find(r => utils_1.versionUtils.isEqual(r.version, firmwareVersion));
@@ -701,7 +668,7 @@ class Device extends utils_1.TypedEmitter {
701
668
  this.sessionDfd?.reject(new Error());
702
669
  this.lastAcquiredHere = false;
703
670
  this.emitLifecycle(events_1.DEVICE.DISCONNECT);
704
- return this.interruptionFromUser(constants_1.ERRORS.TypedError('Device_Disconnected'));
671
+ return this.interrupt(constants_1.ERRORS.TypedError('Device_Disconnected'));
705
672
  }
706
673
  isBootloader() {
707
674
  return this.features && !!this.features.bootloader_mode;
@@ -740,15 +707,6 @@ class Device extends utils_1.TypedEmitter {
740
707
  isUsedElsewhere() {
741
708
  return this.isUsed() && !this.lastAcquiredHere;
742
709
  }
743
- isRunning() {
744
- return !!this.runPromise;
745
- }
746
- isLoaded() {
747
- return this.loaded;
748
- }
749
- waitForFirstRun() {
750
- return this.firstRunPromise.promise;
751
- }
752
710
  getUniquePath() {
753
711
  return this.uniquePath;
754
712
  }
@@ -809,6 +767,7 @@ class Device extends utils_1.TypedEmitter {
809
767
  ? undefined
810
768
  : this.transportSessionOwner,
811
769
  bluetoothProps: this.bluetoothProps,
770
+ thp: this.thp?.serialize(),
812
771
  };
813
772
  }
814
773
  const defaultLabel = 'My Trezor';
@@ -834,6 +793,7 @@ class Device extends utils_1.TypedEmitter {
834
793
  availableTranslations: this.availableTranslations,
835
794
  authenticityChecks: this.authenticityChecks,
836
795
  bluetoothProps: this.bluetoothProps,
796
+ thp: this.thp?.serialize(),
837
797
  };
838
798
  }
839
799
  }
@@ -1488,6 +1488,11 @@ export declare class DeviceCurrentSession implements TypedCallProvider {
1488
1488
  max_coordinator_fee_rate: number;
1489
1489
  max_fee_per_kvbyte: number;
1490
1490
  };
1491
+ } | {
1492
+ type: "BleUnpair";
1493
+ message: {
1494
+ all?: boolean | undefined;
1495
+ };
1491
1496
  } | {
1492
1497
  type: "FirmwareErase";
1493
1498
  message: {
@@ -1901,7 +1906,7 @@ export declare class DeviceCurrentSession implements TypedCallProvider {
1901
1906
  } | {
1902
1907
  type: "Failure";
1903
1908
  message: {
1904
- code?: Messages.FailureType | undefined;
1909
+ code?: "Failure_ActionCancelled" | "Failure_FirmwareError" | "Failure_PinCancelled" | "Failure_PinInvalid" | "Failure_PinMismatch" | "Failure_WipeCodeMismatch" | "Failure_UnexpectedMessage" | "Failure_ButtonExpected" | "Failure_DataError" | "Failure_PinExpected" | "Failure_InvalidSignature" | "Failure_ProcessError" | "Failure_NotEnoughFunds" | "Failure_NotInitialized" | "Failure_InvalidSession" | undefined;
1905
1910
  message?: string | undefined;
1906
1911
  };
1907
1912
  } | {
@@ -3860,6 +3865,9 @@ export declare class DeviceCurrentSession implements TypedCallProvider {
3860
3865
  } | {
3861
3866
  type: "AuthorizeCoinJoin";
3862
3867
  message: import("@trezor/protobuf/lib/messages").AuthorizeCoinJoin;
3868
+ } | {
3869
+ type: "BleUnpair";
3870
+ message: import("@trezor/protobuf/lib/messages").BleUnpair;
3863
3871
  } | {
3864
3872
  type: "FirmwareErase";
3865
3873
  message: import("@trezor/protobuf/lib/messages").FirmwareErase;
@@ -101,7 +101,7 @@ class DeviceList extends utils_1.TypedEmitter {
101
101
  messages,
102
102
  logger: transportLogger,
103
103
  sessionsBackgroundUrl: _sessionsBackgroundUrl,
104
- id: manifest?.appUrl || 'unknown app',
104
+ id: manifest?.appName || manifest?.appUrl || 'unknown app',
105
105
  });
106
106
  }
107
107
  onDeviceConnected(descriptor, transport) {
@@ -12,6 +12,7 @@ export * from './webextension';
12
12
  export declare const UI: {
13
13
  readonly RECEIVE_PERMISSION: "ui-receive_permission";
14
14
  readonly RECEIVE_CONFIRMATION: "ui-receive_confirmation";
15
+ readonly RECEIVE_FIRMWARE: "ui-receive_firmware";
15
16
  readonly RECEIVE_PIN: "ui-receive_pin";
16
17
  readonly RECEIVE_PASSPHRASE: "ui-receive_passphrase";
17
18
  readonly RECEIVE_DEVICE: "ui-receive_device";
@@ -34,6 +35,7 @@ export declare const UI: {
34
35
  readonly FIRMWARE_NOT_INSTALLED: "ui-device_firmware_not_installed";
35
36
  readonly FIRMWARE_PROGRESS: "ui-firmware-progress";
36
37
  readonly FIRMWARE_RECONNECT: "ui-firmware_reconnect";
38
+ readonly FIRMWARE_DOWNLOADED: "ui-firmware_downloaded";
37
39
  readonly DEVICE_NEEDS_BACKUP: "ui-device_needs_backup";
38
40
  readonly REQUEST_UI_WINDOW: "ui-request_window";
39
41
  readonly CLOSE_UI_WINDOW: "ui-close_window";
@@ -1,6 +1,7 @@
1
1
  import type { EventTypeDeviceSelected } from '@trezor/connect-analytics';
2
+ import { DeviceModelInternal } from '@trezor/device-utils';
2
3
  import type { PROTO } from '../constants';
3
- import type { BitcoinNetworkInfo, CoinInfo, Device, SelectFeeLevel } from '../types';
4
+ import type { BinaryInfo, BitcoinNetworkInfo, CoinInfo, Device, FirmwareType, SelectFeeLevel } from '../types';
4
5
  import type { DeviceButtonRequest } from './device';
5
6
  import { MethodPermission } from '../core/AbstractMethod';
6
7
  import type { DiscoveryAccount, DiscoveryAccountType } from '../types/account';
@@ -20,6 +21,7 @@ export declare const UI_REQUEST: {
20
21
  readonly FIRMWARE_NOT_INSTALLED: "ui-device_firmware_not_installed";
21
22
  readonly FIRMWARE_PROGRESS: "ui-firmware-progress";
22
23
  readonly FIRMWARE_RECONNECT: "ui-firmware_reconnect";
24
+ readonly FIRMWARE_DOWNLOADED: "ui-firmware_downloaded";
23
25
  readonly DEVICE_NEEDS_BACKUP: "ui-device_needs_backup";
24
26
  readonly REQUEST_UI_WINDOW: "ui-request_window";
25
27
  readonly CLOSE_UI_WINDOW: "ui-close_window";
@@ -104,11 +106,16 @@ export type UiRequestDeviceAction = {
104
106
  type?: typeof undefined;
105
107
  };
106
108
  };
107
- export interface UiRequestButtonData {
109
+ export type UiRequestButtonData = {
108
110
  type: 'address';
109
111
  serializedPath: string;
110
112
  address: string;
111
- }
113
+ } | {
114
+ type: 'message';
115
+ serializedPath: string;
116
+ coin: string;
117
+ message: string;
118
+ };
112
119
  export interface UiRequestButton {
113
120
  type: typeof UI_REQUEST.REQUEST_BUTTON;
114
121
  payload: DeviceButtonRequest['payload'] & {
@@ -153,6 +160,13 @@ export interface UiRequestSelectDevice {
153
160
  webusb: boolean;
154
161
  };
155
162
  }
163
+ export interface UiRequestFirmwareDownloaded {
164
+ type: typeof UI_REQUEST.FIRMWARE_DOWNLOADED;
165
+ payload: BinaryInfo | {
166
+ internalModel?: DeviceModelInternal;
167
+ firmwareType?: FirmwareType;
168
+ };
169
+ }
156
170
  export interface UiRequestUnexpectedDeviceMode {
157
171
  type: typeof UI_REQUEST.BOOTLOADER | typeof UI_REQUEST.NOT_IN_BOOTLOADER | typeof UI_REQUEST.INITIALIZE | typeof UI_REQUEST.SEEDLESS | typeof UI_REQUEST.DEVICE_NEEDS_BACKUP;
158
172
  payload: Device;
@@ -213,7 +227,7 @@ export interface FirmwareReconnect {
213
227
  i: number;
214
228
  };
215
229
  }
216
- export type UiEvent = UiRequestWithoutPayload | UiRequestDeviceAction | UiRequestButton | UiRequestPermission | UiRequestConfirmation | UiRequestSelectDevice | UiRequestUnexpectedDeviceMode | UiRequestSelectAccount | UiRequestSelectFee | UpdateCustomFee | BundleProgress<any> | FirmwareProgress | FirmwareException | FirmwareReconnect | UiRequestAddressValidation | UiRequestSetOperation;
230
+ export type UiEvent = UiRequestWithoutPayload | UiRequestDeviceAction | UiRequestButton | UiRequestPermission | UiRequestConfirmation | UiRequestSelectDevice | UiRequestUnexpectedDeviceMode | UiRequestSelectAccount | UiRequestSelectFee | UpdateCustomFee | BundleProgress<any> | FirmwareProgress | FirmwareException | FirmwareReconnect | UiRequestAddressValidation | UiRequestSetOperation | UiRequestFirmwareDownloaded;
217
231
  export type UiEventMessage = UiEvent & {
218
232
  event: typeof UI_EVENT;
219
233
  };
@@ -16,6 +16,7 @@ exports.UI_REQUEST = {
16
16
  FIRMWARE_NOT_INSTALLED: 'ui-device_firmware_not_installed',
17
17
  FIRMWARE_PROGRESS: 'ui-firmware-progress',
18
18
  FIRMWARE_RECONNECT: 'ui-firmware_reconnect',
19
+ FIRMWARE_DOWNLOADED: 'ui-firmware_downloaded',
19
20
  DEVICE_NEEDS_BACKUP: 'ui-device_needs_backup',
20
21
  REQUEST_UI_WINDOW: 'ui-request_window',
21
22
  CLOSE_UI_WINDOW: 'ui-close_window',
@@ -1,10 +1,12 @@
1
1
  import { POPUP } from './popup';
2
2
  import { UI_EVENT } from './ui-request';
3
3
  import type { Device } from '../types/device';
4
+ import type { LocalFirmwares } from '../types/settings';
4
5
  import type { MessageFactoryFn } from '../types/utils';
5
6
  export declare const UI_RESPONSE: {
6
7
  readonly RECEIVE_PERMISSION: "ui-receive_permission";
7
8
  readonly RECEIVE_CONFIRMATION: "ui-receive_confirmation";
9
+ readonly RECEIVE_FIRMWARE: "ui-receive_firmware";
8
10
  readonly RECEIVE_PIN: "ui-receive_pin";
9
11
  readonly RECEIVE_PASSPHRASE: "ui-receive_passphrase";
10
12
  readonly RECEIVE_DEVICE: "ui-receive_device";
@@ -30,6 +32,10 @@ export interface UiResponseConfirmation {
30
32
  type: typeof UI_RESPONSE.RECEIVE_CONFIRMATION;
31
33
  payload: boolean;
32
34
  }
35
+ export interface UiResponseFirmwares {
36
+ type: typeof UI_RESPONSE.RECEIVE_FIRMWARE;
37
+ payload: LocalFirmwares;
38
+ }
33
39
  export interface UiResponseDevice {
34
40
  type: typeof UI_RESPONSE.RECEIVE_DEVICE;
35
41
  payload: {
@@ -80,7 +86,7 @@ export interface UiResponseLoginChallenge {
80
86
  challengeVisual: string;
81
87
  };
82
88
  }
83
- export type UiResponseEvent = UiResponsePopupHandshake | UiResponsePermission | UiResponseConfirmation | UiResponseDevice | UiResponsePin | UiResponseWord | UiResponsePassphrase | UiResponsePassphraseAction | UiResponseAccount | UiResponseFee | UiResponseLoginChallenge;
89
+ export type UiResponseEvent = UiResponsePopupHandshake | UiResponsePermission | UiResponseConfirmation | UiResponseDevice | UiResponsePin | UiResponseWord | UiResponsePassphrase | UiResponsePassphraseAction | UiResponseAccount | UiResponseFee | UiResponseLoginChallenge | UiResponseFirmwares;
84
90
  export type UiResponseMessage = UiResponseEvent & {
85
91
  event: typeof UI_EVENT;
86
92
  };
@@ -5,6 +5,7 @@ const ui_request_1 = require("./ui-request");
5
5
  exports.UI_RESPONSE = {
6
6
  RECEIVE_PERMISSION: 'ui-receive_permission',
7
7
  RECEIVE_CONFIRMATION: 'ui-receive_confirmation',
8
+ RECEIVE_FIRMWARE: 'ui-receive_firmware',
8
9
  RECEIVE_PIN: 'ui-receive_pin',
9
10
  RECEIVE_PASSPHRASE: 'ui-receive_passphrase',
10
11
  RECEIVE_DEVICE: 'ui-receive_device',
package/lib/factory.js CHANGED
@@ -21,6 +21,7 @@ const factory = ({ eventEmitter, manifest, init, call, setTransports, requestLog
21
21
  }
22
22
  },
23
23
  uiResponse,
24
+ bleUnpair: params => call({ ...params, method: 'bleUnpair' }),
24
25
  blockchainGetAccountBalanceHistory: params => call({ ...params, method: 'blockchainGetAccountBalanceHistory' }),
25
26
  blockchainGetCurrentFiatRates: params => call({ ...params, method: 'blockchainGetCurrentFiatRates' }),
26
27
  blockchainGetFiatRatesForTimestamps: params => call({ ...params, method: 'blockchainGetFiatRatesForTimestamps' }),
@@ -1 +1 @@
1
- {"root":["../src/exports.ts","../src/factory.ts","../src/index-browser.ts","../src/index.ts","../src/api/applyFlags.ts","../src/api/applySettings.ts","../src/api/authenticateDevice.ts","../src/api/authorizeCoinjoin.ts","../src/api/backupDevice.ts","../src/api/blockchainDisconnect.ts","../src/api/blockchainEstimateFee.ts","../src/api/blockchainEvmRpcCall.ts","../src/api/blockchainGetAccountBalanceHistory.ts","../src/api/blockchainGetCurrentFiatRates.ts","../src/api/blockchainGetFiatRatesForTimestamps.ts","../src/api/blockchainGetInfo.ts","../src/api/blockchainGetTransactions.ts","../src/api/blockchainSetCustomBackend.ts","../src/api/blockchainSubscribe.ts","../src/api/blockchainSubscribeFiatRates.ts","../src/api/blockchainUnsubscribe.ts","../src/api/blockchainUnsubscribeFiatRates.ts","../src/api/cancelCoinjoinAuthorization.ts","../src/api/changeLanguage.ts","../src/api/changePin.ts","../src/api/changeWipeCode.ts","../src/api/cipherKeyValue.ts","../src/api/composeTransaction.ts","../src/api/getAccountDescriptor.ts","../src/api/getAccountInfo.ts","../src/api/getAddress.ts","../src/api/getCoinInfo.ts","../src/api/getDeviceState.ts","../src/api/getFeatures.ts","../src/api/getFirmwareHash.ts","../src/api/getOwnershipId.ts","../src/api/getOwnershipProof.ts","../src/api/getPublicKey.ts","../src/api/getSettings.ts","../src/api/index.ts","../src/api/loadDevice.ts","../src/api/pushTransaction.ts","../src/api/recoveryDevice.ts","../src/api/requestLogin.ts","../src/api/resetDevice.ts","../src/api/setBrightness.ts","../src/api/setBusy.ts","../src/api/setProxy.ts","../src/api/showDeviceTutorial.ts","../src/api/signMessage.ts","../src/api/signTransaction.ts","../src/api/unlockPath.ts","../src/api/verifyMessage.ts","../src/api/wipeDevice.ts","../src/api/binance/binanceSignTx.ts","../src/api/binance/api/binanceGetAddress.ts","../src/api/binance/api/binanceGetPublicKey.ts","../src/api/binance/api/binanceSignTransaction.ts","../src/api/binance/api/index.ts","../src/api/bitcoin/BitcoinFees.ts","../src/api/bitcoin/TransactionComposer.ts","../src/api/bitcoin/createPendingTx.ts","../src/api/bitcoin/enhanceSignTx.ts","../src/api/bitcoin/index.ts","../src/api/bitcoin/inputs.ts","../src/api/bitcoin/outputs.ts","../src/api/bitcoin/refTx.ts","../src/api/bitcoin/signtx.ts","../src/api/bitcoin/signtxLegacy.ts","../src/api/bitcoin/signtxVerify.ts","../src/api/cardano/cardanoAddressParameters.ts","../src/api/cardano/cardanoAuxiliaryData.ts","../src/api/cardano/cardanoCertificate.ts","../src/api/cardano/cardanoInputs.ts","../src/api/cardano/cardanoOutputs.ts","../src/api/cardano/cardanoTokenBundle.ts","../src/api/cardano/cardanoUtils.ts","../src/api/cardano/cardanoWitnesses.ts","../src/api/cardano/api/cardanoComposeTransaction.ts","../src/api/cardano/api/cardanoGetAddress.ts","../src/api/cardano/api/cardanoGetNativeScriptHash.ts","../src/api/cardano/api/cardanoGetPublicKey.ts","../src/api/cardano/api/cardanoSignTransaction.ts","../src/api/cardano/api/index.ts","../src/api/common/Discovery.ts","../src/api/common/MiscFees.ts","../src/api/common/paramsValidator.ts","../src/api/eos/eosSignTx.ts","../src/api/eos/api/eosGetPublicKey.ts","../src/api/eos/api/eosSignTransaction.ts","../src/api/eos/api/index.ts","../src/api/ethereum/EthereumFees.ts","../src/api/ethereum/ethereumDefinitions.ts","../src/api/ethereum/ethereumSignTx.ts","../src/api/ethereum/ethereumSignTypedData.ts","../src/api/ethereum/api/ethereumGetAddress.ts","../src/api/ethereum/api/ethereumGetPublicKey.ts","../src/api/ethereum/api/ethereumSignMessage.ts","../src/api/ethereum/api/ethereumSignTransaction.ts","../src/api/ethereum/api/ethereumSignTypedData.ts","../src/api/ethereum/api/ethereumVerifyMessage.ts","../src/api/ethereum/api/index.ts","../src/api/firmware/calculateFirmwareHash.ts","../src/api/firmware/getBinary.ts","../src/api/firmware/getBinaryForFirmwareUpgrade.ts","../src/api/firmware/index.ts","../src/api/firmware/modifyFirmware.ts","../src/api/firmware/parseFirmwareHeaders.ts","../src/api/firmware/uploadFirmware.ts","../src/api/firmware/verifyAuthenticityProof.ts","../src/api/firmware/verifyEntropy.ts","../src/api/firmware/x509certificate.ts","../src/api/nem/nemSignTx.ts","../src/api/nem/api/index.ts","../src/api/nem/api/nemGetAddress.ts","../src/api/nem/api/nemSignTransaction.ts","../src/api/ripple/api/index.ts","../src/api/ripple/api/rippleGetAddress.ts","../src/api/ripple/api/rippleSignTransaction.ts","../src/api/solana/additionalInfo.ts","../src/api/solana/solanaUtils.ts","../src/api/solana/api/index.ts","../src/api/solana/api/solanaComposeTransaction.ts","../src/api/solana/api/solanaGetAddress.ts","../src/api/solana/api/solanaGetPublicKey.ts","../src/api/solana/api/solanaSignTransaction.ts","../src/api/stellar/stellarSignTx.ts","../src/api/stellar/api/index.ts","../src/api/stellar/api/stellarGetAddress.ts","../src/api/stellar/api/stellarSignTransaction.ts","../src/api/tezos/tezosSignTx.ts","../src/api/tezos/api/index.ts","../src/api/tezos/api/tezosGetAddress.ts","../src/api/tezos/api/tezosGetPublicKey.ts","../src/api/tezos/api/tezosSignTransaction.ts","../src/backend/BackendManager.ts","../src/backend/Blockchain.ts","../src/backend/BlockchainLink.ts","../src/constants/cardano.ts","../src/constants/errors.ts","../src/constants/firmware.ts","../src/constants/index.ts","../src/constants/nem.ts","../src/constants/network.ts","../src/constants/utxo.ts","../src/core/AbstractMethod.ts","../src/core/index.ts","../src/core/method.native.ts","../src/core/method.ts","../src/core/onCallFirmwareUpdate.ts","../src/data/DataManager.ts","../src/data/analyticsInfo.ts","../src/data/coinInfo.ts","../src/data/config.ts","../src/data/connectSettings.ts","../src/data/defaultFeeLevels.ts","../src/data/deviceAuthenticityConfig.ts","../src/data/deviceAuthenticityConfigTypes.ts","../src/data/downloadReleasesMetadata.ts","../src/data/firmwareInfo.ts","../src/data/getLanguage.ts","../src/data/models.ts","../src/data/transportInfo.ts","../src/data/udevInfo.ts","../src/data/version.ts","../src/device/Device.ts","../src/device/DeviceCommands.ts","../src/device/DeviceCurrentSession.ts","../src/device/DeviceList.ts","../src/device/StateStorage.ts","../src/device/TransportList.ts","../src/device/TransportManager.ts","../src/device/calculateRevisionForDevice.ts","../src/device/checkFirmwareRevision.ts","../src/device/resolveDescriptorForTaproot.ts","../src/events/blockchain.ts","../src/events/call.ts","../src/events/core.ts","../src/events/device.ts","../src/events/iframe.ts","../src/events/index.ts","../src/events/popup.ts","../src/events/transport.ts","../src/events/ui-promise.ts","../src/events/ui-request.ts","../src/events/ui-response.ts","../src/events/webextension.ts","../src/impl/core-in-module.ts","../src/impl/dynamic.ts","../src/types/account.ts","../src/types/coinInfo.ts","../src/types/device.ts","../src/types/fees.ts","../src/types/firmware.ts","../src/types/index.ts","../src/types/params.ts","../src/types/settings.ts","../src/types/utils.ts","../src/types/api/applyFlags.ts","../src/types/api/applySettings.ts","../src/types/api/authenticateDevice.ts","../src/types/api/authorizeCoinjoin.ts","../src/types/api/backupDevice.ts","../src/types/api/binanceGetAddress.ts","../src/types/api/binanceGetPublicKey.ts","../src/types/api/binanceSignTransaction.ts","../src/types/api/blockchainDisconnect.ts","../src/types/api/blockchainEstimateFee.ts","../src/types/api/blockchainEvmRpcCall.ts","../src/types/api/blockchainGetAccountBalanceHistory.ts","../src/types/api/blockchainGetCurrentFiatRates.ts","../src/types/api/blockchainGetFiatRatesForTimestamps.ts","../src/types/api/blockchainGetInfo.ts","../src/types/api/blockchainGetTransactions.ts","../src/types/api/blockchainSetCustomBackend.ts","../src/types/api/blockchainSubscribe.ts","../src/types/api/blockchainSubscribeFiatRates.ts","../src/types/api/blockchainUnsubscribe.ts","../src/types/api/blockchainUnsubscribeFiatRates.ts","../src/types/api/cancel.ts","../src/types/api/cancelCoinjoinAuthorization.ts","../src/types/api/cardanoComposeTransaction.ts","../src/types/api/cardanoGetAddress.ts","../src/types/api/cardanoGetNativeScriptHash.ts","../src/types/api/cardanoGetPublicKey.ts","../src/types/api/cardanoSignTransaction.ts","../src/types/api/changeLanguage.ts","../src/types/api/changePin.ts","../src/types/api/changeWipeCode.ts","../src/types/api/cipherKeyValue.ts","../src/types/api/composeTransaction.ts","../src/types/api/device.ts","../src/types/api/disableWebUSB.ts","../src/types/api/dispose.ts","../src/types/api/eosGetPublicKey.ts","../src/types/api/eosSignTransaction.ts","../src/types/api/ethereumGetAddress.ts","../src/types/api/ethereumGetPublicKey.ts","../src/types/api/ethereumSignMessage.ts","../src/types/api/ethereumSignTransaction.ts","../src/types/api/ethereumSignTypedData.ts","../src/types/api/ethereumVerifyMessage.ts","../src/types/api/firmwareUpdate.ts","../src/types/api/getAccountDescriptor.ts","../src/types/api/getAccountInfo.ts","../src/types/api/getAddress.ts","../src/types/api/getCoinInfo.ts","../src/types/api/getDeviceState.ts","../src/types/api/getFeatures.ts","../src/types/api/getFirmwareHash.ts","../src/types/api/getOwnershipId.ts","../src/types/api/getOwnershipProof.ts","../src/types/api/getPublicKey.ts","../src/types/api/getSettings.ts","../src/types/api/index.ts","../src/types/api/init.ts","../src/types/api/loadDevice.ts","../src/types/api/manifest.ts","../src/types/api/nemGetAddress.ts","../src/types/api/nemSignTransaction.ts","../src/types/api/off.ts","../src/types/api/on.ts","../src/types/api/pushTransaction.ts","../src/types/api/recoveryDevice.ts","../src/types/api/removeAllListeners.ts","../src/types/api/renderWebUSBButton.ts","../src/types/api/requestLogin.ts","../src/types/api/requestWebUSBDevice.ts","../src/types/api/resetDevice.ts","../src/types/api/rippleGetAddress.ts","../src/types/api/rippleSignTransaction.ts","../src/types/api/setBrightness.ts","../src/types/api/setBusy.ts","../src/types/api/setProxy.ts","../src/types/api/setTransports.ts","../src/types/api/showDeviceTutorial.ts","../src/types/api/signMessage.ts","../src/types/api/signTransaction.ts","../src/types/api/solanaComposeTransaction.ts","../src/types/api/solanaGetAddress.ts","../src/types/api/solanaGetPublicKey.ts","../src/types/api/solanaSignTransaction.ts","../src/types/api/stellarGetAddress.ts","../src/types/api/stellarSignTransaction.ts","../src/types/api/tezosGetAddress.ts","../src/types/api/tezosGetPublicKey.ts","../src/types/api/tezosSignTransaction.ts","../src/types/api/uiResponse.ts","../src/types/api/unlockPath.ts","../src/types/api/verifyMessage.ts","../src/types/api/wipeDevice.ts","../src/types/api/binance/index.ts","../src/types/api/bitcoin/index.ts","../src/types/api/cardano/index.ts","../src/types/api/eos/index.ts","../src/types/api/ethereum/index.ts","../src/types/api/nem/index.ts","../src/types/api/ripple/index.ts","../src/types/api/solana/index.ts","../src/types/api/stellar/index.ts","../src/types/api/tezos/index.ts","../src/utils/accountUtils.ts","../src/utils/addressUtils.ts","../src/utils/assetUtils.ts","../src/utils/assets-browser.ts","../src/utils/assets.native.ts","../src/utils/assets.ts","../src/utils/assetsTypes.ts","../src/utils/debug.ts","../src/utils/deviceFeaturesUtils.ts","../src/utils/ethereumUtils.ts","../src/utils/firmwareUtils.ts","../src/utils/formatUtils.ts","../src/utils/hdnodeUtils.ts","../src/utils/interactionTimeout.ts","../src/utils/pathUtils.ts","../src/utils/popupPromiseManager.ts","../src/utils/proxy-event-emitter.ts","../src/utils/uiPromiseManager.ts","../src/utils/urlUtils.ts","../src/utils/versionCheck.ts","../src/workers/workers-browser.ts","../src/workers/workers.native.ts","../src/workers/workers.ts"],"version":"5.8.2"}
1
+ {"root":["../src/exports.ts","../src/factory.ts","../src/index-browser.ts","../src/index.ts","../src/api/applyFlags.ts","../src/api/applySettings.ts","../src/api/authenticateDevice.ts","../src/api/authorizeCoinjoin.ts","../src/api/backupDevice.ts","../src/api/bleUnpair.ts","../src/api/blockchainDisconnect.ts","../src/api/blockchainEstimateFee.ts","../src/api/blockchainEvmRpcCall.ts","../src/api/blockchainGetAccountBalanceHistory.ts","../src/api/blockchainGetCurrentFiatRates.ts","../src/api/blockchainGetFiatRatesForTimestamps.ts","../src/api/blockchainGetInfo.ts","../src/api/blockchainGetTransactions.ts","../src/api/blockchainSetCustomBackend.ts","../src/api/blockchainSubscribe.ts","../src/api/blockchainSubscribeFiatRates.ts","../src/api/blockchainUnsubscribe.ts","../src/api/blockchainUnsubscribeFiatRates.ts","../src/api/cancelCoinjoinAuthorization.ts","../src/api/changeLanguage.ts","../src/api/changePin.ts","../src/api/changeWipeCode.ts","../src/api/cipherKeyValue.ts","../src/api/composeTransaction.ts","../src/api/getAccountDescriptor.ts","../src/api/getAccountInfo.ts","../src/api/getAddress.ts","../src/api/getCoinInfo.ts","../src/api/getDeviceState.ts","../src/api/getFeatures.ts","../src/api/getFirmwareHash.ts","../src/api/getOwnershipId.ts","../src/api/getOwnershipProof.ts","../src/api/getPublicKey.ts","../src/api/getSettings.ts","../src/api/index.ts","../src/api/loadDevice.ts","../src/api/pushTransaction.ts","../src/api/recoveryDevice.ts","../src/api/requestLogin.ts","../src/api/resetDevice.ts","../src/api/setBrightness.ts","../src/api/setBusy.ts","../src/api/setProxy.ts","../src/api/showDeviceTutorial.ts","../src/api/signMessage.ts","../src/api/signTransaction.ts","../src/api/unlockPath.ts","../src/api/verifyMessage.ts","../src/api/wipeDevice.ts","../src/api/binance/binanceSignTx.ts","../src/api/binance/api/binanceGetAddress.ts","../src/api/binance/api/binanceGetPublicKey.ts","../src/api/binance/api/binanceSignTransaction.ts","../src/api/binance/api/index.ts","../src/api/bitcoin/TransactionComposer.ts","../src/api/bitcoin/createPendingTx.ts","../src/api/bitcoin/enhanceSignTx.ts","../src/api/bitcoin/index.ts","../src/api/bitcoin/inputs.ts","../src/api/bitcoin/outputs.ts","../src/api/bitcoin/refTx.ts","../src/api/bitcoin/signtx.ts","../src/api/bitcoin/signtxLegacy.ts","../src/api/bitcoin/signtxVerify.ts","../src/api/bitcoin/transactionBytes.ts","../src/api/cardano/cardanoAddressParameters.ts","../src/api/cardano/cardanoAuxiliaryData.ts","../src/api/cardano/cardanoCertificate.ts","../src/api/cardano/cardanoInputs.ts","../src/api/cardano/cardanoOutputs.ts","../src/api/cardano/cardanoTokenBundle.ts","../src/api/cardano/cardanoUtils.ts","../src/api/cardano/cardanoWitnesses.ts","../src/api/cardano/api/cardanoComposeTransaction.ts","../src/api/cardano/api/cardanoGetAddress.ts","../src/api/cardano/api/cardanoGetNativeScriptHash.ts","../src/api/cardano/api/cardanoGetPublicKey.ts","../src/api/cardano/api/cardanoSignTransaction.ts","../src/api/cardano/api/index.ts","../src/api/common/Discovery.ts","../src/api/common/paramsValidator.ts","../src/api/eos/eosSignTx.ts","../src/api/eos/api/eosGetPublicKey.ts","../src/api/eos/api/eosSignTransaction.ts","../src/api/eos/api/index.ts","../src/api/ethereum/ethereumDefinitions.ts","../src/api/ethereum/ethereumSignTx.ts","../src/api/ethereum/ethereumSignTypedData.ts","../src/api/ethereum/api/ethereumGetAddress.ts","../src/api/ethereum/api/ethereumGetPublicKey.ts","../src/api/ethereum/api/ethereumSignMessage.ts","../src/api/ethereum/api/ethereumSignTransaction.ts","../src/api/ethereum/api/ethereumSignTypedData.ts","../src/api/ethereum/api/ethereumVerifyMessage.ts","../src/api/ethereum/api/index.ts","../src/api/firmware/calculateFirmwareHash.ts","../src/api/firmware/getBinary.ts","../src/api/firmware/getBinaryForFirmwareUpgrade.ts","../src/api/firmware/index.ts","../src/api/firmware/modifyFirmware.ts","../src/api/firmware/parseFirmwareHeaders.ts","../src/api/firmware/uploadFirmware.ts","../src/api/firmware/verifyAuthenticityProof.ts","../src/api/firmware/verifyEntropy.ts","../src/api/firmware/x509certificate.ts","../src/api/nem/nemSignTx.ts","../src/api/nem/api/index.ts","../src/api/nem/api/nemGetAddress.ts","../src/api/nem/api/nemSignTransaction.ts","../src/api/ripple/api/index.ts","../src/api/ripple/api/rippleGetAddress.ts","../src/api/ripple/api/rippleSignTransaction.ts","../src/api/solana/additionalInfo.ts","../src/api/solana/solanaUtils.ts","../src/api/solana/api/index.ts","../src/api/solana/api/solanaComposeTransaction.ts","../src/api/solana/api/solanaGetAddress.ts","../src/api/solana/api/solanaGetPublicKey.ts","../src/api/solana/api/solanaSignTransaction.ts","../src/api/stellar/stellarSignTx.ts","../src/api/stellar/api/index.ts","../src/api/stellar/api/stellarGetAddress.ts","../src/api/stellar/api/stellarSignTransaction.ts","../src/api/tezos/tezosSignTx.ts","../src/api/tezos/api/index.ts","../src/api/tezos/api/tezosGetAddress.ts","../src/api/tezos/api/tezosGetPublicKey.ts","../src/api/tezos/api/tezosSignTransaction.ts","../src/backend/BackendManager.ts","../src/backend/Blockchain.ts","../src/backend/BlockchainLink.ts","../src/backend/fees/BitcoinFeeLevels.ts","../src/backend/fees/EthereumFeeLevels.ts","../src/backend/fees/MiscFeeLevels.ts","../src/backend/fees/index.ts","../src/constants/cardano.ts","../src/constants/errors.ts","../src/constants/firmware.ts","../src/constants/index.ts","../src/constants/nem.ts","../src/constants/network.ts","../src/constants/utxo.ts","../src/core/AbstractMethod.ts","../src/core/index.ts","../src/core/method.native.ts","../src/core/method.ts","../src/core/onCallFirmwareUpdate.ts","../src/data/DataManager.ts","../src/data/analyticsInfo.ts","../src/data/coinInfo.ts","../src/data/config.ts","../src/data/connectSettings.ts","../src/data/defaultFeeLevels.ts","../src/data/deviceAuthenticityConfig.ts","../src/data/deviceAuthenticityConfigTypes.ts","../src/data/downloadReleasesMetadata.ts","../src/data/firmwareInfo.ts","../src/data/getLanguage.ts","../src/data/models.ts","../src/data/thpSettings.ts","../src/data/transportInfo.ts","../src/data/udevInfo.ts","../src/data/version.ts","../src/device/Device.ts","../src/device/DeviceCommands.ts","../src/device/DeviceCurrentSession.ts","../src/device/DeviceList.ts","../src/device/StateStorage.ts","../src/device/TransportList.ts","../src/device/TransportManager.ts","../src/device/calculateRevisionForDevice.ts","../src/device/checkFirmwareRevision.ts","../src/device/resolveDescriptorForTaproot.ts","../src/events/blockchain.ts","../src/events/call.ts","../src/events/core.ts","../src/events/device.ts","../src/events/iframe.ts","../src/events/index.ts","../src/events/popup.ts","../src/events/transport.ts","../src/events/ui-promise.ts","../src/events/ui-request.ts","../src/events/ui-response.ts","../src/events/webextension.ts","../src/impl/core-in-module.ts","../src/impl/dynamic.ts","../src/types/account.ts","../src/types/coinInfo.ts","../src/types/device.ts","../src/types/fees.ts","../src/types/firmware.ts","../src/types/index.ts","../src/types/params.ts","../src/types/settings.ts","../src/types/utils.ts","../src/types/api/applyFlags.ts","../src/types/api/applySettings.ts","../src/types/api/authenticateDevice.ts","../src/types/api/authorizeCoinjoin.ts","../src/types/api/backupDevice.ts","../src/types/api/binanceGetAddress.ts","../src/types/api/binanceGetPublicKey.ts","../src/types/api/binanceSignTransaction.ts","../src/types/api/bleUnpair.ts","../src/types/api/blockchainDisconnect.ts","../src/types/api/blockchainEstimateFee.ts","../src/types/api/blockchainEvmRpcCall.ts","../src/types/api/blockchainGetAccountBalanceHistory.ts","../src/types/api/blockchainGetCurrentFiatRates.ts","../src/types/api/blockchainGetFiatRatesForTimestamps.ts","../src/types/api/blockchainGetInfo.ts","../src/types/api/blockchainGetTransactions.ts","../src/types/api/blockchainSetCustomBackend.ts","../src/types/api/blockchainSubscribe.ts","../src/types/api/blockchainSubscribeFiatRates.ts","../src/types/api/blockchainUnsubscribe.ts","../src/types/api/blockchainUnsubscribeFiatRates.ts","../src/types/api/cancel.ts","../src/types/api/cancelCoinjoinAuthorization.ts","../src/types/api/cardanoComposeTransaction.ts","../src/types/api/cardanoGetAddress.ts","../src/types/api/cardanoGetNativeScriptHash.ts","../src/types/api/cardanoGetPublicKey.ts","../src/types/api/cardanoSignTransaction.ts","../src/types/api/changeLanguage.ts","../src/types/api/changePin.ts","../src/types/api/changeWipeCode.ts","../src/types/api/cipherKeyValue.ts","../src/types/api/composeTransaction.ts","../src/types/api/device.ts","../src/types/api/disableWebUSB.ts","../src/types/api/dispose.ts","../src/types/api/eosGetPublicKey.ts","../src/types/api/eosSignTransaction.ts","../src/types/api/ethereumGetAddress.ts","../src/types/api/ethereumGetPublicKey.ts","../src/types/api/ethereumSignMessage.ts","../src/types/api/ethereumSignTransaction.ts","../src/types/api/ethereumSignTypedData.ts","../src/types/api/ethereumVerifyMessage.ts","../src/types/api/firmwareUpdate.ts","../src/types/api/getAccountDescriptor.ts","../src/types/api/getAccountInfo.ts","../src/types/api/getAddress.ts","../src/types/api/getCoinInfo.ts","../src/types/api/getDeviceState.ts","../src/types/api/getFeatures.ts","../src/types/api/getFirmwareHash.ts","../src/types/api/getOwnershipId.ts","../src/types/api/getOwnershipProof.ts","../src/types/api/getPublicKey.ts","../src/types/api/getSettings.ts","../src/types/api/index.ts","../src/types/api/init.ts","../src/types/api/loadDevice.ts","../src/types/api/manifest.ts","../src/types/api/nemGetAddress.ts","../src/types/api/nemSignTransaction.ts","../src/types/api/off.ts","../src/types/api/on.ts","../src/types/api/pushTransaction.ts","../src/types/api/recoveryDevice.ts","../src/types/api/removeAllListeners.ts","../src/types/api/renderWebUSBButton.ts","../src/types/api/requestLogin.ts","../src/types/api/requestWebUSBDevice.ts","../src/types/api/resetDevice.ts","../src/types/api/rippleGetAddress.ts","../src/types/api/rippleSignTransaction.ts","../src/types/api/setBrightness.ts","../src/types/api/setBusy.ts","../src/types/api/setProxy.ts","../src/types/api/setTransports.ts","../src/types/api/showDeviceTutorial.ts","../src/types/api/signMessage.ts","../src/types/api/signTransaction.ts","../src/types/api/solanaComposeTransaction.ts","../src/types/api/solanaGetAddress.ts","../src/types/api/solanaGetPublicKey.ts","../src/types/api/solanaSignTransaction.ts","../src/types/api/stellarGetAddress.ts","../src/types/api/stellarSignTransaction.ts","../src/types/api/tezosGetAddress.ts","../src/types/api/tezosGetPublicKey.ts","../src/types/api/tezosSignTransaction.ts","../src/types/api/uiResponse.ts","../src/types/api/unlockPath.ts","../src/types/api/verifyMessage.ts","../src/types/api/wipeDevice.ts","../src/types/api/binance/index.ts","../src/types/api/bitcoin/index.ts","../src/types/api/cardano/index.ts","../src/types/api/eos/index.ts","../src/types/api/ethereum/index.ts","../src/types/api/nem/index.ts","../src/types/api/ripple/index.ts","../src/types/api/solana/index.ts","../src/types/api/stellar/index.ts","../src/types/api/tezos/index.ts","../src/utils/accountUtils.ts","../src/utils/addressUtils.ts","../src/utils/assetUtils.ts","../src/utils/assets-browser.ts","../src/utils/assets.native.ts","../src/utils/assets.ts","../src/utils/assetsTypes.ts","../src/utils/debug.ts","../src/utils/deviceFeaturesUtils.ts","../src/utils/ethereumUtils.ts","../src/utils/firmwareUtils.ts","../src/utils/formatUtils.ts","../src/utils/hdnodeUtils.ts","../src/utils/interactionTimeout.ts","../src/utils/pathUtils.ts","../src/utils/popupPromiseManager.ts","../src/utils/proxy-event-emitter.ts","../src/utils/uiPromiseManager.ts","../src/utils/urlUtils.ts","../src/utils/versionCheck.ts","../src/workers/workers-browser.ts","../src/workers/workers.native.ts","../src/workers/workers.ts"],"version":"5.8.3"}
@@ -0,0 +1,4 @@
1
+ import type { PROTO } from '../../constants';
2
+ import type { Params, Response } from '../params';
3
+ export declare function bleUnpair(params: Params<PROTO.BleUnpair>): Response<PROTO.Success>;
4
+ //# sourceMappingURL=bleUnpair.d.ts.map
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=bleUnpair.js.map
@@ -6,6 +6,7 @@ import { backupDevice } from './backupDevice';
6
6
  import { binanceGetAddress } from './binanceGetAddress';
7
7
  import { binanceGetPublicKey } from './binanceGetPublicKey';
8
8
  import { binanceSignTransaction } from './binanceSignTransaction';
9
+ import { bleUnpair } from './bleUnpair';
9
10
  import { blockchainDisconnect } from './blockchainDisconnect';
10
11
  import { blockchainEstimateFee } from './blockchainEstimateFee';
11
12
  import { blockchainEvmRpcCall } from './blockchainEvmRpcCall';
@@ -97,6 +98,7 @@ export interface TrezorConnect {
97
98
  binanceGetAddress: typeof binanceGetAddress;
98
99
  binanceGetPublicKey: typeof binanceGetPublicKey;
99
100
  binanceSignTransaction: typeof binanceSignTransaction;
101
+ bleUnpair: typeof bleUnpair;
100
102
  blockchainDisconnect: typeof blockchainDisconnect;
101
103
  blockchainEstimateFee: typeof blockchainEstimateFee;
102
104
  blockchainGetAccountBalanceHistory: typeof blockchainGetAccountBalanceHistory;