@exodus/assets-feature 8.7.0 → 8.7.1

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
+ ## [8.7.1](https://github.com/ExodusMovement/exodus-hydra/compare/@exodus/assets-feature@8.7.0...@exodus/assets-feature@8.7.1) (2025-10-03)
7
+
8
+ ### Bug Fixes
9
+
10
+ - fix: loading custom tokens when base asset doesn't exist (#13998)
11
+
6
12
  ## [8.7.0](https://github.com/ExodusMovement/exodus-hydra/compare/@exodus/assets-feature@8.6.0...@exodus/assets-feature@8.7.0) (2025-09-24)
7
13
 
8
14
  ### Features
@@ -1,6 +1,7 @@
1
1
  import { combine, compute, createStorageAtomFactory } from '@exodus/atoms'
2
2
  import { omitBy } from '@exodus/basic-utils'
3
3
  import { createFusionAtom } from '@exodus/fusion-atoms'
4
+ // eslint-disable-next-line no-restricted-imports -- TODO: Fix this the next time the file is edited.
4
5
  import lodash from 'lodash'
5
6
 
6
7
  const { isUndefined } = lodash
@@ -1,4 +1,5 @@
1
1
  import { pickBy, filterAsync } from '@exodus/basic-utils'
2
+ // eslint-disable-next-line no-restricted-imports -- TODO: Fix this the next time the file is edited.
2
3
  import lodash from 'lodash'
3
4
  import assert from 'minimalistic-assert'
4
5
 
@@ -5,6 +5,7 @@ import {
5
5
  CT_UPDATEABLE_PROPERTIES,
6
6
  } from '@exodus/assets'
7
7
  import { keyBy, mapValues, partition, pickBy, difference } from '@exodus/basic-utils'
8
+ // eslint-disable-next-line no-restricted-imports -- TODO: Fix this the next time the file is edited.
8
9
  import lodash from 'lodash'
9
10
  import assert from 'minimalistic-assert'
10
11
  import { memoizeLruCache } from '@exodus/asset-lib'
@@ -174,7 +175,7 @@ export class AssetsModule {
174
175
  const storedTokens = await this.#readCustomTokens()
175
176
  const tokens = pickBy(storedTokens, ({ baseAssetName }) => {
176
177
  const baseAsset = this.getAsset(baseAssetName)
177
- return baseAsset.api?.hasFeature?.('customTokens')
178
+ return baseAsset?.api?.hasFeature?.('customTokens')
178
179
  })
179
180
 
180
181
  // tokens may be:
@@ -185,7 +186,7 @@ export class AssetsModule {
185
186
  const { added, updated } = this.#handleFetchedTokens(Object.values(tokens))
186
187
  this.#flushChanges({ added, updated })
187
188
  } catch (e) {
188
- this.#logger.log('error reading custom tokens from storage:', e)
189
+ this.#logger.error('error reading custom tokens from storage: ' + e.message, e)
189
190
  }
190
191
  })
191
192
 
@@ -637,7 +638,7 @@ export class AssetsModule {
637
638
  parentNames.push(...updates)
638
639
  }
639
640
  } catch (err) {
640
- this.#logger.warn('Handle fetched custom tokens error:', err.message)
641
+ this.#logger.error('Handle fetched custom tokens error: ' + err.message, err)
641
642
  }
642
643
  }
643
644
 
package/module/utils.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import { CT_STATUS as STATUS } from '@exodus/assets'
2
2
  import { pick } from '@exodus/basic-utils'
3
+ // eslint-disable-next-line no-restricted-imports -- TODO: Fix this the next time the file is edited.
3
4
  import lodash from 'lodash'
4
5
  import assert from 'minimalistic-assert'
5
6
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@exodus/assets-feature",
3
- "version": "8.7.0",
3
+ "version": "8.7.1",
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",
@@ -68,12 +68,12 @@
68
68
  "@exodus/fusion-local": "^2.1.0",
69
69
  "@exodus/keychain": "^7.3.0",
70
70
  "@exodus/logger": "^1.2.3",
71
- "@exodus/models": "^12.16.0",
71
+ "@exodus/models": "^12.17.1",
72
72
  "@exodus/osmosis-plugin": "^1.3.3",
73
73
  "@exodus/public-key-provider": "^4.2.0",
74
74
  "@exodus/redux-dependency-injection": "^4.1.2",
75
75
  "@exodus/storage-memory": "^2.3.0",
76
- "@exodus/wallet-accounts": "^20.0.0",
76
+ "@exodus/wallet-accounts": "^20.0.2",
77
77
  "@exodus/wild-emitter": "^1.0.0",
78
78
  "events": "^3.3.0",
79
79
  "msw": "^2.0.0",
@@ -82,5 +82,5 @@
82
82
  "publishConfig": {
83
83
  "access": "public"
84
84
  },
85
- "gitHead": "dde97e04554c3f37aab76ac0c307ba9bcd0673a1"
85
+ "gitHead": "c8b9b92a330150086c1ecae88bd9a063250238e3"
86
86
  }
@@ -1,6 +1,7 @@
1
1
  import { keyBy } from '@exodus/basic-utils'
2
2
  import { createSelector } from 'reselect'
3
3
 
4
+ // eslint-disable-next-line no-restricted-imports -- TODO: Fix this the next time the file is edited.
4
5
  import lodash from 'lodash'
5
6
 
6
7
  const { memoize } = lodash // eslint-disable-line @exodus/basic-utils/prefer-basic-utils