Skip to content

Commit 25bc879

Browse files
committed
chore: use market data service for STX balances
1 parent 8bb0059 commit 25bc879

File tree

2 files changed

+28
-3
lines changed

2 files changed

+28
-3
lines changed

apps/mobile/src/queries/balance/stacks-balance.query.ts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,13 @@ import {
99
createGetStacksAccountBalanceQueryOptions,
1010
createStxCryptoAssetBalance,
1111
createStxMoney,
12-
useCryptoCurrencyMarketDataMeanAverage,
1312
useCurrentNetworkState,
1413
useStacksClient,
1514
} from '@leather.io/query';
1615
import { baseCurrencyAmountInQuote, createMoney, sumMoney } from '@leather.io/utils';
1716

17+
import { useStxMarketDataQuery } from '../market-data/stx-market-data.query';
18+
1819
interface StxBalances {
1920
totalStxBalance: Money;
2021
}
@@ -67,7 +68,10 @@ function useStxBalancesQueries(addresses: string[]) {
6768

6869
export function useStxBalance(addresses: string[]) {
6970
const { totalStxBalance } = useGetStxBalanceByAddresses(addresses);
70-
const stxMarketData = useCryptoCurrencyMarketDataMeanAverage('STX');
71-
const stxBalanceUsd = baseCurrencyAmountInQuote(totalStxBalance, stxMarketData);
71+
72+
const { data: stxMarketData } = useStxMarketDataQuery();
73+
const stxBalanceUsd = stxMarketData
74+
? baseCurrencyAmountInQuote(totalStxBalance, stxMarketData)
75+
: createMoney(0, 'USD');
7276
return { availableBalance: totalStxBalance, fiatBalance: stxBalanceUsd };
7377
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
import { QueryFunctionContext, useQuery } from '@tanstack/react-query';
2+
3+
import { getMarketDataService } from '@leather.io/services';
4+
import { oneMinInMs } from '@leather.io/utils';
5+
6+
export function createStxMarketDataQueryOptions() {
7+
return {
8+
queryKey: ['market-data-service-get-stx-market-data'],
9+
queryFn: ({ signal }: QueryFunctionContext) => getMarketDataService().getStxMarketData(signal),
10+
refetchOnReconnect: false,
11+
refetchOnWindowFocus: false,
12+
refetchOnMount: false,
13+
retryOnMount: false,
14+
staleTime: oneMinInMs,
15+
gcTime: oneMinInMs,
16+
} as const;
17+
}
18+
19+
export function useStxMarketDataQuery() {
20+
return useQuery(createStxMarketDataQueryOptions());
21+
}

0 commit comments

Comments
 (0)