@ecency/wallets 1.5.8 → 1.5.9

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.
@@ -1,4 +1,4 @@
1
- import { CONFIG, getAccountFullQueryOptions, getQueryClient, getDynamicPropsQueryOptions, useBroadcastMutation, getSpkMarkets, getSpkWallet, getHiveEngineTokensMarket, getHiveEngineTokensBalances, getHiveEngineTokensMetadata, getHiveEngineTokenTransactions, getHiveEngineTokenMetrics, getHiveEngineUnclaimedRewards, EcencyAnalytics, useAccountUpdate } from '@ecency/sdk';
1
+ import { CONFIG, getAccountFullQueryOptions, getQueryClient, getDynamicPropsQueryOptions, useBroadcastMutation, getSpkMarkets, getSpkWallet, getHiveEngineTokensMarket, getHiveEngineTokensBalances, getHiveEngineTokensMetadata, getHiveEngineTokenTransactions, getHiveEngineTokenMetrics, getHiveEngineUnclaimedRewards, EcencyAnalytics, useAccountUpdate, getCurrencyRate } from '@ecency/sdk';
2
2
  export { getHiveEngineMetrics, getHiveEngineOpenOrders, getHiveEngineOrderBook, getHiveEngineTradeHistory } from '@ecency/sdk';
3
3
  import { useQuery, queryOptions, infiniteQueryOptions, useQueryClient, useMutation } from '@tanstack/react-query';
4
4
  import bip39, { mnemonicToSeedSync } from 'bip39';
@@ -3764,6 +3764,21 @@ function getAccountWalletAssetInfoQueryOptions(username, asset, options2 = { ref
3764
3764
  }
3765
3765
  return queryClient.getQueryData(queryOptions43.queryKey);
3766
3766
  };
3767
+ const convertPriceToUserCurrency = async (assetInfo) => {
3768
+ if (!assetInfo || currency === "usd") {
3769
+ return assetInfo;
3770
+ }
3771
+ try {
3772
+ const conversionRate = await getCurrencyRate(currency);
3773
+ return {
3774
+ ...assetInfo,
3775
+ price: assetInfo.price * conversionRate
3776
+ };
3777
+ } catch (error) {
3778
+ console.warn(`Failed to convert price from USD to ${currency}:`, error);
3779
+ return assetInfo;
3780
+ }
3781
+ };
3767
3782
  const portfolioQuery = getVisionPortfolioQueryOptions(username, currency);
