@exodus/assets-feature 9.2.2 → 9.2.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 CHANGED
@@ -3,6 +3,17 @@
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
+ ## [9.2.3](https://github.com/ExodusMovement/exodus-hydra/compare/@exodus/assets-feature@9.2.2...@exodus/assets-feature@9.2.3) (2026-06-02)
7
+
8
+ ### Features
9
+
10
+ - **keychain:** expose needed exports at the root ([#16638](https://github.com/ExodusMovement/exodus-hydra/issues/16638)) ([30b1e96](https://github.com/ExodusMovement/exodus-hydra/commit/30b1e9644d476958f8a8c53e36a87dec3d27c7fb)), closes [#16361](https://github.com/ExodusMovement/exodus-hydra/issues/16361) [#16361](https://github.com/ExodusMovement/exodus-hydra/issues/16361)
11
+ - **typescript:** enable erasableSyntaxOnly across the monorepo ([#16435](https://github.com/ExodusMovement/exodus-hydra/issues/16435)) ([6055ee5](https://github.com/ExodusMovement/exodus-hydra/commit/6055ee57210c9b9a6a67dc0d7b8821077da121e0))
12
+
13
+ ### Bug Fixes
14
+
15
+ - restore precise public types in exchange & assets-feature apis ([#16938](https://github.com/ExodusMovement/exodus-hydra/issues/16938)) ([0c767ee](https://github.com/ExodusMovement/exodus-hydra/commit/0c767ee5fd13990f4cf87445b91f599fdf2b753b)), closes [#16940](https://github.com/ExodusMovement/exodus-hydra/issues/16940)
16
+
6
17
  ## [9.2.2](https://github.com/ExodusMovement/exodus-hydra/compare/@exodus/assets-feature@9.2.1...@exodus/assets-feature@9.2.2) (2026-04-22)
7
18
 
8
19
  ### Bug Fixes
package/api/index.d.ts CHANGED
@@ -1,11 +1,13 @@
1
1
  type Asset = any
2
2
 
3
- export enum TokenStatus {
4
- CURATED = 'c',
5
- DISABLED = 'd',
6
- UNVERIFIED = 'u',
7
- VERIFIED = 'v',
8
- }
3
+ export const TokenStatus = {
4
+ CURATED: 'c',
5
+ DISABLED: 'd',
6
+ UNVERIFIED: 'u',
7
+ VERIFIED: 'v',
8
+ } as const
9
+
10
+ export type TokenStatus = (typeof TokenStatus)[keyof typeof TokenStatus]
9
11
 
10
12
  Object.setPrototypeOf(TokenStatus, null)
11
13
 
@@ -21,6 +23,7 @@ declare const assetsApiDefinition: {
21
23
  }
22
24
  assets: {
23
25
  fetchToken(assetId: string, baseAssetName: string): Asset
26
+ fetchTokens(assetDescriptors: { assetId: string; baseAssetName: string }[]): Promise<Asset[]>
24
27
  searchTokens(params: {
25
28
  baseAssetName?: string | string[]
26
29
  lifecycleStatus?: TokenStatus[]
@@ -190,7 +190,7 @@ export class AssetsModule {
190
190
  const storedTokens = await this.#readCustomTokens()
191
191
  const tokens = pickBy(storedTokens, ({ baseAssetName }) => {
192
192
  const baseAsset = this.getAsset(baseAssetName)
193
- return baseAsset?.api?.hasFeature?.('customTokens')
193
+ return baseAsset?.api?.features?.customTokens
194
194
  })
195
195
 
196
196
  // tokens may be:
@@ -430,7 +430,7 @@ export class AssetsModule {
430
430
  const versionedAssetNames = await this.#getVersionedAssetNames()
431
431
  const updatableAssetNames = versionedAssetNames.filter(({ assetName }) => {
432
432
  const asset = this.getAsset(assetName)
433
- return !asset?.isBuiltIn && asset?.baseAsset.api?.hasFeature?.('customTokens')
433
+ return !asset?.isBuiltIn && asset?.baseAsset.api?.features?.customTokens
434
434
  })
435
435
  if (updatableAssetNames.length === 0) return
436
436
 
@@ -499,8 +499,8 @@ export class AssetsModule {
499
499
  }
500
500
 
501
501
  #getCustomTokensNetworkNames = () =>
502
- this.getBaseAssetNames().filter((assetName) =>
503
- this.getAsset(assetName).api?.hasFeature?.('customTokens')
502
+ this.getBaseAssetNames().filter(
503
+ (assetName) => this.getAsset(assetName).api?.features?.customTokens
504
504
  )
505
505
 
506
506
  #fetchTokensByNames = async ({ tokenNames, allowedStatusList }) => {
@@ -691,7 +691,7 @@ export class AssetsModule {
691
691
 
692
692
  #assertSupportsCustomTokens = (baseAssetName) => {
693
693
  const baseAsset = this.getAsset(baseAssetName)
694
- if (!baseAsset?.api?.hasFeature('customTokens')) {
694
+ if (!baseAsset?.api?.features?.customTokens) {
695
695
  const reason = `BUG: network ${baseAsset?.name} does not support custom tokens.`
696
696
  this.#logger.warn(reason)
697
697
  throw new Error(reason)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@exodus/assets-feature",
3
- "version": "9.2.2",
3
+ "version": "9.2.3",
4
4
  "license": "MIT",
5
5
  "description": "This Exodus SDK feature provides access to instances of all blockchain asset adapters supported by the wallet, and enables you to search for and add custom tokens at runtime.",
6
6
  "type": "module",
@@ -53,6 +53,7 @@
53
53
  },
54
54
  "devDependencies": {
55
55
  "@exodus/available-assets": "^8.11.0",
56
+ "@exodus/bip32": "^4.2.2",
56
57
  "@exodus/bip39": "^1.1.0",
57
58
  "@exodus/bip44-constants": "^195.0.0",
58
59
  "@exodus/bitcoin-meta": "^2.0.0",
@@ -67,14 +68,14 @@
67
68
  "@exodus/ethereum-meta": "^2.0.0",
68
69
  "@exodus/ethereum-plugin": "^2.7.4",
69
70
  "@exodus/fusion-local": "^2.1.0",
70
- "@exodus/keychain": "^9.0.3",
71
+ "@exodus/keychain": "^10.1.0",
71
72
  "@exodus/logger": "^1.2.3",
72
- "@exodus/models": "^13.2.1",
73
+ "@exodus/models": "^13.3.0",
73
74
  "@exodus/osmosis-plugin": "^1.3.3",
74
- "@exodus/public-key-provider": "^4.2.1",
75
- "@exodus/redux-dependency-injection": "^4.2.0",
75
+ "@exodus/public-key-provider": "^4.3.1",
76
+ "@exodus/redux-dependency-injection": "^4.5.0",
76
77
  "@exodus/storage-memory": "^2.4.0",
77
- "@exodus/wallet-accounts": "^20.4.3",
78
+ "@exodus/wallet-accounts": "^20.4.5",
78
79
  "@exodus/wild-emitter": "^1.0.0",
79
80
  "events": "^3.3.0",
80
81
  "msw": "^2.0.0",
@@ -84,5 +85,5 @@
84
85
  "access": "public",
85
86
  "provenance": false
86
87
  },
87
- "gitHead": "95974d24064fcb294f4ad618cf17d12f6719d303"
88
+ "gitHead": "96867e383061bba8fee3a2214ede87cba4386922"
88
89
  }
package/plugin/index.js CHANGED
@@ -21,7 +21,7 @@ const createAssetsPlugin = ({
21
21
  const payload = {
22
22
  assets,
23
23
  defaultAccountStates: mapValues(
24
- pickBy(assets, (asset) => asset.api?.hasFeature?.('accountState')),
24
+ pickBy(assets, (asset) => asset.api?.features?.accountState),
25
25
  (asset) => asset.api.createAccountState().create()
26
26
  ),
27
27
  }