useGetGasPrice
Description
This hook fetches the current gas price for transactions on the connected blockchain. It leverages a public client to estimate the gas fees and provides both maxFeePerGas
and maxPriorityFeePerGas
values.
The maxFeePerGas
is calculated with a buffer, doubling the estimated fee to accommodate potential fluctuations in gas prices.
This hook is useful for determining the cost of transactions in real-time.
Parameters
rpcUrl? (
string
) : An optional RPC URL to use for the public client. If not provided, the default RPC URL associated with the smart account will be used.
Returns
data (
GasPriceResult | undefined
): The fetched gas price data, containingmaxFeePerGas
andmaxPriorityFeePerGas
.isLoading (
boolean
): A boolean indicating whether the data is currently being fetched.error (
Error | null
): An error object if an error occurred during the fetching process, otherwisenull
.
Example
import { useGetGasPrice } from "@cometh/connect-react-hooks";
import { formatEther } from "viem";
export const GasPriceDisplay = () => {
const { data: gasPrice, isLoading, error } = useGetGasPrice();
if (isLoading) return <p>Loading gas prices...</p>;
if (error) return <p>Error fetching gas prices: {error.message}</p>;
return (
<div>
<h2>Current Gas Prices</h2>
<p>Max Fee Per Gas: {formatEther(gasPrice.maxFeePerGas)} ETH</p>
<p>Max Priority Fee Per Gas: {formatEther(gasPrice.maxPriorityFeePerGas)} ETH</p>
</div>
);
};
Usage context
The useGetGasPrice
hook must be used within a context that provides access to useSmartAccount
. This ensures that the smartAccountClient
and queryClient
are available, and it avoids errors related to missing context or data.
Last updated