3768
3783
  const getPortfolioAssetInfo = async () => {
3769
3784
  try {
@@ -3780,50 +3795,53 @@ function getAccountWalletAssetInfoQueryOptions(username, asset, options2 = { ref
3780
3795
  queryKey: ["ecency-wallets", "asset-info", username, asset, currency],
3781
3796
  queryFn: async () => {
3782
3797
  const portfolioAssetInfo = await getPortfolioAssetInfo();
3783
- if (portfolioAssetInfo) {
3798
+ if (portfolioAssetInfo && portfolioAssetInfo.price > 0) {
3784
3799
  return portfolioAssetInfo;
3785
3800
  }
3801
+ let assetInfo;
3786
3802
  if (asset === "HIVE") {
3787
- return fetchQuery(getHiveAssetGeneralInfoQueryOptions(username));
3803
+ assetInfo = await fetchQuery(getHiveAssetGeneralInfoQueryOptions(username));
3788
3804
  } else if (asset === "HP") {
3789
- return fetchQuery(getHivePowerAssetGeneralInfoQueryOptions(username));
3805
+ assetInfo = await fetchQuery(getHivePowerAssetGeneralInfoQueryOptions(username));
3790
3806
  } else if (asset === "HBD") {
3791
- return fetchQuery(getHbdAssetGeneralInfoQueryOptions(username));
3807
+ assetInfo = await fetchQuery(getHbdAssetGeneralInfoQueryOptions(username));
3792
3808
  } else if (asset === "SPK") {
3793
- return fetchQuery(getSpkAssetGeneralInfoQueryOptions(username));
3809
+ assetInfo = await fetchQuery(getSpkAssetGeneralInfoQueryOptions(username));
3794
3810
  } else if (asset === "LARYNX") {
3795
- return fetchQuery(getLarynxAssetGeneralInfoQueryOptions(username));
3811
+ assetInfo = await fetchQuery(getLarynxAssetGeneralInfoQueryOptions(username));
3796
3812
  } else if (asset === "LP") {
3797
- return fetchQuery(getLarynxPowerAssetGeneralInfoQueryOptions(username));
3813
+ assetInfo = await fetchQuery(getLarynxPowerAssetGeneralInfoQueryOptions(username));
3798
3814
  } else if (asset === "POINTS") {
3799
- return fetchQuery(getPointsAssetGeneralInfoQueryOptions(username));
3815
+ assetInfo = await fetchQuery(getPointsAssetGeneralInfoQueryOptions(username));
3800
3816
  } else if (asset === "APT") {
3801
- return fetchQuery(getAptAssetGeneralInfoQueryOptions(username));
3817
+ assetInfo = await fetchQuery(getAptAssetGeneralInfoQueryOptions(username));
3802
3818
  } else if (asset === "BNB") {
3803
- return fetchQuery(getBnbAssetGeneralInfoQueryOptions(username));
3819
+ assetInfo = await fetchQuery(getBnbAssetGeneralInfoQueryOptions(username));
3804
3820
  } else if (asset === "BTC") {
3805
- return fetchQuery(getBtcAssetGeneralInfoQueryOptions(username));
3821
+ assetInfo = await fetchQuery(getBtcAssetGeneralInfoQueryOptions(username));
3806
3822
  } else if (asset === "ETH") {
3807
- return fetchQuery(getEthAssetGeneralInfoQueryOptions(username));
3823
+ assetInfo = await fetchQuery(getEthAssetGeneralInfoQueryOptions(username));
3808
3824
  } else if (asset === "SOL") {
3809
- return fetchQuery(getSolAssetGeneralInfoQueryOptions(username));
3825
+ assetInfo = await fetchQuery(getSolAssetGeneralInfoQueryOptions(username));
3810
3826
  } else if (asset === "TON") {
3811
- return fetchQuery(getTonAssetGeneralInfoQueryOptions(username));
3827
+ assetInfo = await fetchQuery(getTonAssetGeneralInfoQueryOptions(username));
3812
3828
  } else if (asset === "TRX") {
3813
- return fetchQuery(getTronAssetGeneralInfoQueryOptions(username));
3814
- }
3815
- const balances = await queryClient.ensureQueryData(
3816
- getHiveEngineTokensBalancesQueryOptions(username)
3817
- );
3818
- if (balances.some((balance) => balance.symbol === asset)) {
3819
- return await fetchQuery(
3820
- getHiveEngineTokenGeneralInfoQueryOptions(username, asset)
3821
- );
3829
+ assetInfo = await fetchQuery(getTronAssetGeneralInfoQueryOptions(username));
3822
3830
  } else {
3823
- throw new Error(
3824
- "[SDK][Wallets] \u2013 has requested unrecognized asset info"
3831
+ const balances = await queryClient.ensureQueryData(
3832
+ getHiveEngineTokensBalancesQueryOptions(username)
3825
3833
  );
3834
+ if (balances.some((balance) => balance.symbol === asset)) {
3835
+ assetInfo = await fetchQuery(
3836
+ getHiveEngineTokenGeneralInfoQueryOptions(username, asset)
3837
+ );
3838
+ } else {
3839
+ throw new Error(
3840
+ "[SDK][Wallets] \u2013 has requested unrecognized asset info"
3841
+ );
3842
+ }
3826
3843
  }
3844
+ return await convertPriceToUserCurrency(assetInfo);
3827
3845
  }
3828
3846
  });
3829
3847
  }