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