wagmi
Version:
React Hooks for Ethereum
24 lines • 2.83 kB
TypeScript
import type { Config, ReadContractErrorType, ReadContractParameters, ResolvedRegister } from '@wagmi/core';
import type { ConfigParameter, QueryParameter, ScopeKeyParameter, UnionCompute } from '@wagmi/core/internal';
import type { ReadContractData, ReadContractQueryFnData, ReadContractQueryKey } from '@wagmi/core/query';
import type { Abi, Address, ContractFunctionArgs, ContractFunctionName } from 'viem';
import { type UseReadContractReturnType } from '../useReadContract.js';
type stateMutability = 'pure' | 'view';
export type CreateUseReadContractParameters<abi extends Abi | readonly unknown[], address extends Address | Record<number, Address> | undefined = undefined, functionName extends ContractFunctionName<abi, stateMutability> | undefined = undefined> = {
abi: abi | Abi | readonly unknown[];
address?: address | Address | Record<number, Address> | undefined;
functionName?: functionName | ContractFunctionName<abi, stateMutability> | undefined;
};
/** Call-level options from ReadContractParameters (excludes abi, address, functionName, args). */
type ReadContractCallOptions<config extends Config> = Omit<ReadContractParameters<Abi, string, readonly unknown[], config>, 'abi' | 'address' | 'functionName' | 'args'>;
export type CreateUseReadContractReturnType<abi extends Abi | readonly unknown[], address extends Address | Record<number, Address> | undefined, functionName extends ContractFunctionName<abi, stateMutability> | undefined> = <name extends functionName extends ContractFunctionName<abi, stateMutability> ? functionName : ContractFunctionName<abi, stateMutability>, const args extends ContractFunctionArgs<abi, stateMutability, name>, config extends Config = ResolvedRegister['config'], selectData = ReadContractData<abi, name, args>>(parameters?: UnionCompute<{
abi?: undefined;
address?: address extends undefined ? Address : undefined;
functionName?: functionName extends undefined ? name : undefined;
args?: args | undefined;
} & Partial<ReadContractCallOptions<config>> & ScopeKeyParameter & ConfigParameter<config> & QueryParameter<ReadContractQueryFnData<abi, name, args>, ReadContractErrorType, selectData, ReadContractQueryKey<abi, name, args, config>>> & (address extends Record<number, Address> ? {
chainId?: keyof address | undefined;
} : unknown)) => UseReadContractReturnType<abi, name, args, selectData>;
export declare function createUseReadContract<const abi extends Abi | readonly unknown[], const address extends Address | Record<number, Address> | undefined = undefined, functionName extends ContractFunctionName<abi, stateMutability> | undefined = undefined>(props: CreateUseReadContractParameters<abi, address, functionName>): CreateUseReadContractReturnType<abi, address, functionName>;
export {};
//# sourceMappingURL=createUseReadContract.d.ts.map