@@ -5,6 +5,7 @@ import { EdgeCurrencyWallet, EdgeTokenMap, EdgeTransaction } from 'edge-core-js'
5
5
import { asAssetStatus , AssetStatus } from 'edge-info-server/types'
6
6
import * as React from 'react'
7
7
import { RefreshControl } from 'react-native'
8
+ import { getVersion } from 'react-native-device-info'
8
9
9
10
import { SPECIAL_CURRENCY_INFO } from '../../constants/WalletAndCurrencyConstants'
10
11
import { useHandler } from '../../hooks/useHandler'
@@ -52,7 +53,7 @@ function TransactionListComponent(props: Props) {
52
53
const flashList = React . useRef < FlashList < ListItem > > ( null )
53
54
const [ searching , setSearching ] = React . useState ( false )
54
55
const [ searchText , setSearchText ] = React . useState ( '' )
55
- const [ assetStatuses , setAssetStatuses ] = React . useState < AssetStatus [ ] > ( )
56
+ const [ assetStatuses , setAssetStatuses ] = React . useState < AssetStatus [ ] > ( [ ] )
56
57
57
58
// Selectors:
58
59
const exchangeDenom = useSelector ( state => getExchangeDenomination ( state , pluginId , currencyCode ) )
@@ -146,7 +147,16 @@ function TransactionListComponent(props: Props) {
146
147
React . useEffect ( ( ) => {
147
148
fetchInfo ( `v1/assetStatus/${ pluginId } ${ tokenId == null ? '' : `_${ tokenId } ` } ` )
148
149
. then ( async res => {
149
- setAssetStatuses ( asArray ( asAssetStatus ) ( await res . json ( ) ) )
150
+ const allAssetStatuses : AssetStatus [ ] = asArray ( asAssetStatus ) ( await res . json ( ) )
151
+ const version = getVersion ( )
152
+
153
+ // Filter for assetStatuses relevant to this instance of the app
154
+ setAssetStatuses (
155
+ allAssetStatuses . filter ( assetStatus => {
156
+ const { appId, appVersions } = assetStatus
157
+ return ( appId == null || appId === config . appId ) && ( appVersions == null || appVersions . includes ( version ) )
158
+ } )
159
+ )
150
160
} )
151
161
. catch ( console . error )
152
162
} , [ pluginId , tokenId ] )
@@ -178,12 +188,10 @@ function TransactionListComponent(props: Props) {
178
188
onSearchingChange = { setSearching }
179
189
onSearchTextChange = { setSearchText }
180
190
/>
181
- { assetStatuses != null && assetStatuses . length > 0
182
- ? assetStatuses . map ( assetStatus =>
183
- assetStatus . appId == null || assetStatus . appId === config . appId ? (
184
- < AssetStatusCard assetStatus = { assetStatus } key = { `${ String ( assetStatus . localeStatusTitle ) } -${ String ( assetStatus . localeStatusBody ) } ` } />
185
- ) : null
186
- )
191
+ { assetStatuses . length > 0
192
+ ? assetStatuses . map ( assetStatus => (
193
+ < AssetStatusCard assetStatus = { assetStatus } key = { `${ String ( assetStatus . localeStatusTitle ) } -${ String ( assetStatus . localeStatusBody ) } ` } />
194
+ ) )
187
195
: null }
188
196
</ >
189
197
)
0 commit comments