@exodus/activity-txs 1.1.0 → 2.0.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 CHANGED
@@ -3,6 +3,16 @@
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
+ ## [2.0.0](https://github.com/ExodusMovement/exodus-hydra/compare/@exodus/activity-txs@1.1.0...@exodus/activity-txs@2.0.0) (2023-09-28)
7
+
8
+ ### ⚠ BREAKING CHANGES
9
+
10
+ - store txSet model in activity atom (#4265)
11
+
12
+ ### Features
13
+
14
+ - store txSet model in activity atom ([#4265](https://github.com/ExodusMovement/exodus-hydra/issues/4265)) ([7bcf4b3](https://github.com/ExodusMovement/exodus-hydra/commit/7bcf4b350f5579301dc8d9e92a8058a35b85c759))
15
+
6
16
  ## [1.1.0](https://github.com/ExodusMovement/exodus-hydra/compare/@exodus/activity-txs@1.0.0...@exodus/activity-txs@1.1.0) (2023-09-28)
7
17
 
8
18
  ### Features
@@ -1,10 +1,11 @@
1
1
  import { combine, compute } from '@exodus/atoms'
2
- import { createSelector } from 'reselect'
3
2
  import { memoize } from 'lodash'
4
3
  import { mapValues } from '@exodus/basic-utils'
5
4
  import { createDeepEqualOutputSelector } from '@exodus/core-selectors/utils/deep-equal'
5
+ import { TxSet } from '@exodus/models'
6
+ import { createSelector } from 'reselect'
6
7
 
7
- const createAssetSourceActivityTxsSelector = memoize(
8
+ const _createAssetSourceActivityTxsSelector = memoize(
8
9
  ({ assetName, walletAccount }) =>
9
10
  createDeepEqualOutputSelector(
10
11
  (args) => args.txSet,
@@ -20,13 +21,10 @@ const createAssetSourceActivityTxsSelector = memoize(
20
21
  ({ assetName, walletAccount }) => `${assetName}_${walletAccount}`
21
22
  )
22
23
 
23
- const createAssetSourceTxsSelector = memoize(
24
+ const createAssetSourceActivityTxsSelector = memoize(
24
25
  ({ assetName, walletAccount }) =>
25
- createSelector(
26
- (args) => args.txSet,
27
- (txSet) => {
28
- return [...txSet]
29
- }
26
+ createSelector(_createAssetSourceActivityTxsSelector({ assetName, walletAccount }), (txLog) =>
27
+ TxSet.fromArray(txLog)
30
28
  ),
31
29
  ({ assetName, walletAccount }) => `${assetName}_${walletAccount}`
32
30
  )
@@ -73,8 +71,6 @@ const areActivitiesEqual = (obj1 = {}, obj2 = {}) => {
73
71
  return true
74
72
  }
75
73
 
76
- const EMPTY = []
77
-
78
74
  const createActivityTxsAtom = ({ txLogsAtom, accountStatesAtom, assetsModule }) => {
79
75
  const inputAtom = combine({
80
76
  txLogs: txLogsAtom,
@@ -91,7 +87,7 @@ const createActivityTxsAtom = ({ txLogsAtom, accountStatesAtom, assetsModule })
91
87
  const asset = assetsModule.getAsset(assetName)
92
88
  const baseAssetName = asset.baseAsset.name
93
89
  if (asset?.baseAsset?.api?.features?.noHistory) {
94
- return EMPTY
90
+ return TxSet.EMPTY
95
91
  }
96
92
 
97
93
  if (asset?.api?.getActivityTxs) {
@@ -101,9 +97,7 @@ const createActivityTxsAtom = ({ txLogsAtom, accountStatesAtom, assetsModule })
101
97
  baseAssetAccountState: accountStatesValue?.[walletAccount]?.[baseAssetName],
102
98
  })
103
99
  } else {
104
- return createAssetSourceTxsSelector(assetName)({
105
- txSet: assetTxSet,
106
- })
100
+ return assetTxSet
107
101
  }
108
102
  })
109
103
  )
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@exodus/activity-txs",
3
- "version": "1.1.0",
3
+ "version": "2.0.0",
4
4
  "description": "The activity-txs feature",
5
5
  "author": "Exodus Movement Inc.",
6
6
  "repository": {
@@ -41,7 +41,7 @@
41
41
  "devDependencies": {
42
42
  "@exodus/assets": "^8.0.95",
43
43
  "@exodus/assets-base": "^8.1.10",
44
- "@exodus/assets-feature": "^3.1.1",
44
+ "@exodus/assets-feature": "^3.1.2",
45
45
  "@exodus/blockchain-metadata": "^14.0.0",
46
46
  "@exodus/dependency-injection": "^2.0.1",
47
47
  "@exodus/dependency-preprocessors": "^3.1.1",
@@ -54,5 +54,5 @@
54
54
  "jest": "^29.1.2",
55
55
  "redux": "^4.2.1"
56
56
  },
57
- "gitHead": "eabe0ece5975ba4b57fc06d5ae7ef757b12f9f93"
57
+ "gitHead": "621be8f3e152cbf6660480778bb5c335d65b2958"
58
58
  }
@@ -6,8 +6,8 @@ const createLimitedAssetSourceSelectorDefinition = {
6
6
  dependencies: [{ selector: 'createAssetSourceSelector' }],
7
7
  selectorFactory: (createAssetSourceSelector) =>
8
8
  memoize(({ assetName, walletAccount, limit }) =>
9
- createSelector(createAssetSourceSelector({ assetName, walletAccount }), (txs) =>
10
- limit ? txs.slice(-limit) : txs
9
+ createSelector(createAssetSourceSelector({ assetName, walletAccount }), (txSet) =>
10
+ limit ? [...txSet].slice(-limit) : [...txSet]
11
11
  )
12
12
  ),
13
13
  }