@onekeyfe/hwk-trezor-adapter 1.2.8-alpha.50 → 1.2.8-alpha.51

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- import { IHardwareWallet, IConnector, TransportType, SearchDevicesOptions, DeviceInfo, DeviceSearchTarget, BindBleDeviceParams, Response, AllNetworkGetAddressParams, AllNetworkAddressResponse, IDeviceManagerOperationContext, DeviceAuthenticityParams, DeviceAuthenticityResult, TrezorDeviceSettingsParams, TrezorBrightnessParams, TrezorChangePinParams, UiResponseEvent, ChainForFingerprint, ICommonCallParams, EvmGetAddressParams, EvmAddress, EvmSignTxTrezorParams, EvmSignedTx, EvmSignMsgParams, EvmSignature, EvmSignTypedDataParams, BtcGetAddressParams, BtcAddress, BtcGetPublicKeyParams, BtcPublicKey, BtcSignTxParams, BtcSignedTx, BtcSignPsbtParams, BtcSignedPsbt, BtcSignMsgParams, BtcSignature, SolGetAddressParams, SolAddress, SolSignTxParams, SolSignedTx, SolSignMsgParams, SolSignature, TronGetAddressParams, TronAddress, TronSignTxParams, TronSignedTx, TronSignMsgParams, TronSignature, HardwareEventMap, DeviceEventListener, EvmEthereumDefinitions, ConnectorDevice } from '@onekeyfe/hwk-adapter-core';
1
+ import { IHardwareWallet, IConnector, TransportType, DeviceInfo, Response, ChainCapability, AllNetworkGetAddressParams, AllNetworkAddressResponse, DeviceAuthenticityParams, DeviceAuthenticityResult, TrezorDeviceSettingsParams, TrezorBrightnessParams, TrezorChangePinParams, UiResponseEvent, ChainForFingerprint, ICommonCallParams, EvmGetAddressParams, EvmAddress, EvmSignTxTrezorParams, EvmSignedTx, EvmSignMsgParams, EvmSignature, EvmSignTypedDataParams, BtcGetAddressParams, BtcAddress, BtcGetPublicKeyParams, BtcPublicKey, BtcSignTxParams, BtcSignedTx, BtcSignPsbtParams, BtcSignedPsbt, BtcSignMsgParams, BtcSignature, SolGetAddressParams, SolAddress, SolSignTxParams, SolSignedTx, SolSignMsgParams, SolSignature, TronGetAddressParams, TronAddress, TronSignTxParams, TronSignedTx, TronSignMsgParams, TronSignature, HardwareEventMap, DeviceEventListener, EvmEthereumDefinitions, ConnectorDevice } from '@onekeyfe/hwk-adapter-core';
2
2
 
