type PrepareContractCallOptions<
TAbi extends Abi = [],
TMethod extends
| AbiFunction
| string
| ((
) => Promise<AbiFunction>) = TAbi extends { length: 0 }
? AbiFunction | string
: ExtractAbiFunctionNames<TAbi>,
TPreparedMethod extends PreparedMethod<
ParseMethod<TAbi, TMethod>
> = PreparedMethod<ParseMethod<TAbi, TMethod>>,
Omit<
TransactionRequest,
| "from"
| "to"
| "data"
| "value"
| "accessList"
| "gas"
| "gasPrice"
| "maxFeePerGas"
| "maxPriorityFeePerGas"
| "nonce"
> & {
method: TMethod | TPreparedMethod;
} & ParamsOption<TPreparedMethod[1]> &
Omit<
"to" | "data" | "chain" | "client"
>,
TAbi
>;