@exodus/hardware-wallets 3.6.1 → 3.6.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.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,12 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [3.6.2](https://github.com/ExodusMovement/exodus-hydra/compare/@exodus/hardware-wallets@3.6.1...@exodus/hardware-wallets@3.6.2) (2026-02-22)
7
+
8
+ ### Bug Fixes
9
+
10
+ - fix: always pass walletAccount for ensureDevice (#15327)
11
+
6
12
  ## [3.6.1](https://github.com/ExodusMovement/exodus-hydra/compare/@exodus/hardware-wallets@3.6.0...@exodus/hardware-wallets@3.6.1) (2026-02-09)
7
13
 
8
14
  ### Bug Fixes
@@ -1,7 +1,7 @@
1
1
  import { WalletAccount } from '@exodus/models';
2
2
  import Emitter from '@exodus/wild-emitter';
3
- import type { HardwareSignerProvider, CanAccessAssetParams, CreateParams, StoreSyncedKeysParams, ScanParams, SyncParams, SignTransactionParams, ScanResult, SyncedKeysId, GetAddressParams, RequireDeviceForParams, ProcessPairingCodeParams, SigningRequestState, SetPassphraseModeParams } from './interfaces.js';
4
- import type { HardwareWalletDiscovery, HardwareWalletManufacturer, SignMessageParams } from '@exodus/hw-common';
3
+ import type { HardwareSignerProvider, CanAccessAssetParams, CreateParams, StoreSyncedKeysParams, ScanParams, SyncParams, SignTransactionParams, ScanResult, SyncedKeysId, GetAddressParams, SignMessageParams, ProcessPairingCodeParams, SigningRequestState, SetPassphraseModeParams } from './interfaces.js';
4
+ import type { HardwareWalletDiscovery, HardwareWalletManufacturer } from '@exodus/hw-common';
5
5
  import type { Atom } from '@exodus/atoms';
6
6
  import type { IPublicKeyStore } from '@exodus/public-key-provider/lib/module/store/types';
7
7
  import type { Logger } from '@exodus/logger';
@@ -31,7 +31,7 @@ export declare class HardwareWallets implements HardwareSignerProvider {
31
31
  retrySigningRequest: (id: string) => Promise<void>;
32
32
  cancelSigningRequest: (id: string, fromUI: boolean) => Promise<void>;
33
33
  signTransaction: ({ baseAssetName, unsignedTx, walletAccount, multisigData, }: SignTransactionParams) => Promise<any>;
34
- signMessage: ({ assetName, derivationPath, message }: SignMessageParams) => Promise<any>;
34
+ signMessage: ({ assetName, derivationPath, message, walletAccount, }: SignMessageParams) => Promise<any>;
35
35
  isDeviceConnected: () => Promise<boolean>;
36
36
  scanForDevices: (deviceType?: HardwareWalletManufacturer) => Promise<void>;
37
37
  getAvailableDevices: () => Promise<{
@@ -48,9 +48,11 @@ export declare class HardwareWallets implements HardwareSignerProvider {
48
48
  clearPairingRequest: () => Promise<void>;
49
49
  submitPairingCode: ({ code }: ProcessPairingCodeParams) => Promise<any>;
50
50
  setPassphraseMode: ({ enabled }: SetPassphraseModeParams) => Promise<void>;
51
- requireDeviceFor: ({ walletAccount }: RequireDeviceForParams) => Promise<{
52
- signTransaction: ({ baseAssetName, unsignedTx, walletAccount, multisigData, }: SignTransactionParams) => Promise<any>;
53
- signMessage: ({ assetName, derivationPath, message }: SignMessageParams) => Promise<any>;
51
+ requireDeviceFor: (walletAccount: WalletAccount) => Promise<{
52
+ signTransaction: ({ baseAssetName, unsignedTx, multisigData, }: Omit<SignTransactionParams, "walletAccount"> & {
53
+ walletAccount?: WalletAccount;
54
+ }) => Promise<any>;
55
+ signMessage: ({ assetName, derivationPath, message, }: Omit<SignMessageParams, "walletAccount">) => Promise<any>;
54
56
  }>;
55
57
  }
56
58
  declare const hardwareWalletsModuleDefinition: {
@@ -208,7 +208,7 @@ export class HardwareWallets {
208
208
  walletAccount,
209
209
  });
210
210
  };
211
- signMessage = async ({ assetName, derivationPath, message }) => {
211
+ signMessage = async ({ assetName, derivationPath, message, walletAccount, }) => {
212
212
  const baseAssetName = this.#assetsModule.getAsset(assetName).baseAsset.name;
213
213
  const sign = async ({ device }) => {
214
214
  return device.signMessage({
@@ -217,7 +217,7 @@ export class HardwareWallets {
217
217
  message,
218
218
  });
219
219
  };
220
- return this.#signGeneric({ baseAssetName, scenario: 'signMessage', sign });
220
+ return this.#signGeneric({ baseAssetName, scenario: 'signMessage', sign, walletAccount });
221
221
  };
222
222
  isDeviceConnected = async () => {
223
223
  try {
@@ -458,10 +458,10 @@ export class HardwareWallets {
458
458
  const trezorDevice = this.#requireTrezorDevice(device);
459
459
  trezorDevice.setPassphraseMode(enabled ? 'hidden' : 'standard');
460
460
  };
461
- requireDeviceFor = async ({ walletAccount }) => {
461
+ requireDeviceFor = async (walletAccount) => {
462
462
  return {
463
- signTransaction: this.signTransaction,
464
- signMessage: this.signMessage,
463
+ signTransaction: ({ baseAssetName, unsignedTx, multisigData, }) => this.signTransaction({ baseAssetName, unsignedTx, multisigData, walletAccount }),
464
+ signMessage: ({ assetName, derivationPath, message, }) => this.signMessage({ assetName, derivationPath, message, walletAccount }),
465
465
  };
466
466
  };
467
467
  }
@@ -1,5 +1,5 @@
1
1
  import type { WalletAccount } from '@exodus/models';
2
- import type { HardwareWalletDeviceModels, HardwareWalletDevice, HardwareWalletManufacturer, MultisigData, SignMessageParams } from '@exodus/hw-common';
2
+ import type { HardwareWalletDeviceModels, HardwareWalletDevice, HardwareWalletManufacturer, MultisigData, SignMessageParams as HwSignMessageParams } from '@exodus/hw-common';
3
3
  import type KeyIdentifier from '@exodus/key-identifier';
4
4
  export interface HardwareSignerProvider {
5
5
  isDeviceConnected: () => Promise<boolean>;
@@ -11,7 +11,7 @@ export interface HardwareSignerProvider {
11
11
  addPublicKeysToWalletAccount: ({ walletAccount, syncedKeysId, }: StoreSyncedKeysParams) => Promise<void>;
12
12
  create: ({ syncedKeysId, isMultisig }: CreateParams) => Promise<WalletAccount>;
13
13
  signTransaction: ({ baseAssetName, unsignedTx, walletAccount, }: SignTransactionParams) => Promise<any>;
14
- signMessage: ({ assetName, derivationPath, message }: SignMessageParams) => Promise<any>;
14
+ signMessage: ({ assetName, derivationPath, message, walletAccount, }: SignMessageParams) => Promise<any>;
15
15
  submitPairingCode: ({ code }: ProcessPairingCodeParams) => Promise<any>;
16
16
  setPassphraseMode: ({ enabled }: SetPassphraseModeParams) => Promise<void>;
17
17
  }
@@ -85,7 +85,7 @@ export interface GenericSignParams {
85
85
  baseAssetName: string;
86
86
  scenario: 'signTransaction' | 'signMessage';
87
87
  sign: GenericSignCallback;
88
- walletAccount?: WalletAccount;
88
+ walletAccount: WalletAccount;
89
89
  }
90
90
  export interface SigningRequestState {
91
91
  id: string;
@@ -96,7 +96,7 @@ export interface SigningRequestState {
96
96
  export interface SigningRequest {
97
97
  id: string;
98
98
  baseAssetName?: string;
99
- walletAccount?: WalletAccount;
99
+ walletAccount: WalletAccount;
100
100
  sign: GenericSignCallback;
101
101
  resolve: (result: any) => void;
102
102
  reject: (error: Error) => void;
@@ -146,6 +146,9 @@ export type FetchBalanceResult = any | null;
146
146
  export interface RequireDeviceForParams {
147
147
  walletAccount: WalletAccount;
148
148
  }
149
+ export interface SignMessageParams extends HwSignMessageParams {
150
+ walletAccount: WalletAccount;
151
+ }
149
152
  export interface ProcessPairingCodeParams {
150
153
  code: string;
151
154
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@exodus/hardware-wallets",
3
- "version": "3.6.1",
3
+ "version": "3.6.2",
4
4
  "description": "An Exodus SDK feature that provides a high level abstraction for interacting with hardware wallet devices",
5
5
  "author": "Exodus Movement, Inc.",
6
6
  "repository": {
@@ -32,7 +32,7 @@
32
32
  "@exodus/basic-utils": "^3.2.0",
33
33
  "@exodus/bip32": "^4.0.2",
34
34
  "@exodus/crypto": "^1.0.0-rc.14",
35
- "@exodus/hw-common": "^3.4.0",
35
+ "@exodus/hw-common": "^3.4.1",
36
36
  "@exodus/models": "^12.18.0",
37
37
  "@exodus/redux-dependency-injection": "^4.0.0",
38
38
  "@exodus/wild-emitter": "^1.1.0",
@@ -53,5 +53,5 @@
53
53
  "access": "public",
54
54
  "provenance": false
55
55
  },
56
- "gitHead": "e0cdf475edecde771229c25e2e0b1eb61ad52030"
56
+ "gitHead": "566a8da5fd2bdc2c0a0029d50937f1ed30362325"
57
57
  }