3
3
  type TrezorPassphraseCallParams = {
4
4
  passphraseState?: string;
@@ -6,21 +6,10 @@ type TrezorPassphraseCallParams = {
6
6
  };
7
7
  type TrezorCallParams<T> = (T & ICommonCallParams & TrezorPassphraseCallParams) | null | undefined;
8
8
  type TrezorCommonParams = (ICommonCallParams & TrezorPassphraseCallParams) | null | undefined;
9
- interface TrezorKnownDeviceConnection {
10
- deviceId: string;
11
- usbConnectId?: string;
12
- bleConnectId?: string;
13
- }
14
- interface TrezorAdapterOptions {
15
- /** Persisted endpoints are routing hints, never proof of device identity. */
16
- knownDeviceConnections?: readonly TrezorKnownDeviceConnection[];
17
- }
18
9
  declare class TrezorAdapter implements IHardwareWallet {
19
10
  readonly vendor: "trezor";
20
- readonly cancelCapability: "stops-waiting";
21
11
  private readonly _connector;
22
12
  private readonly _emitter;
23
- private readonly _operations;
24
13
  private readonly _devices;
25
14
  private readonly _sessions;
26
15
  private readonly _connectingPromises;
@@ -28,16 +17,8 @@ declare class TrezorAdapter implements IHardwareWallet {
28
17
  private readonly _uiRegistry;
29
18
  private readonly _passphraseRequestContextByConnectId;
30
19
  private readonly _verifiedPassphraseSessionsByConnectId;
31
- /** Raw connector calls that outlive an aborted caller, keyed by session. */
32
- private readonly _unsettledConnectorOperations;
33
- private readonly _connectorIdleWaiters;
34
- private _resetPromise;
35
- private _connectorTeardownTail;
36
- private _pendingConnectorTeardowns;
37
- private _stateGeneration;
38
20
  private readonly _jobQueue;
39
- private readonly _knownDeviceConnections;
40
- constructor(connector: IConnector, options?: TrezorAdapterOptions);
21
+ constructor(connector: IConnector);
41
22
  private static _createDeviceBusyError;
42
23
  /**
43
24
  * Split a Trezor-only `passphraseState` routing hint off the chain params so
@@ -50,7 +31,6 @@ declare class TrezorAdapter implements IHardwareWallet {
50
31
  private static readonly _sensitiveLogKeys;
51
32
  private static _normalizeLogKey;
52
33
  private static _sanitizeForLog;
53
- private static _responseForLog;
54
34
  private static _redactForLog;
55
35
  private static _errorForLog;
56
36
  private _setPassphraseRequestContext;
@@ -61,17 +41,19 @@ declare class TrezorAdapter implements IHardwareWallet {
61
41
  * selected is gone (the device evicted it from its limited slot pool). The
62
42
  * caller drops the stale cache entry and recreates from scratch.
63
43
  *
64
- * Match only the protocol's explicit unallocated-channel code. Guessing from
65
- * an error message could replay a request after an unrelated business error.
44
+ * NOTE: the exact eviction code still needs real-device confirmation — match
45
+ * conservatively so a genuine error isn't mistaken for an evicted session
46
+ * (which would silently re-prompt the passphrase).
66
47
  */
67
48
  private static _isStaleSessionError;
68
49
  private static _errorCode;
69
50
  private static _isConnectionUnavailableError;
70
51
  private static _isRecoverableProtocolResidueError;
71
52
  /**
72
- * Race a promise against an abort signal. IConnector.call() can't actually
73
- * be cancelled at the protocol level, so the caller gets the abort while the
74
- * adapter keeps the transport exclusively reserved until the raw call drains.
53
+ * Race a promise against an abort signal. Copied from LedgerAdapter:
54
+ * IConnector.call() can't actually be cancelled at the protocol level, but
55
+ * the caller gets the abort immediately and the underlying work completes
56
+ * uselessly in the background.
75
57
  */
76
58
  private static _abortable;
77
59
  private _connectSession;
@@ -84,24 +66,17 @@ declare class TrezorAdapter implements IHardwareWallet {
84
66
  * error flows. Aborts active jobs and releases UI waits.
85
67
  */
86
68
  resetState(): void;
87
- private _resetStateAndDisconnectSessions;
88
69
  getAvailableTransports(): TransportType[];
89
70
  switchTransport(_type: TransportType): Promise<void>;
90
- searchDevices(options?: SearchDevicesOptions): Promise<DeviceInfo[]>;
91
- private _searchDevices;
92
- searchDeviceTargets(options?: SearchDevicesOptions): Promise<DeviceSearchTarget[]>;
93
- bindBleDevice(params: BindBleDeviceParams): Promise<Response<string>>;
94
- connectDevice(searchTargetId: string): Promise<Response<string>>;
95
- releaseOperation(operationId: string): Promise<void>;
96
- /**
97
- * Ends a released operation's calls and prompts before teardown, which otherwise waits on a call
98
- * that waits on a prompt nobody will answer. Device I/O already on the wire still drains.
99
- */
100
- private _cancelOperationWork;
101
- private _releaseOperationConnection;
102
- getDeviceInfo(connectIdOrOperationId: string, deviceId: string): Promise<Response<DeviceInfo>>;
71
+ searchDevices(options?: {
72
+ waitForAllTransports?: boolean;
73
+ }): Promise<DeviceInfo[]>;
74
+ connectDevice(connectId: string): Promise<Response<string>>;
75
+ disconnectDevice(connectId: string): Promise<void>;
76
+ getDeviceInfo(connectId: string, deviceId: string): Promise<Response<DeviceInfo>>;
77
+ getSupportedChains(): ChainCapability[];
103
78
  allNetworkGetAddress(connectId: string, deviceId: string, params: AllNetworkGetAddressParams): Promise<Response<AllNetworkAddressResponse[]>>;
104
- getFeatures(connectId: string, operationContext?: IDeviceManagerOperationContext): Promise<Response<Record<string, unknown>>>;
79
+ getFeatures(connectId: string): Promise<Response<Record<string, unknown>>>;
105
80
  /**
106
81
  * Device authenticity attestation. Sends a host-generated challenge, has the
107
82
  * device sign it with its secure-element key, then verifies the returned
@@ -117,17 +92,12 @@ declare class TrezorAdapter implements IHardwareWallet {
117
92
  * enable it in a production accounting flow, it lets an emulator mint any id.
118
93
  */
119
94
  verifyDeviceAuthenticity(connectId: string, params?: DeviceAuthenticityParams): Promise<Response<DeviceAuthenticityResult>>;
120
- deviceSettings(connectId: string, params: TrezorDeviceSettingsParams, operationContext?: IDeviceManagerOperationContext): Promise<Response<Record<string, unknown>>>;
121
- setBrightness(connectId: string, params?: TrezorBrightnessParams, operationContext?: IDeviceManagerOperationContext): Promise<Response<Record<string, unknown>>>;
122
- changePin(connectId: string, params?: TrezorChangePinParams, operationContext?: IDeviceManagerOperationContext): Promise<Response<Record<string, unknown>>>;
123
- wipeDevice(connectId: string, operationContext?: IDeviceManagerOperationContext): Promise<Response<Record<string, unknown>>>;
95
+ deviceSettings(connectId: string, params: TrezorDeviceSettingsParams): Promise<Response<Record<string, unknown>>>;
96
+ setBrightness(connectId: string, params?: TrezorBrightnessParams): Promise<Response<Record<string, unknown>>>;
97
+ changePin(connectId: string, params?: TrezorChangePinParams): Promise<Response<Record<string, unknown>>>;
98
+ wipeDevice(connectId: string): Promise<Response<Record<string, unknown>>>;
124
99
  private _getTrezorDeviceId;
125
100
  cancel(connectId?: string): void;
126
- /**
127
- * Operation owning the running job: its queue key when pinned, else the live
128
- * operation of its connectId, so a mid-call UI request can name it.
129
- */
130
- private _activeOperationId;
131
101
  /**
132
102
  * Routes to BOTH the adapter's local UI registry (preemption decisions,
133
103
  * future SELECT_DEVICE / DEVICE_PERMISSION) AND the connector's registry
@@ -144,7 +114,7 @@ declare class TrezorAdapter implements IHardwareWallet {
144
114
  * Unlike Ledger (which hashes a per-chain address), it is chain-global, so
145
115
  * `chain` is accepted for API parity but ignored.
146
116
  */
147
- getChainFingerprint(connectId: string, deviceId: string, _chain: ChainForFingerprint): Promise<Response<string>>;
117
+ getChainFingerprint(connectId: string, _deviceId: string, _chain: ChainForFingerprint): Promise<Response<string>>;
148
118
  /**
149
119
  * Resolve the active passphrase wallet identity (`passphraseState`).
150
120
  * See {@link IHardwareWallet.getPassphraseState} for the discover/verify
@@ -153,7 +123,7 @@ declare class TrezorAdapter implements IHardwareWallet {
153
123
  * can't interleave with a chain call on the same device (which would desync
154
124
  * the THP session selection).
155
125
  */
156
- getPassphraseState(connectId: string, passphraseState?: string, operationContext?: IDeviceManagerOperationContext): Promise<Response<string | null>>;
126
+ getPassphraseState(connectId: string, passphraseState?: string): Promise<Response<string | null>>;
157
127
  evmGetAddress(connectId?: string | null, deviceId?: string | null, params?: TrezorCallParams<EvmGetAddressParams>): Promise<Response<EvmAddress>>;
158
128
  evmSignTransaction(connectId?: string | null, deviceId?: string | null, params?: TrezorCallParams<EvmSignTxTrezorParams>): Promise<Response<EvmSignedTx>>;
159
129
  evmSignMessage(connectId?: string | null, deviceId?: string | null, params?: TrezorCallParams<EvmSignMsgParams>): Promise<Response<EvmSignature>>;
@@ -173,16 +143,7 @@ declare class TrezorAdapter implements IHardwareWallet {
173
143
  tronSignTransaction(connectId?: string | null, deviceId?: string | null, params?: TrezorCallParams<TronSignTxParams>): Promise<Response<TronSignedTx>>;
174
144
  tronSignMessage(connectId?: string | null, deviceId?: string | null, params?: TrezorCallParams<TronSignMsgParams>): Promise<Response<TronSignature>>;
175
145
  private static _unwrapConnectorResult;
176
- private _callConnector;
177
- private _assertConnectorIdle;
178
- private _runConnectorTeardown;
179
- private _disconnectSession;
180
- private _availableTransports;
181
- /** Transports the connector offers and the host's model table allows; discovery opens no other. */
182
- private _allowedTransports;
183
- private _releaseProvisionalConnection;
184
- private _waitForConnectorOperationsToDrain;
185
- private _retainConnectorOperation;
146
+ private static _callConnector;
186
147
  private static _normalizeAllNetworkItem;
187
148
  private static _getItemDeviceId;
188
149
  private _callAllNetworkMethod;
@@ -195,13 +156,6 @@ declare class TrezorAdapter implements IHardwareWallet {
195
156
  private _callMethod;
196
157
  private _callWithRetry;
197
158
  private _ensureSession;
198
- /** An identity probe tears down only a session it opened; another caller's stays up. */
199
- private _hasSessionOrConnect;
200
- private _resolveExpectedDeviceConnectId;
201
- private _selectBleDeviceForBinding;
202
- private _emitBindingStatus;
203
- private _rememberVerifiedConnection;
204
- private _emitVerifiedBinding;
205
159
  /**
206
160
  * Pin the device's active wallet session to `passphraseState` (the target
207
161
  * wallet identity) before a wallet-bound op. THP has an app-session id; v1
@@ -459,4 +413,4 @@ declare function isTrezorBleServiceUuid(uuid: string): boolean;
459
413
  declare function isTrezorBleDescriptor(descriptor: TrezorBleDescriptor): boolean;
460
414
  declare function resolveTrezorBleConnectId(descriptor: TrezorBleDescriptor): string;
461
415
 
462
- export { type AuthenticateDeviceResult, type AuthenticityProof, type BuildEthereumDefinitionsForPathParams, type BuildEthereumDefinitionsForSignTxParams, DEFAULT_ETHEREUM_DEFINITIONS_BASE_URL, DEFAULT_SOLANA_TOKEN_DEFINITION_BASE_URL, type FetchEthereumDefinitionsParams, type FetchLike, type FetchSolanaTokenDefinitionParams, type SdkEvent, type SdkEventListener, type SdkLogEvent, TREZOR_BLE_PACKET_SIZE, TREZOR_BLE_SUPPORTED_MODELS, TREZOR_BLE_UUIDS, TREZOR_SAFE_7_MODEL, TrezorAdapter, type TrezorAdapterOptions, type TrezorBleDescriptor, type TrezorBleTransport, type TrezorBleTransportFactory, type TrezorConnectedDevice, type TrezorConnectorDevice, type TrezorKnownDeviceConnection, authenticateDeviceFromProof, buildEthereumDefinitionsForPath, buildEthereumDefinitionsForSignTx, fetchEthereumDefinitions, fetchSolanaTokenDefinition, getRequiredDeviceAuthenticityLayers, getSlip44FromPath, isTrezorBleDescriptor, isTrezorBleServiceUuid, isTrezorBleSupportedModel, isTrezorSafe7BleDescriptor, isTrezorSafe7BleName, normalizeTrezorBleUuid, offSdkEvent, onSdkEvent, resolveTrezorBleConnectId };
416
+ export { type AuthenticateDeviceResult, type AuthenticityProof, type BuildEthereumDefinitionsForPathParams, type BuildEthereumDefinitionsForSignTxParams, DEFAULT_ETHEREUM_DEFINITIONS_BASE_URL, DEFAULT_SOLANA_TOKEN_DEFINITION_BASE_URL, type FetchEthereumDefinitionsParams, type FetchLike, type FetchSolanaTokenDefinitionParams, type SdkEvent, type SdkEventListener, type SdkLogEvent, TREZOR_BLE_PACKET_SIZE, TREZOR_BLE_SUPPORTED_MODELS, TREZOR_BLE_UUIDS, TREZOR_SAFE_7_MODEL, TrezorAdapter, type TrezorBleDescriptor, type TrezorBleTransport, type TrezorBleTransportFactory, type TrezorConnectedDevice, type TrezorConnectorDevice, authenticateDeviceFromProof, buildEthereumDefinitionsForPath, buildEthereumDefinitionsForSignTx, fetchEthereumDefinitions, fetchSolanaTokenDefinition, getRequiredDeviceAuthenticityLayers, getSlip44FromPath, isTrezorBleDescriptor, isTrezorBleServiceUuid, isTrezorBleSupportedModel, isTrezorSafe7BleDescriptor, isTrezorSafe7BleName, normalizeTrezorBleUuid, offSdkEvent, onSdkEvent, resolveTrezorBleConnectId };
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { IHardwareWallet, IConnector, TransportType, SearchDevicesOptions, DeviceInfo, DeviceSearchTarget, BindBleDeviceParams, Response, AllNetworkGetAddressParams, AllNetworkAddressResponse, IDeviceManagerOperationContext, DeviceAuthenticityParams, DeviceAuthenticityResult, TrezorDeviceSettingsParams, TrezorBrightnessParams, TrezorChangePinParams, UiResponseEvent, ChainForFingerprint, ICommonCallParams, EvmGetAddressParams, EvmAddress, EvmSignTxTrezorParams, EvmSignedTx, EvmSignMsgParams, EvmSignature, EvmSignTypedDataParams, BtcGetAddressParams, BtcAddress, BtcGetPublicKeyParams, BtcPublicKey, BtcSignTxParams, BtcSignedTx, BtcSignPsbtParams, BtcSignedPsbt, BtcSignMsgParams, BtcSignature, SolGetAddressParams, SolAddress, SolSignTxParams, SolSignedTx, SolSignMsgParams, SolSignature, TronGetAddressParams, TronAddress, TronSignTxParams, TronSignedTx, TronSignMsgParams, TronSignature, HardwareEventMap, DeviceEventListener, EvmEthereumDefinitions, ConnectorDevice } from '@onekeyfe/hwk-adapter-core';
1
+ import { IHardwareWallet, IConnector, TransportType, DeviceInfo, Response, ChainCapability, AllNetworkGetAddressParams, AllNetworkAddressResponse, DeviceAuthenticityParams, DeviceAuthenticityResult, TrezorDeviceSettingsParams, TrezorBrightnessParams, TrezorChangePinParams, UiResponseEvent, ChainForFingerprint, ICommonCallParams, EvmGetAddressParams, EvmAddress, EvmSignTxTrezorParams, EvmSignedTx, EvmSignMsgParams, EvmSignature, EvmSignTypedDataParams, BtcGetAddressParams, BtcAddress, BtcGetPublicKeyParams, BtcPublicKey, BtcSignTxParams, BtcSignedTx, BtcSignPsbtParams, BtcSignedPsbt, BtcSignMsgParams, BtcSignature, SolGetAddressParams, SolAddress, SolSignTxParams, SolSignedTx, SolSignMsgParams, SolSignature, TronGetAddressParams, TronAddress, TronSignTxParams, TronSignedTx, TronSignMsgParams, TronSignature, HardwareEventMap, DeviceEventListener, EvmEthereumDefinitions, ConnectorDevice } from '@onekeyfe/hwk-adapter-core';
2
2
 
3
3
  type TrezorPassphraseCallParams = {
4
4
  passphraseState?: string;
@@ -6,21 +6,10 @@ type TrezorPassphraseCallParams = {
6
6
  };
7
7
  type TrezorCallParams<T> = (T & ICommonCallParams & TrezorPassphraseCallParams) | null | undefined;
8
8
  type TrezorCommonParams = (ICommonCallParams & TrezorPassphraseCallParams) | null | undefined;
9
- interface TrezorKnownDeviceConnection {
10
- deviceId: string;
11
- usbConnectId?: string;
12
- bleConnectId?: string;
13
- }
14
- interface TrezorAdapterOptions {
15
- /** Persisted endpoints are routing hints, never proof of device identity. */
16
- knownDeviceConnections?: readonly TrezorKnownDeviceConnection[];
17
- }
18
9
  declare class TrezorAdapter implements IHardwareWallet {
19
10
  readonly vendor: "trezor";
20
- readonly cancelCapability: "stops-waiting";
21
11
  private readonly _connector;
22
12
  private readonly _emitter;
23
- private readonly _operations;
24
13
  private readonly _devices;
25
14
  private readonly _sessions;
26
15
  private readonly _connectingPromises;
@@ -28,16 +17,8 @@ declare class TrezorAdapter implements IHardwareWallet {
28
17
  private readonly _uiRegistry;
29
18
  private readonly _passphraseRequestContextByConnectId;
30
19
  private readonly _verifiedPassphraseSessionsByConnectId;
31
- /** Raw connector calls that outlive an aborted caller, keyed by session. */
32
- private readonly _unsettledConnectorOperations;
33
- private readonly _connectorIdleWaiters;
34
- private _resetPromise;
35
- private _connectorTeardownTail;
36
- private _pendingConnectorTeardowns;
37
- private _stateGeneration;
38
20
  private readonly _jobQueue;
39
- private readonly _knownDeviceConnections;
40
- constructor(connector: IConnector, options?: TrezorAdapterOptions);
21
+ constructor(connector: IConnector);
41
22
  private static _createDeviceBusyError;
42
23
  /**
43
24
  * Split a Trezor-only `passphraseState` routing hint off the chain params so
@@ -50,7 +31,6 @@ declare class TrezorAdapter implements IHardwareWallet {
50
31
  private static readonly _sensitiveLogKeys;
51
32
  private static _normalizeLogKey;
52
33
  private static _sanitizeForLog;
53
- private static _responseForLog;
54
34
  private static _redactForLog;
55
35
  private static _errorForLog;
56
36
  private _setPassphraseRequestContext;
@@ -61,17 +41,19 @@ declare class TrezorAdapter implements IHardwareWallet {
61
41
  * selected is gone (the device evicted it from its limited slot pool). The
62
42
  * caller drops the stale cache entry and recreates from scratch.
63
43
  *
64
- * Match only the protocol's explicit unallocated-channel code. Guessing from
65
- * an error message could replay a request after an unrelated business error.
44
+ * NOTE: the exact eviction code still needs real-device confirmation — match
45
+ * conservatively so a genuine error isn't mistaken for an evicted session
46
+ * (which would silently re-prompt the passphrase).
66
47
  */
67
48
  private static _isStaleSessionError;
68
49
  private static _errorCode;
69
50
  private static _isConnectionUnavailableError;
70
51
  private static _isRecoverableProtocolResidueError;
71
52
  /**
72
- * Race a promise against an abort signal. IConnector.call() can't actually
73
- * be cancelled at the protocol level, so the caller gets the abort while the
74
- * adapter keeps the transport exclusively reserved until the raw call drains.
53
+ * Race a promise against an abort signal. Copied from LedgerAdapter:
54
+ * IConnector.call() can't actually be cancelled at the protocol level, but
55
+ * the caller gets the abort immediately and the underlying work completes
56
+ * uselessly in the background.
75
57
  */
76
58
  private static _abortable;
77
59
  private _connectSession;
@@ -84,24 +66,17 @@ declare class TrezorAdapter implements IHardwareWallet {
84
66
  * error flows. Aborts active jobs and releases UI waits.
85
67
  */
86
68
  resetState(): void;
87
- private _resetStateAndDisconnectSessions;
88
69
  getAvailableTransports(): TransportType[];
89
70
  switchTransport(_type: TransportType): Promise<void>;
90
- searchDevices(options?: SearchDevicesOptions): Promise<DeviceInfo[]>;
91
- private _searchDevices;
92
- searchDeviceTargets(options?: SearchDevicesOptions): Promise<DeviceSearchTarget[]>;
93
- bindBleDevice(params: BindBleDeviceParams): Promise<Response<string>>;
94
- connectDevice(searchTargetId: string): Promise<Response<string>>;
95
- releaseOperation(operationId: string): Promise<void>;
96
- /**
97
- * Ends a released operation's calls and prompts before teardown, which otherwise waits on a call
98
- * that waits on a prompt nobody will answer. Device I/O already on the wire still drains.
99
- */
100
- private _cancelOperationWork;
101
- private _releaseOperationConnection;
102
- getDeviceInfo(connectIdOrOperationId: string, deviceId: string): Promise<Response<DeviceInfo>>;
71
+ searchDevices(options?: {
72
+ waitForAllTransports?: boolean;
73
+ }): Promise<DeviceInfo[]>;
74
+ connectDevice(connectId: string): Promise<Response<string>>;
75
+ disconnectDevice(connectId: string): Promise<void>;
76
+ getDeviceInfo(connectId: string, deviceId: string): Promise<Response<DeviceInfo>>;
77
+ getSupportedChains(): ChainCapability[];
103
78
  allNetworkGetAddress(connectId: string, deviceId: string, params: AllNetworkGetAddressParams): Promise<Response<AllNetworkAddressResponse[]>>;
104
- getFeatures(connectId: string, operationContext?: IDeviceManagerOperationContext): Promise<Response<Record<string, unknown>>>;
79
+ getFeatures(connectId: string): Promise<Response<Record<string, unknown>>>;
105
80
  /**
106
81
  * Device authenticity attestation. Sends a host-generated challenge, has the
107
82
  * device sign it with its secure-element key, then verifies the returned
@@ -117,17 +92,12 @@ declare class TrezorAdapter implements IHardwareWallet {
117
92
  * enable it in a production accounting flow, it lets an emulator mint any id.
118
93
  */
119
94
  verifyDeviceAuthenticity(connectId: string, params?: DeviceAuthenticityParams): Promise<Response<DeviceAuthenticityResult>>;
120
- deviceSettings(connectId: string, params: TrezorDeviceSettingsParams, operationContext?: IDeviceManagerOperationContext): Promise<Response<Record<string, unknown>>>;
121
- setBrightness(connectId: string, params?: TrezorBrightnessParams, operationContext?: IDeviceManagerOperationContext): Promise<Response<Record<string, unknown>>>;
122
- changePin(connectId: string, params?: TrezorChangePinParams, operationContext?: IDeviceManagerOperationContext): Promise<Response<Record<string, unknown>>>;
123
- wipeDevice(connectId: string, operationContext?: IDeviceManagerOperationContext): Promise<Response<Record<string, unknown>>>;
95
+ deviceSettings(connectId: string, params: TrezorDeviceSettingsParams): Promise<Response<Record<string, unknown>>>;
96
+ setBrightness(connectId: string, params?: TrezorBrightnessParams): Promise<Response<Record<string, unknown>>>;
97
+ changePin(connectId: string, params?: TrezorChangePinParams): Promise<Response<Record<string, unknown>>>;
98
+ wipeDevice(connectId: string): Promise<Response<Record<string, unknown>>>;
124
99
  private _getTrezorDeviceId;
125
100
  cancel(connectId?: string): void;
126
- /**
127
- * Operation owning the running job: its queue key when pinned, else the live
128
- * operation of its connectId, so a mid-call UI request can name it.
129
- */
130
- private _activeOperationId;
131
101
  /**
132
102
  * Routes to BOTH the adapter's local UI registry (preemption decisions,
133
103
  * future SELECT_DEVICE / DEVICE_PERMISSION) AND the connector's registry
@@ -144,7 +114,7 @@ declare class TrezorAdapter implements IHardwareWallet {
144
114
  * Unlike Ledger (which hashes a per-chain address), it is chain-global, so
145
115
  * `chain` is accepted for API parity but ignored.
146
116
  */
147
- getChainFingerprint(connectId: string, deviceId: string, _chain: ChainForFingerprint): Promise<Response<string>>;
117
+ getChainFingerprint(connectId: string, _deviceId: string, _chain: ChainForFingerprint): Promise<Response<string>>;
148
118
  /**
149
119
  * Resolve the active passphrase wallet identity (`passphraseState`).
150
120
  * See {@link IHardwareWallet.getPassphraseState} for the discover/verify
@@ -153,7 +123,7 @@ declare class TrezorAdapter implements IHardwareWallet {
153
123
  * can't interleave with a chain call on the same device (which would desync
154
124
  * the THP session selection).
155
125
  */
156
- getPassphraseState(connectId: string, passphraseState?: string, operationContext?: IDeviceManagerOperationContext): Promise<Response<string | null>>;
126
+ getPassphraseState(connectId: string, passphraseState?: string): Promise<Response<string | null>>;
157
127
  evmGetAddress(connectId?: string | null, deviceId?: string | null, params?: TrezorCallParams<EvmGetAddressParams>): Promise<Response<EvmAddress>>;
158
128
  evmSignTransaction(connectId?: string | null, deviceId?: string | null, params?: TrezorCallParams<EvmSignTxTrezorParams>): Promise<Response<EvmSignedTx>>;
159
129
  evmSignMessage(connectId?: string | null, deviceId?: string | null, params?: TrezorCallParams<EvmSignMsgParams>): Promise<Response<EvmSignature>>;
@@ -173,16 +143,7 @@ declare class TrezorAdapter implements IHardwareWallet {
173
143
  tronSignTransaction(connectId?: string | null, deviceId?: string | null, params?: TrezorCallParams<TronSignTxParams>): Promise<Response<TronSignedTx>>;
174
144
  tronSignMessage(connectId?: string | null, deviceId?: string | null, params?: TrezorCallParams<TronSignMsgParams>): Promise<Response<TronSignature>>;
175
145
  private static _unwrapConnectorResult;
176
- private _callConnector;
177
- private _assertConnectorIdle;
178
- private _runConnectorTeardown;
179
- private _disconnectSession;
180
- private _availableTransports;
181
- /** Transports the connector offers and the host's model table allows; discovery opens no other. */
182
- private _allowedTransports;
183
- private _releaseProvisionalConnection;
184
- private _waitForConnectorOperationsToDrain;
185
- private _retainConnectorOperation;
146
+ private static _callConnector;
186
147
  private static _normalizeAllNetworkItem;
187
148
  private static _getItemDeviceId;
188
149
  private _callAllNetworkMethod;
@@ -195,13 +156,6 @@ declare class TrezorAdapter implements IHardwareWallet {
195
156
  private _callMethod;
196
157
  private _callWithRetry;
197
158
  private _ensureSession;
198
- /** An identity probe tears down only a session it opened; another caller's stays up. */
199
- private _hasSessionOrConnect;
200
- private _resolveExpectedDeviceConnectId;
201
- private _selectBleDeviceForBinding;
202
- private _emitBindingStatus;
203
- private _rememberVerifiedConnection;
204
- private _emitVerifiedBinding;
205
159
  /**
206
160
  * Pin the device's active wallet session to `passphraseState` (the target
207
161
  * wallet identity) before a wallet-bound op. THP has an app-session id; v1
@@ -459,4 +413,4 @@ declare function isTrezorBleServiceUuid(uuid: string): boolean;
459
413
  declare function isTrezorBleDescriptor(descriptor: TrezorBleDescriptor): boolean;
460
414
  declare function resolveTrezorBleConnectId(descriptor: TrezorBleDescriptor): string;
461
415
 
462
- export { type AuthenticateDeviceResult, type AuthenticityProof, type BuildEthereumDefinitionsForPathParams, type BuildEthereumDefinitionsForSignTxParams, DEFAULT_ETHEREUM_DEFINITIONS_BASE_URL, DEFAULT_SOLANA_TOKEN_DEFINITION_BASE_URL, type FetchEthereumDefinitionsParams, type FetchLike, type FetchSolanaTokenDefinitionParams, type SdkEvent, type SdkEventListener, type SdkLogEvent, TREZOR_BLE_PACKET_SIZE, TREZOR_BLE_SUPPORTED_MODELS, TREZOR_BLE_UUIDS, TREZOR_SAFE_7_MODEL, TrezorAdapter, type TrezorAdapterOptions, type TrezorBleDescriptor, type TrezorBleTransport, type TrezorBleTransportFactory, type TrezorConnectedDevice, type TrezorConnectorDevice, type TrezorKnownDeviceConnection, authenticateDeviceFromProof, buildEthereumDefinitionsForPath, buildEthereumDefinitionsForSignTx, fetchEthereumDefinitions, fetchSolanaTokenDefinition, getRequiredDeviceAuthenticityLayers, getSlip44FromPath, isTrezorBleDescriptor, isTrezorBleServiceUuid, isTrezorBleSupportedModel, isTrezorSafe7BleDescriptor, isTrezorSafe7BleName, normalizeTrezorBleUuid, offSdkEvent, onSdkEvent, resolveTrezorBleConnectId };
416
+ export { type AuthenticateDeviceResult, type AuthenticityProof, type BuildEthereumDefinitionsForPathParams, type BuildEthereumDefinitionsForSignTxParams, DEFAULT_ETHEREUM_DEFINITIONS_BASE_URL, DEFAULT_SOLANA_TOKEN_DEFINITION_BASE_URL, type FetchEthereumDefinitionsParams, type FetchLike, type FetchSolanaTokenDefinitionParams, type SdkEvent, type SdkEventListener, type SdkLogEvent, TREZOR_BLE_PACKET_SIZE, TREZOR_BLE_SUPPORTED_MODELS, TREZOR_BLE_UUIDS, TREZOR_SAFE_7_MODEL, TrezorAdapter, type TrezorBleDescriptor, type TrezorBleTransport, type TrezorBleTransportFactory, type TrezorConnectedDevice, type TrezorConnectorDevice, authenticateDeviceFromProof, buildEthereumDefinitionsForPath, buildEthereumDefinitionsForSignTx, fetchEthereumDefinitions, fetchSolanaTokenDefinition, getRequiredDeviceAuthenticityLayers, getSlip44FromPath, isTrezorBleDescriptor, isTrezorBleServiceUuid, isTrezorBleSupportedModel, isTrezorSafe7BleDescriptor, isTrezorSafe7BleName, normalizeTrezorBleUuid, offSdkEvent, onSdkEvent, resolveTrezorBleConnectId };