@exodus/available-assets 8.3.0 → 8.4.0
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 +14 -0
- package/atoms/available-assets.js +2 -4
- package/atoms/index.js +3 -0
- package/index.js +3 -3
- package/module/index.js +17 -1
- package/package.json +6 -6
- package/plugins/index.js +1 -0
- package/redux/selectors/all-for-network.js +1 -1
- package/redux/selectors/get.js +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,20 @@
|
|
|
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.4.0](https://github.com/ExodusMovement/exodus-hydra/compare/@exodus/available-assets@8.3.1...@exodus/available-assets@8.4.0) (2024-07-25)
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
- **available-assets:** add default available assets. make this config optional ([#7936](https://github.com/ExodusMovement/exodus-hydra/issues/7936)) ([491a901](https://github.com/ExodusMovement/exodus-hydra/commit/491a9019efd135d6c8e65a4f20710a5ecaedc81c))
|
|
11
|
+
|
|
12
|
+
### Bug Fixes
|
|
13
|
+
|
|
14
|
+
- migrate definitions ([#8030](https://github.com/ExodusMovement/exodus-hydra/issues/8030)) ([d2dfde5](https://github.com/ExodusMovement/exodus-hydra/commit/d2dfde55dfa843eb52842f64b3aac3a6f9a59069))
|
|
15
|
+
|
|
16
|
+
## [8.3.1](https://github.com/ExodusMovement/exodus-hydra/compare/@exodus/available-assets@8.3.0...@exodus/available-assets@8.3.1) (2024-07-18)
|
|
17
|
+
|
|
18
|
+
**Note:** Version bump only for package @exodus/available-assets
|
|
19
|
+
|
|
6
20
|
## [8.3.0](https://github.com/ExodusMovement/exodus-hydra/compare/@exodus/available-assets@8.2.1...@exodus/available-assets@8.3.0) (2024-06-14)
|
|
7
21
|
|
|
8
22
|
### Features
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import { createInMemoryAtom } from '@exodus/atoms'
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
defaultValue: defaultAvailableAssetNames.map((assetName) => ({ assetName, reason: 'default' })),
|
|
6
|
-
})
|
|
3
|
+
// eslint-disable-next-line @exodus/hydra/in-memory-atom-default-value
|
|
4
|
+
const createAvailableAssetAtom = () => createInMemoryAtom()
|
|
7
5
|
|
|
8
6
|
export default createAvailableAssetAtom
|
package/atoms/index.js
CHANGED
|
@@ -7,6 +7,7 @@ export const availableAssetNamesAtomDefinition = {
|
|
|
7
7
|
type: 'atom',
|
|
8
8
|
factory: createAvailableAssetNamesAtom,
|
|
9
9
|
dependencies: ['availableAssetsAtom'],
|
|
10
|
+
public: true,
|
|
10
11
|
}
|
|
11
12
|
|
|
12
13
|
export const availableAssetsAtomDefinition = {
|
|
@@ -14,6 +15,7 @@ export const availableAssetsAtomDefinition = {
|
|
|
14
15
|
type: 'atom',
|
|
15
16
|
factory: createAvailableAssetAtom,
|
|
16
17
|
dependencies: ['config'],
|
|
18
|
+
public: true,
|
|
17
19
|
}
|
|
18
20
|
|
|
19
21
|
export const availableAssetNamesWithoutParentCombinedAtomDefinition = {
|
|
@@ -21,4 +23,5 @@ export const availableAssetNamesWithoutParentCombinedAtomDefinition = {
|
|
|
21
23
|
type: 'atom',
|
|
22
24
|
factory: createAvailableAssetNamesWithoutParentCombinedAtom,
|
|
23
25
|
dependencies: ['assetsModule', 'availableAssetNamesAtom'],
|
|
26
|
+
public: true,
|
|
24
27
|
}
|
package/index.js
CHANGED
|
@@ -12,13 +12,13 @@ const availableAssets = (config = Object.create(null)) => ({
|
|
|
12
12
|
definitions: [
|
|
13
13
|
{
|
|
14
14
|
definition: availableAssetsModuleDefinition,
|
|
15
|
-
},
|
|
16
|
-
{
|
|
17
|
-
definition: availableAssetsAtomDefinition,
|
|
18
15
|
config: {
|
|
19
16
|
defaultAvailableAssetNames: config.defaultAvailableAssetNames,
|
|
20
17
|
},
|
|
21
18
|
},
|
|
19
|
+
{
|
|
20
|
+
definition: availableAssetsAtomDefinition,
|
|
21
|
+
},
|
|
22
22
|
{ definition: availableAssetNamesAtomDefinition },
|
|
23
23
|
{ definition: availableAssetNamesWithoutParentCombinedAtomDefinition },
|
|
24
24
|
{ definition: availableAssetsApiDefinition },
|
package/module/index.js
CHANGED
|
@@ -8,6 +8,7 @@ class AvailableAssets extends ExodusModule {
|
|
|
8
8
|
#availableAssetsAtom
|
|
9
9
|
#enabledAndDisabledAssetsAtom
|
|
10
10
|
#assetsAtom
|
|
11
|
+
#defaultAvailableAssetNames
|
|
11
12
|
#subscriptions = []
|
|
12
13
|
|
|
13
14
|
constructor({
|
|
@@ -15,10 +16,15 @@ class AvailableAssets extends ExodusModule {
|
|
|
15
16
|
assetsAtom,
|
|
16
17
|
availableAssetsAtom,
|
|
17
18
|
enabledAndDisabledAssetsAtom,
|
|
19
|
+
// these are the hardcoded default available asset names
|
|
20
|
+
// we will filter this list by defined assets at assetsModule at start function
|
|
21
|
+
config: { defaultAvailableAssetNames = ['bitcoin', 'ethereum', 'solana'] } = Object.create(
|
|
22
|
+
null
|
|
23
|
+
),
|
|
18
24
|
logger,
|
|
19
25
|
}) {
|
|
20
26
|
super({ name: MODULE_ID, logger })
|
|
21
|
-
|
|
27
|
+
this.#defaultAvailableAssetNames = defaultAvailableAssetNames
|
|
22
28
|
this.#assetsModule = assetsModule
|
|
23
29
|
this.#assetsAtom = assetsAtom
|
|
24
30
|
this.#availableAssetsAtom = availableAssetsAtom
|
|
@@ -26,6 +32,14 @@ class AvailableAssets extends ExodusModule {
|
|
|
26
32
|
}
|
|
27
33
|
|
|
28
34
|
start = async () => {
|
|
35
|
+
// we will filter the hardcoded default available asset names list by defined assets
|
|
36
|
+
// not every wallet will have the same assets set up
|
|
37
|
+
await this.#availableAssetsAtom.set(
|
|
38
|
+
this.#defaultAvailableAssetNames
|
|
39
|
+
.filter((name) => this.#assetsModule.getAsset(name))
|
|
40
|
+
.map((assetName) => ({ assetName, reason: 'default' }))
|
|
41
|
+
)
|
|
42
|
+
|
|
29
43
|
const { added, updated } = await this.#assetsAtom.get()
|
|
30
44
|
|
|
31
45
|
const toMakeAvailable = [...added, ...updated]
|
|
@@ -101,9 +115,11 @@ const availableAssetsDefinition = {
|
|
|
101
115
|
'assetsModule',
|
|
102
116
|
'enabledAndDisabledAssetsAtom',
|
|
103
117
|
'logger',
|
|
118
|
+
'config?',
|
|
104
119
|
'availableAssetsAtom',
|
|
105
120
|
'assetsAtom',
|
|
106
121
|
],
|
|
122
|
+
public: true,
|
|
107
123
|
}
|
|
108
124
|
|
|
109
125
|
export default availableAssetsDefinition
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@exodus/available-assets",
|
|
3
|
-
"version": "8.
|
|
3
|
+
"version": "8.4.0",
|
|
4
4
|
"description": "Tracks supported/available assets, i.e. assets that the user can potentially enable via the UI",
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"author": "Exodus Movement, Inc.",
|
|
7
7
|
"scripts": {
|
|
8
|
-
"test": "run -T jest",
|
|
8
|
+
"test": "run -T exodus-test --jest --esbuild",
|
|
9
9
|
"lint": "run -T eslint . --ignore-path ../../.gitignore",
|
|
10
10
|
"lint:fix": "yarn lint --fix"
|
|
11
11
|
},
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"url": "git+https://github.com/ExodusMovement/exodus-hydra.git"
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"@exodus/atoms": "^
|
|
33
|
+
"@exodus/atoms": "^8.0.0",
|
|
34
34
|
"@exodus/basic-utils": "^2.0.0",
|
|
35
35
|
"@exodus/core-selectors": "^1.5.0",
|
|
36
36
|
"@exodus/module": "^1.1.0",
|
|
@@ -42,13 +42,13 @@
|
|
|
42
42
|
"devDependencies": {
|
|
43
43
|
"@exodus/assets": "^9.1.1",
|
|
44
44
|
"@exodus/assets-base": "^8.1.10",
|
|
45
|
-
"@exodus/assets-feature": "^5.
|
|
45
|
+
"@exodus/assets-feature": "^5.8.2",
|
|
46
46
|
"@exodus/combined-assets-meta": "^1.2.6-alpha-1",
|
|
47
47
|
"@exodus/enabled-assets": "^6.0.2",
|
|
48
48
|
"@exodus/models": "^11.12.0",
|
|
49
|
-
"@exodus/redux-dependency-injection": "^3.2.
|
|
49
|
+
"@exodus/redux-dependency-injection": "^3.2.3",
|
|
50
50
|
"jest-when": "^3.6.0",
|
|
51
51
|
"redux": "^4.2.1"
|
|
52
52
|
},
|
|
53
|
-
"gitHead": "
|
|
53
|
+
"gitHead": "3995391eb48639b2d60ced5224a6a8f4902a2466"
|
|
54
54
|
}
|
package/plugins/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { memoize } from 'lodash'
|
|
1
|
+
import { memoize } from 'lodash' // eslint-disable-line @exodus/restricted-imports/prefer-basic-utils -- TODO: fix next time we touch this file
|
|
2
2
|
import { pickBy } from '@exodus/basic-utils'
|
|
3
3
|
|
|
4
4
|
const resultFunction = (availableAssets) =>
|
package/redux/selectors/get.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { memoize } from 'lodash'
|
|
1
|
+
import { memoize } from 'lodash' // eslint-disable-line @exodus/restricted-imports/prefer-basic-utils -- TODO: fix next time we touch this file
|
|
2
2
|
import { createSelector } from 'reselect'
|
|
3
3
|
|
|
4
4
|
const selectorFactory = (allAvailableAssetsSelector) =>
|