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, containing maxFeePerGas and maxPriorityFeePerGas.

  • 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, otherwise null.

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