Skip to content

usePaymasterEstimateFees

Hook to estimate fees for smart contract calls.

Usage

import { usePaymasterEstimateFees } from "@starknet-react/core";
import { Call, FeeMode } from "starknet";
 
const calls: Call[] = [
  {
    contractAddress: "STRK_SEPOLIA_ADDRESS",
    entrypoint: "transfer",
    calldata: [
      "recipient_address",
      "0x1",
      "0x0"
    ],
  },
]; 
 
const feeMode: FeeMode = {
  mode: "default",// default or sponsored(need api-key)
  gasToken: "USDC_SEPOLIA_ADDRESS",// mandatory if 'default'
}
 
const { data, error } = usePaymasterEstimateFees({
  calls,
  options: {
    feeMode,
  },
});

Data

  • Type: PaymasterFeeEstimate

The PaymasterFeeEstimate response type from starknet.

Arguments

calls

  • Type: Call[] | undefined

List of smart contract calls to estimate, type from starknet

options

  • Type: PaymasterDetails

Paymaster details, type from starknet

enabled

  • Type: boolean | undefined

If false, don't perform the query.

refetchInterval

  • Type: number | false | ((query: Query) => number | false | undefined)

If set to a number, the query is refetched at the provided interval (in milliseconds).

If set to a function, the callback will be used to determine the refetch interval.

Returns

data

  • Type: Data | undefined

The resolved data.

error

  • Type: Error | null

Any error thrown by the query.

reset

  • Type: () => void

Reset the query status.

status

  • Type: "error" | "pending" | "success"

The mutation status.

  • pending: the query is being executed.
  • success: the query executed without an error.
  • error: the query threw an error.

isError

  • Type: boolean

Derived from status.

isPending

  • Type: boolean

Derived from status.

isSuccess

  • Type: boolean

Derived from status.

fetchStatus

  • Type: "fetching" | "paused" | "idle"

  • fetching: the query is fetching.

  • paused: the query is paused.

  • idle: the query is not fetching.

isFetching

  • Type: boolean

Derived from fetchStatus.

isPaused

  • Type: boolean

Derived from fetchStatus.

isIdle

  • Type: boolean

Derived from fetchStatus.