import { useQuery } from "@tanstack/react-query"; import { createPublicClient, http, formatGwei } from "viem"; import { mainnet } from "viem/chains"; import { STATS_RPC_URL } from "@/lib/chain"; const statsClient = createPublicClient({ chain: mainnet, transport: http(STATS_RPC_URL), }); /** Live L1 stats shown in the status strip. */ export function useChainStats() { return useQuery({ queryKey: ["chain-stats"], queryFn: async () => { const [blockNumber, gasPrice] = await Promise.all([ statsClient.getBlockNumber(), statsClient.getGasPrice(), ]); return { blockNumber: Number(blockNumber), gasGwei: Number(formatGwei(gasPrice)), }; }, refetchInterval: 15_000, }); }