eth_estimateGas

Estimates the gas required to execute a transaction on the Ethereum network.

Example

import { getRpcClient, eth_estimateGas } from "thirdweb/rpc";
const rpcRequest = getRpcClient({ client, chain });
const gas = await eth_estimateGas(rpcRequest, {
to: "0x...",
...
});
function eth_estimateGas(
request: EIP1193RequestFn<
[
{
Method: "web3_clientVersion";
Parameters?: undefined;
ReturnType: string;
},
{
Method: "web3_sha3";
Parameters: [data: `0x${string}`];
ReturnType: string;
},
{
Method: "net_listening";
Parameters?: undefined;
ReturnType: boolean;
},
{
Method: "net_peerCount";
Parameters?: undefined;
ReturnType: `0x${string}`;
},
{
Method: "net_version";
Parameters?: undefined;
ReturnType: `0x${string}`;
},
]
>,
transactionRequest: RpcTransactionRequest,
): Promise<bigint>;

Parameters

The EIP1193 request function.

Type

let request: EIP1193RequestFn<
[
{
Method: "web3_clientVersion";
Parameters?: undefined;
ReturnType: string;
},
{
Method: "web3_sha3";
Parameters: [data: `0x${string}`];
ReturnType: string;
},
{
Method: "net_listening";
Parameters?: undefined;
ReturnType: boolean;
},
{
Method: "net_peerCount";
Parameters?: undefined;
ReturnType: `0x${string}`;
},
{
Method: "net_version";
Parameters?: undefined;
ReturnType: `0x${string}`;
},
]
>;

The transaction request object.

Type

let transactionRequest: RpcTransactionRequest;

Returns

let returnType: Promise<bigint>;

A promise that resolves to the estimated gas as a bigint.