diff --git a/packages/extension/src/providers/bitcoin/types/bitcoin-network.ts b/packages/extension/src/providers/bitcoin/types/bitcoin-network.ts index 82425336a..458cda9a6 100644 --- a/packages/extension/src/providers/bitcoin/types/bitcoin-network.ts +++ b/packages/extension/src/providers/bitcoin/types/bitcoin-network.ts @@ -10,7 +10,6 @@ import { BitcoinNetworkInfo } from '.'; import { payments } from 'bitcoinjs-lib'; import { hexToBuffer, fromBase } from '@enkryptcom/utils'; import { - formatFiatValue, formatFloatingPointValue, } from '@/libs/utils/number-formatter'; import MarketData from '@/libs/market-data'; @@ -131,13 +130,12 @@ export class BitcoinNetwork extends BaseNetwork { balance: balance, balancef: formatFloatingPointValue(userBalance).value, balanceUSD: usdBalance.toNumber(), - balanceUSDf: formatFiatValue(usdBalance.toString()).value, + balanceUSDf: usdBalance.toString(), icon: this.icon, name: this.name_long, symbol: this.currencyName, value: marketData[0]?.current_price?.toString() ?? '0', - valuef: formatFiatValue(marketData[0]?.current_price?.toString() ?? '0') - .value, + valuef: marketData[0]?.current_price?.toString() ?? '0', contract: '', decimals: this.decimals, sparkline: marketData.length diff --git a/packages/extension/src/providers/bitcoin/ui/btc-verify-transaction.vue b/packages/extension/src/providers/bitcoin/ui/btc-verify-transaction.vue index 8fed5af06..7020b54a1 100644 --- a/packages/extension/src/providers/bitcoin/ui/btc-verify-transaction.vue +++ b/packages/extension/src/providers/bitcoin/ui/btc-verify-transaction.vue @@ -62,9 +62,9 @@ {{ network.currencyName }}

- ${{ + {{ fiatValue !== '~' - ? $filters.formatFiatValue(fiatValue).value + ? $filters.parseCurrency(fiatValue) : fiatValue }}

diff --git a/packages/extension/src/providers/bitcoin/ui/send-transaction/components/send-alert.vue b/packages/extension/src/providers/bitcoin/ui/send-transaction/components/send-alert.vue index e62d46777..781f8c773 100644 --- a/packages/extension/src/providers/bitcoin/ui/send-transaction/components/send-alert.vue +++ b/packages/extension/src/providers/bitcoin/ui/send-transaction/components/send-alert.vue @@ -7,9 +7,7 @@ Not enough funds. You are
~{{ $filters.formatFloatingPointValue(nativeValue).value }} - {{ nativeSymbol }} (${{ - $filters.formatFiatValue(priceDifference).value - }}) short. + {{ nativeSymbol }} ({{ $filters.parseCurrency(priceDifference) }}) short.

diff --git a/packages/extension/src/providers/common/ui/send-transaction/send-alert.vue b/packages/extension/src/providers/common/ui/send-transaction/send-alert.vue index 6e8284c19..1b5d63585 100644 --- a/packages/extension/src/providers/common/ui/send-transaction/send-alert.vue +++ b/packages/extension/src/providers/common/ui/send-transaction/send-alert.vue @@ -5,9 +5,7 @@ Not enough funds. You are
~{{ $filters.formatFloatingPointValue(nativeValue).value }} - {{ nativeSymbol }} (${{ - $filters.formatFiatValue(priceDifference).value - }}) short. + {{ nativeSymbol }} ({{ $filters.parseCurrency(priceDifference) }}) short.

diff --git a/packages/extension/src/providers/common/ui/verify-transaction/verify-transaction-amount.vue b/packages/extension/src/providers/common/ui/verify-transaction/verify-transaction-amount.vue index 3496aa67e..7c4edf68f 100644 --- a/packages/extension/src/providers/common/ui/verify-transaction/verify-transaction-amount.vue +++ b/packages/extension/src/providers/common/ui/verify-transaction/verify-transaction-amount.vue @@ -8,7 +8,7 @@ {{ fromBase(token.amount, token.decimals) }} {{ token.symbol }} -
{{ $filters.formatFiatValue(token.valueUSD).value }}
+
{{ $filters.parseCurrency(token.valueUSD) }}
diff --git a/packages/extension/src/providers/ethereum/libs/assets-handlers/assetinfo-mew.ts b/packages/extension/src/providers/ethereum/libs/assets-handlers/assetinfo-mew.ts index 2de30d2d8..d14f044d6 100644 --- a/packages/extension/src/providers/ethereum/libs/assets-handlers/assetinfo-mew.ts +++ b/packages/extension/src/providers/ethereum/libs/assets-handlers/assetinfo-mew.ts @@ -10,7 +10,7 @@ import { fromBase } from '@enkryptcom/utils'; import { toBN } from 'web3-utils'; import BigNumber from 'bignumber.js'; import { - formatFiatValue, + formatFloatingPointValue, } from '@/libs/utils/number-formatter'; import API from '@/providers/ethereum/libs/api'; @@ -278,15 +278,15 @@ export default ( const marketInfo = supportedNetworks[networkName].cgPlatform ? await marketData.getMarketInfoByContracts( - Object.keys(balances).filter( - contract => contract !== NATIVE_TOKEN_ADDRESS, - ), - supportedNetworks[networkName].cgPlatform as CoingeckoPlatform, - ) + Object.keys(balances).filter( + contract => contract !== NATIVE_TOKEN_ADDRESS, + ), + supportedNetworks[networkName].cgPlatform as CoingeckoPlatform, + ) : tokens.reduce( - (obj, cur) => ({ ...obj, [cur.contract]: null }), - {} as Record, - ); + (obj, cur) => ({ ...obj, [cur.contract]: null }), + {} as Record, + ); if (network.coingeckoID) { const nativeMarket = await marketData.getMarketData([ network.coingeckoID, @@ -337,12 +337,12 @@ export default ( balance: toBN(balances[address].balance).toString(), balancef: formatFloatingPointValue(userBalance).value, balanceUSD: usdBalance.toNumber(), - balanceUSDf: formatFiatValue(usdBalance.toString()).value, + balanceUSDf: usdBalance.toString(), icon: market.image, name: market.name, symbol: market.symbol, value: currentPrice.toString(), - valuef: formatFiatValue(currentPrice.toString()).value, + valuef: currentPrice.toString(), contract: address, decimals: tokenInfo[address].decimals, sparkline: new Sparkline(market.sparkline_in_24h.price, 25) @@ -377,7 +377,7 @@ export default ( balance: toBN(balances[unknownTokens[idx]].balance).toString(), balancef: formatFloatingPointValue(userBalance).value, balanceUSD: 0, - balanceUSDf: formatFiatValue('0').value, + balanceUSDf: '0', icon: tokenInfo[unknownTokens[idx]]?.logoURI || tInfo.icon || @@ -385,7 +385,7 @@ export default ( name: tInfo.name, symbol: tInfo.symbol, value: '0', - valuef: formatFiatValue('0').value, + valuef: '0', contract: unknownTokens[idx], decimals: tInfo.decimals, sparkline: '', diff --git a/packages/extension/src/providers/ethereum/networks/skale/skale-base.ts b/packages/extension/src/providers/ethereum/networks/skale/skale-base.ts index 56c756d6d..347d86482 100644 --- a/packages/extension/src/providers/ethereum/networks/skale/skale-base.ts +++ b/packages/extension/src/providers/ethereum/networks/skale/skale-base.ts @@ -8,7 +8,6 @@ import MarketData from '@/libs/market-data'; import { fromBase } from '@enkryptcom/utils'; import BigNumber from 'bignumber.js'; import { - formatFiatValue, formatFloatingPointValue, } from '@/libs/utils/number-formatter'; import API from '@/providers/ethereum/libs/api'; @@ -155,11 +154,11 @@ async function getPreconfiguredTokens( balancef: formatFloatingPointValue(fromBase(balanceAsset, assetDecimals)) .value, balanceUSD: nativeAssetUsdBalance.toNumber(), - balanceUSDf: formatFiatValue(nativeAssetUsdBalance.toString()).value, + balanceUSDf: nativeAssetUsdBalance.toString(), value: nativeAssetMarketData[index]?.current_price?.toString() ?? '0', - valuef: formatFiatValue( + valuef: nativeAssetMarketData[index]?.current_price?.toString() ?? '0', - ).value, + decimals: assetDecimals, sparkline: nativeAssetMarketData[index] ? new Sparkline( diff --git a/packages/extension/src/providers/ethereum/types/evm-network.ts b/packages/extension/src/providers/ethereum/types/evm-network.ts index a584cb701..406e20b3c 100644 --- a/packages/extension/src/providers/ethereum/types/evm-network.ts +++ b/packages/extension/src/providers/ethereum/types/evm-network.ts @@ -3,7 +3,6 @@ import Sparkline from '@/libs/sparkline'; import { TokensState } from '@/libs/tokens-state'; import { CustomErc20Token, TokenType } from '@/libs/tokens-state/types'; import { - formatFiatValue, formatFloatingPointValue, } from '@/libs/utils/number-formatter'; import { fromBase } from '@enkryptcom/utils'; @@ -151,11 +150,10 @@ export class EvmNetwork extends BaseNetwork { balancef: formatFloatingPointValue(fromBase(balance, this.decimals)) .value, balanceUSD: nativeUsdBalance.toNumber(), - balanceUSDf: formatFiatValue(nativeUsdBalance.toString()).value, + balanceUSDf: nativeUsdBalance.toString(), value: nativeMarketData?.current_price?.toString() ?? '0', - valuef: formatFiatValue( + valuef: nativeMarketData?.current_price?.toString() ?? '0', - ).value, decimals: this.decimals, sparkline: nativeMarketData ? new Sparkline(nativeMarketData.sparkline_in_24h.price, 25) @@ -269,11 +267,10 @@ export class EvmNetwork extends BaseNetwork { fromBase(token.balance ?? '0', token.decimals), ).times(marketInfo.current_price ?? 0); asset.balanceUSD = usdBalance.toNumber(); - asset.balanceUSDf = formatFiatValue(usdBalance.toString()).value; + asset.balanceUSDf = usdBalance.toString(); asset.value = marketInfo.current_price?.toString() ?? '0'; - asset.valuef = formatFiatValue( - marketInfo.current_price?.toString() ?? '0', - ).value; + asset.valuef = + marketInfo.current_price?.toString() ?? '0'; asset.sparkline = new Sparkline( marketInfo.sparkline_in_24h.price, 25, diff --git a/packages/extension/src/providers/ethereum/ui/eth-verify-transaction.vue b/packages/extension/src/providers/ethereum/ui/eth-verify-transaction.vue index 6ae31cb65..532ecdc36 100644 --- a/packages/extension/src/providers/ethereum/ui/eth-verify-transaction.vue +++ b/packages/extension/src/providers/ethereum/ui/eth-verify-transaction.vue @@ -61,7 +61,7 @@

${{ fiatValue !== '~' - ? $filters.formatFiatValue(fiatValue).value + ? $filters.parseCurrency(fiatValue) : fiatValue }}

diff --git a/packages/extension/src/providers/kadena/types/kadena-network.ts b/packages/extension/src/providers/kadena/types/kadena-network.ts index 28705a090..689e4c02e 100644 --- a/packages/extension/src/providers/kadena/types/kadena-network.ts +++ b/packages/extension/src/providers/kadena/types/kadena-network.ts @@ -15,7 +15,7 @@ import { CoinGeckoTokenMarket } from '@/libs/market-data/types'; import Sparkline from '@/libs/sparkline'; import { formatFloatingPointValue, - formatFiatValue, + } from '@/libs/utils/number-formatter'; import { fromBase } from '@enkryptcom/utils'; import BigNumber from 'bignumber.js'; @@ -115,13 +115,12 @@ export class KadenaNetwork extends BaseNetwork { balance: balance, balancef: formatFloatingPointValue(userBalance).value, balanceUSD: usdBalance.toNumber(), - balanceUSDf: formatFiatValue(usdBalance.toString()).value, + balanceUSDf: usdBalance.toString(), icon: this.icon, name: this.name_long, symbol: this.currencyName, value: marketData[0]?.current_price?.toString() ?? '0', - valuef: formatFiatValue(marketData[0]?.current_price?.toString() ?? '0') - .value, + valuef: marketData[0]?.current_price?.toString() ?? '0', contract: '', decimals: this.decimals, sparkline: marketData.length diff --git a/packages/extension/src/providers/kadena/ui/send-transaction/components/send-token-item.vue b/packages/extension/src/providers/kadena/ui/send-transaction/components/send-token-item.vue index 8838464bc..e3d5c4a0d 100644 --- a/packages/extension/src/providers/kadena/ui/send-transaction/components/send-token-item.vue +++ b/packages/extension/src/providers/kadena/ui/send-transaction/components/send-token-item.vue @@ -17,8 +17,8 @@
-

{{ $filters.formatFiatValue(tokenBalance).value }}

-

@{{ $filters.formatFiatValue(tokenPrice).value }}

+

{{ $filters.parseCurrency(tokenBalance) }}

+

@{{ $filters.parseCurrency(tokenPrice) }}

diff --git a/packages/extension/src/providers/polkadot/types/substrate-network.ts b/packages/extension/src/providers/polkadot/types/substrate-network.ts index f161efac3..1bd3c0fe0 100644 --- a/packages/extension/src/providers/polkadot/types/substrate-network.ts +++ b/packages/extension/src/providers/polkadot/types/substrate-network.ts @@ -9,7 +9,6 @@ import createIcon from '../libs/blockies'; import MarketData from '@/libs/market-data'; import BigNumber from 'bignumber.js'; import { - formatFiatValue, formatFloatingPointValue, } from '@/libs/utils/number-formatter'; import Sparkline from '@/libs/sparkline'; @@ -160,7 +159,7 @@ export class SubstrateNetwork extends BaseNetwork { balance: balances[idx].toString(), balancef: formatFloatingPointValue(userBalance).value, balanceUSD: usdBalance.toNumber(), - balanceUSDf: formatFiatValue(usdBalance.toString()).value, + balanceUSDf: usdBalance.toString(), decimals: st.decimals, icon: st.icon, name: st.name, diff --git a/packages/extension/src/providers/polkadot/ui/send-transaction/components/send-token-item.vue b/packages/extension/src/providers/polkadot/ui/send-transaction/components/send-token-item.vue index 446c56525..9de125a4f 100644 --- a/packages/extension/src/providers/polkadot/ui/send-transaction/components/send-token-item.vue +++ b/packages/extension/src/providers/polkadot/ui/send-transaction/components/send-token-item.vue @@ -17,8 +17,8 @@
-

{{ $filters.formatFiatValue(tokenBalance).value }}

-

@{{ $filters.formatFiatValue(tokenPrice).value }}

+

{{ $filters.parseCurrency(tokenBalance) }}

+

@{{ $filters.parseCurrency(tokenPrice) }}

diff --git a/packages/extension/src/providers/solana/types/sol-network.ts b/packages/extension/src/providers/solana/types/sol-network.ts index 0135e6120..9f8c7787b 100644 --- a/packages/extension/src/providers/solana/types/sol-network.ts +++ b/packages/extension/src/providers/solana/types/sol-network.ts @@ -7,7 +7,6 @@ import { CoingeckoPlatform, NetworkNames, SignerType } from '@enkryptcom/types'; import createIcon from '../libs/blockies'; import { Activity } from '@/types/activity'; import { - formatFiatValue, formatFloatingPointValue, } from '@/libs/utils/number-formatter'; import MarketData from '@/libs/market-data'; @@ -125,14 +124,13 @@ export class SolanaNetwork extends BaseNetwork { balance: balance, balancef: formatFloatingPointValue(userBalance).value, balanceUSD: usdBalance.toNumber(), - balanceUSDf: formatFiatValue(usdBalance.toString()).value, + balanceUSDf: usdBalance.toString(), icon: this.icon, name: this.name_long, symbol: this.currencyName, value: marketData.length ? currentPrice.toString() : '0', - valuef: formatFiatValue( + valuef: marketData.length ? currentPrice.toString() : '0', - ).value, contract: '', decimals: this.decimals, sparkline: marketData.length diff --git a/packages/extension/src/providers/solana/ui/sol-verify-transaction.vue b/packages/extension/src/providers/solana/ui/sol-verify-transaction.vue index 08d9fcdc8..ee348f08d 100644 --- a/packages/extension/src/providers/solana/ui/sol-verify-transaction.vue +++ b/packages/extension/src/providers/solana/ui/sol-verify-transaction.vue @@ -69,7 +69,7 @@

{{ item.isNegative ? '-' : '' }} - ${{ $filters.formatFiatValue(parseFloat(item.USDval)).value }} + {{ $filters.parseCurrency(parseFloat(item.USDval)) }}

diff --git a/packages/extension/src/ui/action/composables/account-info.ts b/packages/extension/src/ui/action/composables/account-info.ts index 387c63d18..6143536b3 100644 --- a/packages/extension/src/ui/action/composables/account-info.ts +++ b/packages/extension/src/ui/action/composables/account-info.ts @@ -2,7 +2,7 @@ import MarketData from '@/libs/market-data'; import { BaseNetwork } from '@/types/base-network'; import { computed, ref, watch, onMounted, Ref } from 'vue'; import { AccountsHeaderData } from '../types/account'; -import { formatFloatingPointValue, formatFiatValue } from '../utils/filters'; +import { formatFloatingPointValue } from '../utils/filters'; const defaultFiatVal = '0.00'; export default ( network: Ref, @@ -31,14 +31,11 @@ export default ( const updateFiatValues = async () => { fiatAmount.value = defaultFiatVal; if (network.value.coingeckoID && cryptoAmountRaw.value != '~') { - fiatAmount.value = `${formatFiatValue( - await marketData.getTokenValue( - cryptoAmountRaw.value, - network.value.coingeckoID, - 'USD', - ), - ).value - }`; + fiatAmount.value = `${await marketData.getTokenValue( + cryptoAmountRaw.value, + network.value.coingeckoID, + 'USD', + )}`; } }; watch(cryptoAmount, updateFiatValues); diff --git a/packages/extension/src/ui/action/utils/filters.ts b/packages/extension/src/ui/action/utils/filters.ts index f4551b72a..9d1bc2112 100644 --- a/packages/extension/src/ui/action/utils/filters.ts +++ b/packages/extension/src/ui/action/utils/filters.ts @@ -21,21 +21,16 @@ export const replaceWithEllipsis = ( }; export const parseCurrency = (value: string | number): string => { - const bnValue = BigNumber(value); - const parsedValue = bnValue.isNaN() || bnValue.isZero() || value === undefined ? "0" : bnValue.toString().replace(/,/g, ''); + const raw = value.toString().replace(/[,<]/g, ''); const store = useCurrencyStore(); const currency = store.currentSelectedCurrency; - const currencyCode = - LANG_INFO[currency as keyof typeof LANG_INFO].locale || 'en-US'; - const findRate = store.currencyList.find(c => c.fiat_currency === currency); - const rate = findRate || { exchange_rate: 1 }; + const locale = LANG_INFO[currency as keyof typeof LANG_INFO]?.locale || 'en-US'; + const exchangeRate = store.currencyList.find(c => c.fiat_currency === currency)?.exchange_rate || 1; - return new Intl.NumberFormat(currencyCode, { - style: 'currency', - currency: currency, - }).format( - parseFloat(BigNumber(parsedValue).times(rate.exchange_rate).toString()), - ); + const amount = new BigNumber(raw); + const finalValue = amount.isNaN() || amount.isZero() ? 0 : amount.times(exchangeRate).toNumber(); + const notation = BigNumber(finalValue).gt(999999) ? 'compact' : 'standard'; + return `${amount.lt(0.0000001) && amount.gt(0) ? '< ' : ''}${new Intl.NumberFormat(locale, { style: 'currency', currency: currency, notation, }).format(finalValue)}` }; export const truncate = (value: string, length: number): string => { @@ -55,8 +50,8 @@ export const formatDuration = ( isoString.match(/T((\d+)H)?((\d+)M)?(([\d]+)(\.(\d+))?S)?/) ?? []; if (duration.hours() < 0) - return `${h.padStart(2, '0')}:${m.padStart(2, '0')}:${s.padStart(2, '0')}`; + return `${h.padStart(2, '0')}:${m.padStart(2, '0')}:${s.padStart(2, '0')} `; - return `${m.padStart(2, '0')}:${s.padStart(2, '0')}`; + return `${m.padStart(2, '0')}:${s.padStart(2, '0')} `; }; export { formatFiatValue, formatFloatingPointValue }; diff --git a/packages/extension/src/ui/action/views/network-assets/components/network-assets-item.vue b/packages/extension/src/ui/action/views/network-assets/components/network-assets-item.vue index ea4efb730..9d63dade1 100644 --- a/packages/extension/src/ui/action/views/network-assets/components/network-assets-item.vue +++ b/packages/extension/src/ui/action/views/network-assets/components/network-assets-item.vue @@ -45,7 +45,7 @@
-

{{ $filters.parseCurrency(token.balanceUSDf) }}

+

{{ $filters.parseCurrency(token.balanceUSD) }}

@{{ $filters.parseCurrency(token.value) }}

diff --git a/packages/extension/src/ui/action/views/send-process/components/send-process-amount.vue b/packages/extension/src/ui/action/views/send-process/components/send-process-amount.vue index a75d9a350..088cb9473 100644 --- a/packages/extension/src/ui/action/views/send-process/components/send-process-amount.vue +++ b/packages/extension/src/ui/action/views/send-process/components/send-process-amount.vue @@ -8,7 +8,7 @@ {{ fromBase(token.amount, token.decimals) }} {{ token.symbol }} -
{{ $filters.formatFiatValue(token.valueUSD).value }}
+
{{ $filters.parseCurrency(token.valueUSD) }}
diff --git a/packages/extension/src/ui/action/views/settings/components/settings-select.vue b/packages/extension/src/ui/action/views/settings/components/settings-select.vue index 6fbd6beab..f0c611f6c 100644 --- a/packages/extension/src/ui/action/views/settings/components/settings-select.vue +++ b/packages/extension/src/ui/action/views/settings/components/settings-select.vue @@ -72,7 +72,7 @@ const props = defineProps({ const searchedList = computed(() => { if (!searchInput.value) return props.list; const filtered = props.list.filter(item => - item.includes(searchInput.value.toUpperCase()), + item.fiat_currency.includes(searchInput.value.toUpperCase()), ); return filtered; }); diff --git a/packages/extension/src/ui/action/views/swap/views/swap-best-offer/components/swap-best-offer-block/components/best-offer-error.vue b/packages/extension/src/ui/action/views/swap/views/swap-best-offer/components/swap-best-offer-block/components/best-offer-error.vue index 1967db5c2..be7473af4 100644 --- a/packages/extension/src/ui/action/views/swap/views/swap-best-offer/components/swap-best-offer-block/components/best-offer-error.vue +++ b/packages/extension/src/ui/action/views/swap/views/swap-best-offer/components/swap-best-offer-block/components/best-offer-error.vue @@ -11,14 +11,14 @@ Not enough {{ nativeSymbol }} to pay the network
fee. You are ~{{ $filters.formatFloatingPointValue(nativeValue).value }} - {{ nativeSymbol }} (${{ $filters.formatFiatValue(price).value }}) short. + {{ nativeSymbol }} ({{ $filters.parseCurrency(price) }}) short.

diff --git a/packages/extension/src/ui/action/views/swap/views/swap-best-offer/components/swap-best-offer-block/index.vue b/packages/extension/src/ui/action/views/swap/views/swap-best-offer/components/swap-best-offer-block/index.vue index 4708a1eb0..7891613de 100644 --- a/packages/extension/src/ui/action/views/swap/views/swap-best-offer/components/swap-best-offer-block/index.vue +++ b/packages/extension/src/ui/action/views/swap/views/swap-best-offer/components/swap-best-offer-block/index.vue @@ -16,7 +16,7 @@ {{ $filters.formatFloatingPointValue(toReadable).value }} {{ toToken.symbol }} -

≈ {{ $filters.formatFiatValue(toTokenPrice).value }}

+

≈ {{ $filters.parseCurrency(toTokenPrice) }}