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"> & {
method: TMethod | TPreparedMethod;
} & ParamsOption<TPreparedMethod[1]> &
Omit<
"to" | "data" | "chain" | "client"
>,
TAbi
>;