mirror of
https://github.com/luxfhe/example-smart-wallet.git
synced 2026-10-30 18:13:16 +00:00
- Remove fhenix/ directories (duplicate of fhe/) - Update all imports to use fhe/ paths - Rename useFhenixReadContracts → useLuxFHEReadContracts
30 lines
1.0 KiB
TypeScript
30 lines
1.0 KiB
TypeScript
import { useCallback, useEffect } from "react";
|
|
import { MainnetFherc20s } from "~~/contracts/mainnetFherc20s";
|
|
import { useTokensStore } from "~~/services/store/tokensStore";
|
|
import { fetchTokenPrice } from "~~/utils/fhe/fetchTokenPrice";
|
|
|
|
export const useInitializeTokenPrices = () => {
|
|
const setTokenPrices = useTokensStore(state => state.setTokenPrices);
|
|
const setLoadingPrices = useTokensStore(state => state.setLoadingPrices);
|
|
|
|
const fetchPrices = useCallback(async () => {
|
|
setLoadingPrices(true);
|
|
const fetchedPrices = await Promise.all(
|
|
MainnetFherc20s.map(fherc20 => fetchTokenPrice(fherc20.address, fherc20.symbol, fherc20.decimals)),
|
|
);
|
|
|
|
const tokenPrices: Record<string, number> = {};
|
|
for (let i = 0; i < fetchedPrices.length; i++) {
|
|
tokenPrices[MainnetFherc20s[i].symbol] = fetchedPrices[i];
|
|
}
|
|
|
|
setTokenPrices(tokenPrices);
|
|
}, [setLoadingPrices, setTokenPrices]);
|
|
|
|
useEffect(() => {
|
|
fetchPrices();
|
|
}, [fetchPrices]);
|
|
|
|
// useInterval(fetchPrices, scaffoldConfig.pollingInterval);
|
|
};
|