|
1 | 1 | import React, { useCallback, useMemo } from 'react';
|
2 | 2 | import { View } from 'react-native';
|
3 |
| -import { CaipAssetType, Hex, isCaipChainId } from '@metamask/utils'; |
| 3 | +import { |
| 4 | + ///: BEGIN:ONLY_INCLUDE_IF(keyring-snaps) |
| 5 | + CaipAssetType, |
| 6 | + ///: END:ONLY_INCLUDE_IF(keyring-snaps) |
| 7 | + Hex, isCaipChainId } from '@metamask/utils'; |
4 | 8 | import { useSelector } from 'react-redux';
|
5 | 9 | import { useNavigation } from '@react-navigation/native';
|
6 | 10 | import useTokenBalancesController from '../../../../hooks/useTokenBalancesController/useTokenBalancesController';
|
@@ -58,7 +62,7 @@ import { CustomNetworkNativeImgMapping } from './CustomNetworkNativeImgMapping';
|
58 | 62 | import { TraceName, trace } from '../../../../../util/trace';
|
59 | 63 | ///: BEGIN:ONLY_INCLUDE_IF(keyring-snaps)
|
60 | 64 | import { selectMultichainAssetsRates } from '../../../../../selectors/multichain/multichain';
|
61 |
| -///: END:ONLY_INCLUDE_IF |
| 65 | +///: END:ONLY_INCLUDE_IF(keyring-snaps) |
62 | 66 | import useEarnTokens from '../../../Earn/hooks/useEarnTokens';
|
63 | 67 | import {
|
64 | 68 | selectPooledStakingEnabledFlag,
|
@@ -116,11 +120,9 @@ export const TokenListItem = React.memo(
|
116 | 120 | );
|
117 | 121 |
|
118 | 122 | const styles = createStyles(colors);
|
119 |
| - |
120 | 123 | ///: BEGIN:ONLY_INCLUDE_IF(keyring-snaps)
|
121 | 124 | const allMultichainAssetsRates = useSelector(selectMultichainAssetsRates);
|
122 |
| - ///: END:ONLY_INCLUDE_IF |
123 |
| - |
| 125 | + ///: END:ONLY_INCLUDE_IF(keyring-snaps) |
124 | 126 | const itemAddress = isEvmNetworkSelected
|
125 | 127 | ? safeToChecksumAddress(asset.address)
|
126 | 128 | : asset.address;
|
@@ -179,24 +181,25 @@ export const TokenListItem = React.memo(
|
179 | 181 | ],
|
180 | 182 | );
|
181 | 183 |
|
182 |
| - let pricePercentChange1d; |
183 |
| - |
184 |
| - if (isEvmNetworkSelected) { |
| 184 | + const getPricePercentChange1d = () => { |
185 | 185 | const tokenPercentageChange = asset.address
|
186 |
| - ? multiChainMarketData?.[chainId as Hex]?.[asset.address as Hex] |
187 |
| - ?.pricePercentChange1d |
188 |
| - : undefined; |
189 |
| - |
190 |
| - pricePercentChange1d = asset.isNative |
191 |
| - ? multiChainMarketData?.[chainId as Hex]?.[ |
192 |
| - getNativeTokenAddress(chainId as Hex) as Hex |
193 |
| - ]?.pricePercentChange1d |
194 |
| - : tokenPercentageChange; |
195 |
| - } else { |
196 |
| - pricePercentChange1d = |
197 |
| - allMultichainAssetsRates[asset?.address as CaipAssetType]?.marketData |
| 186 | + ? multiChainMarketData?.[chainId as Hex]?.[asset.address as Hex] |
| 187 | + ?.pricePercentChange1d |
| 188 | + : undefined; |
| 189 | + const evmPricePercentChange1d = asset.isNative |
| 190 | + ? multiChainMarketData?.[chainId as Hex]?.[ |
| 191 | + getNativeTokenAddress(chainId as Hex) as Hex |
| 192 | + ]?.pricePercentChange1d |
| 193 | + : tokenPercentageChange; |
| 194 | + if(isEvmNetworkSelected){ |
| 195 | + return evmPricePercentChange1d; |
| 196 | + } |
| 197 | + ///: BEGIN:ONLY_INCLUDE_IF(keyring-snaps) |
| 198 | + return allMultichainAssetsRates[asset?.address as CaipAssetType]?.marketData |
198 | 199 | ?.pricePercentChange?.P1D;
|
199 |
| - } |
| 200 | + ///: END:ONLY_INCLUDE_IF(keyring-snaps) |
| 201 | + }; |
| 202 | + |
200 | 203 | // render balances according to primary currency
|
201 | 204 | let mainBalance;
|
202 | 205 | let secondaryBalance;
|
@@ -407,7 +410,7 @@ export const TokenListItem = React.memo(
|
407 | 410 | {renderEarnCta()}
|
408 | 411 | </View>
|
409 | 412 | {!isTestNet(chainId) && showPercentageChange ? (
|
410 |
| - <PercentageChange value={pricePercentChange1d} /> |
| 413 | + <PercentageChange value={getPricePercentChange1d()} /> |
411 | 414 | ) : null}
|
412 | 415 | </View>
|
413 | 416 | <ScamWarningIcon
|
|
0 commit comments