@exodus/hardware-wallets 3.6.2 → 3.6.3
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 +6 -0
- package/lib/api/index.d.ts +6 -6
- package/lib/api/index.js +5 -5
- package/lib/atoms/index.d.ts +2 -2
- package/lib/index.d.ts +7 -7
- package/lib/redux/index.d.ts +5 -2
- package/lib/redux/selectors/index.d.ts +5 -2
- package/lib/redux/selectors/isAssetNameConnectedForWalletAccount.d.ts +7 -2
- package/package.json +12 -5
- package/redux.js +2 -0
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.3](https://github.com/ExodusMovement/exodus-hydra/compare/@exodus/hardware-wallets@3.6.2...@exodus/hardware-wallets@3.6.3) (2026-05-11)
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
- fix(hardware-wallets): rename restoreProgressTracker dep to restoreAssetsTracker (#16366)
|
|
11
|
+
|
|
6
12
|
## [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
13
|
|
|
8
14
|
### Bug Fixes
|
package/lib/api/index.d.ts
CHANGED
|
@@ -2,24 +2,24 @@ import type { HardwareWallets } from '../module/hardware-wallets.js';
|
|
|
2
2
|
declare const hardwareWalletsApiDefinition: {
|
|
3
3
|
readonly id: "hardwareWalletsApi";
|
|
4
4
|
readonly type: "api";
|
|
5
|
-
readonly factory: ({ hardwareWallets,
|
|
5
|
+
readonly factory: ({ hardwareWallets, restoreAssetsTracker, txLogMonitors, }: {
|
|
6
6
|
hardwareWallets: HardwareWallets;
|
|
7
7
|
txLogMonitors: any;
|
|
8
|
-
|
|
8
|
+
restoreAssetsTracker: any;
|
|
9
9
|
}) => {
|
|
10
10
|
hardwareWallets: {
|
|
11
11
|
isDeviceConnected: () => Promise<boolean>;
|
|
12
12
|
getAvailableDevices: () => Promise<{
|
|
13
|
-
model: import("
|
|
13
|
+
model: import("@exodus/hw-common").HardwareWalletDeviceModels;
|
|
14
14
|
name: string;
|
|
15
15
|
}[]>;
|
|
16
16
|
listUseableAssetNames: () => Promise<string[]>;
|
|
17
|
-
scanForDevices: (deviceType?: import("
|
|
17
|
+
scanForDevices: (deviceType?: import("@exodus/hw-common").HardwareWalletManufacturer) => Promise<void>;
|
|
18
18
|
canAccessAsset: ({ assetName }: import("../module/interfaces.js").CanAccessAssetParams) => Promise<boolean>;
|
|
19
19
|
scan: ({ assetName, accountIndexes, addressLimit, addressOffset, }: import("../module/interfaces.js").ScanParams) => Promise<import("../module/interfaces.js").ScanResult>;
|
|
20
20
|
sync: ({ accountIndex: index, isMultisig }?: import("../module/interfaces.js").SyncParams) => Promise<import("../module/interfaces.js").SyncedKeysId>;
|
|
21
21
|
addPublicKeysToWalletAccount: ({ walletAccount, syncedKeysId }: import("../module/interfaces.js").StoreSyncedKeysParams) => Promise<void>;
|
|
22
|
-
create: ({ syncedKeysId, isMultisig }: import("../module/interfaces.js").CreateParams) => Promise<import("
|
|
22
|
+
create: ({ syncedKeysId, isMultisig }: import("../module/interfaces.js").CreateParams) => Promise<import("@exodus/models").WalletAccount>;
|
|
23
23
|
retrySigningRequest: (id: string) => Promise<void>;
|
|
24
24
|
cancelSigningRequest: (id: string, fromUI: boolean) => Promise<void>;
|
|
25
25
|
submitPairingCode: ({ code }: import("../module/interfaces.js").ProcessPairingCodeParams) => Promise<any>;
|
|
@@ -27,6 +27,6 @@ declare const hardwareWalletsApiDefinition: {
|
|
|
27
27
|
setPassphraseMode: ({ enabled }: import("../module/interfaces.js").SetPassphraseModeParams) => Promise<void>;
|
|
28
28
|
};
|
|
29
29
|
};
|
|
30
|
-
readonly dependencies: readonly ["hardwareWallets", "txLogMonitors", "
|
|
30
|
+
readonly dependencies: readonly ["hardwareWallets", "txLogMonitors", "restoreAssetsTracker"];
|
|
31
31
|
};
|
|
32
32
|
export default hardwareWalletsApiDefinition;
|
package/lib/api/index.js
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
const createHardwareWalletsApi = ({ hardwareWallets,
|
|
1
|
+
const createHardwareWalletsApi = ({ hardwareWallets, restoreAssetsTracker, txLogMonitors, }) => {
|
|
2
2
|
hardwareWallets.events.subscribe(({ type, payload }) => {
|
|
3
3
|
if (type !== 'syncAssets')
|
|
4
4
|
return;
|
|
5
5
|
const { assetNames } = payload;
|
|
6
6
|
for (const assetName of assetNames) {
|
|
7
7
|
if (assetName === 'ethereum' || assetName === 'matic') {
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
restoreAssetsTracker.restoreAsset('ethereum');
|
|
9
|
+
restoreAssetsTracker.restoreAsset('matic');
|
|
10
10
|
txLogMonitors.update({ assetName: 'ethereum', refresh: true });
|
|
11
11
|
txLogMonitors.update({ assetName: 'matic', refresh: true });
|
|
12
12
|
}
|
|
13
13
|
else {
|
|
14
|
-
|
|
14
|
+
restoreAssetsTracker.restoreAsset(assetName);
|
|
15
15
|
txLogMonitors.update({ assetName, refresh: true });
|
|
16
16
|
}
|
|
17
17
|
}
|
|
@@ -39,6 +39,6 @@ const hardwareWalletsApiDefinition = {
|
|
|
39
39
|
id: 'hardwareWalletsApi',
|
|
40
40
|
type: 'api',
|
|
41
41
|
factory: createHardwareWalletsApi,
|
|
42
|
-
dependencies: ['hardwareWallets', 'txLogMonitors', '
|
|
42
|
+
dependencies: ['hardwareWallets', 'txLogMonitors', 'restoreAssetsTracker'],
|
|
43
43
|
};
|
|
44
44
|
export default hardwareWalletsApiDefinition;
|
package/lib/atoms/index.d.ts
CHANGED
|
@@ -2,10 +2,10 @@ export { hardwareWalletSigningRequestsAtomDefinition } from './hardwareWalletSig
|
|
|
2
2
|
type WalletAccountName = string;
|
|
3
3
|
type AssetName = string;
|
|
4
4
|
export type WalletAccountNameToConnectedAssetNamesMap = Record<WalletAccountName, AssetName[]>;
|
|
5
|
-
export declare const createHardwareWalletConnectedAssetNamesAtom: ({ hardwareWalletPublicKeysAtom, assetsModule, walletAccountsAtom, availableAssetNamesAtom, }: any) => import("@exodus/atoms").ReadonlyAtom<
|
|
5
|
+
export declare const createHardwareWalletConnectedAssetNamesAtom: ({ hardwareWalletPublicKeysAtom, assetsModule, walletAccountsAtom, availableAssetNamesAtom, }: any) => import("@exodus/atoms").ReadonlyAtom<WalletAccountNameToConnectedAssetNamesMap>;
|
|
6
6
|
export declare const hardwareWalletConnectedAssetNamesAtomDefinition: {
|
|
7
7
|
readonly id: "hardwareWalletConnectedAssetNamesAtom";
|
|
8
8
|
readonly type: "atom";
|
|
9
|
-
readonly factory: ({ hardwareWalletPublicKeysAtom, assetsModule, walletAccountsAtom, availableAssetNamesAtom, }: any) => import("@exodus/atoms").ReadonlyAtom<
|
|
9
|
+
readonly factory: ({ hardwareWalletPublicKeysAtom, assetsModule, walletAccountsAtom, availableAssetNamesAtom, }: any) => import("@exodus/atoms").ReadonlyAtom<WalletAccountNameToConnectedAssetNamesMap>;
|
|
10
10
|
readonly dependencies: readonly ["hardwareWalletPublicKeysAtom", "assetsModule", "walletAccountsAtom", "availableAssetNamesAtom"];
|
|
11
11
|
};
|
package/lib/index.d.ts
CHANGED
|
@@ -5,24 +5,24 @@ declare const hardwareWallets: () => {
|
|
|
5
5
|
readonly definition: {
|
|
6
6
|
readonly id: "hardwareWalletsApi";
|
|
7
7
|
readonly type: "api";
|
|
8
|
-
readonly factory: ({ hardwareWallets,
|
|
8
|
+
readonly factory: ({ hardwareWallets, restoreAssetsTracker, txLogMonitors, }: {
|
|
9
9
|
hardwareWallets: import("./module/hardware-wallets.js").HardwareWallets;
|
|
10
10
|
txLogMonitors: any;
|
|
11
|
-
|
|
11
|
+
restoreAssetsTracker: any;
|
|
12
12
|
}) => {
|
|
13
13
|
hardwareWallets: {
|
|
14
14
|
isDeviceConnected: () => Promise<boolean>;
|
|
15
15
|
getAvailableDevices: () => Promise<{
|
|
16
|
-
model: import("
|
|
16
|
+
model: import("@exodus/hw-common").HardwareWalletDeviceModels;
|
|
17
17
|
name: string;
|
|
18
18
|
}[]>;
|
|
19
19
|
listUseableAssetNames: () => Promise<string[]>;
|
|
20
|
-
scanForDevices: (deviceType?: import("
|
|
20
|
+
scanForDevices: (deviceType?: import("@exodus/hw-common").HardwareWalletManufacturer) => Promise<void>;
|
|
21
21
|
canAccessAsset: ({ assetName }: import("./module/interfaces.js").CanAccessAssetParams) => Promise<boolean>;
|
|
22
22
|
scan: ({ assetName, accountIndexes, addressLimit, addressOffset, }: import("./module/interfaces.js").ScanParams) => Promise<import("./module/interfaces.js").ScanResult>;
|
|
23
23
|
sync: ({ accountIndex: index, isMultisig }?: import("./module/interfaces.js").SyncParams) => Promise<import("./module/interfaces.js").SyncedKeysId>;
|
|
24
24
|
addPublicKeysToWalletAccount: ({ walletAccount, syncedKeysId }: import("./module/interfaces.js").StoreSyncedKeysParams) => Promise<void>;
|
|
25
|
-
create: ({ syncedKeysId, isMultisig }: import("./module/interfaces.js").CreateParams) => Promise<import("
|
|
25
|
+
create: ({ syncedKeysId, isMultisig }: import("./module/interfaces.js").CreateParams) => Promise<import("@exodus/models").WalletAccount>;
|
|
26
26
|
retrySigningRequest: (id: string) => Promise<void>;
|
|
27
27
|
cancelSigningRequest: (id: string, fromUI: boolean) => Promise<void>;
|
|
28
28
|
submitPairingCode: ({ code }: import("./module/interfaces.js").ProcessPairingCodeParams) => Promise<any>;
|
|
@@ -30,7 +30,7 @@ declare const hardwareWallets: () => {
|
|
|
30
30
|
setPassphraseMode: ({ enabled }: import("./module/interfaces.js").SetPassphraseModeParams) => Promise<void>;
|
|
31
31
|
};
|
|
32
32
|
};
|
|
33
|
-
readonly dependencies: readonly ["hardwareWallets", "txLogMonitors", "
|
|
33
|
+
readonly dependencies: readonly ["hardwareWallets", "txLogMonitors", "restoreAssetsTracker"];
|
|
34
34
|
};
|
|
35
35
|
}, {
|
|
36
36
|
readonly definition: {
|
|
@@ -44,7 +44,7 @@ declare const hardwareWallets: () => {
|
|
|
44
44
|
readonly definition: {
|
|
45
45
|
readonly id: "hardwareWalletConnectedAssetNamesAtom";
|
|
46
46
|
readonly type: "atom";
|
|
47
|
-
readonly factory: ({ hardwareWalletPublicKeysAtom, assetsModule, walletAccountsAtom, availableAssetNamesAtom, }: any) => import("@exodus/atoms").ReadonlyAtom<
|
|
47
|
+
readonly factory: ({ hardwareWalletPublicKeysAtom, assetsModule, walletAccountsAtom, availableAssetNamesAtom, }: any) => import("@exodus/atoms").ReadonlyAtom<import("./atoms/index.js").WalletAccountNameToConnectedAssetNamesMap>;
|
|
48
48
|
readonly dependencies: readonly ["hardwareWalletPublicKeysAtom", "assetsModule", "walletAccountsAtom", "availableAssetNamesAtom"];
|
|
49
49
|
};
|
|
50
50
|
}, {
|
package/lib/redux/index.d.ts
CHANGED
|
@@ -23,9 +23,12 @@ declare const hardwareWalletsReduxDefinition: {
|
|
|
23
23
|
};
|
|
24
24
|
readonly selectorDefinitions: {
|
|
25
25
|
readonly id: "isAssetNameConnectedForWalletAccount";
|
|
26
|
-
readonly selectorFactory: (selfSelector: any) =>
|
|
26
|
+
readonly selectorFactory: (selfSelector: any) => import("@exodus/basic-utils/lib/memoize.js").MemoizedFunction<({ walletAccountName, assetName }: {
|
|
27
|
+
walletAccountName: string;
|
|
28
|
+
assetName: string;
|
|
29
|
+
}) => import("reselect").OutputSelector<unknown, boolean, (res: HardwareWalletsState) => boolean>>;
|
|
27
30
|
readonly dependencies: readonly [{
|
|
28
|
-
readonly selector:
|
|
31
|
+
readonly selector: "$state";
|
|
29
32
|
}];
|
|
30
33
|
}[];
|
|
31
34
|
};
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
declare const hardwareWalletsSelectors: {
|
|
2
2
|
readonly id: "isAssetNameConnectedForWalletAccount";
|
|
3
|
-
readonly selectorFactory: (selfSelector: any) =>
|
|
3
|
+
readonly selectorFactory: (selfSelector: any) => import("@exodus/basic-utils/lib/memoize.js").MemoizedFunction<({ walletAccountName, assetName }: {
|
|
4
|
+
walletAccountName: string;
|
|
5
|
+
assetName: string;
|
|
6
|
+
}) => import("reselect").OutputSelector<unknown, boolean, (res: import("../initial-state.js").HardwareWalletsState) => boolean>>;
|
|
4
7
|
readonly dependencies: readonly [{
|
|
5
|
-
readonly selector:
|
|
8
|
+
readonly selector: "$state";
|
|
6
9
|
}];
|
|
7
10
|
}[];
|
|
8
11
|
export default hardwareWalletsSelectors;
|
|
@@ -1,8 +1,13 @@
|
|
|
1
|
+
import type { HardwareWalletsState } from '../initial-state.js';
|
|
2
|
+
type isAssetNameConnectedForWalletAccountParams = {
|
|
3
|
+
walletAccountName: string;
|
|
4
|
+
assetName: string;
|
|
5
|
+
};
|
|
1
6
|
declare const isAssetNameConnectedForWalletAccountSelectorDefinition: {
|
|
2
7
|
readonly id: "isAssetNameConnectedForWalletAccount";
|
|
3
|
-
readonly selectorFactory: (selfSelector: any) =>
|
|
8
|
+
readonly selectorFactory: (selfSelector: any) => import("@exodus/basic-utils/lib/memoize.js").MemoizedFunction<({ walletAccountName, assetName }: isAssetNameConnectedForWalletAccountParams) => import("reselect").OutputSelector<unknown, boolean, (res: HardwareWalletsState) => boolean>>;
|
|
4
9
|
readonly dependencies: readonly [{
|
|
5
|
-
readonly selector:
|
|
10
|
+
readonly selector: "$state";
|
|
6
11
|
}];
|
|
7
12
|
};
|
|
8
13
|
export default isAssetNameConnectedForWalletAccountSelectorDefinition;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@exodus/hardware-wallets",
|
|
3
|
-
"version": "3.6.
|
|
3
|
+
"version": "3.6.3",
|
|
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": {
|
|
@@ -14,8 +14,14 @@
|
|
|
14
14
|
},
|
|
15
15
|
"main": "lib/index.js",
|
|
16
16
|
"type": "module",
|
|
17
|
+
"exports": {
|
|
18
|
+
".": "./lib/index.js",
|
|
19
|
+
"./redux": "./lib/redux/index.js",
|
|
20
|
+
"./lib/redux": "./lib/redux/index.js"
|
|
21
|
+
},
|
|
17
22
|
"files": [
|
|
18
23
|
"lib/",
|
|
24
|
+
"redux.js",
|
|
19
25
|
"CHANGELOG.md",
|
|
20
26
|
"!**/__tests__/**"
|
|
21
27
|
],
|
|
@@ -25,15 +31,16 @@
|
|
|
25
31
|
"lint": "run -T eslint .",
|
|
26
32
|
"lint:fix": "yarn lint --fix",
|
|
27
33
|
"test": "run -T exodus-test --jest --esbuild",
|
|
34
|
+
"typecheck": "run -T tsc -p tsconfig.json --noEmit",
|
|
28
35
|
"prepublishOnly": "yarn run -T build --scope @exodus/hardware-wallets"
|
|
29
36
|
},
|
|
30
37
|
"dependencies": {
|
|
31
|
-
"@exodus/atoms": "^
|
|
32
|
-
"@exodus/basic-utils": "^
|
|
38
|
+
"@exodus/atoms": "^10.3.3",
|
|
39
|
+
"@exodus/basic-utils": "^5.0.0",
|
|
33
40
|
"@exodus/bip32": "^4.0.2",
|
|
34
41
|
"@exodus/crypto": "^1.0.0-rc.14",
|
|
35
42
|
"@exodus/hw-common": "^3.4.1",
|
|
36
|
-
"@exodus/models": "^
|
|
43
|
+
"@exodus/models": "^13.0.0",
|
|
37
44
|
"@exodus/redux-dependency-injection": "^4.0.0",
|
|
38
45
|
"@exodus/wild-emitter": "^1.1.0",
|
|
39
46
|
"delay": "^5.0.0",
|
|
@@ -53,5 +60,5 @@
|
|
|
53
60
|
"access": "public",
|
|
54
61
|
"provenance": false
|
|
55
62
|
},
|
|
56
|
-
"gitHead": "
|
|
63
|
+
"gitHead": "18de1b01bc21f5620900ecb3e576c5923e21cdde"
|
|
57
64
|
}
|
package/redux.js
ADDED