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