@exodus/activity-txs 5.0.0 → 5.0.2

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,18 @@
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
+ ## [5.0.2](https://github.com/ExodusMovement/exodus-hydra/compare/@exodus/activity-txs@5.0.1...@exodus/activity-txs@5.0.2) (2025-11-05)
7
+
8
+ ### Bug Fixes
9
+
10
+ - fix(activity-txs): missing batched same tx id fiat orders (#14323)
11
+
12
+ ## [5.0.1](https://github.com/ExodusMovement/exodus-hydra/compare/@exodus/activity-txs@5.0.0...@exodus/activity-txs@5.0.1) (2025-10-01)
13
+
14
+ ### Bug Fixes
15
+
16
+ - fix: prevent base asset transactions from showing as swap activity (#13967)
17
+
6
18
  ## [5.0.0](https://github.com/ExodusMovement/exodus-hydra/compare/@exodus/activity-txs@4.8.0...@exodus/activity-txs@5.0.0) (2025-05-29)
7
19
 
8
20
  ### ⚠ BREAKING CHANGES
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@exodus/activity-txs",
3
- "version": "5.0.0",
3
+ "version": "5.0.2",
4
4
  "description": "The activity-txs feature",
5
5
  "author": "Exodus Movement, Inc.",
6
6
  "repository": {
@@ -45,23 +45,24 @@
45
45
  "devDependencies": {
46
46
  "@exodus/assets": "^11.0.0",
47
47
  "@exodus/assets-base": "^10.0.0",
48
- "@exodus/assets-feature": "^8.1.1",
49
- "@exodus/available-assets": "^8.7.0",
48
+ "@exodus/assets-feature": "^8.7.1",
49
+ "@exodus/available-assets": "^8.8.0",
50
50
  "@exodus/bitcoin-plugin": "^1.4.2",
51
51
  "@exodus/connected-origins": "^4.3.0",
52
- "@exodus/error-tracking": "^2.0.0",
53
- "@exodus/fiat-ramp": "^12.9.0",
52
+ "@exodus/error-tracking": "^3.2.0",
53
+ "@exodus/fiat-ramp": "^15.5.0",
54
54
  "@exodus/logger": "^1.2.3",
55
- "@exodus/nfts": "^9.5.1",
56
- "@exodus/orders": "^5.3.0",
57
- "@exodus/personal-notes": "^3.8.0",
58
- "@exodus/redux-dependency-injection": "^4.1.1",
59
- "@exodus/wallet-accounts": "^17.5.2",
55
+ "@exodus/nfts": "^9.6.1",
56
+ "@exodus/orders": "^5.5.2",
57
+ "@exodus/personal-notes": "^3.9.0",
58
+ "@exodus/redux-dependency-injection": "^4.1.2",
59
+ "@exodus/wallet-accounts": "^20.2.1",
60
60
  "@types/minimalistic-assert": "^1.0.1",
61
61
  "redux": "^4.2.1"
62
62
  },
63
63
  "publishConfig": {
64
- "access": "public"
64
+ "access": "public",
65
+ "provenance": false
65
66
  },
66
- "gitHead": "4cc92d5c28fdd93aca7cdfd6d3518e4b905e9b0d"
67
+ "gitHead": "e327423c6bddd97049003f3a2d31af9ba7aedc44"
67
68
  }
@@ -10,6 +10,19 @@ const groupTxsWithSameOrder = ({ txs, orderSet, isIndexless }) => {
10
10
 
11
11
  const getOrder = (tx) => {
12
12
  const foundOrder = orderSet.getByTxId(tx.txId)
13
+
14
+ // If this is a base asset (fee-only tx), don't attach the order
15
+ // Base asset is not involved in the swap itself (not fromAsset or toAsset)
16
+ if (foundOrder) {
17
+ const isFromAsset = tx.coinName === foundOrder.fromAsset
18
+ const isToAsset = tx.coinName === foundOrder.toAsset
19
+
20
+ // Base asset transactions should be treated as normal txs, not swaps
21
+ if (!isFromAsset && !isToAsset) {
22
+ return
23
+ }
24
+ }
25
+
13
26
  const isBatchedTx = tx.coinName === 'bitcoin' && tx.data.sent?.[tx.data.sentIndex]
14
27
  const isValidTx =
15
28
  isBatchedTx && foundOrder?.fromAmount
@@ -1,3 +1,4 @@
1
+ // eslint-disable-next-line no-restricted-imports -- TODO: Fix this the next time the file is edited.
1
2
  import lodash from 'lodash'
2
3
  import { createSelector } from 'reselect'
3
4
  import { Tx } from '@exodus/models'
@@ -1,6 +1,7 @@
1
1
  import { memoize } from '@exodus/basic-utils'
2
2
  import { createSelector } from 'reselect'
3
3
  import assert from 'minimalistic-assert'
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 { uniqBy } = lodash
@@ -27,15 +27,19 @@ const selectorFactory =
27
27
 
28
28
  const resultActivity = []
29
29
  for (const activityItem of activity) {
30
- const fiatOrder = fiatOrders.getByTxId(activityItem.txId)
30
+ const fiatOrdersByTx = fiatOrders.getAllByTxId(activityItem.txId)
31
31
 
32
- if (fiatOrder) {
32
+ if (fiatOrdersByTx.length > 0) {
33
33
  hasChanges = true
34
- resultActivity.push({
35
- ...activityItem,
36
- fiatOrder,
37
- type: TX_TYPES.FIAT,
38
- })
34
+
35
+ for (const fiatOrder of fiatOrdersByTx) {
36
+ resultActivity.push({
37
+ ...activityItem,
38
+ fiatOrder,
39
+ id: `${activityItem.id}.${fiatOrder.orderId}`,
40
+ type: TX_TYPES.FIAT,
41
+ })
42
+ }
39
43
  } else {
40
44
  resultActivity.push(activityItem)
41
45
  }